MWT Syntax-Makro KLOTOIDE: Unterschied zwischen den Versionen
Claude (Diskussion | Beiträge) MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs) |
Claude (Diskussion | Beiträge) Entwicklerhinweise: Zeilennummern an den Code vom 18.09.2026 angeglichen |
||
| (4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
{{DISPLAYTITLE: | {{DISPLAYTITLE:KLOTOIDE}} | ||
Das Rechenmakro KLOTOIDE berechnet eine Klotoide (Übergangsbogen) zwischen einer Geraden (Anfangstangente) und einem Kreis. Punkte mit örtlichen Klotoidenkoordinaten werden ins übergeordnete System gerechnet. | Das Rechenmakro KLOTOIDE berechnet eine Klotoide (Übergangsbogen) zwischen einer Geraden (Anfangstangente) und einem Kreis. Punkte mit örtlichen Klotoidenkoordinaten werden ins übergeordnete System gerechnet. | ||
| 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>). | ||
== Quellen im Code | == Siehe auch == | ||
* VERMCAD\VcEditorUtils.pas: | * [[Rechnen Menü-Das Dialogfenster Klotoide|Das Dialogfenster Klotoide]] | ||
* VERMCAD\GlobalConsts.pas: | |||
* VERMCAD\VCSCHMWT.PAS: | == Entwicklerhinweise == | ||
* VERMCAD\VCSCHMWT.PAS: | ''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.'' | ||
* VERMCAD\VCDCHMWT.PAS: | |||
* VERMCAD\VCCALC.PAS: | '''Quellen im Code:''' | ||
* VERMCAD\VcEditorUtils.pas:2079 — Keyword-Zuordnung <code>ID[kKlotoide] := kwKlotoide</code> | |||
* VERMCAD\GlobalConsts.pas:1708 — <code>kwLKlo = 'L'</code> (kurze oder lange Klotoide) | |||
* VERMCAD\VCSCHMWT.PAS:5756-5760 — Erkennung <code>L = …</code> 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 = <code>SetLongKlo</code> | |||
* VERMCAD\VCCALC.PAS:509-530 — <code>TKlotoide</code> mit Strukturkommentar (Gerade, Endpunktkreis, kurze/lange Klotoide) | |||
{{Hilfe:NachOben}} | {{Hilfe:NachOben}} | ||
[[Kategorie: | [[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
xnicht 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;Lohne=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 —
TKlotoidemit Strukturkommentar (Gerade, Endpunktkreis, kurze/lange Klotoide)