Realist
Hi @wex_stallion,
teste diese Skriptskizze einfach einmal mit deinem Illu CS6 aus.
Achte dabei bitte zwingend auf die Voraussetzungen:
Dann wird aus:
das da:
Wie gesagt, halbfertig und ohne Fehlerabfang, aber es sollte ausreichen, um den Weg aufzuzeigen. Und wenn du noch jemanden findest, der VBS „spricht“, dann kannst du dat Dingens ja als Makro für CorelDraw portieren lassen.
teste diese Skriptskizze einfach einmal mit deinem Illu CS6 aus.
Achte dabei bitte zwingend auf die Voraussetzungen:
Javascript:
/*******************************************************************************
* Illustrator (halbfertige, aber funktionierende Scriptskizze)
* https://www.psd-tutorials.de/forum/threads/irgendetwas-fehlt-hier.169009/page-3#post-2513306
* vorausgesetzt wird:
* eine Linie (mit 2 Pfadpunkten) im Vordergrund
* diese Linie bestimmt den Winkel
* 2 Rechtecke (mit je 4 Pfadpunkten)
* das RECHTE Rechteck MUSS im Hintergrund liegen
* der Winkel der Linie wird aufgenommen und
* innerhalb des linken Rechteck eine neue Linie mit dem gleichen Winkel
* erstellt und dann innerhalb rechten Rechtecks beginnend mit der gleichen
* "Abschnittshöhe" fortgeführt
*///******************************************************************************
// pixxxelschubser Mai 2015
var aDoc = app.activeDocument;
var pI0pp = aDoc.pathItems[0].pathPoints;
var pI1pp = aDoc.pathItems[1].pathPoints;
var pI2pp = aDoc.pathItems[2].pathPoints;
var min1 = new Array ();
var max1 = new Array ();
var min2 = new Array ();
var max2 = new Array ();
min1[0] = Math.min(pI1pp[0].anchor[0], pI1pp[1].anchor[0]);
max1[0] = Math.max(pI1pp[0].anchor[0], pI1pp[1].anchor[0]);
min1[1] = Math.min(pI1pp[1].anchor[1], pI1pp[2].anchor[1]);
min2[0] = Math.min(pI2pp[0].anchor[0], pI2pp[1].anchor[0]);
max2[0] = Math.max(pI2pp[0].anchor[0], pI2pp[1].anchor[0]);
min2[1] = Math.min(pI2pp[1].anchor[1], pI2pp[2].anchor[1]);
var w = max1[0] - min1[0];
var w2 = max2[0] - min2[0];
var angle = Math.atan2 ((pI0pp[1].anchor[1]-pI0pp[0].anchor[1]), (pI0pp[1].anchor[0]-pI0pp[0].anchor[0]));
var intersection1 = Math.tan (angle) * w;
// ???????????????????????????????????????
// /*@wex: Was tun, wenn die anteilige Höhe der Schräge größer ist als die jeweiligen Höhen der Rechtecke*/
// sprich: der Winkel ist zu groß
// ???????????????????????????????????????
var intersection2 = intersection1 + Math.tan (angle) * w2;
var line = aDoc.pathItems.add();
line.setEntirePath ( Array (min1, Array (max1[0], min1[1]+intersection1)) );
var line2 = aDoc.pathItems.add();
line2.setEntirePath ( Array ( Array (min2[0], min2[1]+intersection1), Array ( max2[0], min2[1] + intersection2)) );
Dann wird aus:
das da:
Wie gesagt, halbfertig und ohne Fehlerabfang, aber es sollte ausreichen, um den Weg aufzuzeigen. Und wenn du noch jemanden findest, der VBS „spricht“, dann kannst du dat Dingens ja als Makro für CorelDraw portieren lassen.