Есть ли способ в Adobe Illustrator импортировать путь из списка точек?

Я хочу иметь возможность взять список координат точек, созданный скриптом, и импортировать их как путь. Список будет просто текстовым документом с координатами, разделенными разрывами строк. Есть ли способ сделать это?

Какой язык сценариев вы используете и на какой платформе вы работаете? В Windows довольно легко позволить сценарию напрямую сбрасывать точки в иллюстратор.

Ответы (1)

Да, вы можете использовать простой скрипт (extendScript, поместить в файл с рендерингом jsx и перетащить в иллюстратор), чтобы сделать это:

#target illustrator

main();

function map(arr, func){ //extendScript has no map
  ret = new Array();
  for (var i = 0; i < arr.length; i++){
   ret.push(func(arr[i]));
  }
  return ret;
}

function main() {
    var doc = app.activeDocument
    var file = File.openDialog('load points', 'points:*.txt', false);

    file.open('r');
    var points = new Array();
    while(! file.eof){
         var line = file.readln();
         var data = map(line.split(/[, ]+/), Number)
         points.push(data);
    }
    newPath = doc.pathItems.add();
    newPath.setEntirePath( points );
}

Сценарий запрашивает файл с 2D-координатами в каждой строке. Каждое значение координаты в строке разделяется либо запятой, либо пробелом (или любой их комбинацией). Не стесняйтесь редактировать в соответствии с вашими потребностями.

Или вы можете позволить своему сценарию записывать данные непосредственно в свой сценарий, используя COM (компонентная объектная модель, также обычно называемая Visual Basic) или OSA (открытая архитектура сценариев, также обычно называемая AppleScript), оба из которых работают на нескольких основных языках. (например, питон).

большое спасибо за этот скрипт! Я бы хотел использовать его, но получаю сообщение об ошибке: "Ошибка 120: недопустимая строка аргумента: 25 --> newPath.setEntirePath(points);" Я знаю, что это старая ветка, и я не должен задавать здесь вопросы, но у меня есть некоторая надежда, что вы, тем не менее, ответите... Спасибо, Вольфрам из Германии.
@ woldo321 как выглядят ваши данные?