[AI CC-CC2022] Можно ли изменять значение Paste Remembers Layers?

romaya

Топикстартер
10 лет на форуме
Сообщения
317
Реакции
40
Всем привет!
Давно интересует вопрос, можно ли из скрипта управлять командой Paste Remembers Layers из контекстного меню Layers? Понятно, что свойство pasteRemembersLayer объекта app только для чтения (read-only). Но может есть какой-нибудь хак, либо обходной путь как его можно менять динамически? К примеру, цветовой режим документа Illustrator тоже из скрипта только для чтения. Но ведь можно запилить экшн или execute-команду, чтобы его изменить из скрипта. Нет ли чего-нибудь подобного для Paste Remembers Layers?
 
Последнее редактирование:
А что это такое и для чего?
 
Это когда копируешь слои в одном документе и они вставляются в другой с той же структурой, а не просто на один слой. Довольно удобная штуковина!
 
Последнее редактирование:
Странно а зачем в модели свойство которое поменять нельзя?
Пути индусов неисповедимы. Оно с документом сохраняется? Изменение в экшн пишется?
 
Нет, это свойство приложения, а не документа. Команды в меню нет, только в контекстном меню Layers. Соответственно, в Actions скорее всего не пишется. Если честно, не проверял.
 
Проверил. Пишется. Есть счастье в жизни!
 
Последнее редактирование:
Нет, это свойство приложения, а не документа.
Ну это ничего не значит. Пока документ не открыт оно не активно - верно? В одном документе может так а в другом иначе.
 
Все работает, в смысле в экшн пишется, даже без открытых документов.
 
Часто пользуюсь этой командой. Надоело в контекстное меню постоянно лазить. Тем более, что визуально в интерфейсе AI, нигде кроме как в этом меню не увидишь, активен этот режим или нет.
 
Последнее редактирование:
Осталось только написать скрипт, который на сочетание Ctrl + V и/или Ctrl + F будет вызывать простой confirm-диалог, в котором можно будет включать/выключать команду Paste Remembers Layers в зависимости от текущей необходимости.
 
Последнее редактирование:
Осталось только написать скрипт, который на сочетание Ctrl + V и/или Ctrl + F будет вызывать простой confirm-диалог, в котором можно будет включать/выключать команду Paste Remembers Layers в зависимости от текущей необходимости.

при каждом paste на этот диалог очень быстро надоест смотреть. особенно если вставляете текст
 
Ну значит на Ctrl + V не вешать. В общем-то эта команда нужна как раз для вставки на тоже место в том же слое, только в другом документе, что и делается обычно с помощью Ctrl + F
 
Последнее редактирование:
В общем, скрипт запилил.

Код:
#target illustrator
if (app.documents.length > 0) {
  var prl = app.pasteRemembersLayers;
  var conf = confirm('Включить Paste Remembers Layers?', true, 'Smart Paste');
  if (conf && !prl) {
    app.doScript('Paste Remembers Layers ON', 'My Actions');
  }
  else if (!conf && prl) {
    app.doScript('Paste Remembers Layers OFF', 'My Actions');
  };
  executeMenuCommand('pasteFront');
}
else {
  alert('Нет открытых документов!');
};

Сам скрипт работает, но вот навесить его на Ctrl + F не выходит. После перезапуска Illustrator экшн запуска скрипта слетает. Да и до перезапуска в меню шорткатов скрипт все равно не виден. Что делать? :(
 
Последнее редактирование:
Прочитал, но мало что понял. Как все-таки извернуться, чтобы повесить скрипт на хоткей? Без AHK желательно. Или это не реально в принципе?
 
В двух словах - если у вас невезучая версия иллюстратора то без сторонних костылей никак
 
Похоже, невезучая попалась. Что же, сделаю красивую кнопку и буду пользоваться ей пока. До лучших времён.
 
Сделал, пользуюсь, доволен! 😉
 
Появилась мысль сделать нечто подобное для выделения объектов по однотипным свойствам, так как нативная реализация тоже порядком задолбала. Но боюсь что кода для реализации потребуется на порядок больше. Может есть уже что-то готовое, тогда было бы не страшно ввязыватся в эту авантюру.
 
Последнее редактирование: