Gibt es in Adobe Illustrator eine Möglichkeit, einen Pfad aus einer Liste von Punkten zu importieren?

Ich möchte in der Lage sein, eine von einem Skript erstellte Liste von Punktkoordinaten als Pfad zu importieren. Die Liste wäre nur ein Textdokument mit durch Zeilenumbrüche getrennten Koordinaten. Gibt es eine Möglichkeit, dies zu tun?

Welche Skriptsprache verwenden Sie und auf welcher Plattform sind Sie? Unter Windows ist es ziemlich einfach, das Skript die Punkte direkt in Illustrator ablegen zu lassen.

Antworten (1)

Ja, Sie können dazu ein einfaches Skript verwenden (extendScript, in Datei mit jsx-Rendering einfügen und auf Illustrator ziehen und ablegen):

#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 );
}

Das Skript fordert eine Datei mit einer 2D-Koordinate pro Zeile auf. Jeder Koordinatenwert auf der Zeile ist entweder durch Komma oder Leerzeichen (oder eine beliebige Kombination davon) getrennt. Fühlen Sie sich frei, nach Ihren Bedürfnissen zu bearbeiten.

Oder Sie können Ihr Skript die Daten direkt in Ihr Skript schreiben lassen, indem Sie COM (Component Object Model, allgemein auch als Visual Basic bezeichnet) oder OSA (Open Scripting Architecture, allgemein auch als AppleScript bezeichnet) verwenden, die beide in einer Reihe von Hostsprachen funktionieren (wie Python).

vielen Dank für dieses Skript! Ich würde es gerne verwenden, erhalte aber eine Fehlermeldung: "Error 120: Illegal Argument Line: 25 --> newPath.setEntirePath( points );" Ich weiß, es ist ein alter Thread und ich soll hier keine Fragen stellen, aber ich habe etwas Hoffnung, dass Sie trotzdem antworten könnten ... Danke Wolfram aus Deutschland
@woldo321 wie sehen deine Daten aus?