Answered
【JavaScript】グループの中の複数のパスを複合パスにする
お世話になります。
グループがあり、その中にパスがいくつかあります。
それを複合パス化するという挙動をスクリプトにしたいです。
var sel = app.activeDocument.selection;//選択オブジェクト
for(i=0; i<sel.length;i++){
if(sel[i].pageItems.length > 1){ //選択グループの中のアイテム数が複数だったら
cp = app.activeDocument.compoundPathItems.add(); //複合パスを新規作成
cpItems = []; //複合パスにするアイテム配列
for(w=0; w<sel[i].pageItems.length; w++){
cpItems.push(sel[i].pageItems[w]); //グループ内のアイテムを配列に追加
}
while(cpX = cpItems.shift()){
cpX.move(cp,ElementPlacement.INSIDE); //アイテムを複合パスの中に移動
}
}
}
選択しているグループが一つの場合は上記で出来ましたが、
同じようにパスをまとめたグループが複数あった場合は連続で出来ませんでした。
何がおかしいかわかる人がいたら教えてください。
よろしくお願いします。
