[AI CC-CC2022] Как нормализовать Compound Path?

lipatkin, я имею в виду другое: есть там какие-то внутренние дополнительное скрытые конструкции или нет. С тем, что там точно есть и так всё понятно, вопрос заключался в том, как гарантированно убрать всё, кроме того, что необходимо. О наличии чего-то лишнего косвенно указывает разница в файлах, полученных с прямым сохранением и с сохранением через SVG.
 
lipatkin, я имею в виду другое: есть там какие-то внутренние дополнительное скрытые конструкции или нет. С тем, что там точно есть и так всё понятно, вопрос заключался в том, как гарантированно убрать всё, кроме того, что необходимо. О наличии чего-то лишнего косвенно указывает разница в файлах, полученных с прямым сохранением и с сохранением через SVG.
там нет дополнительных конструкций.
учитывая требования топикстартера, ему необходимо разобрать контур, потом если появились группы, вытащить их на уровень выше. Т.е. макрос выглядит так: разобрать; найти группы и переместить объекты из них на уровень выше. По необходимости второе действие повторить.
 
Если разобрать Compound Path, групп там не должно быть.
PS: Сам написал, сам опровергаю. Иллюстратор оставляет группы даже в Compound Path. Для меня такая логика непонятна. :(
 
Последнее редактирование:
Если разобрать Compound Path, групп там не должно быть.
я сам удивлен, но на скриншотах так.
но если делать, то надо копать в следующую сторону:
items -- это объекты группы gg
Код:
 for(var i=items.length-1; i>=0; i--) {
      
             items[i].move (gg, ElementPlacement.PLACEAFTER);
       
    }
 
Или даже лучше такое новейшее средство для очистки compaundpath от порчи

JavaScript:
var cmp=app.selection[0];
var newcmp=cmp.duplicate(cmp,ElementPlacement.PLACEBEFORE);

newcmp.pathItems=null;

for (var i=1;i<cmp.pathItems.length;i++)
{
          cmp.pathItems[i].duplicate(newcmp,ElementPlacement.PLACEATEND);
}
cmp.remove();
 
  • Спасибо
Реакции: eugeny
Я в скриптах не силен. Но разве эти 2 действия сложно запихнуть в скрипт?
 
2 действия сложно запихнуть в скрипт?
Не сложно, а очень сложно. К PathFinder доступа из скриптинга нет вообще, разве что экшн вызывать, а специфика топикстартера, как я понимаю, делает это весьма затруднительным
 
Unite вроде можно командой меню вызвать
 
Хотя, стоп, какой Unite, а как же дырки и прочие отверстия?
 
Сейчас нет под рукой Иллюстратора, поэтому не могу сама проверить, но не поможет ли вот этот плагин?
Там точно есть очистка лишних групп, но как оно отработает, надо смотреть.
У плагина есть 14 дней для бесплатного теста.
 
Аня, неужели и ты?????
1568374589749.png
 
Что есть АЕ?
Если задача просто почистить путь, то может и хватит просто плагина, вообще не обязательно к скриптам прибегать. Если это только часть большого проекта, то ой, тогда я не буду мешать вам развлекаться.
 
Насколько я понял, тема запилена в разделе скриптинг именно потому что нужно не ручное решение, но таки
функцию normaliseCompoundPath(), которая бы приводила изображенное состояние составного контура справа к левому изображению
которую можно было бы использовать в автоматизации