Fehlerhafte Knoten-Griffe automatisch finden
#21
hallo Asterix,

(13.06.2024, 22:59)asterix schrieb: ...PS: Die Richtung wäre dann in einem relative engen Winkel zu beschreiben, weil ja ein Knoten auch nicht immer ganz genau richtig aus der Kurve heraus/hineinschaut. Aber er sollte eben z.B. nicht zwischen 0° und 5° oder 10° zurückschauen...

Du bleibst sehr im Ungefähren!
Viel Text nichts konkretes.

Nehmen wir an, das Makro hat bei folgendem Knoten einen Kontrollpunkt-Winkel von 315° ermittelt:
[Bild: Zwischenablage01.jpg]

wie geht es dann weiter? mit welchem Winkel soll der Kontrollpunkt-Winkel verglichen werden?

Gruß

Koter
Zitieren
#22
Hallo - wie erwähnt versuche ich ja schon, mit begrenztem Fachwissen, so gut es geht das Problem zu beschreiben Smile.

Um so einen falschen Knoten nachzustellen, kann man Folgendes machen:
- neue CorelDraw-Datei
- mit Freihand-Tool eine Linie zeichnen
- fürs bessere Anschauen: diese Linie mit einer Umrissbreite versehen (wenige mm) und das Linienende als runde Kappe
- nun hat man eine Linie mit Start- und Endknoten. Der Startknoten hat einen Griff, der in die Linie zeigt, der Endknoten hat auch einen Griff, der in die Linie hinein zeigt. Die Dreiecke zeigen beide in die gleiche Richtung (=Kurven-Richtung)
- um das Problem zu erzeugen, nehme ich nun den Griff des Endknotens und ziehe ihn am Endknoten vorbei, damit der auf der anderen Seite des Endknotens ist, dann mache ich ihn ganz kurz, dass er kaum noch zu sehen ist, aber er ist weiterhin auf der falschen Seite
- der Endknoten (das Dreieck) hat sich nun natürlich auch gedreht, nämlich fälschlicherweise nach innen

Nun sind wir bei den beiden Bildern angekommen, die ich anfangs gezeigt hatte:
https://forum.juergens-workshops.de/show...#pid172655

Das erste Bild zeigt den falschen Endknoten, wie oben gerade reproduziert.

(Ich vermute nun einfach, dass es in CorelDraw immer eine bestimmte Kurvenrichtung gibt, dass es also so sein sollte, dass die beiden Dreiecke (Start/Endknoten) in die gleiche Richtung weisen sollten, dass also der Fall oben ein Fehler ist.)

Ich habe also einen Fehler im Endknoten, und zwar einmal, dass er in die falsche Richtung schaut, und dann ist auch noch der Griff sehr kurz. (Den kurzen Griff können wir aber mal so lassen, weil der nicht das eigentliche Problem ist, daran habe ich es aber erkannt.)

Jetzt kommen wir zum Winkel. Mit dem Winkel meinte ich, dass ja der Endknoten um 180° (plus minus) verdreht ist. Er muss also um 180° gedreht werden. Nun gibt es natürlich das Problem, dass, wenn man nah genuig ranzoomt, die Kurve immer "richtig herum" in den Endknoten hineingeht, im Notfall als ganz kleine enge Kehrtwende. Man müsste also die letzen paar Millimeter des Kurvenendes als Referenz heranziehen und dadurch sagen, was die Kurvenrichtung am Ende der Kurve ist. Auf diese Richtung bezogen muss der Endknoten dann den richtigen Winkel haben. Ich weiß nicht, wie CorelDraw das technisch intern berechnet, aber z.B. wäre ein korrekter Endknoten in Bezug auf die letzten Millimeter der Kurve zu 0° ausgerichtet, der falsche zu +/- 180°.

Nun war es wieder viel Text und wenig Sinn, aber ich hab es mal versucht Smile.
Falls ich einfach auf dem Holzweg bin, weil das mathematisch so nicht geht, dann ist es auch ok.

Betriebssystem / Grafik-Software: Windows
Zitieren
#23
hallo Asterix,

kannst Du mir eine CDR-Datei anhängen, die solche Kurven enthält (aus Deinem SVG-Import).
Wichtig ist, dass du Sie als X7 Datei speicherst (Version 17), sonst kann ich sie nicht öffnen.

Gruß

Koter
Zitieren
#24
Hallo, ich kann die Dateien aufgrund der Nutzungsrechte nicht weitergeben, aber ich habe wirklich zuletzt einfach wie oben beschrieben einen einzigen einsamen Strich angelegt und dann eben den Endknoten rumgedreht. Das zeigt genau, wo das Problem zu finden ist. Siehe eben mein Bild und die Beschreibung.

Allerdings habe ich auch noch viele weitere Problemchen entdeckt (z.B. doppelt erzeugte Knoten eng beieinander, beim Reduzieren der Knotenzahl), und ich muss generell sehr viel nacharbeiten. Das sieht nach Arbeit aus Smile.

Das heißt eigentlich für mich, dass wie so oft im Leben eine einfache automatisierte Lösung dann nicht geht. Denn selbst wenn ich z.B. die Endknoten entdecke, muss ich ja trotzdem je Endknoten dann einzeln per Maus entscheiden, ob er nach ggf. automatischer Korrektur auch so aussieht, wie ich möchte.

Langer Rede kurzer Sinn, und wie auch schon ein paar Mal angedeutet, ich denke, ich muss einfach schauen, dass ich bessere Daten importiere Smile.

Betriebssystem / Grafik-Software: Windows
Zitieren
#25
hallo Asterix,

OK, dann wünsche ich viel Erfolg und wenig „kaputte Endknoten“
Schönes Wochenende!

Gruß

Koter
Zitieren
#26
Hallo und danke. Vor allem aber: nochmals herzlichen Dank für das Makro, das du weiter oben hier im Thema eingefügt hattest. Ich kenne mich mit Makros bisher nicht aus und habe es im ersten Anlauf gar nicht starten können. Nun habe ich es aber nochmal versucht und konnte es sogar als Symbol-Schaltfläche anlegen Smile.

Ich finde das schon sehr praktisch, danke. Aber genau dadurch habe ich jetzt doch nochmal gedacht, wie hilfreich es wäre, genau so ein Makro wie das von dir erstellte eben für die "Richtung der Endknoten" zu haben. 

Hier hatte ich es ja beschrieben:
https://forum.juergens-workshops.de/show...#pid172675

Im Grunde geht es nur darum, wenn man nicht nah ranzoomt und sich die Pfeile anschaut (Start/Endknoten), dann sieht man ja in der Regel, dass die in die gleiche Richtung schauen bzw. einmal rein in die Kurve und einmal raus aus der Kurve. Rein optisch sieht man es also. Und rein manuell kann man den Endknoten dann im Zweifel einfach rumdrehen, klar.

Geht das ähnlich wie mit dem von dir erstellen Makro vielleicht doch auch in der Form, dass man mathematisch irgendwie analysieren kann, ob der Endknoten richtig herausschaut aus der Kurve, in Bezug auf den letzten z.B. 1/10 mm oder 1/5 mm ? Das und die Korrektur = 180° Drehung wäre wirklich eine sinnvolle Funktion in CorelDraw.

Betriebssystem / Grafik-Software: Windows
Zitieren
#27
hallo Asterix,

ich habe jetzt leider wenig Zeit zum programmieren,
es kann also dauern.

(Gestern, 15:23)asterix schrieb: ...in Bezug auf den letzten z.B. 1/10 mm oder 1/5 mm ? Das und die Korrektur = 180° Drehung...

Ich kann leider wieder nur raten was Du meinst. (1/10 mm von was?)

Ein Makro kann einen Steuerpunkt um 180° drehen:

[Bild: Steuerpunkt1.gif]

Ein Steuerpunkt (oder Kontrollpunkt) hat Koordinaten, einen Winkel und eine Länge.
Wie Du siehst, ändert jede Bewegung eines Steuerpunktes den Kurvenverlauf.
Auch eine 180° - Drehung bewirkt das. Willst Du das wirklich automatisiert machen?

Wenn ja, beschreibe bitte genau unter welcher Bedingung.
(„In die Kurve schauen“ oder ähnliche Formulierungen verstehe ich leider nicht, dazu bin ich zu doof.)

Ich würde gerne wissen mit welcher Software Deine SVGs erzeugt werden.
Vielleicht gibt es einen besseren Weg als es per Makro zu flicken.

Ich will Dich nicht abwimmeln, Du musst aber Geduld haben.

Gruß

Koter
Zitieren



Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
Question QR-Codes automatisch generieren Lisa1992 1 96 31.05.2024, 07:02
Letzter Beitrag: Litschi
  Beim speichern Version automatisch auf alte Version stellen awitechnik 4 380 12.01.2024, 11:04
Letzter Beitrag: awitechnik
  Seriendrucktexte automatisch skalieren ben512 7 1.996 26.04.2023, 20:45
Letzter Beitrag: koter
  Textwerkzeug automatisch gedreht Nils 3 1.404 28.09.2022, 12:22
Letzter Beitrag: cutti
  Objekt aus Knoten mit Farbe füllen Spaceliner 7 1.315 02.08.2022, 10:11
Letzter Beitrag: Spaceliner
  2018: Knoten verbinden mtemp 6 2.252 26.04.2021, 07:28
Letzter Beitrag: norre
Star nicht verbundene Knoten Finden Karthagos 2 1.476 24.03.2020, 13:40
Letzter Beitrag: Karthagos
  Knoten mit Bedienfeld verschieben. chrisberlin 11 2.951 22.01.2020, 23:53
Letzter Beitrag: norre
  Landscape vs portrait druckformat nicht mehr automatisch siegbrunn 2 1.263 10.09.2019, 17:36
Letzter Beitrag: siegbrunn
  Knoten verbinden biedo 10 5.217 30.12.2018, 23:49
Letzter Beitrag: skifan