2017-09-25 54 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); 
} 

對於我來說,它的工作原理。我希望它能幫助你。

相關問題