2017-09-25 53 views
1

如何使用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); 
    } 
} 
+0

要保存z顺序,请使用newItem.moveToEnd而不是moveToBeginning。 – emax

+0

我不知道.hasSelectedArtwork = true选择所有,非常有用,谢谢! – superrache

回答

0

我试着用你的代码做同样的事情,并让所有的东西都颠倒过来。问题是在你的循环中你把元素[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); 
} 

对于我来说,它的工作原理。我希望它能帮助你。

相关问题