Удалить обтравочный контур из выбранного элемента - PullRequest
0 голосов
/ 29 апреля 2020

Я новичок в скрипте Adobe Illustrator, и у меня возникла проблема с удалением всех обтравочных контуров из выделения. Я знаю одно свойство path.clipping = false. Но проблема, с которой я сталкиваюсь, заключается в том, чтобы удалить все внутренние элементы.

Пожалуйста, помогите.

1 Ответ

1 голос
/ 29 апреля 2020

Это потребовало перемещения выбранного элемента сверху вниз. Попробуйте следующий метод. Этот метод пересекает все groupItems и устанавливает clipping = false, если он найден верным во время обхода. Надеюсь, это поможет.

function removeClipping(item) {
    for (var k = 0; k < item.pageItems.length; k++) {
        if (item.pageItems[k].typename == 'GroupItem') {
            removeClipping(item.pageItems[k])
        } else {
            for (var i = item.pageItems.length - 1; i >= 0; i--) {
                var _item = item.pageItems[i];
                if (_item.typename == "PathItem" && _item.clipping) {
                    _item.clipping = false;
                } else if (_item.typename == "GroupItem") {
                    removeClipping(_item);
                }
            }
        }
    }
}

removeClipping(app.selection[0]);
...