Zum Inhalt springen

MWT Syntax-Makro LINIENELEMENTE: 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 1: Zeile 1:
{{DISPLAYTITLE:MWT Syntax-Makro LINIENELEMENTE}}
{{DISPLAYTITLE:Makro LINIENELEMENTE}}
Das Rechenmakro LINIENELEMENTE ermittelt die Linienelemente (örtliche kartesische Koordinaten: Abszisse und Ordinate) von Punkten bezüglich einer Geraden. Punkte können zusätzlich in die Linie gerückt werden (Flag <code>b</code>); sie erhalten dann als Bedingungskoordinate ihren Lotfußpunkt auf der Linie.
Das Rechenmakro LINIENELEMENTE ermittelt die Linienelemente (örtliche kartesische Koordinaten: Abszisse und Ordinate) von Punkten bezüglich einer Geraden. Punkte können zusätzlich in die Linie gerückt werden (Flag <code>b</code>); sie erhalten dann als Bedingungskoordinate ihren Lotfußpunkt auf der Linie.


Zeile 96: Zeile 96:
* Alt-Dokumentation: [[MWT-Blöcke mit Anweisungen (Makros)-Das Makro LINIENELEMENTE|Das Makro LINIENELEMENTE]].
* Alt-Dokumentation: [[MWT-Blöcke mit Anweisungen (Makros)-Das Makro LINIENELEMENTE|Das Makro LINIENELEMENTE]].


== Quellen im Code ==
== 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:2064 — Keyword-Zuordnung <code>ID[kLinienElement] := kwLinienElemente</code>
* VERMCAD\VcEditorUtils.pas:2064 — Keyword-Zuordnung <code>ID[kLinienElement] := kwLinienElemente</code>
* VERMCAD\VCSCHMWT.PAS:2924-2932 — Kopf-Option <code>,B</code> (CurveCoo global); 3638-3643 — <code>,ALL</code> (nur LINIENELEMENTE); 3281-3306 — <code>,ZS</code>
* VERMCAD\VCSCHMWT.PAS:2924-2932 — Kopf-Option <code>,B</code> (CurveCoo global); 3638-3643 — <code>,ALL</code> (nur LINIENELEMENTE); 3281-3306 — <code>,ZS</code>
Zeile 105: Zeile 108:


{{Hilfe:NachOben}}
{{Hilfe:NachOben}}
[[Kategorie:MWT Syntax]]
[[Kategorie:MWT Syntax|Makro LINIENELEMENTE]]

Version vom 20. Juli 2026, 12:33 Uhr

Das Rechenmakro LINIENELEMENTE ermittelt die Linienelemente (örtliche kartesische Koordinaten: Abszisse und Ordinate) von Punkten bezüglich einer Geraden. Punkte können zusätzlich in die Linie gerückt werden (Flag b); sie erhalten dann als Bedingungskoordinate ihren Lotfußpunkt auf der Linie.

Syntaxregel

LINIENELEMENTE [, KOORDINATENSYSTEM <n> | , LS <n>] [, <Kopf-Parameter>]*
  <NV> [<A>] <NR> [<MassX>|x [<MassY>]] {, <NV> [<A>] <NR> [<MassX>|x [<MassY>]]}+ ;   (Satz 1: Gerade, 2+ Punkte)
  { <NV> [<A>] <NR> ['b'|'s'] {, <NV> [<A>] <NR> ['b'|'s']}* ; }*                      (Elementpunkte)
END
Regelelement Bedeutung
Satz 1 Definition der Geraden nach Bogen- und Liniendefinition: mindestens zwei Punkte, kommagetrennt, Abschluss mit ;. Bei mehr als zwei Punkten rechnet VermCad mit der ausgleichenden Geraden.
<MassX> wahlweises Maß je Geradenpunkt (Anlege-/Endmaß bzw. Station); x = Fehlwert. Sind Anlege- und Endmaß gegeben, gehen sie in die Ergebnisdarstellung als gemessene Strecke ein.
<MassY> wahlweises seitliches Maß (Ordinate) je Geradenpunkt; verschiebt die Linie parallel/verschwenkt sie (nur bei genau zwei Geradenpunkten zulässig).
b Kleinbuchstabe nach der Punktnummer (durch Leerzeichen getrennt): Punkt wird in die Linie gerückt und erhält die Bedingungskoordinate seines Lotfußpunkts (Flag B / cfCurveCoo).
s wie b, zusätzlich wird die gerückte Koordinate als Sollwert gekennzeichnet.

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 bzw. Lagestatus alle
B , B nein alle Elementpunkte des Blocks werden in die Linie gerückt (globale Variante des Flags b) alle
ALL , ALL nein alle Punkte des Projekts werden berücksichtigt; dann folgt nur die Geradendefinition, keine Elementpunkt-Sätze alle
ZS , ZS = <w> nein zulässige Spannmaßabweichung (Vergleich gemessene/gerechnete Strecke) alle
ZP , ZP = <w> nein zulässige Punktabweichung beim Rücken alle
NETZ , NETZ nein berechnete Punkte dem Netz als Anschlusspunkte bereitstellen alle

Datenzeilen

  • Ab dem zweiten Datensatz folgen die Elementpunkte; Trennung beliebig mit Komma (innerhalb eines Satzes) oder Semikolon (neuer Satz).
  • Kein Punkt darf doppelt in den Elementpunkten stehen (Fehler „Punkt bereits verwendet").
  • Elementpunkte sind bestehende, koordinierte Punkte; das Makro erzeugt keine Neupunkte (dafür KLEINPUNKTE bzw. MESSLINIE verwenden).

Beispiele

Beispiel (allgemein, aus der Alt-Dokumentation)

LINIENELEMENTE, NR = 4

  xx     3001   1.41,
  xx     3000  32.75;     { Anlege- und Endmaß kann auch entfallen }

  xx     3057 b,          { Punkt wird in die Linie gerückt }
  xx     3121,
  xx     3098 b;          { Punkt wird in die Linie gerückt }
  xx     3097,
  xx     3079;

END

Beispiel (Sachsen, echt)

LINIENELEMENTE, NR = 3, DEA,

  DATUM = 22.05.2006,
  ZEIT = 07:49:24

  09         439 ,
  06        1101 ;

  06        1083;
END

Die binären Codierungszeilen ergänzt VermCad automatisch; sie sind hier weggelassen.

Beispiel mit Option ALL

LINIENELEMENTE, NR = 4, ALL

  xx     3001   1.41,        { Alle Punkte des Projektes }
  xx     3000  32.75;        { bezogen auf diese Linie   }

END

Verfügbarkeit und Besonderheiten

  • Verfügbar in allen Bundesland-Versionen; in echten Projekten v. a. Sachsen, Thüringen, Anhalt, BRB.
  • Geradheitsnachweis: ohne b werden nur die örtlichen Elemente (Ordinatenabweichungen) protokolliert, Koordinaten bleiben unverändert.
  • Für Punkte auf einem Kreisbogen statt einer Geraden: BOGENELEMENTE. Für das erzwungene Einrücken aller Punkte: EINFLUCHTEN_GERADE (neu seit 03.07.2026; dort ist ,ALL nicht erlaubt).
  • Alt-Dokumentation: Das Makro LINIENELEMENTE.

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:2064 — Keyword-Zuordnung ID[kLinienElement] := kwLinienElemente
  • VERMCAD\VCSCHMWT.PAS:2924-2932 — Kopf-Option ,B (CurveCoo global); 3638-3643 — ,ALL (nur LINIENELEMENTE); 3281-3306 — ,ZS
  • VERMCAD\VCSCHMWT.PAS:6312-6330, 6355-6369 — Maße der Geradenpunkte (MassX, MassY) im 1. Satz
  • VERMCAD\VCSCHMWT.PAS:6499-6553 — Flags b/s hinter Elementpunkten (cfCurveCoo, ifDesiredYX)
  • VERMCAD\VCDCHMWT.PAS:2642-2699 — Übernahme in TCurveItem (Satz 1 = InsertCurve mit Maßen, Folgesätze = InsertItems); 790-803 — mindestens zwei Punkte für die Gerade
  • VERMCAD\VCCALC.PAS:272-288 — TLinienElement; VCCALCBA.PAS:6646 ff. — Calc_Line (seitliche Maße, ausgleichende Gerade)



[Nach oben]