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

ITIT

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

Ant-3

Участник
Сообщения
57
Реакции
2
Привет, вот так можно сделать, только к сожалению с помощью скрипта + экшена. Экшен не знаю как в сообщение вставить, прикрепил скриншотом ниже. Скрипт вот:

Код:
#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 КБ · Просм.: 126
  • Спасибо
Реакции: ITIT

Ant-3

Участник
Сообщения
57
Реакции
2
Скрипт в экшене на скриншоте (в сообщении выше) у меня подписан как "test"

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

Вложения

  • еоуеоуо.png
    еоуеоуо.png
    22.7 КБ · Просм.: 135
  • Спасибо
Реакции: ITIT

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Только выходящие за пределы артборда он не выделит. Лишь те, которые целиком находятся ща границами всех артбордов.
 
  • Спасибо
Реакции: ITIT

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Привет, вот так можно сделать, только к сожалению с помощью скрипта + экшена. Экшен не знаю как в сообщение вставить, прикрепил скриншотом ниже. Скрипт вот:

Код:
#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');

}
А зачем экшн? У вас он фактически используется, дабы разблокировать залоченные обьекты на артбордах. В конце вашего скрипта дописываете цикл по разблокированию обьектов и никакого огорода с вызовами экшна городить не надо.
 

Ant-3

Участник
Сообщения
57
Реакции
2
А зачем экшн? У вас он фактически используется, дабы разблокировать залоченные обьекты на артбордах. В конце вашего скрипта дописываете цикл по разблокированию обьектов и никакого огорода с вызовами экшна городить не надо.
да, можно и без экшена, но я к сожалению не разобрался как это все в самом скрипте написать.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
for (var i=0; i <doc.pageItems.length ; i++) doc.pageItems[ i ].locked=false;
По моему как то так
 
  • Спасибо
Реакции: ITIT

ITIT

Топикстартер
15 лет на форуме
Сообщения
500
Реакции
194
Спасибо Ant-3 и уважаемому _МВК_ , скрипт прекрасно работает выделяя все обьекты расположенные за пределами артбордов.
Теперь возник вопрос такого плана (Захотела старуха новое корыто).
Возможен ли скрипт выделяющий обьекты расположенные частично внутри и частично за пределами артборда.Артбордов может быть несколько десятков.
И уже из серии(Хочу быть владычицей морскою) возможно ли при этом в палитре Artboards были выделены артборды с вышеуказанной проблемой.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Спасибо Ant-3 и уважаемому _МВК_ , скрипт прекрасно работает выделяя все обьекты расположенные за пределами артбордов.
Теперь возник вопрос такого плана (Захотела старуха новое корыто).
Возможен ли скрипт выделяющий обьекты расположенные частично внутри и частично за пределами артборда.Артбордов может быть несколько десятков.
И уже из серии(Хочу быть владычицей морскою) возможно ли при этом в палитре Artboards были выделены артборды с вышеуказанной проблемой.
Все возможно, но на несколько порядко сложнее, чем вышеописанное.
Придется ловить пересечения всех обьектов со всеми артбордами, а это сильно непросто.
 

ITIT

Топикстартер
15 лет на форуме
Сообщения
500
Реакции
194
Все возможно, но на несколько порядко сложнее, чем вышеописанное.
Придется ловить пересечения всех обьектов со всеми артбордами, а это сильно непросто.
Есть такой плагин Vector Inspector Pro — плагин к Adobe Illustrator для быстрой проверки стокового вектора выполняет вышеописанное действие иногда корректно,но в большинстве случаев выделяет и обьекты расположенные полностью внутри артборда,закономерность сих странных действий мне установить не удалось.
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Bounding box этих объектов точно целиком внутри?
 

ITIT

Топикстартер
15 лет на форуме
Сообщения
500
Реакции
194
Bounding box этих объектов точно целиком внутри?
Точнее не бывает.Данный плагин рассчитан на корректную работу только с одним артбордом и видимо поэтому получается такая засада с выделением.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Ну так он предназначен для контроля стокового вектора а там разве берут с кучей артбордов?
 

ITIT

Топикстартер
15 лет на форуме
Сообщения
500
Реакции
194
Возникла очередная задача.
Есть множество артбордов,есть ли скрипт выделяющий в стопке последующий артборд вслед за выделенным?
Заранее благодарен.
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Код:
app.activeDocument.artboards.setActiveArtboardIndex(app.activeDocument.artboards.getActiveArtboardIndex()+1);
 
  • Спасибо
Реакции: ITIT

ITIT

Топикстартер
15 лет на форуме
Сообщения
500
Реакции
194
Код:
app.activeDocument.artboards.setActiveArtboardIndex(app.activeDocument.artboards.getActiveArtboardIndex()+1);
Спасибо за желание помочь,но к сожалению это скрипт у меня не работает.☹️
Может быть только у меня.Коллеги проверьте пожалуйста скрипт на своем компьютере.
 
Последнее редактирование:

Drawer

Участник
Сообщения
1 811
Реакции
797
Работает как и должен. Сделайте активным артборд который самый верхний в списке панели артбордов, после выполнения кода активным станет следующий в списке. И вообще, показывайте что за ошибку выдает...
 
  • Спасибо
Реакции: ITIT

ITIT

Топикстартер
15 лет на форуме
Сообщения
500
Реакции
194
Работает как и должен.
Работает!!!Ориентировался на палитру Artboard,на которой после применения скрипта
остается подсвеченным (причем всегда)выделенный верхний артборд,а не следующий,как привык при работе.
Нужно было ещё смотреть по черной рамке вокруг выделенного следующего артборда.
Хотелось бы еще подсветку выделенного последующего артборда в палитре Artboards,но это уже ,,суперхош,,.
Уважаемому Skvoznyak ещё раз большое спасибо!
 
  • Спасибо
Реакции: Skvoznyak

Drawer

Участник
Сообщения
1 811
Реакции
797
Хотелось бы еще подсветку выделенного последующего артборда в палитре Artboards
Это работа интерфейса нативного плагина AI. Если артборд активен, а в панели не подсвечивается, то никаким скриптом вы это не сделает. В CS6 кстати активный после переключения скриптом подсвечивается, но не уверен что так будет всегда. Попробуйте redraw () после этой строки воткнуть, может и сработает.
 
  • Спасибо
Реакции: ITIT