Как-то раз у меня возникла проблема - нужно скопировать из пары десятков файлов свотчи (swatches) в другие несколько десятков файлов ai. Я знал, и до сих пор знаю только один встроенный вариант решения - экспорт в библиотеку свотчей, а после импорт из нее. В общем, много рутинной работы. И я не стал этим заниматься, а написал себе скрипт который
(
Read more... )
Еще у меня к Вам просьба, раз вы увлекаетесь скриптами. Я делаю бесшовные патерны, и вот когда я их наделываю пачку , тогда я начинаю их проверять, действительно ли они бесшовные. Ну это что бы не тратить время на проверку , когда у меня супер творческий процесс создания.
Написала акшин, и загоняю все файлы батчем ( извините за суржик). Суть акшина , выделить все , создать патерн свочь ( меню - едит - дефайн патрен), нарисовать прямоугольник , залить новым свотчем , сохранить и закрыть.
Дальше я это все открываю и смотрю только прямоугольник, если проблемы , то выделяю файл и уже с ним работаю.
Прямоугольники потом тоже батчем удаляю.
Так вот проблема в том , что меню- едит - дефайн патерн , всегда требует подтверждения, выскакивает диалоговое окно , что да создать патерн номер 1.
Я под это дело приспособила auto hot keys, но не всегда работает.
Можно ли написать скрип , что бы он создавал патерн с именем без диалога?
По идеи должно быть что то очень простое, в две строчки, я даже думала сама написать, но не нашла похожего скрипта, что бы из меню что то создавал. Да и языками не владею.
Reply
Вы можете включить его внутрь Вашего экшена, вроде бы это должно быть легко. Работать он будет так: в уже открытом и активном документе выделит все, сделает из всего паттерн, аналогично тому как если бы нажать object -> pattern -> make (у меня CS6) и кнопку DONE. Имя нового свотча с паттерном будет "New Pattern". Если нужно могу поменять на что угодно (учтите только что нельзя задать уже существующее). Дальше Вы видимо знаете как применить данный свотч к создаваемому прямоугольнику.
Вообще, большое Вам спасибо за эту задачку. Я когда-то уже сталкивался с ней, но тогда решил ее более грубым и медленным способом, в Вашей специфике такое бы не подошло. Теперь пришлось немножко подумать и придумалось более хитрое и тонкое решение.
з.ы. кстати говоря, Вы проверяете паттерны визуально же? А не анализировали какой тип косяков находите чаще всего? Я к тому что если при создании паттерна, Вы ориентировали его на размер артборда, то если размер всего что нарисовано не совпадает с размером артборда, то скорее всего как раз будут наложения или пустоты. А вот это можно в пару строчек проверять программно.
Reply
Только не работает у меня , так как я не написала самое главное Иллюстратор 3 или 5.
В 6 уже нет функции дефаин патерн, там встроили новый инструмент по созданию патернов, и работает он совсем не так как нужно.
Reply
Напишите мне, пожалуйста, как именно у Вас не сработал скрипт:
- отказался запускаться вообще (указал ли причину?)
- вроде запустился и что-то делал, но ничего не изменилось и сообщений об ошибках не было
- запустился, но выкинул окошко с ошибкой (пришлите текст из окошка или скриншот)
- нечто совершенно иное
Reply
Да по поводу копий это хорошая идея. Но сохраняться будет вечность. У меня бывают такие тяжелые файлы, и если их увеличить в 4 раза ( так как можно обойтись 4 копиями, вместо 8).
Я эту проблему решаю как я уже писала, через авто хот кийс, они работают на 90 %. Я там написала скрип , что бы мышка кликала по экрану в нужном месте через определенное время 20 сек по моему.
Если файлы легкие , то все отлично работает, а если попадется что то тяжелое, то здесь происходит сбивка.
Вот ошибка , что выскакивает при попытке запустить скрипт.
Reply
Я покидаюсь еще идеями, ладно?) Сохранение вектора имеется ввиду? Можно добавить копий паттерна (3 и 8) и экспортировать в жипег (это правда тоже не моментально, если большое разрешение), а после закрыть документ без сохранения. Потом просмотреть жипеги, при необходимости поправить, но уже не нужно удалять прямоугольники с демками паттерна)
А вообще, менее радикальная мысль относится к auto keys и аналогам. Это вообще очень полезная штука, меня тоже иногда выручает. В Вашем случае, вероятно проблемы на тяжелых файлах возникают когда попытка сделать клик происходит слишком рано - значит может стоит удлинить интервал между кликами - с 20 секунд до 40, например? У меня был случай когда пришлось долго подбирать идеальное число повторных кликов и пауз между ними, увеличив это простое действие до 1,5 минут, но оно того стоило, т.к. общий процесс обработки многих файлов занимал по 1,5 часа которые не приходилось проводить у компьютера)
Ошибка в моем скрипте возникает при запуске. Можно попробовать сменить расширение файла с *.jsx на *.jsxbin, но даже если это позволит запуститься, потом все равно обвалится, т.к. будет обращение к несуществующим возможностям. После праздников посмотрю на живом компьютере)
Reply
По поводу сдвижки копий патерна , так у меня ширина у всех патернов 1000 пунктов, а вот высота меняется, как это сделать автоматом я не знаю. Только подключать авто хот кийс, но это не очень красивое решение.
По поводу авто хот кийс вы все правильно написали , дело во времени. У меня обычно в партии много легких файлов которые сохраняются за 1-10 сек и примерно 20% это тяжелые , которым нужно до 1минуты.
Партии я набираю около 100 штук. Можно конечно же поделить по весу, но лень. Естественно если я поставлю на хот киях 2 минуты , то наверняка все сделается ( я в общем то так и делаю). Только долго. Так сказать быстренько не сделаешь.
Reply
Reply
Reply
Подумайте, описанное решение поможет или только все усложнит?
Reply
Ваша идея очень интересная, но патерн создавать мне нужно еще для Вектор стока, у них превью 380 на 400 пикселей. И я его создаю через прямоугольник залитый патерном - потом экспорт в джипег.
Если же этого не делать, то будут белые поля, не очень красиво.
Reply
Вообще, должен сделать оговорку - когда я пишу что что-то невозможно или недоступно, я имею ввиду, конечно, что это я не знаю как это сделать, а не то что это невозможно потому что невозможно никогда. Некоторые вещи просто не описаны в руководствах, но существуют. Просто нужно знать нужное заклинание) Оно может быть, но его может и не знать никто из тех кому оно могло бы пригодиться. Поэтому, вообще-то, совсем не случайно что Вы не нашли подходящего скрипта для самостоятельной модификации, о чем писали в первом комментарии.
Относительно того что я выше описывал. Скрипт то сам готов, лежит в той же папке что и предыдущий - увидите по названию. Возможно только придется поменять расширение с *.jsxbin на *.jsx
И он там работает с *.ai файлами кажется.. если у Вас паттерны уже в *.eps то нужно поменять пару символов, напишите мне. Но он решает только задачу создания превью для проверки качества паттерна.
Reply
А в чем вы пишете скриты?
Я Ваши скрипы когда откываю болкнотом , то он нечитаемый.
Правильно ли я Вас поняла, это то что в 3 иллюстраторе, в описаниях просто нет этой этого описания, как заскриптовать Define pattern?
Reply
(кроме того, даже если программно нажать эту кнопку меню, проблема диалогового окна никуда не денется. Беда в том, что нет возможности (или неизвестно как) управлять таким типом цвета как "паттерн". Все знают что такое rgb-цвет, там три главных составляющих. Создать программно такой цвет и управлять этими составляющими легко, все описано. Про "паттерн" же ничего не известно, как там устроен внутри. Можно сделать пустой новый, но что-либо внутрь запихнуть - я не умею.)
Я пишу скрипты в стандартном для этого редакторе от адоби: ExtendScript ToolKit (ESTK). А "нечитаемы" они потому как перед публикацией я перевожу их в псевдо-bin формат (меню File -> Export as Binary).
Reply
Я вот тут сама почитала рефернс, и даже написала скрипт , но конечно же он не работает.
Вот он
if ( app.documents.length > 0 ) {
var doc = app.activeDocument;
var selected = doc.selection;
var newPattern = app.activeDocument.PatternColor.add();
newPattern.name = "NewPattern";
}
Пишет, что не вдит объект Паттерн который добавлять.
Потом я еще порылась в интернете и написал вот что
if ( app.documents.length > 0 ) {
var doc = app.activeDocument;
var selected = doc.selection;
myNewPatternSwatch = app.activeDocument.patterns.add();
}
И вот здесь я стала в тупик.
Так как это скрип игнорирует есть ли выделенные объекты или нет , но добавляет паттерн без имени ( unnamed pattern) в документ
Этот патент из четырех квадратиков. Вот как это происходит?
я Джаву Скрипт не знаю совсем, так что может ради интереса скажете , что бы это значило.
Reply
В первом случае не "не видит объект Паттерн который добавлять", а сообщает что некое неопределенное (в данном случае PatternColor) не является объектом в контексте родительского объекта activeDocument, и соответственно нет возможности даже попробовать найти в нем метод add(). Это просто некорректное обращение, попутали)
Во втором примере все правильно. У меня только вопрос - а чего Вы ожидали то от создания нового паттерна в коде? Имейте ввиду, если не знать чего ожидать любой ответ будет неверен.
В документе activeDocument есть коллекция объектов-паттернов Patterns (это свотчи с типом цвета PatternColor), у коллекции есть метод add(). Его вызов возвратит новый объект типа Pattern. Объект этот будет таким, каким его описали программисты адоби в конструкторе класса. Думаю они сделали эту маленькую шахматку чтобы сразу было видно - создан объект типа Pattern. А не просто новый свотч, например, который по умолчанию просто черный. Чтобы отличать в общем.
Что именно за узор-рисунок там в паттерне определяется связанным PatternColor, есть возможности для искажения изображения, но доступа для подмены одной графики на другую я не вижу. Если найдете - расскажите обязательно, буду очень благодарен.
Чтобы не спотыкаться на таких вот вещах, не нужно знать ява скрипт, бейсик или что-то другое. Нужно знать объектную модель иллюстратора. В общем виде это оглавление референса, настоятельно советую внимательно просмотреть сначала его, потом все остальное просто подряд.
Reply
Leave a comment