Zum Inhalt springen

MWT Syntax-Makro KLOTOIDE: Unterschied zwischen den Versionen

Aus VermCAD Hilfe Wiki
MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs)
Entwicklerhinweise: Zeilennummern an den Code vom 18.09.2026 angeglichen
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 84: Zeile 84:
* Der <code>L =</code>-Satz wird nur an Satzposition 4 erkannt; <code>L</code> ohne <code>=</code> würde als Nummerierungsverbund gedeutet.
* Der <code>L =</code>-Satz wird nur an Satzposition 4 erkannt; <code>L</code> ohne <code>=</code> würde als Nummerierungsverbund gedeutet.
* Für Trassierungen mit Klotoiden-Elementen siehe das Makro [[MWT Syntax-Makro TRASSE|TRASSE]] (<code>TR_KLOTHOIDE</code>).
* Für Trassierungen mit Klotoiden-Elementen siehe das Makro [[MWT Syntax-Makro TRASSE|TRASSE]] (<code>TR_KLOTHOIDE</code>).
* Alt-Dokumentation: [[MWT-Blöcke mit Anweisungen (Makros)-Das Makro KLOTOIDE|Das Makro KLOTOIDE]].
 
== Siehe auch ==
* [[Rechnen Menü-Das Dialogfenster Klotoide|Das Dialogfenster Klotoide]]


== Entwicklerhinweise ==
== Entwicklerhinweise ==
Zeile 90: Zeile 92:


'''Quellen im Code:'''
'''Quellen im Code:'''
* VERMCAD\VcEditorUtils.pas:2074 — Keyword-Zuordnung <code>ID[kKlotoide] := kwKlotoide</code>
* VERMCAD\VcEditorUtils.pas:2079 — Keyword-Zuordnung <code>ID[kKlotoide] := kwKlotoide</code>
* VERMCAD\GlobalConsts.pas:1630 — <code>kwLKlo = 'L'</code> (kurze oder lange Klotoide)
* VERMCAD\GlobalConsts.pas:1708 — <code>kwLKlo = 'L'</code> (kurze oder lange Klotoide)
* VERMCAD\VCSCHMWT.PAS:5496-5500 — Erkennung <code>L = …</code> an Satzposition 4 (Default ohne Fehler: kurze Klotoide)
* VERMCAD\VCSCHMWT.PAS:5756-5760 — Erkennung <code>L = …</code> an Satzposition 4 (Default ohne Fehler: kurze Klotoide)
* VERMCAD\VCSCHMWT.PAS:5953, 5988-5993 — ab Satz 5 Punkte mit zwei Pflichtwerten (Abszisse/Ordinate)
* VERMCAD\VCSCHMWT.PAS:6213, 6248-6253 — ab Satz 5 Punkte mit zwei Pflichtwerten (Abszisse/Ordinate)
* VERMCAD\VCDCHMWT.PAS:2681-2689 — Satzzuordnung: 2 = Items[0] (Kreismittelpunkt), 3 = Items[1] (Endpunkt), 4 = <code>SetLongKlo</code>
* VERMCAD\VCDCHMWT.PAS:2683-2691 — Satzzuordnung: 2 = Items[0] (Kreismittelpunkt), 3 = Items[1] (Endpunkt), 4 = <code>SetLongKlo</code>
* VERMCAD\VCCALC.PAS:507-528 — <code>TKlotoide</code> mit Strukturkommentar (Gerade, Endpunktkreis, kurze/lange Klotoide)
* VERMCAD\VCCALC.PAS:509-530 — <code>TKlotoide</code> mit Strukturkommentar (Gerade, Endpunktkreis, kurze/lange Klotoide)


{{Hilfe:NachOben}}
{{Hilfe:NachOben}}
[[Kategorie:Blöcke mit Anweisungen (Makros)|KLOTOIDE]]
[[Kategorie:Blöcke mit Anweisungen (Makros)|KLOTOIDE]]

Aktuelle Version vom 18. September 2026, 10:38 Uhr

Das Rechenmakro KLOTOIDE berechnet eine Klotoide (Übergangsbogen) zwischen einer Geraden (Anfangstangente) und einem Kreis. Punkte mit örtlichen Klotoidenkoordinaten werden ins übergeordnete System gerechnet.

Syntaxregel

KLOTOIDE [, KOORDINATENSYSTEM <n> | , LS <n>] [, <Kopf-Parameter>]*
  <NV> <NR> { , <NV> <NR> }+ ;          (Satz 1: Gerade = Startrichtung der Klotoide)
  <NV> <NR> ;                           (Satz 2: Mittelpunkt des Endpunktkreises)
  <NV> <NR> ;                           (Satz 3: Endpunkt der Klotoide)
  [ L = <w> ; ]                         (Satz 4: 0 = kurze, sonst lange Klotoide)
  { <PBS-Punkt> <MassX> <MassY> ; }*    (ab Satz 5: Punkte mit Klotoidenkoordinaten)
END
Regelelement Bedeutung
Satz 1 Liniendefinition der Geraden, die die Startrichtung der Klotoide angibt (mindestens 2 Punkte; bei mehr als 2 Punkten ausgleichende Gerade), siehe Bogen- und Liniendefinition. Anlege-/Endmaße sind hier nicht vorgesehen.
Satz 2 Punktangabe des Mittelpunkts des Endpunktkreises (der Kreis, in den die Klotoide einläuft); genau ein Punkt.
Satz 3 Punktangabe des Endpunkts der Klotoide (Punkt auf dem Endpunktkreis); genau ein Punkt. Die Reihenfolge der Sätze 2 und 3 ist zwingend.
L = <w> wahlweiser Satz an Position 4: L = 0 = kürzest mögliche Klotoide im 1. Quadranten (Default, auch wenn der Satz fehlt); jeder andere Wert = lange Klotoide im 2. Quadranten (90°-180°).
<PBS-Punkt> <MassX> <MassY> vollständige Punktidentifikation mit zwei Pflichtwerten: Abszisse und Ordinate im örtlichen Klotoidenkoordinatensystem.

Parameter

Allgemeine Kopf-Parameter (NR =, DATUM =, ZEIT =, PNR =, KN =, REM =, NE, DEA) siehe Blockkopf-Parameter. Makrospezifisch:

Parameter Syntax Pflicht Bedeutung Bundesland
KOORDINATENSYSTEM / LS , KOORDINATENSYSTEM <n> bzw. , LS <n> nein Berechnung in anderem Koordinatensystem/Lagestatus alle
ZP , ZP = <w> nein zulässige Punktabweichung alle
NETZ , NETZ nein berechnete Punkte fürs Netz bereitstellen alle

Datenzeilen

  • Die Sätze 1-3 sind Pflicht ("4 Pflichtsätze" inkl. des wahlweisen L =-Satzes an Position 4); die Klotoide wird aus Startgerade, Endpunktkreis-Mittelpunkt und Endpunkt bestimmt (Parameter A, Radius, Bogenlänge werden berechnet).
  • Fehlt L = …;, wird ohne Fehler die kürzere Klotoide angenommen.
  • Ab Satz 5 folgen beliebig viele Punkte, je Satz einer, mit Abszisse und Ordinate (beide Pflicht, Fehlwert x nicht zulässig); die Punkte erhalten die ins übergeordnete System gerechneten Koordinaten.

Beispiele

Beispiel (allgemein, echt aus Testprojekt)

KLOTOIDE, NR = 49,

  DATUM = 21.03.2006,
  ZEIT = 13:09:56,
  PNR = 777

  xx        2364 ,
  xx        2363 ;            { Gerade: Startrichtung der Klotoide }

  xx        8010;             { Mittelpunkt des Endpunktkreises    }
  xx        8020;             { Endpunkt der Klotoide              }

  xx  x     8021  x   B       1.000      1.000;   { Punkt in Klotoidenkoordinaten }
END

Mit ausdrücklicher Wahl der kurzen Klotoide (aus der Alt-Dokumentation):

KLOTOIDE, NR = 5,
  DATUM = 31.07.2006, ZEIT = 15:14:40

  60       20001 ,
  60       20002 ;

  60       20012;
  60       20011;
  L = 0;

  xx  x       10  x   B       0.000      0.000;
END

Die binären Codierungszeilen ergänzt VermCad automatisch.

Verfügbarkeit und Besonderheiten

  • Verfügbar in allen Bundesland-Versionen; in echten Kundenprojekten kaum verbreitet (nur in Test-/Schulungsdateien beobachtet).
  • Der L =-Satz wird nur an Satzposition 4 erkannt; L ohne = würde als Nummerierungsverbund gedeutet.
  • Für Trassierungen mit Klotoiden-Elementen siehe das Makro TRASSE (TR_KLOTHOIDE).

Siehe auch

Entwicklerhinweise

Diese Angaben richten sich an Entwickler bzw. eine KI mit Zugriff auf den VermCad-Quellcode; für die reine Nutzung der MWT-Syntax sind sie nicht nötig. Unit-Namen und besonders Zeilennummern können sich durch die laufende Weiterentwicklung verschieben - sie dienen als Einstieg, nicht als exakte Fundstelle.

Quellen im Code:

  • VERMCAD\VcEditorUtils.pas:2079 — Keyword-Zuordnung ID[kKlotoide] := kwKlotoide
  • VERMCAD\GlobalConsts.pas:1708 — kwLKlo = 'L' (kurze oder lange Klotoide)
  • VERMCAD\VCSCHMWT.PAS:5756-5760 — Erkennung L = … an Satzposition 4 (Default ohne Fehler: kurze Klotoide)
  • VERMCAD\VCSCHMWT.PAS:6213, 6248-6253 — ab Satz 5 Punkte mit zwei Pflichtwerten (Abszisse/Ordinate)
  • VERMCAD\VCDCHMWT.PAS:2683-2691 — Satzzuordnung: 2 = Items[0] (Kreismittelpunkt), 3 = Items[1] (Endpunkt), 4 = SetLongKlo
  • VERMCAD\VCCALC.PAS:509-530 — TKlotoide mit Strukturkommentar (Gerade, Endpunktkreis, kurze/lange Klotoide)



[Nach oben]