Hi,
ich muß in CorelDraw 12 mittels VBA-Code eine parallele Linie zu einem vorhandenen Linien bzw. Kurvenobjekt erzeugen. Dieser Linie muß dann auch noch ein bestimmtes Linienattribut (gestrichelt) zugewiesen werden.
Kann mir jemand dazu einen Tipp geben?
Ich hab’ bisher auch in CorelDraw kein Tool gefunden, mit dem man Parallelen erstellen könnte.
Hmmm,
Da sonst keiner zu antworten scheint hier en paar sehr theoretische Ausführungen.
Corel Draw habe ich selbst nicht, aber ich kann mir vorstellen, daß die Linien in VBA als Objekte einer Collection zur Verfügung stehen, und ähnlich den Line-Controls in VB x- und y- Koordinaten für die Start- und Endpunkte haben. Dann wäre die Vorgehensweise folgende:
Originallinie in der Collection suchen
ein neues Linienobjekt erzeugen
der neuen Linie alle Eigenschaften der Originallinie zuweisen
die x- und y- Koordinaten jeweils um den gewünschten Betrag
verändern(beide x-Koordinaten bzw y-Koordinaten müssen natürlich
denselben Auschlag erhalten, damit die Linie parallel bleibt
Die neue Linienart zuweisen
wenn erforderlich, das neue Linienobjekt der Zeichnug hinzufügen
Das funktioniert für gerade Linien vermutlich problemlos.
Eine Parallelität kann es bei Kurven per Definition nicht geben. Hier mußt du prüfen, ob ein Verschieben des Objktes wie oben beschrieben ausreicht, oder ob das gesamte Objekt obendrein noch skaliert werden muß.
Im Extremfall kann ein Kurvenobjekt ja konvexe und konkave Krümmungen enthalten. (Z. B. der Linienzug des Buchstabens „S“) Dann mußt Du für jede Teillinie der Kurve individuell die Punkte neu errechnen. Um beim Beispiel „S“ zu bleiben: Eine auf der linken Seite des S gezogene Linie muß für die obere Hälfte des Buchstabens vergößert werden, für den unteren Teil verkleinert. Dann wird’s ziemlich komplex…
Hoffentlich hat’s etwas geholfen
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]