[AI CC2018] Нужен скрипт для Illustrator

romyk

Участник
Топикстартер
Сообщения
688
Оценка реакций
80
Нужен скрипт, который находил бы в документе самый большой объект (либо по площади, либо по периметру), и перекрашивал его.
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
22 509
Оценка реакций
7 871
Какой объект?
 

romyk

Участник
Топикстартер
Сообщения
688
Оценка реакций
80
Это прямоугольник, без заливки, но с обводкой. Абсолютно точно будет существовать в каждом документе. Нужно найти его изменить обводку на None. Причем не удалить, а именно изменить. И сохранить файл по определенному, прямо указанному пути.
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
22 509
Оценка реакций
7 871
Он отдельно стоящий, ни с чем не сгруппирован? Какова конечная цель данного действия?
 

romyk

Участник
Топикстартер
Сообщения
688
Оценка реакций
80
Он отдельно стоящий, ни с чем не сгруппирован? Какова конечная цель данного действия?
Нет, сгруппирован с другими объектами. Цель - из горы файлов вот такого вида,
Снимок23423.JPG
получить тоже самое, но без внешнего контура штампа, а потом легко редактировать их через либо PitStop-вские экшены, либо через АЕ.
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
22 509
Оценка реакций
7 871
Так зачем тогда самый большой? Он же там вообще один. И почему вместо создания призрачного контура не уничтожить внешнюю рамку вообще?
 

romyk

Участник
Топикстартер
Сообщения
688
Оценка реакций
80
И почему вместо создания призрачного контура не уничтожить внешнюю рамку вообще?
Потом через PitStop или АЕ намного проще по этому пустому контуры выставить нужный размер документа по высоте, выделить остальные объекты, сделать им нужный Offset Path и залить цветом.
Изначальный размер артбода в документе произвольный, привязываться к нему нельзя.
 

Oleg Butrin

12 лет на форуме
Сообщения
1 511
Оценка реакций
816
JavaScript:
var doc = app.activeDocument;
var items = doc.pathItems;
var item = items[0];
for (var i = 0; i < items.length; i++) {
    if (items[i].area > item.area) {
        item = items[i];
    }
}
var color = new CMYKColor();
color.magenta = 70;
color.yellow = 30;
item.fillColor = color;
item.filled = true;
 

romyk

Участник
Топикстартер
Сообщения
688
Оценка реакций
80
А можно еще сохранение по указанному пути и закрытие активного документа сюда приделать? Все остальное работает отлично
 

Oleg Butrin

12 лет на форуме
Сообщения
1 511
Оценка реакций
816
JavaScript:
doc.saveAs(File('C:/Temp/test.ai'));
doc.close(SaveOptions.DONOTSAVECHANGES);
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
22 509
Оценка реакций
7 871
В конце
JavaScript:
activeDocument.saveAs("myfile.ai");
activeDocument.close();