[AI CC-CC2021] Пакетная обработка (изменение размера монтажной области)

ITIT

15 лет на форуме
Сообщения
500
Реакции
194
Action по замене текущего Artboard на новый.

Работает только с ОДНИМ Artboard.
Заменяет текущий Artboard на новый размером 3000ps x 3000ps.
Увеличивает содержимое старого Artboard на 300% и переносит его на новый Artboard.

Необходимо для работы:
1.Держать на рабочем поле открытой палитру Artboards.
2.В палитре Align поставить галочку на Align to Artboard !!!

Инструкция,как пользоваться:
1.Откройте файл.
2.Запустите Action.
3.После команды STOP в палитре Artboards:
а.Выделить в стопке самый верхний Artboard.
b.Нажмите на три полоски в правом верхнем углу.
c.В открывшемся списке Delete Artboards.
4.Запустите Action.
 

Вложения

  • Change Artboard.rar
    1.6 КБ · Просм.: 115

Gad

Сообщения
2 975
Реакции
1 408
Инструкция,как пользоваться:
1.Откройте файл.
2.Запустите Action.
3.После команды STOP в палитре Artboards:
а.Выделить в стопке самый верхний Artboard.
b.Нажмите на три полоски в правом верхнем углу.
c.В открывшемся списке Delete Artboards.
4.Запустите Action.
и так 100 раз? '))' Веселый Вы парень :)
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 033
Реакции
1 199
Ну, а я бы сделал так, чтобы ручками вообще не шевелить. (А можно вообще сделать один скрипт, в который запихнуть экшн и прочее, и прочее... )
Как и писал ранее:
- создать прямоугольник размером в артбоард
- Cut
- Select All
- Scale Tool (S) (300%)
- вставить вырезанный прямоугольник (Paste in front)
- Scale Tool (S) (300%)
- прямоугольник Convert to artboards
- insert menu item (указываем скрипт, который грохает ненужный артбоард)

сам скрипт (сохраняем в js. файлик в папку со скриптами):
Код:
activeDocument.artboards[0].remove();
 
  • Спасибо
Реакции: ITIT

qsedftghk

фея
15 лет на форуме
Сообщения
2 033
Реакции
1 199

Не по теме:
сильвупле =)
 

ITIT

15 лет на форуме
Сообщения
500
Реакции
194
Теперь скрипт можно вставить в мой Action и можно спокойно пакетно обрабатывать
хоть 1000 файлов.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
Ну, а я бы сделал так, чтобы ручками вообще не шевелить. (А можно вообще сделать один скрипт, в который запихнуть экшн и прочее, и прочее... )
Как и писал ранее:
- создать прямоугольник размером в артбоард
- Cut
- Select All
- Scale Tool (S) (300%)
- вставить вырезанный прямоугольник (Paste in front)
- Scale Tool (S) (300%)
- прямоугольник Convert to artboards
- insert menu item (указываем скрипт, который грохает ненужный артбоард)

сам скрипт (сохраняем в js. файлик в папку со скриптами):
Код:
activeDocument.artboards[0].remove();
Скрипт разве можно в экшн запихнуть?
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 033
Реакции
1 199
Поднять якорь!
скрипт, в который запихнуть экшн
ЗЫ. Пожалуй, напишу ещё разборчивее. Берём экшн и запихиваем его в скрипт. И всё делаем одним скриптом
 
Последнее редактирование:

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 943
Реакции
3 470
  • Спасибо
Реакции: Gad

qsedftghk

фея
15 лет на форуме
Сообщения
2 033
Реакции
1 199
Люди, у которых в епсах есть монтажные области и пикселы, и не такое могут!
А в чём проблема запихнуть скрипт в экшн?
- insert menu item (указываем скрипт)

Это ли не то?
 

ITIT

15 лет на форуме
Сообщения
500
Реакции
194
  • Спасибо
Реакции: ~RA~

ITIT

15 лет на форуме
Сообщения
500
Реакции
194
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
Как меня радует этот форум - сами спросили - сами ответили '))'
 
  • Спасибо
Реакции: Gad

Gad

Сообщения
2 975
Реакции
1 408
JavaScript:
#target Illustrator
var scale = "250.0"; // задаем масштаб в процентах

if (app.activeDocument.artboards.length == 1) {
    action(scale);
    redraw();
};

function action(scale) {
    //redraw();
    var ActionString = [ '/version 3',
    '/name [ 12',
    '    536372697074416374696f6e',
    ']',
    '/isOpen 1',
    '/actionCount 1',
    '/action-1 {',
    '    /name [ 14',
    '        5363616c656453656c6563746564',
    '    ]',
    '    /keyIndex 0',
    '    /colorIndex 0',
    '    /isOpen 0',
    '    /eventCount 3',
    '    /event-1 {',
    '        /useRulersIn1stQuadrant 0',
    '        /internalName (adobe_commandManager)',
    '        /localizedName [ 16',
    '            416363657373204d656e75204974656d',
    '        ]',
    '        /isOpen 0',
    '        /isOn 1',
    '        /hasDialog 0',
    '        /parameterCount 3',
    '        /parameter-1 {',
    '            /key 1769238125',
    '            /showInPalette -1',
    '            /type (ustring)',
    '            /value [ 19',
    '                73656c656374616c6c696e617274626f617264',
    '            ]',
    '        }',
    '        /parameter-2 {',
    '            /key 1818455661',
    '            /showInPalette -1',
    '            /type (ustring)',
    '            /value [ 22',
    '                53656c65637420416c6c20496e20417274626f617264',
    '            ]',
    '        }',
    '        /parameter-3 {',
    '            /key 1668114788',
    '            /showInPalette -1',
    '            /type (integer)',
    '            /value 1934727834',
    '        }',
    '    }',
    '    /event-2 {',
    '        /useRulersIn1stQuadrant 0',
    '        /internalName (adobe_scale)',
    '        /localizedName [ 5',
    '            5363616c65',
    '        ]',
    '        /isOpen 1',
    '        /isOn 1',
    '        /hasDialog 1',
    '        /showDialog 0',
    '        /parameterCount 4',
    '        /parameter-1 {',
    '            /key 1970169453',
    '            /showInPalette -1',
    '            /type (boolean)',
    '            /value 1',
    '        }',
    '        /parameter-2 {',
    '            /key 1818848869',
    '            /showInPalette -1',
    '            /type (boolean)',
    '            /value 1',
    '        }',
    '        /parameter-3 {',
    '            /key 1935895653',
    '            /showInPalette -1',
    '            /type (unit real)',
    '            /value '+scale,
    '            /unit 592474723',
    '        }',
    '        /parameter-4 {',
    '            /key 1668247673',
    '            /showInPalette -1',
    '            /type (boolean)',
    '            /value 0',
    '        }',
    '    }',
    '    /event-3 {',
    '        /useRulersIn1stQuadrant 0',
    '        /internalName (adobe_deselectAll)',
    '        /localizedName [ 12',
    '            446573656c65637420416c6c',
    '        ]',
    '        /isOpen 0',
    '        /isOn 1',
    '        /hasDialog 0',
    '        /parameterCount 0',
    '    }',
    '}'].join('\n');

    var f = new File('~/ScriptAction.aia');
    f.open('w');
    f.write(ActionString);
    f.close();
    loadAction (f);
    f.remove();
    var myScriptString = [ 'var ar = app.activeDocument.artboards[0].artboardRect;',
    'var artLayer = app.activeDocument.layers.add();',
    'var rect = artLayer.pathItems.rectangle (ar[1], ar[0], ar[2]-ar[0], ar[1]-ar[3]);',
    'app.doScript("ScaledSelected", "ScriptAction");',
    'unloadAction("ScriptAction", "");',
    'var k = '+scale+'/100-1;',
    'app.activeDocument.artboards[0].artboardRect=[ar[0]-(ar[2]-ar[0])*k/2, ar[1]-(ar[3]-ar[1])*k/2, ar[2]+(ar[2]-ar[0])*k/2, ar[3]+(ar[3]-ar[1])*k/2];',
    'artLayer.remove();'].join('\n');
    var bt = new BridgeTalk;
    bt.target = "illustrator";
    bt.body = myScriptString;
    bt.send();
    ActionString = null;
};
 
Последнее редактирование:
  • Спасибо
Реакции: keramer82 и Chiga

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
Апплодирую номинанту на извращенное решение, но спросонья не вкурил, зачем из скрипта вызывать скрипт через бриджталк? 'hmmm'
JavaScript:
#target Illustrator
var scale = "250.0"; // задаем масштаб в процентах

if (app.activeDocument.artboards.length == 1) {
    action(scale);
    redraw();
};

function action(scale) {
    //redraw();
    var ActionString = [ '/version 3',
    '/name [ 12',
    '    536372697074416374696f6e',
    ']',
    '/isOpen 1',
    '/actionCount 1',
    '/action-1 {',
    '    /name [ 14',
    '        5363616c656453656c6563746564',
    '    ]',
    '    /keyIndex 0',
    '    /colorIndex 0',
    '    /isOpen 0',
    '    /eventCount 3',
    '    /event-1 {',
    '        /useRulersIn1stQuadrant 0',
    '        /internalName (adobe_commandManager)',
    '        /localizedName [ 16',
    '            416363657373204d656e75204974656d',
    '        ]',
    '        /isOpen 0',
    '        /isOn 1',
    '        /hasDialog 0',
    '        /parameterCount 3',
    '        /parameter-1 {',
    '            /key 1769238125',
    '            /showInPalette -1',
    '            /type (ustring)',
    '            /value [ 19',
    '                73656c656374616c6c696e617274626f617264',
    '            ]',
    '        }',
    '        /parameter-2 {',
    '            /key 1818455661',
    '            /showInPalette -1',
    '            /type (ustring)',
    '            /value [ 22',
    '                53656c65637420416c6c20496e20417274626f617264',
    '            ]',
    '        }',
    '        /parameter-3 {',
    '            /key 1668114788',
    '            /showInPalette -1',
    '            /type (integer)',
    '            /value 1934727834',
    '        }',
    '    }',
    '    /event-2 {',
    '        /useRulersIn1stQuadrant 0',
    '        /internalName (adobe_scale)',
    '        /localizedName [ 5',
    '            5363616c65',
    '        ]',
    '        /isOpen 1',
    '        /isOn 1',
    '        /hasDialog 1',
    '        /showDialog 0',
    '        /parameterCount 4',
    '        /parameter-1 {',
    '            /key 1970169453',
    '            /showInPalette -1',
    '            /type (boolean)',
    '            /value 1',
    '        }',
    '        /parameter-2 {',
    '            /key 1818848869',
    '            /showInPalette -1',
    '            /type (boolean)',
    '            /value 1',
    '        }',
    '        /parameter-3 {',
    '            /key 1935895653',
    '            /showInPalette -1',
    '            /type (unit real)',
    '            /value '+scale,
    '            /unit 592474723',
    '        }',
    '        /parameter-4 {',
    '            /key 1668247673',
    '            /showInPalette -1',
    '            /type (boolean)',
    '            /value 0',
    '        }',
    '    }',
    '    /event-3 {',
    '        /useRulersIn1stQuadrant 0',
    '        /internalName (adobe_deselectAll)',
    '        /localizedName [ 12',
    '            446573656c65637420416c6c',
    '        ]',
    '        /isOpen 0',
    '        /isOn 1',
    '        /hasDialog 0',
    '        /parameterCount 0',
    '    }',
    '}'].join('\n');

    var f = new File('~/ScriptAction.aia');
    f.open('w');
    f.write(ActionString);
    f.close();
    loadAction (f);
    f.remove();
    var myScriptString = [ 'var ar = app.activeDocument.artboards[0].artboardRect;',
    'var artLayer = app.activeDocument.layers.add();',
    'var rect = artLayer.pathItems.rectangle (ar[1], ar[0], ar[2]-ar[0], ar[1]-ar[3]);',
    'app.doScript("ScaledSelected", "ScriptAction");',
    'unloadAction("ScriptAction", "");',
    'var k = '+scale+'/100-1;',
    'app.activeDocument.artboards[0].artboardRect=[ar[0]-(ar[2]-ar[0])*k/2, ar[1]-(ar[3]-ar[1])*k/2, ar[2]+(ar[2]-ar[0])*k/2, ar[3]+(ar[3]-ar[1])*k/2];',
    'artLayer.remove();'].join('\n');
    var bt = new BridgeTalk;
    bt.target = "illustrator";
    bt.body = myScriptString;
    bt.send();
    ActionString = null;
};
 

Gad

Сообщения
2 975
Реакции
1 408
не вкурил, зачем из скрипта вызывать скрипт через бриджталк?
Смысла делать этот скрипт как таковой мне не было, возился как раз с бриджталк и запуском скрипта содержащего экшен через экшен :) Вот этот пример и взял на опыты :)
 

ITIT

15 лет на форуме
Сообщения
500
Реакции
194
Как меня радует этот форум - сами спросили - сами ответили '))'
А если посмотреть глазами оптимиста?
Задал человек вопрос,послушал советы умных и добрых людей и сам потом нашёл решение.
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 943
Реакции
3 470
Не сочтите за оффтоп и объясните пжл., где в епсе пиксели и почему их хочет какой-то сток?
 

Gad

Сообщения
2 975
Реакции
1 408

Не по теме:

где в епсе пиксели и почему их хочет какой-то сток?
Роман, не видит суслика? '))'


Я например сам в непонятках :) сильно подозреваю что если разобраться, то проблема как и решение будут совсем иными, нежели увеличение артборда вместе с содержимым.
 

ITIT

15 лет на форуме
Сообщения
500
Реакции
194
Чтобы не создавать новую тему,задам вопрос здесь.
Можно ли создать скрипт выполняющий команду ,,Удалить пустой(ые) артборд(ы),,
(Delete Empty Artboards)?
Заранее благодарю.
 
Последнее редактирование: