【问题标题】:Is it possible to load object properties from an external illustrator file using extendscript是否可以使用extendscript从外部插图文件加载对象属性
【发布时间】:2014-04-26 03:55:08
【问题描述】:
我正在尝试研究如何在插画文件上的一个样式模板中定义一组属性,然后将这些属性导入到另一个文件中。例如,我有一个名为“outerbox”的粉红色矩形,大小为 50mm x 100mm,保存在名为 style1.ai 的插图文件中
我会使用扩展脚本来绘制一个名为“box1”的框,然后从 style1 文件中加载宽度和高度并应用于动态绘制的矩形。我可以看到我可以使用图形样式和样式表来应用字体粗细等。
我需要这样做,因为我将使用脚本来绘制一系列对象,这些对象必须被绘制成一系列随时间变化的不同形状和大小。如果我可以设置一组可供其他设计师访问的可视化模板,而不是编写大量代码,那就更好了。试图寻找这个,但我能找到的最近的是对象监视功能。它是从我找不到的外部文件访问属性
谢谢
鲍勃
【问题讨论】:
标签:
javascript
adobe-illustrator
extendscript
【解决方案1】:
听起来您想要一个主视觉文件库。我做了类似的事情,我为需要以编程方式引用的东西创建了 AI 模板文件。它不应该比打开文件并使其成为要使用的活动文档然后将命名形状作为活动文档的子项引用更复杂。获取所需属性后,您可以让文件保持打开状态以供进一步参考,或选择以编程方式关闭文件。
我会说,尽管根据此脚本的运行频率以及您认为有多少形状作为视觉母版,您可能会认为创建一个视觉主文档并不断引用它而不是更有效每个视觉母版有一个文件。
var visualMaster = File(app.path + TemplateFolder + TemplateName);
if (visualMaster!= null && visualMaster.exists) {
illustrator.open(visualMaster);
var myDoc = app.activeDocument; // Get a reference to the newly created document
// manipulate your object based on attributes in the opened visual master file
}
else {
alert(TemplateName + " not found.");
}