如何使用Javascript在Illustrator CC中将文档中的所有对象分组?
问题描述:
如何使用Javascript在Illustrator CC中将文档中的所有对象分组?我尝试制作一个脚本,并且我需要将文档中的所有对象无误地正确分组。在官方指南中,我没有找到这样的功能。下面的代码不能正确分组对象。对象改变位置并移动到前景或背景。谁能帮我?如何使用Javascript在Illustrator CC中将文档中的所有对象分组?
function group(){
var docRef = app.activeDocument;
var layerRef = docRef.layers[0];
layerRef.hasSelectedArtwork=true;
docSelection = app.activeDocument.selection;
newGroup = app.activeDocument.groupItems.add();
for (i = 0; i < docSelection.length; i++) {
newItem = docSelection[i];
newItem.moveToBeginning(newGroup);
}
}
答
我试着用你的代码做同样的事情,并让所有的东西都颠倒过来。问题是在你的循环中你把元素[i]移到了组中,所以选择数组的长度不一样,从0到长度的循环不再有效。 我试过选择阵列上的循环,从0到长度,只是每次搬家,最后选择元件:
layer.hasSelectedArtwork = true;
var selection = activeDocument.selection;
var groupItem = layer.groupItems.add();
var count = selection.length;
for(var i = 0; i < count; i++) {
var item = selection[selection.length - 1];
item.moveToBeginning(groupItem);
}
对于我来说,它的工作原理。我希望它能帮助你。
要保存z顺序,请使用newItem.moveToEnd而不是moveToBeginning。 – emax
我不知道.hasSelectedArtwork = true选择所有,非常有用,谢谢! – superrache