Стереть все направляющие скриптом

  • Автор темы Автор темы qsedftghk
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
Ответ: Стереть все направляющие скриптом

Ну, вы прямо увлеклись я смотрю. Мне б ваши две головы, я б пошёл программером =) =).

Не по теме:
AirGraph, хотел тебя попросить сказать что-нибудь по этой старой темке. Мне всё-таки никаким образом не заделать скриптом в иллюстраторе, чтобы при нажатии кнопочек на панельке, типа palette, выполнялись какие-то действия. Может хоть какой-нибудь простейший рабочий пример покажешь? Не получается, хоть тресни. Если панель dialog, то всё пучком, а если palette, - то, взмахни рукой! Иллюстратор меня в такие моменты начинает подбешивать...
 
Ответ: Стереть все направляющие скриптом

AirGraph, прошу извинить, за основу взят был твой скрипт, дабы проверить высказывания Steve.
Так вот и в CS3, если guide(s) находятся в группе, то они не удаляются.
Поэтому, переколбасил слегка твой скрипт, с поправкой Steve + добавил удаление направляющих в скрытых слоях. И тут всплыло НО!
После удаления направляющих, которые были сгруппированы, остаются пустые Group. Почему так?
 

Вложения

  • u.rar
    u.rar
    364 байт · Просм.: 411
Ответ: Стереть все направляющие скриптом

Согласен. Ни фига мой скрипт не работает! ;-)

AirGraph.
 
Ответ: Стереть все направляющие скриптом

Гы-гы. Мы тут, прям как реаниматоры какие-то...
 
Ответ: Стереть все направляющие скриптом

Все бы хорошо в твоем скрипте, только разлочивает он и визуализует слои на которых, возможно, нет линеек вообще, сиречь может делать много бесполезной работы. Надо бы разлочивать и т.п. только те слои, на которых линейки есть, т.е. определять объект layer по объекту pathItem, благо у него есть такое свойство pathItem.layer. Но если коллекционировать слои таким образом, то они в списке будут повторяться, если на одном слое лежит несколько линеек, а уникального идентификатора слоя я не нашел, который позволил бы собирать их в список без повторений. Так что надо думать как быть. Твой скрипт все правильно будет делать, просто неоптимально, а если на это наплевать, то и проблему можно считать исчерпанной. Меня просто как бывшего программера из далекого прошлого всегда колбасит от кода, который делает пустую работу, мне всегда это напоминает while(1);-))))

С группами все понятно и логично. Ты (как, впрочем, и я ;-)))) удаляешь pathItem_ы не обращая внимания на их parent_ы. Надо при удалении каждого pathItem заглядывать для начала в его parent, если это group и у этого group единственный pageItem - то надо после удаления pathItem удалить его parent объект. Возможно что надо сразу сносить parent и все его детки исчезнут сами, но это надо попробовать. Вот и вся недолга.

За кнопки - посмотрю завтра, вроде был пример.

AirGraph.
 
Ответ: Стереть все направляющие скриптом

Ну я допер как надо делать. Надо сделать видимыми все невидимые слои и собрать их в коллекцию для последующего скрытия. Далее собрать линейки по массиву activeDocument.pathItems. Далее надо их удалять с хвоста массива учитывая группы, но не тупо, а через try, а в catch поставить unlock слоев с их коллекционированием для последующего lock. Далее вернуть нужным слоям visual и lock. Далее красиво все оформить, нарисовать цветочки и букашек и отправить Adobe на АДОБ_рение... ;-)

Завтра сделаю.

AirGraph.
 
Ответ: Стереть все направляющие скриптом

Оптимальность - это когда хорошо разбираешься, а когда полчаса читаешь мануал, а потом еще полчаса тупишь, глядя в экран - какая уж тут оптимальность =) =) Но вообще, да, это плохо, это как гитара - привыкнешь не так руку левую ставить - замучаешься потом переучиваться. Кстати, адобовцы, могли бы сделать объект такой - guides, чтоб обычным смертным не ломать головы над простой, казалось бы, задачей.
с parent`ами усёк. Буду смотреть, а пока пойду спать... УРА! УРА! Я сегодня вечером уже в отпуске буду!!!

ЗЫ. Пока писал одно, ты уже настрочил другое... =) =)
Всё. Спать, спать, спать.... =) try, хм... может во сне охвачу весь масштаб замысла... =) =)
 
Ответ: Стереть все направляющие скриптом

Замысел реализован. Вот что получилось.

AirGraph.
 

Вложения

Ответ: Стереть все направляющие скриптом

AirGraph, извиняюсь, что целый день молчал, просто, как на зло, обрубили инет на работе, ну, и вот... + отпуск начался - в отпуске комп у меня заменяется всякими "вкусностями" =) =)... Скрипт возьму с собой, погляжу, но отпишусь как только до инета доползу.
И, уже боюсь своей назойливости, посмотри пожалуйста, что всё-таки можно с этим сделать
 
Ответ: Стереть все направляющие скриптом

Вот пример с плавающим окном, содержащим кнопку в виде кнопки и кнопку в виде картинки. По этим элементам управления можно клыкать и при этом будут выполняться связанные с ними скрипты, содержащиеся во внешних файлах.

AirGraph.
 

Вложения

Статус
Закрыто для дальнейших ответов.