论坛帮助 |
社区圈子 |
日历事件 |
2019-08-17, 14:53 | #1 | |||
|
||||
正式会员
等级: 三袋长老
|
var DOC = app.activeDocument;//活动文档 var SELECT = DOC.selection;//当前选择对象 var group=DOC.groupItems.add();//为了群组 var M = UnitValue(1, "mm").as("pt");//边距 var B = UnitValue(0, "mm").as("pt");//出血 var W = UnitValue(3, "mm").as("pt");//横向线条长度 var H = UnitValue(6, "mm").as("pt");//纵向线条长度 var LINEWIDTH= UnitValue(0.05, "mm").as("pt");//线宽,单位mm var LINECOLOR = PatternColor;//线条颜色 var E_Width=UnitValue(5, "mm").as("pt");//电眼宽度,单位mm var E_Height=UnitValue(3, "mm").as("pt");//电眼高度,单位mm //这是你选择的矩形的位置 因为你画的那些脚线都是围绕他的 var left= SELECT[0].geometricBounds[0]; var right= SELECT[0].geometricBounds[2]; var top= SELECT[0].geometricBounds[1]; var bottom= SELECT[0].geometricBounds[3]; //线条 var lineArr=[ [left-B-M-W, top+B, left-B-M, top+B], [left-B-M-W, top, left-B-M, top], [left-B-M-W, top-B*1.5, left-B-M, top-B*1.5], [left-B-M-W, top+(bottom-top)/2, left-B-M, top+(bottom-top)/2], [left-B-M-W, bottom+B*1.5, left-B-M, bottom+B*1.5], [left-B-M, bottom, left-B-M, bottom], [left-B-M, bottom-B, left-B-M, bottom-B], [left-B-M, top+B, left-B-M, top+B-H], [left-B-M-W/2, top+(bottom-top)/2-H/2, left-B-M-W/2, top+(bottom-top)/2+H/2], [left-B-M, bottom-B, left-B-M, bottom-B+H], [right+B+M, top+B, right+B+M+W, top+B], [right+B+M, top, right+B+M+W, top], [right+B+M, top-B*1.5, right+B+M+W, top-B*1.5], [right+B+M, top+(bottom-top)/2, right+B+M+W, top+(bottom-top)/2], [right+B+M, bottom+B*1.5, right+B+M+W, bottom+B*1.5], [right+B+M, bottom, right+B+M+W, bottom], [right+B+M, bottom-B, right+B+M+W, bottom-B], [right+B+M, top+B, right+B+M, top+B-H], [right+B+M+W/2, top+(bottom-top)/2-H/2, right+B+M+W/2, top+(bottom-top)/2+H/2], [right+B+M, bottom-B, right+B+M, bottom-B+H], ]; for (var i=0;i<lineArr.length;i++){ addline(lineArr[i][0],lineArr[i][1],lineArr[i][2],lineArr[i][3]); } //画电眼 addRect(right+B+M, bottom-(bottom-top)/2-H/2, E_Width, E_Height); //目的是画一个矩形 描述一个矩形用 一个点与一个尺寸 绝对坐标表示即可 点1 x,y 宽度w,高度h //里面的过程可以不用理解 function addRect(x,y,w,h){// var rect=group.pathItems.rectangle (y, x, w, h); rect.strokeColor=NoColor;//描边改为无色 rect.strokeWidth=0;//描边宽度为0 rect.fillColor=getRegColor();//填充色为注册色 } //目的是画一条线条 描述一个线条 用两个 绝对坐标表示即可 点1 x,y 点2 x1,y1 //里面的过程可以不用理解 function addline(x,y,x1,y1){// var line=group.pathItems.add(); line.setEntirePath (Array( Array(x,y), Array(x1,y1) )); line.strokeColor=getRegColor();//描边色为注册色 line.strokeWidth=LINEWIDTH;//描边宽度为0.1mm line.fillColor=NoColor;//填充色为无 } //目的就是获取注册色 //里面的过程可以不用理解 function getRegColor(){//返回一个Color对象 var docRef = app.activeDocument;//不用理解抄就是了 var newSpot = docRef.swatches; // 寻找注册色代码段 for(var i=0;i<newSpot.length;i++){ var swatch1 = docRef.swatches[i]; if(swatch1.color=='[SpotColor]'){ var spot2 = swatch1.color.spot; var colorType2 = spot2.colorType; if(colorType2.toString()== "ColorModel.REGISTRATION") { regColorIndex=i; } }else{ continue; } } return docRef.swatches[regColorIndex].color; } |
|||
2019-08-26, 14:04 | 只看该作者 #5 | |||
|
||||
VIP会员
等级: 七袋长老
|
引用:
/*(CJ)Ai_标记生成特制A版V1scS*/ //无界面 //重新编码 //可选多对象一次生成 //目前不支持文本框及蒙版两种对象的正确定位 //文件名过长会自动缩减到有效范围内 //不论对象是横向或竖向,目前所有标记皆生成在左右两侧 //脚本所有使用字体默认为微软雅黑体'MicrosoftYaHe',系统若是缺字,会弹出提示,并一律改用楷体'KaiTi' //电眼目前暂置于十字线及角线之间正中心 楼主请先看看附件是否符合需要? |
|||
右列 3 位会员因为此帖价值甚高向 calvin530126 表示感谢: |
2019-08-26, 16:21 | 只看该作者 #9 | |||
|
||||
论坛版主
等级: 九袋长老
|
引用:
很方便,还可以多个组件一起,再另外开一贴,这个好方便查找帖子。
__________________
印前(软件)教学 印前(流程)教学 印前(色彩)教学 印能捷&印能捷EVO、HQRIP和海德堡Prinect,esko流程、GMG & CGS & EFI数码打样类软件,印能捷数据库修复,超强专业印前系统! 更多介绍 http://33161288.lofter.com/ 出售金币(100RMB=160金币,最低100起售,量大从优) 印前脚本及插件订制 联系[QQ:33161288] ----------------------------------------------------------- 承接:文件制作,文件修改,文件拼版,输出最终1 bit tiff |
|||