[AI CC-CC2021] Сохранить и загрузить выделение

Станислав Хоффман

Участник
Топикстартер
Сообщения
277
Реакции
23
Всем привет, не нашёл в поиске как Сохранить и загрузить выделение через меню "Select" ?
 

langry

12 лет на форуме
Сообщения
435
Реакции
109
Это не Photoshop вроде
 

_MBK_

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

Станислав Хоффман

Участник
Топикстартер
Сообщения
277
Реакции
23
сохранить выделение объектов можно через недокументированную функцию - выскочет окно с названием имени пресета, но вот как его потом прочитать ?..
 

_MBK_

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

Gad

Сообщения
2 975
Реакции
1 408
Последнее редактирование:
  • Спасибо
Реакции: КоньЕстДетей

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Не понял... его можно загрузить. Можно засунуть действие в экшн. Что значит прочитать? Вызвать скриптом?
Посмотреть вложение 136897
Ну погоди ванговать, мой вариант - человек проснулся среди ночи и понял, что все идет по плану и спросонья написал что-то такое вот лихое, что никак не вспомнить ни мне ни тебе.
 

Станислав Хоффман

Участник
Топикстартер
Сообщения
277
Реакции
23
Не понял... его можно загрузить. Можно засунуть действие в экшн. Что значит прочитать? Вызвать скриптом?
Посмотреть вложение 136897
да, это оно. Экшн не работает с загрузкой и сохр. выделений, пробовал. Скрипт, как я выяснил, тоже не поддерживает чтение данных пресетов.
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
ну берете все из app.selection, сохраняете в массив, потом снова им делаете selected = true
элементарно же
 

Gad

Сообщения
2 975
Реакции
1 408
ну берете все из app.selection, сохраняете в массив, потом снова им делаете selected = true
элементарно же
Эта штука немного иначе работает... Если запомнить выделение объекта потом сдублировать его, то при загрузке выделит оба.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
ну берете все из app.selection, сохраняете в массив, потом снова им делаете selected = true
Это малехо некошерно, между этими событиями могут произойти какие то серьезные для модели перестройки, после восстановления структура объектов будет совсем другая. А с note все корректно
 
  • Спасибо
Реакции: Gad

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Эта штука немного иначе работает... Если запомнить выделение объекта потом сдублировать его, то при загрузке выделит оба.
оно нам надо?

Это малехо некошерно, между этими событиями могут произойти какие то серьезные для модели перестройки, после восстановления структура объектов будет совсем другая. А с note все корректно

ну возможно. note тоже пропасть может, вообще говоря
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
кстати говоря, в новом иллюстраторе у pageItem наконец появился уникальный id

PageItem.uuid (Read Only)

Data Type: string

Adobe Illustrator 24 Type Library

The item's unique identifier.




по нему можно вполне однозначно восстановить, если просто референсы не устраивают
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Он то как раз и запросто попротиться может при добавлении-удалении-переупорядочивании-перегруппировании объектов. Это ж для нас он ридонли а система его как угодно переформировывать может
 

Станислав Хоффман

Участник
Топикстартер
Сообщения
277
Реакции
23
господа, вопрос решён. Оказалось, сбрасывание выделения через doc.selection = null не обнуляет массив выделения, как я предполагал, и им можно пользоваться дальше в коде. Мне нужно было в выделении выделить текстовые объекты, если они есть и присвоить им эффект, затем вернуть общее выделение. Всё работает.
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Он то как раз и запросто попротиться может при добавлении-удалении-переупорядочивании-перегруппировании объектов. Это ж для нас он ридонли а система его как угодно переформировывать может

нет, не может. присваивается при создании объекта, и остается с ним навечно