◆- Adobe插件与脚本区 主要讨论Adobe插件开发与软件脚本撰写

发表新主题 关闭主题
 
只看楼主 主题工具
旧 2019-09-06, 17:07     #1
li1228_CN li1228_CN 当前离线
正式会员
等级: 一袋长老
级别:9 | 在线时长:121小时 | 升级还需:19小时级别:9 | 在线时长:121小时 | 升级还需:19小时级别:9 | 在线时长:121小时 | 升级还需:19小时
 
Uid: 657825
注册日期: 2019-04-13, 12:39
年龄: 32
帖子: 36
感谢: 6
0 个帖子获得 0 次感谢
现金: 59金币
资产: 59金币
声望: 10 li1228_CN 向着好的方向发展
li1228_CN li1228_CN 当前离线
正式会员
等级: 一袋长老
级别:9 | 在线时长:121小时 | 升级还需:19小时级别:9 | 在线时长:121小时 | 升级还需:19小时级别:9 | 在线时长:121小时 | 升级还需:19小时
 
Uid: 657825
注册日期: 2019-04-13, 12:39
年龄: 32
帖子: 36
感谢: 6
0 个帖子获得 0 次感谢
现金: 59金币
资产: 59金币
声望: 10 li1228_CN 向着好的方向发展
默认 自动标注脚本存在一点小缺陷,大神可以看看吗?   



var doc = app.activeDocument;
var x,y,w,h
sel=doc.selection[0];
var selInfo=[];
selInfo=sel.visibleBounds; //sel.geometricBounds 不含描边
x=selInfo[0];
y=selInfo[1];
w=Math.abs(selInfo[2]-selInfo[0]);
h=Math.abs(selInfo[3]-selInfo[1]);

var s=6;//标尺距离物体边沿宽度12
var tsize=6; //标尺字体大小6

var g1 = doc.groupItems.add();

var line1=g1.pathItems.add(); //画高度标尺
line1.filled = false;
line1.stroked = true;
line1.strokeColor = RGBColor;
line1.strokeWidth = 0.25;
line1.setEntirePath( [[x, y+s+3],[x+w, y+s+3]]) ;

var line1=g1.pathItems.add();
line1.filled = false;
line1.stroked = true;
line1.strokeColor = RGBColor;
line1.strokeWidth = 0.25;
line1.setEntirePath( [[x, y+s],[x, y+s+3]]) ;

var line1=g1.pathItems.add();
line1.filled = false;
line1.stroked = true;
line1.strokeColor = RGBColor;
line1.strokeWidth = 0.25;
line1.setEntirePath( [[x+w, y+s],[x+w, y+s+3]]) ;

var t1 = g1.textFrames.add();
var v=w/72;


if (v==1||v==0.75||v==0.8||v==1.25||v==1.375||v==1.5||v==1.75||v==2||v==2.15||v==2.25||v==2.5||v==2.75||v==3)
{
v=v+""";
}
else
{
v=(w*25.4/72).toFixed(0)+"mm"
}
t1.contents = v; //小数位四舍五入取整数''可加单位mm Math.round(h/u).toFixed(0)/多少位小数点
t1.textRange.characterAttributes.size=tsize;
t1.textRange.characterAttributes.fillColor= RGBColor;
t1.textRange.textFont=textFonts.getByName("ArialMT");
t1.left = x+w/2-t1.width/2;
t1.top = y+s+3+t1.height;


这个脚本我想实现标注时自动切换mm和英寸。但是英寸不是很对。
li1228_CN 当前离线  
旧 2019-09-06, 17:13   只看该作者   #2
li1228_CN li1228_CN 当前离线
正式会员
等级: 一袋长老
级别:9 | 在线时长:121小时 | 升级还需:19小时级别:9 | 在线时长:121小时 | 升级还需:19小时级别:9 | 在线时长:121小时 | 升级还需:19小时
 
Uid: 657825
注册日期: 2019-04-13, 12:39
年龄: 32
帖子: 36
感谢: 6
0 个帖子获得 0 次感谢
现金: 59金币
资产: 59金币
声望: 10 li1228_CN 向着好的方向发展
li1228_CN li1228_CN 当前离线
正式会员
等级: 一袋长老
级别:9 | 在线时长:121小时 | 升级还需:19小时级别:9 | 在线时长:121小时 | 升级还需:19小时级别:9 | 在线时长:121小时 | 升级还需:19小时
 
Uid: 657825
注册日期: 2019-04-13, 12:39
年龄: 32
帖子: 36
感谢: 6
0 个帖子获得 0 次感谢
现金: 59金币
资产: 59金币
声望: 10 li1228_CN 向着好的方向发展
默认

可能是我这种脚本算法不是很对,这种算法估计是要添加一个取整判断。或者有没有比较好的算法来写出这样一个脚本呢。
li1228_CN 当前离线  
旧 2019-09-06, 20:30   只看该作者   #3
guoys98 guoys98 当前离线
见习会员
等级: 小兄弟
级别:5 | 在线时长:45小时 | 升级还需:15小时级别:5 | 在线时长:45小时 | 升级还需:15小时
 
Uid: 607350
注册日期: 2018-03-25, 16:00
年龄: 45
帖子: 8
感谢: 1
2 个帖子获得 2 次感谢
声望: 10 guoys98 向着好的方向发展
guoys98 guoys98 当前离线
见习会员
等级: 小兄弟
级别:5 | 在线时长:45小时 | 升级还需:15小时级别:5 | 在线时长:45小时 | 升级还需:15小时
 
Uid: 607350
注册日期: 2018-03-25, 16:00
年龄: 45
帖子: 8
感谢: 1
2 个帖子获得 2 次感谢
声望: 10 guoys98 向着好的方向发展
默认

你的算法没给pt转英寸的误差值,即使有0.00001pt的偏差,也不会标注成英寸。
guoys98 当前离线  
发表新主题 关闭主题


发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子

论坛启用 vB 代码
论坛启用 表情图标
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


律师声明:本站内容,均具有版权,未经书面授权,禁止转载,严禁镜像,违者承担一切后果!
论坛广告报价   广告联系及办理企业会员服务QQ:57880388 站务管理QQ:35529388


所有时间均为 +8, 现在的时间是 2025-01-04 15:32.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
 
Copyright © 2004-2022