var sel = activeDocument.selection;
function findGranica ( gr ) {
for (var i = 0; i < gr.length; i++) {
if (gr[i] == '[PathItem ]') {
alert ('Color ' + gr[i].strokeColor);
} else {
if (gr[i] == '[GroupItem ]') {
findGranica (gr[i].groupItems);
}
}
}
return;
};
findGranica (sel);
А что вас так пугает? Это и есть самое вменяемое решениеПеребор от Document не хотелось бы
var doc=app.activeDocument;
for (var i=0;i<doc.pathItems.length;i++)
if (doc.pathItems[i].selected) // объект выбран
{
alert(doc.pathItems[i].name);
}
Как это отразится на скорости работы скрипта.... но тут я чайник, поверю вам на слово ) - в группе может быть несколько сотен объектов и групп около 500 штук.А что вас так пугает?
Проверка странная на типКак это отразится на скорости работы скрипта.... но тут я чайник, поверю вам на слово ) - в группе может быть несколько сотен объектов и групп около 500 штук.
И если не сложно - что я в своем коде не так написал, что он не нашел ни одного PathItem?
Общая задача не срочная, но этот именно момент нужен прям "вчера". )
Спасибо за ответ!
Объект никак не может равняться строке, хотя бы уж toString добавили, но по хорошему, конечно, typename проверять надоПроверка странная на тип
по идее будет перебирать все дочерние группы от группы а вам оно надо?gr.groupItems
о) я постараюсь исправляться ))код безумный
Спасибо, попробую, как руки дойдут. Главное, CS6 цепляет, насколько я понял из беглого просмотраMS VSCode