文章目录

  • 1.算法程序
  • 2.作者答疑

1.算法程序

  illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是锚点分隔路径,开发一个锚点分隔路径功能,以下功能仅用于学习交流,请勿用于非法用途和商业用途,源代码如下所示:

var PMSLibs = confirm("选择路径后使用此脚本,会按照所选路径的锚点分隔路径\n分隔路径数=全部锚点-1\n\n插件定制,手机微信:18928899728");main();
function main()
{var sp = [];getPathItemsInSelection(2, sp);if (sp.length < 1)return;var j,k,p;var first_anchor_selected,idxs,ary,ancs;for (var i = 0; i < sp.length; i++){p = sp[i].pathPoints;idxs = [[0]];first_anchor_selected = isSelected(p[0]);for (j = 1; j < p.length; j++){idxs[idxs.length - 1].push(j);if (isSelected(p[j]))idxs.push([j]);}if (idxs.length < 2 && !(first_anchor_selected && sp[i].closed))continue;// adjust the array (closed path)if (sp[i].closed){if (first_anchor_selected){idxs[idxs.length - 1].push(0);}else{ary = idxs.shift();idxs[idxs.length - 1] = idxs[idxs.length - 1].concat(ary);}}// duplicate the path and apply the data of the arrayfor (j = 0; j < idxs.length; j++){ary = idxs[j];ancs = [];for (k = ary.length - 1; k >= 0; k--)ancs.unshift(p[ary[k]].anchor);with (sp[i].duplicate()){closed = false;setEntirePath(ancs);for (k = pathPoints.length - 1; k >= 0; k--){with (pathPoints[k]){rightDirection = p[ary[k]].rightDirection;leftDirection = p[ary[k]].leftDirection;pointType = p[ary[k]].pointType;}}}}sp[i].remove(); // remove the original path}
}// ------------------------------------------------
// extract PathItems from the selection which length of PathPoints
// is greater than "n"
function getPathItemsInSelection(n, pathes)
{if (documents.length < 1)return;var s = activeDocument.selection;if (!(s instanceof Array) || s.length < 1)return;extractPathes(s, n, pathes);
}// --------------------------------------
// extract PathItems from "s" (Array of PageItems -- ex. selection),
// and put them into an Array "pathes".  If "pp_length_limit" is specified,
// this function extracts PathItems which PathPoints length is greater
// than this number.
function extractPathes(s, pp_length_limit, pathes)
{for (var i = 0; i < s.length; i++){if (s[i].typename == "PathItem"&& !s[i].guides && !s[i].clipping){if (pp_length_limit&& s[i].pathPoints.length <= pp_length_limit){continue;}pathes.push(s[i]);}else if (s[i].typename == "GroupItem"){// search for PathItems in GroupItem, recursivelyextractPathes(s[i].pageItems, pp_length_limit, pathes);}else if (s[i].typename == "CompoundPathItem"){// searches for pathitems in CompoundPathItem, recursively// ( ### Grouped PathItems in CompoundPathItem are ignored ### )extractPathes(s[i].pathItems, pp_length_limit, pathes);}}
}// --------------------------------------
function isSelected(p)
{return p.selected == PathPointSelection.ANCHORPOINT;
}

2.作者答疑


  如有疑问,请留言。

提示: 作者知了-联系方式1
提示: 作者知了-联系方式2

illustrator插件-常用功能开发-锚点分隔路径-js脚本开发-AI插件相关推荐

  1. illustrator插件--常用功能开发--移除叠印属性--js脚本开发--AI插件

      illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是移除叠印属性,开发一个移除叠印属性功能,以下功能仅用于学习交流,请勿用于非法用途和商业用途,源代码如下所 ...

  2. AfterEffect插件-常规功能开发-改变渲染输出位置-js脚本开发-AE插件

    文章目录 1.算法程序 2.作者答疑 1.算法程序   AfterEffect(AE)插件是Adobe公司开发的特效制作软件,稳定快速的功能和特效,在视频制作领域使用非常广泛,本文向大家介绍如何在项目 ...

  3. illustrator插件--常用功能开发--移除非纯黑叠印--js脚本开发--AI插件

      illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是移除非纯黑叠印,开发一个移除非纯黑叠印功能,以下功能仅用于学习交流,请勿用于非法用途和商业用途,源代码如 ...

  4. Auto.js脚本开发环境搭建

    1. Auto.js软件安装及简单使用 直接将APK发送到安卓手机上进行安装,电脑端的模拟器上直接拖进去就可以安装,安装时不光要安装Auto.js的APK,还要安装打包插件的APK,Auto.js的A ...

  5. illustrator插件-常用功能模块-测量路径长度-js脚本开发-AI插件

    文章目录 1.算法程序 2.作者答疑 1.算法程序   illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是测量路径长度,开发一个测量路径长度功能,以下功能仅用 ...

  6. illustrator插件--常用功能开发--色标生成器--js脚本开发--AI插件

      illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是色标生成器,开发一个色标生成器功能,以下功能仅用于学习交流,请勿用于非法用途和商业用途,源代码如下所示: ...

  7. illustrator插件-常用功能开发-打开多页PDF-js脚本开发-AI插件

    文章目录 1.算法程序 2.作者答疑 1.算法程序   illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是打开多页PDF,开发一个打开多页PDF功能,以下功能 ...

  8. illustrator插件-常用功能开发-尺寸标注-js脚本开发

    文章目录 1.算法程序 2.作者答疑 1.算法程序   illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是标注尺寸,开发一个尺寸标注功能,以下功能仅用于学习交 ...

  9. illustrator插件--常用功能开发--绘制手提袋--js脚本开发--AI插件

      illustrator是矢量编辑软件,画板是绘制处理的重要容器,在印刷方面的一个重要功能就是绘制手提袋,开发一个绘制手提袋功能,以下功能仅用于学习交流,请勿用于非法用途和商业用途,源代码如下所示: ...

最新文章

  1. Understanding The React Source Code
  2. 发展农业对话国际农民丰收节贸易会 菲律宾学中国还是印度?
  3. 详解 ASP.NET异步
  4. Flow vs Jenkins 实操对比,如何将Java应用快速发布至ECS
  5. 任务调度之Timer、TimerTask
  6. 以太坊2.0质押地址余额超过170万枚
  7. spring mvc 上传文件
  8. win10安装nvidia驱动
  9. HDU 2577 How to Type (DP,经典)
  10. 从零开始学习Qt GUI编程
  11. 【转】姚班学霸陈立杰
  12. 噪声调相干扰matlab程序,噪声调相干扰信号的性能仿真
  13. Java求所占百分比
  14. 中国石油大学(北京)-《 公共社交礼仪 》-​​​​​​​第一阶段在线作业
  15. 计算机密码无法输完整,笔记本电脑键盘失灵无法输入密码怎么解决
  16. 【DL】第 12 章: 生成式深度学习
  17. windows 网络监控_如何在Windows 10中监控网络使用情况
  18. 使用STM32CubeProgrammer烧录STM32芯片
  19. 11gR2 新特性--待定的统计信息(Pending Statistic)
  20. 每天看一个fortran文件(2)

热门文章

  1. 计算机的软盘硬盘,为什么电脑硬盘上没有A盘和B盘?只有电脑老手才知道
  2. DS||简单扑克牌游戏(一)
  3. oracle数据库时钟,oracle11g巡检RAC数据库
  4. 忆享科技受邀亮相CIS2022网络安全创新大会
  5. 背锅王者“光明会”是如何炼成的?
  6. 第五章——绕有限翼长的不可压缩流动
  7. 完美解决Linux环境编译ffmpeg库
  8. 各种排序算法以及扩展(选择排序,冒泡排序,插入排序,归并排序,最小和问题,堆排序,荷兰国旗问题,快速排序)
  9. 03-Vue技术栈之生命周期
  10. SLAM从入门到如土:自定义msgs遇到的坑