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) MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs) |
||
| 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 98: | Zeile 98: | ||
{{Hilfe:NachOben}} | {{Hilfe:NachOben}} | ||
[[Kategorie:MWT Syntax| | [[Kategorie:MWT Syntax-Blöcke mit Anweisungen (Makros)|KLOTOIDE]] | ||
Version vom 20. Juli 2026, 13:59 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). - Alt-Dokumentation: Das Makro KLOTOIDE.
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:2074 — Keyword-Zuordnung
ID[kKlotoide] := kwKlotoide - VERMCAD\GlobalConsts.pas:1630 —
kwLKlo = 'L'(kurze oder lange Klotoide) - VERMCAD\VCSCHMWT.PAS:5496-5500 — Erkennung
L = …an Satzposition 4 (Default ohne Fehler: kurze Klotoide) - VERMCAD\VCSCHMWT.PAS:5953, 5988-5993 — ab Satz 5 Punkte mit zwei Pflichtwerten (Abszisse/Ordinate)
- VERMCAD\VCDCHMWT.PAS:2681-2689 — Satzzuordnung: 2 = Items[0] (Kreismittelpunkt), 3 = Items[1] (Endpunkt), 4 =
SetLongKlo - VERMCAD\VCCALC.PAS:507-528 —
TKlotoidemit Strukturkommentar (Gerade, Endpunktkreis, kurze/lange Klotoide)