нене, в иллюстраторе я бы сделал "pathfinder" "unite"!)сгруппировать? )
doScript ( actionName, setName, dialogs /*Boolean*/ )
разве? а вот так не оно?
- Эта операция (Unite) доступна только из палитры Pathfinder.
- Через команды меню этого тоже не сделать, значит для executeMenuCommand () команду не достать.
Но! Если дальше в скрипте идут какие-то ещё операции, то, по моему, они будут выполняться параллельно с выполнением акшна. В общем, могут быть глюки.
Есть ещё методы loadAction ( actionFile ) и unloadAction ( setName, actionName ) но они какие-то недоделанные..
function offset_item_via_action(offset){
var ActionString = [
'/version 3',
'/name [ 16',
'53637269707465645f416374696f6e73',
']',
'/isOpen 1',
'/actionCount 1',
'/action-1 {',
'/name [ 13',
'4f66667365745f416374696f6e',
']',
' /keyIndex 0',
'/colorIndex 0',
' /isOpen 1',
'/eventCount 1',
' /event-1 {',
'/useRulersIn1stQuadrant 0',
' /internalName (ai_plugin_offset)',
'/localizedName [ 11',
'4f66667365742050617468',
']',
' /isOpen 1',
'/isOn 1',
' /hasDialog 1',
'/showDialog 0',
' /parameterCount 3',
'/parameter-1 {',
'/key 1868985204',
' /showInPalette -1',
'/type (unit real)',
' /value ' + offset + '',
'/unit 592476268',
'}',
' /parameter-2 {',
'/key 1835627634',
' /showInPalette -1',
'/type (real)',
' /value 4.0',
'}',
' /parameter-3 {',
'/key 1785623664',
' /showInPalette -1',
'/type (enumerated)',
' /name [ 5',
'4d69746572',
']',
'/value 2',
'}',
'}',
'}'
].join('\n');
createAction(ActionString);
var ActionString = null;
app.doScript("Offset_Action", "Scripted_Actions", false);
app.unloadAction("Scripted_Actions","");
}
function createAction (str) {
var f = new File('~/ScriptAction.aia');
f.open('w');
f.write(str);
f.close();
app.loadAction(f);
f.remove();
}
вроде бы это нечто другое, а нужно объединение всех выделенных контуров..app.executeMenuCommand ('Live Pathfinder Add');
а каким образом Вы здесь назначаете имя набору и акшну?можно action создавать на лету
точно не отличается. выделенные контуры объединяет опять же
- предварительно записываете Action с операцией Unite (в палитре Action это будет Pathfinder > Add)
Видимо я что-то не так делаю - у меня почему-то эта команда не объединяет выделенные контуры..выделенные контуры объединяет опять же
/version 3
/name [ 3
414141
]
/isOpen 1
/actionCount 1
/action-1 {
/name [ 6
424242434343
]
/keyIndex 0
/colorIndex 0
/isOpen 1
/eventCount 0
}
при последовательной обработке большого количества артбордов если акшн сложный, то глючит (проверял на макете из 100 артбордов), работает только с redraw() после каждой итерации;не сталкивался с таким, синхронно все обрабатывается вроде
loadAct (make_align_center_act_str ());
executeMenuCommand ('deselectall');
for (var i = 0; i < activeDocument.artboards.length; i++) {
activeDocument.artboards.setActiveArtboardIndex (i);
app.executeMenuCommand ('selectallinartboard');
doScript ('align_center_in_artb', 'align_center_in_artb');
executeMenuCommand ('deselectall');
}
unloadAction ('align_center_in_artb', '');
function loadAct (str) {
var f = new File ('~/ScriptAction.aia');
f.open('w');
f.write(str);
f.close();
loadAction (f);
f.remove();
}
function make_align_center_act_str () {
return [
'/version 3',
'/name [ 20',
'616c69676e5f63656e7465725f696e5f61727462',
']',
'/isOpen 1',
'/actionCount 1',
'/action-1 {',
'/name [ 20',
'616c69676e5f63656e7465725f696e5f61727462',
']',
'/keyIndex 58',
'/colorIndex 2',
'/isOpen 0',
'/eventCount 2',
'/event-1 {',
'/useRulersIn1stQuadrant 0',
'/internalName (ai_plugin_alignPalette)',
'/localizedName [ 9',
'416c69676e6d656e74',
']',
'/isOpen 0',
'/isOn 1',
'/hasDialog 0',
'/parameterCount 1',
'/parameter-1 {',
'/key 1954115685',
'/showInPalette -1',
'/type (enumerated)',
'/name [ 23',
'486f72697a6f6e74616c20416c69676e2043656e746572',
']',
'/value 2',
'}',
'}',
'/event-2 {',
'/useRulersIn1stQuadrant 0',
'/internalName (ai_plugin_alignPalette)',
'/localizedName [ 9',
'416c69676e6d656e74',
']',
'/isOpen 0',
'/isOn 1',
'/hasDialog 0',
'/parameterCount 1',
'/parameter-1 {',
'/key 1954115685',
'/showInPalette -1',
'/type (enumerated)',
'/name [ 21',
'566572746963616c20416c69676e2043656e746572',
']',
'/value 5',
'}',
'}',
'}'
].join('\n');
}
var align_hor_str = align_hor_act (),
align_ver_str = align_ver_act (),
i;
loadAct (align_hor_str);
loadAct (align_ver_str);
executeMenuCommand ('deselectall');
for (i = 0; i < activeDocument.artboards.length; i++) {
activeDocument.artboards.setActiveArtboardIndex (i);
app.executeMenuCommand ('selectallinartboard');
doScript ('align_horizontal', 'align_horizontal');
executeMenuCommand ('deselectall');
}
for (i = 0; i < activeDocument.artboards.length; i++) {
activeDocument.artboards.setActiveArtboardIndex (i);
app.executeMenuCommand ('selectallinartboard');
doScript ('align_vertical', 'align_vertical');
executeMenuCommand ('deselectall');
}
unloadAction ('align_horizontal', '');
unloadAction ('align_vertical', '');
function loadAct (str) {
var f = new File ('~/ScriptAction.aia');
f.open('w');
f.write(str);
f.close();
loadAction (f);
f.remove();
}
function align_hor_act () {
return [
'/version 3',
'/name [ 16',
' 616c69676e5f686f72697a6f6e74616c',
']',
'/isOpen 0',
'/actionCount 1',
'/action-1 {',
' /name [ 16',
' 616c69676e5f686f72697a6f6e74616c',
' ]',
' /keyIndex 0',
' /colorIndex 0',
' /isOpen 1',
' /eventCount 1',
' /event-1 {',
' /useRulersIn1stQuadrant 0',
' /internalName (ai_plugin_alignPalette)',
' /localizedName [ 9',
' 416c69676e6d656e74',
' ]',
' /isOpen 0',
' /isOn 1',
' /hasDialog 0',
' /parameterCount 1',
' /parameter-1 {',
' /key 1954115685',
' /showInPalette -1',
' /type (enumerated)',
' /name [ 23',
' 486f72697a6f6e74616c20416c69676e2043656e746572',
' ]',
' /value 2',
' }',
' }',
'}'
].join('\n');
}
function align_ver_act () {
return [
'/version 3',
'/name [ 14',
' 616c69676e5f766572746963616c',
']',
'/isOpen 1',
'/actionCount 1',
'/action-1 {',
' /name [ 14',
' 616c69676e5f766572746963616c',
' ]',
' /keyIndex 0',
' /colorIndex 0',
' /isOpen 1',
' /eventCount 1',
' /event-1 {',
' /useRulersIn1stQuadrant 0',
' /internalName (ai_plugin_alignPalette)',
' /localizedName [ 9',
' 416c69676e6d656e74',
' ]',
' /isOpen 1',
' /isOn 1',
' /hasDialog 0',
' /parameterCount 1',
' /parameter-1 {',
' /key 1954115685',
' /showInPalette -1',
' /type (enumerated)',
' /name [ 21',
' 566572746963616c20416c69676e2043656e746572',
' ]',
' /value 5',
' }',
' }',
'}'
].join('\n');
}
через bridgeTalk