[AI CC-CC2022] Выделение объектов за границами множества артбордов.

  • Автор темы Автор темы ITIT
  • Дата начала Дата начала

ITIT

Топикстартер
15 лет на форуме
Сообщения
516
Реакции
196
Уважаемые господа и дамы,не могли бы вы подсказать есть ли подобный скрипт,который на ВСЕХ артбордах (предположительно до 100) выделял объекты выходящие за их пределы не выделяя объекты находящиеся внутри них.
Если коротко,то применил скрипт и все обьекты вне ВСЕХ артбордов выделились.
Как делать без скрипта знаю,но уж больно муторно и долго.
Заранее благодарен.
 
Последнее редактирование:
Привет, вот так можно сделать, только к сожалению с помощью скрипта + экшена. Экшен не знаю как в сообщение вставить, прикрепил скриншотом ниже. Скрипт вот:

Код:
#target Illustrator
var doc = app.activeDocument;
for (var i=0; i < doc.artboards.length; i++) {
    doc.artboards.setActiveArtboardIndex(i);
    app.executeMenuCommand("selectallinartboard");   
app.executeMenuCommand('lock');
app.executeMenuCommand('selectall');

}
 

Вложения

  • оцокцоцк.png
    оцокцоцк.png
    6.3 КБ · Просм.: 165
  • Спасибо
Реакции: ITIT
Скрипт в экшене на скриншоте (в сообщении выше) у меня подписан как "test"

вот фаил с экшеном action test .
Чтобы скрипт вставить в экшн, сохрани скрипт в папку "сценарии" (примерный путь: ...Adobe Illustrator\App\Illustrator\Presets\ru_RU\Сценарии) После перезагрузки иллюстратора скрипт появится в "фаил-сценарии". При записи экшена выбери вот этот пункт со скриншота в "операции" и активируй скрипт из "фаил-сценарии".
 

Вложения

  • еоуеоуо.png
    еоуеоуо.png
    22.7 КБ · Просм.: 173
  • Спасибо
Реакции: ITIT
Только выходящие за пределы артборда он не выделит. Лишь те, которые целиком находятся ща границами всех артбордов.
 
  • Спасибо
Реакции: ITIT
Привет, вот так можно сделать, только к сожалению с помощью скрипта + экшена. Экшен не знаю как в сообщение вставить, прикрепил скриншотом ниже. Скрипт вот:

Код:
#target Illustrator
var doc = app.activeDocument;
for (var i=0; i < doc.artboards.length; i++) {
    doc.artboards.setActiveArtboardIndex(i);
    app.executeMenuCommand("selectallinartboard");  
app.executeMenuCommand('lock');
app.executeMenuCommand('selectall');

}
А зачем экшн? У вас он фактически используется, дабы разблокировать залоченные обьекты на артбордах. В конце вашего скрипта дописываете цикл по разблокированию обьектов и никакого огорода с вызовами экшна городить не надо.
 
А зачем экшн? У вас он фактически используется, дабы разблокировать залоченные обьекты на артбордах. В конце вашего скрипта дописываете цикл по разблокированию обьектов и никакого огорода с вызовами экшна городить не надо.
да, можно и без экшена, но я к сожалению не разобрался как это все в самом скрипте написать.
 
for (var i=0; i <doc.pageItems.length ; i++) doc.pageItems[ i ].locked=false;
По моему как то так
 
  • Спасибо
Реакции: ITIT
Спасибо Ant-3 и уважаемому _МВК_ , скрипт прекрасно работает выделяя все обьекты расположенные за пределами артбордов.
Теперь возник вопрос такого плана (Захотела старуха новое корыто).
Возможен ли скрипт выделяющий обьекты расположенные частично внутри и частично за пределами артборда.Артбордов может быть несколько десятков.
И уже из серии(Хочу быть владычицей морскою) возможно ли при этом в палитре Artboards были выделены артборды с вышеуказанной проблемой.
 
Спасибо Ant-3 и уважаемому _МВК_ , скрипт прекрасно работает выделяя все обьекты расположенные за пределами артбордов.
Теперь возник вопрос такого плана (Захотела старуха новое корыто).
Возможен ли скрипт выделяющий обьекты расположенные частично внутри и частично за пределами артборда.Артбордов может быть несколько десятков.
И уже из серии(Хочу быть владычицей морскою) возможно ли при этом в палитре Artboards были выделены артборды с вышеуказанной проблемой.
Все возможно, но на несколько порядко сложнее, чем вышеописанное.
Придется ловить пересечения всех обьектов со всеми артбордами, а это сильно непросто.
 
Все возможно, но на несколько порядко сложнее, чем вышеописанное.
Придется ловить пересечения всех обьектов со всеми артбордами, а это сильно непросто.
Есть такой плагин Vector Inspector Pro — плагин к Adobe Illustrator для быстрой проверки стокового вектора выполняет вышеописанное действие иногда корректно,но в большинстве случаев выделяет и обьекты расположенные полностью внутри артборда,закономерность сих странных действий мне установить не удалось.
 
Bounding box этих объектов точно целиком внутри?
 
Bounding box этих объектов точно целиком внутри?
Точнее не бывает.Данный плагин рассчитан на корректную работу только с одним артбордом и видимо поэтому получается такая засада с выделением.
 
Ну так он предназначен для контроля стокового вектора а там разве берут с кучей артбордов?
 
Возникла очередная задача.
Есть множество артбордов,есть ли скрипт выделяющий в стопке последующий артборд вслед за выделенным?
Заранее благодарен.
 
Код:
app.activeDocument.artboards.setActiveArtboardIndex(app.activeDocument.artboards.getActiveArtboardIndex()+1);
 
  • Спасибо
Реакции: ITIT
Код:
app.activeDocument.artboards.setActiveArtboardIndex(app.activeDocument.artboards.getActiveArtboardIndex()+1);
Спасибо за желание помочь,но к сожалению это скрипт у меня не работает.☹️
Может быть только у меня.Коллеги проверьте пожалуйста скрипт на своем компьютере.
 
Последнее редактирование:
Работает как и должен. Сделайте активным артборд который самый верхний в списке панели артбордов, после выполнения кода активным станет следующий в списке. И вообще, показывайте что за ошибку выдает...
 
  • Спасибо
Реакции: ITIT
Работает как и должен.
Работает!!!Ориентировался на палитру Artboard,на которой после применения скрипта
остается подсвеченным (причем всегда)выделенный верхний артборд,а не следующий,как привык при работе.
Нужно было ещё смотреть по черной рамке вокруг выделенного следующего артборда.
Хотелось бы еще подсветку выделенного последующего артборда в палитре Artboards,но это уже ,,суперхош,,.
Уважаемому Skvoznyak ещё раз большое спасибо!
 
  • Спасибо
Реакции: Skvoznyak
Хотелось бы еще подсветку выделенного последующего артборда в палитре Artboards
Это работа интерфейса нативного плагина AI. Если артборд активен, а в панели не подсвечивается, то никаким скриптом вы это не сделает. В CS6 кстати активный после переключения скриптом подсвечивается, но не уверен что так будет всегда. Попробуйте redraw () после этой строки воткнуть, может и сработает.
 
  • Спасибо
Реакции: ITIT