VBA + CorelDraw, Parallele programmieren?

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.

Danke schon mal voraus
Gundel

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]

Hi Sven,
danke für deine Erläuterungen, hatte mir irgendwie schon gedacht, dass das ein größeres Problem sein könnte.

Transformieren und skalieren reicht leider nicht aus…
werd mal bei Corel nachfragen, vielleicht gibt’s ja ein AddIn dafür.

Gruß
Gundel