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

romyk

Топикстартер
10 лет на форуме
Сообщения
1 353
Реакции
247
Нужен скрипт, который находил бы в документе самый большой объект (либо по площади, либо по периметру), и перекрашивал его.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Какой объект?
 

romyk

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Он отдельно стоящий, ни с чем не сгруппирован? Какова конечная цель данного действия?
 

romyk

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Так зачем тогда самый большой? Он же там вообще один. И почему вместо создания призрачного контура не уничтожить внешнюю рамку вообще?
 

romyk

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

Oleg Butrin

20 лет на форуме
Сообщения
1 989
Реакции
1 213
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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
  • Спасибо
Реакции: romyk

romyk

Топикстартер
10 лет на форуме
Сообщения
1 353
Реакции
247
А можно еще сохранение по указанному пути и закрытие активного документа сюда приделать? Все остальное работает отлично
 

Oleg Butrin

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
В конце
JavaScript:
activeDocument.saveAs("myfile.ai");
activeDocument.close();