Zum Inhalt springen

MWT Syntax-Makro TRASSE: Unterschied zwischen den Versionen

Aus VermCAD Hilfe Wiki
MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs)
MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs)
Zeile 149: Zeile 149:


{{Hilfe:NachOben}}
{{Hilfe:NachOben}}
[[Kategorie:MWT Syntax-Blöcke mit Anweisungen (Makros)|TRASSE]]
[[Kategorie:Blöcke mit Anweisungen (Makros)|TRASSE]]

Version vom 20. Juli 2026, 14:54 Uhr

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>'); DEA deaktiviert 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_GAP erzeugt 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/AS auß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 — kwTrasse und 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)



[Nach oben]