论坛帮助 |
社区圈子 |
日历事件 |
2022-11-30, 16:14 | 只看该作者 #3 | |||
|
||||
购买金币请联系微信
等级: 八袋长老
|
1.全选,画板适合选择对象 2.选择角线,画板适合选择对象 两种方法都可以 至于脚本我还没写过。 理论上画板尺寸改为角线尺寸,左 上 坐标改为角线坐标就OK了
__________________
Illustrator Quicker工具箱,分层分画板导出JPG或PDF,标注尺寸,多重复制,更新链接,更新页码,嵌入图片替换链接等等 接受 Quicker 动作及简单AI脚本定制 QQ:842504060 微信:neteasy2014 |
|||
2022-12-01, 11:59 | 只看该作者 #13 | ||
|
|||
正式会员
等级: 六袋长老
|
//初始化自定义标线的长度,宽度,离岸,出血等参数,可自行修改 lw=0.1*2.834646; //标线宽度 0.1 mm linelength=5*2.834646; //标注线长度 5 mm linespace=3*2.834646; //标注线离岸 1 mm outspace=3*2.834646; //出血 3 mm shuangjiaoxian = true;//判断是否双脚线,属性看下面↓↓↓ rishicaiqie = true;//true开启日式标记 false关闭日式标记 doc = activeDocument; newSpot = doc.spots[doc.spots.length-1]; //获得套版色 regColor = new SpotColor(); regColor.spot = newSpot; theSelect = doc.selection; lmin=theSelect[0].geometricBounds[0]; //左 tmax=theSelect[0].geometricBounds[1]; //上 lmax=theSelect[0].geometricBounds[2]; //右 tmin=theSelect[0].geometricBounds[3]; //下 //计算选择集的四边位置 for (i=1;i<theSelect.length;i++){ if (lmin>theSelect[i].geometricBounds[0]){lmin=theSelect[i].geometricBounds[0]} if (tmax<theSelect[i].geometricBounds[1]){tmax=theSelect[i].geometricBounds[1]} if (lmax<theSelect[i].geometricBounds[2]){lmax=theSelect[i].geometricBounds[2]} if (tmin>theSelect[i].geometricBounds[3]){tmin=theSelect[i].geometricBounds[3]} } //计算所有要画的长度标线位置 w=[]; for (i=0;i<theSelect.length;i++){ w.push(theSelect[i].geometricBounds[0]); w.push(theSelect[i].geometricBounds[2]); } if(shuangjiaoxian == true){ //这里要加入长度标尺双脚线 w.push(lmin-outspace); w.push(lmax+outspace); //这里结束长度标尺双脚线 } //去除重复 ww = []; for(var i = 0,len = w.length;i < len;i++){ ! RegExp(w[i],"g").test(ww.join(",")) && (ww.push(w[i])); } //构造一个数组进行去重处理 Array.prototype.indexOf = function(val) { for (var i = 0; i < this.length; i++) { if (this[i] == val) return i; } return -1; }; Array.prototype.remove=function(dx) { if(isNaN(dx)||dx>this.length){return false;} for(var i=0,n=0;i<this.length;i++) { if(this[i]!=this[dx]){ this[n++]=this[i] } } this.length-=1 } //ai有时选择集会莫名奇妙将画布当成选择集的第一个对象,去除它 a=ww.indexOf(15279); if (a==0){ww.remove(a);} a=ww.indexOf(-17487); if (a==0){ww.remove(a);} //计算所有要画的高度标线位置 h=[]; for (i=0;i<theSelect.length;i++){ h.push(theSelect[i].geometricBounds[1]); h.push(theSelect[i].geometricBounds[3]); } if(shuangjiaoxian == true){ //这里要加入高度标尺双脚线 h.push(tmax+outspace); h.push(tmin-outspace); //这里结束高度标尺双脚线 } //去除重复 hh = []; for(var i = 0,len = h.length;i < len;i++){ ! RegExp(h[i],"g").test(hh.join(",")) && (hh.push(h[i])); } //ai有时选择集会莫名奇妙将画布当成选择集的第一个对象,去除它 a=hh.indexOf( -1105); if (a==0){hh.remove(a);} a=hh.indexOf(31660); if (a==0){hh.remove(a);} //画出标线 cutlayer=doc.layers.add(); //新建图层 cutlayer.name = '切线标注层'; //设置图层名称 g = cutlayer.groupItems.add();//将标线群组,画在切线标注层上。 //画长度标线 for (i=0;i<ww.length;i++){ line=g.pathItems.add(); //日式裁切开始判断是否需要 if(shuangjiaoxian == true && rishicaiqie == true && outspace == linespace){ if(ww[i] == lmin-outspace || ww[i] == lmax+outspace){ line.setEntirePath( [[ww[i],tmin],[ww[i],tmin-linelength-outspace]] ); line.strokeColor= regColor;//标线使用套版色 line.strokeWidth=lw; //指定标线宽度 line=g.pathItems.add(); line.setEntirePath( [[ww[i],tmax],[ww[i],tmax+linelength+outspace]] ); line.strokeColor= regColor; line.strokeWidth=lw; } else{ line.setEntirePath( [[ww[i],tmin-linespace],[ww[i],tmin-linespace-linelength]] ); line.strokeColor= regColor;//标线使用套版色 line.strokeWidth=lw; //指定标线宽度 line=g.pathItems.add(); line.setEntirePath( [[ww[i],tmax+linespace],[ww[i],tmax+linespace+linelength]] ); line.strokeColor= regColor; line.strokeWidth=lw; } //日式裁切进入到这里绘制完成 } else { line.setEntirePath( [[ww[i],tmin-linespace],[ww[i],tmin-linespace-linelength]] ); line.strokeColor= regColor;//标线使用套版色 line.strokeWidth=lw; //指定标线宽度 line=g.pathItems.add(); line.setEntirePath( [[ww[i],tmax+linespace],[ww[i],tmax+linespace+linelength]] ); line.strokeColor= regColor; line.strokeWidth=lw; }} //画高度标线 for (i=0;i<hh.length;i++){ line=g.pathItems.add(); //日式裁切开始判断是否需要 if(shuangjiaoxian == true && rishicaiqie == true && outspace == linespace){ if(hh[i] == tmin-outspace || hh[i] == tmax+outspace){ line.setEntirePath( [[lmin,hh[i]],[lmin-linelength-outspace,hh[i]]] ); line.strokeColor= regColor; line.strokeWidth=lw; line=g.pathItems.add(); line.setEntirePath( [[lmax,hh[i]],[lmax+linelength+outspace,hh[i]]] ); line.strokeColor= regColor; line.strokeWidth=lw; //日式裁切进入到这里绘制完成 }else{ line.setEntirePath( [[lmin-linespace,hh[i]],[lmin-linespace-linelength,hh[i]]] ); line.strokeColor= regColor; line.strokeWidth=lw; line=g.pathItems.add(); line.setEntirePath( [[lmax+linespace,hh[i]],[lmax+linespace+linelength,hh[i]]] ); line.strokeColor= regColor; line.strokeWidth=lw; }}else { line.setEntirePath( [[lmin-linespace,hh[i]],[lmin-linespace-linelength,hh[i]]] ); line.strokeColor= regColor; line.strokeWidth=lw; line=g.pathItems.add(); line.setEntirePath( [[lmax+linespace,hh[i]],[lmax+linespace+linelength,hh[i]]] ); line.strokeColor= regColor; line.strokeWidth=lw; }} |
||
2022-12-01, 14:27 | 只看该作者 #14 | ||
|
|||
正式会员
等级: 六袋长老
|
引用:
|
||