Antworten auf deine Fragen:
Neues Thema erstellen

Irgendetwas fehlt hier ...

Hi @wex_stallion,
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.
;)
 
Gern geschehen.
;)

Auch wenn die Skizze nur bei den genannten Voraussetzungen funktionieren wird, ich habe auf jeden Fall berücksichtigt, dass die Rechtecke von jeder Seite aus „aufgezogen“ worden sein könnten. Wenn du sicherstellen kannst, dass die Rechtecke immer von einem Punkt aus (also z.B. von Links oben „aufgezogen werden“, dann könnte der Code noch um einiges vereinfacht werden.

Zu große Winkel der Linie können ein Problem werden. Dann sollte der zu erstellende Endpunkt der Linie fallweise auf die X-Koordinate berechnet werden.

Ein einfacher Prompt zur Eingabe des Winkels (anstatt der Linie) ist auch denkbar.

Man könnte weiterhin die entsprechenden Codestellen in eine Funktion packen und über eine Schleife ansprechen, dann wären auch mehrere Rechtecke kein Thema mehr
 

keul3

3dsMax | 3D-Contest

@keul3 ... ok wir würden die Kategorien in eine neue Oberkategorie "Programmierung" anlegen. Sollen die exakt so heißen wie im 1. Beitrag von dir?
Also wenn niemand eine andere Idee dazu hat, kann das so übernommen werden. Der Inhalt in Klammern dann als Hints.
Die Flash/AIR/Flex-Kategorie sollte am besten in entsprechende Subs unterteilt werden also 1. Sub: Flash, 2. Sub: AIR, 3. Sub: Flex
Flash kann dann bitte gleich aus dem Webbereich entfernt werden und direkt ins Flash-Sub verschoben werden. Die Subs aus dem bisherigen Flash-Forum kann man imo alle schmelzen, denn die Sub-Kategorien sind doch recht schwammig formuliert (Allgemein, technische Fragen, Grundlagen, sonstiges, ActionScript), so dass viele Probleme in mehrere Kategorien passen würden;)


hier nochmal die Auflistung
  • Programmbezogene ScriptSprachen (Adobes ExtendScript, MaxScript, ...)
  • Spiel-/Applikationsentwicklung (UnityEngine, JDK, ...)
  • Flash/AIR/Flex
  • Hochsprachen (C++, Java, Python, ...)
  • sonstiges (DesignPattern, Physik, Mathe, ...)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.620
Beiträge
1.538.374
Mitglieder
67.544
Neuestes Mitglied
janusbarman
Oben