Makro TRASSE
Das Rechenmakro TRASSE (neu 07/2017) beschreibt eine Verkehrs-/Leitungstrasse: die Achse als Folge von Elementen (Gerade, Kreisbogen, Klothoide), Punktlisten in regelmäßigen Stationsabständen, die Gradiente (Höhenprofil) aus Profilelementen, Querprofile und Höhenkontrollen. Alle Bestandteile stehen als Untersektionen mit eigenen Schlüsselwörtern (TR_*, TRP_*, TQUERS) im selben Block; erst END beendet die Trasse.
Syntaxregel
TRASSE [, NR = <n>] [, TNAME = '<Name>'] [, AS = <w>] {, <KopfInfo>}*
{ <TrassenItem> | <PunktePattern> | <Kontrollen> | <ProfilItem> | <Querschnitt> }*
END[;]
<TrassenItem> ::=
TR_LINE [, LEN = <w>] [, DIR = <w>] <ItemPunkte>
| TR_ARC [, LEN = <w>] [, KR = cw|ccw] [, RADIUS = <w>] [, LB] <ItemPunkte>
| TR_KLOTHOIDE [, LEN = <w>] [, KR = cw|ccw] [, RAD_S = <w>] [, RAD_E = <w>] [, A_KLOT = <w>]
<ItemPunkte>
<ItemPunkte> ::=
<PID> [<Y> <X>] ; (Startpunkt)
<PID> [<Y> <X>] ; (Endpunkt)
[ <PID> ; ] (nur TR_ARC: Bogenmittelpunkt, ohne Werte)
[ <PID> , TANGSP ; ] (Tangentenschnittpunkt)
<PunktePattern> ::=
TR_PUNKTE
{ <PID> [<VonStation>] <BisStation> ; }*
<Kontrollen> ::=
TR_KONTROLLEN
{ <PID> , TGRAD '<Profilname>' | TQUER '<Querschnittsname>'
[ TGRAD '<…>' | TQUER '<…>' ] [ DEA ] ; }*
<ProfilItem> ::= (Gradiente, je Element eine Sektion)
TRP_POINT , TITEL = '<Profilname>'
| TRP_GAP , TITEL = '<Profilname>'
| TRP_ARC , TITEL = '<Profilname>' [, PRADIUS = <w>]
| TRP_PARABOLA , TITEL = '<Profilname>' [, PLENGTH = <w>]
| TRP_UNSPARABOLA , TITEL = '<Profilname>' [, PLENGTHIN = <w>] [, PLENGTHOUT = <w>]
<Station> <Hoehe> ;
<Querschnitt> ::=
TQUERS , TITEL = '<Name>' [, TQSTA = <w>] [, TMAXTOL = <w>] [, TQPPRE = '<Präfix>']
{ <dQ> <H> }* ;
| Regelelement | Bedeutung |
|---|---|
<PID> |
vollständige Punktidentifikation NV [A] NR [VMA] Flags; Trassen-Sonderflags: L = Punkt immer Hauptpunkt, Y = ab diesem Hauptpunkt neu
|
| Start-/Endpunkt | je eigener Datensatz; wahlweise mit Koordinaten Y X. Der Endpunkt eines Elements ist zugleich Startpunkt des Folgeelements (Punktnummer wiederholen).
|
| Bogenmittelpunkt | bei TR_ARC dritter Punktsatz ohne Werte; höchstens einer je Element |
TANGSP |
kennzeichnet den Datensatz als Tangentenschnittpunkt des Elements (nach der PID, mit Komma abgetrennt); höchstens einer je Element |
<VonStation> <BisStation> |
TR_PUNKTE: Stationsbereich, in dem der Punkt (bzw. das Punktmuster) erzeugt/geführt wird; Von-Wert darf fehlen (x)
|
<Station> <Hoehe> |
Profilpunkt der Gradiente: Station (m ab Anfangsstation) und Höhe; je TRP-Sektion genau ein Wertepaar |
<dQ> <H> |
Querprofilpunkte: Querabstand zur Achse und Höhe, beliebig viele Paare in einem Datensatz (mehrzeilig bis zum Semikolon) |
Parameter
Allgemeine Kopf-Parameter (NR =, DATUM =, ZEIT =, PNR =, REM =, NE, DEA) siehe Blockkopf-Parameter. Trassenspezifisch:
| Parameter | Syntax | Pflicht | Bedeutung | gültig in |
|---|---|---|---|---|
| Trassenname | ,TNAME = '<Name>' |
nein | Name der Trasse; nur im Blockkopf (Fehler bei Items) | Blockkopf |
| Anfangsstation | ,AS = w |
nein | Station des Trassenanfangs (Stationierungs-Offset) | Blockkopf |
| Länge | ,LEN = w |
nein | Elementlänge in m | TR_LINE, TR_ARC, TR_KLOTHOIDE |
| Richtung | ,DIR = w |
nein | Richtungswinkel der Geraden in gon | TR_LINE |
| Krümmung | ,KR = cw|ccw |
nein | Krümmungsrichtung (im/gegen Uhrzeigersinn) | TR_ARC, TR_KLOTHOIDE |
| Radius | ,RADIUS = w / ,LB |
nein | Bogenradius / langer Bogen (Bogen über 200 gon) | TR_ARC |
| Klothoide | ,RAD_S = w / ,RAD_E = w / ,A_KLOT = w |
nein | Anfangs-/Endradius und Klothoidenparameter A | TR_KLOTHOIDE |
| Titel | ,TITEL = '<Name>' |
ja (TRP/TQUERS) | Name des Profils bzw. Querschnitts; verbindet Elemente desselben Profils | TRP_*, TQUERS |
| Profil-Ausrundung | ,PRADIUS = w / ,PLENGTH = w / ,PLENGTHIN = w / ,PLENGTHOUT = w |
nein | Ausrundungsradius (TRP_ARC), Parabellänge (TRP_PARABOLA) bzw. Ein-/Auslauflänge (TRP_UNSPARABOLA) | TRP-Items |
| Querschnitt-Station | ,TQSTA = w |
nein | Station des Querprofils | TQUERS |
| Kontroll-Toleranz | ,TMAXTOL = w |
nein | maximale zulässige Höhenabweichung der Kontrollen | TQUERS |
| Punktpräfix | ,TQPPRE = '<Präfix>' |
nein | Präfix für automatisch vergebene Punktnummern beim Messen von Höhenkontrollen (seit 02.10.2019) | TQUERS |
Datenzeilen
- Die Untersektions-Schlüsselwörter stehen jeweils am Satzanfang; sie schalten den Lesemodus um und haben kein eigenes
END. - TR_KONTROLLEN: je Satz ein Kontrollpunkt, dahinter (mit Komma) die Referenz auf Gradiente (
TGRAD '<Profilname>') und/oder Querprofil (TQUER '<Name>');DEAdeaktiviert die einzelne Kontrolle. Doppelte Referenz derselben Art ist Fehler 60, unbekannte Art Fehler 120. - TRP-Sektionen bilden in Dateireihenfolge das Höhenprofil; gleiche
TITEL-Angabe = gleiches Profil.TRP_GAPerzeugt eine Lücke. - TQUERS-Wertepaare dürfen über mehrere Zeilen laufen; erst das Semikolon beendet den Querschnitt-Datensatz.
Beispiele
Hinweis: VermCad ergänzt beim Speichern binäre Codierungszeilen; sie sind hier weggelassen.
Beispiel (Testprojekt, echt — gekürzt)
TRASSE, NR = 7, TNAME = 'MIDDLE CALMAR ROAD', AS = 0,
DATUM = 21.11.2017,
ZEIT = 17:45:17
TR_LINE, LEN = 133.520662, DIR = 0.09525
xx x 1 x x ;
xx x 2 x x ;
TR_ARC, LEN = 122.133543, KR = cw, RADIUS = 303.373424
xx x 6 x x ;
xx x 8 x x ;
xx x 7 x x ; { Bogenmittelpunkt }
TR_LINE, LEN = 56.946768, DIR = 0.83495
xx x 10 x x ;
xx x 11 x x ;
TRP_POINT, TITEL = 'MIDDLE CALMAR ROAD-PR'
0.0000 300.2347;
TRP_POINT, TITEL = 'MIDDLE CALMAR ROAD-PR'
16.4531 300.4694;
TQUERS, TITEL = 'SURFACE', TQSTA = 0.0000
-14.2784 300.8545 -5.8658 300.0628 -5.257 300.0057 -0.0222 300.2342
4.5147 299.9647 4.7891 299.9085 30.4801 294.4992;
END
Verfügbarkeit und Besonderheiten
- Verfügbar in allen Bundesland-Versionen; in echten Projekten selten (Sachsen, Testdaten) — typisches Ingenieurvermessungs-Makro; Trassen werden meist über den Trassen-Import (LandXML u. ä.) erzeugt.
- Bei den Trassen-Items sind Kopf-Infos auch in Folgesätzen zulässig (jede Untersektion hat ihre eigene Parameterliste) — eine Ausnahme von der Regel, dass Makro-Header nur im ersten Satz stehen.
- Fehlerquellen: unbekanntes Item-Schlüsselwort (Fehler 117), unbekanntes Profil-Schlüsselwort (Fehler 119), ungültige Kontrollreferenz (Fehler 120),
TNAME/ASaußerhalb des Blockkopfs (Fehler 781/60). - Verwandt: KLOTOIDE (Einzelklothoide ohne Trassenkontext).
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\GlobalConsts.pas:1575-1711 —
kwTrasseund alle TR_*/TRP_*/TQUERS-Schlüsselwörter samt Eigenschaften - VERMCAD\VCSCHMWT.PAS:5564-5648 — Erkennung der Untersektionen (Items, TR_PUNKTE, TR_KONTROLLEN, TRP_*, TQUERS; Fehler 117/119)
- VERMCAD\VCSCHMWT.PAS:5650-5694 — TRP-/TQUERS-Wertezeilen als Rohdaten; TR_KONTROLLEN-Sätze (TGRAD/TQUER, DEA; Fehler 120)
- VERMCAD\VCSCHMWT.PAS:6040-6108 — Item-Punkte: Start-/Endpunkt, Mittelpunkt (nur Satz ohne Werte), TANGSP, TR_PUNKTE-Stationsbereich (dk_TrasseVon/dk_TrasseBis)
- VERMCAD\VCSCHMWT.PAS:2856-2875, 3014-3030, 3063-3074, 3113-3131, 3340-3350, 3376-3420, 3664-3682 — Parameter LEN/DIR/KR/RADIUS/LB/RAD_S/RAD_E/A_KLOT/TITEL/TQSTA/TMAXTOL/TQPPRE/TNAME/AS
- VERMCAD\VCSCHMWT.PAS:2902-2908 — Kopf-Infos in Folgesätzen für Trassen zugelassen
- VERMCAD\VCCALC.PAS:12660-12680, 13598-13615, 14369-14378, 15064-15085, 16136-16143, 18845-18848 — Schreiben der Items/Profile/Querschnitte
- VERMCAD\GlobalTypConsts.pas:218-344 — Trassen-Flags
L(immer Hauptpunkt),Y(ab HP neu)