Zum Inhalt springen

MWT Syntax-Makro LOTFUSSPUNKTE: Unterschied zwischen den Versionen

Aus VermCAD Hilfe Wiki
MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs)
Alt-Klassik-Doku eingemischt: Mehrwert/Grafiken/Siehe-auch (Task MWT_Syntax)
Zeile 114: Zeile 114:
* Ein Zielpunkt darf bei RICHTUNGSFUSSPUNKTE als Neupunkt mit derselben Nummer wiederkehren (der nur richtungsgemessene Punkt erhält dann selbst die Fußpunktkoordinate, vgl. Beispiel Punkt 3333).
* Ein Zielpunkt darf bei RICHTUNGSFUSSPUNKTE als Neupunkt mit derselben Nummer wiederkehren (der nur richtungsgemessene Punkt erhält dann selbst die Fußpunktkoordinate, vgl. Beispiel Punkt 3333).
* Soll der Originalpunkt selbst in die Gerade gerückt werden (statt eines separaten Neupunkts), ist [[MWT Syntax-Makro LINIENELEMENTE|LINIENELEMENTE]] mit Flag <code>b</code> bzw. [[MWT Syntax-Makro AUSGLEICHGERADEN|AUSGLEICHGERADEN]] zu verwenden.
* Soll der Originalpunkt selbst in die Gerade gerückt werden (statt eines separaten Neupunkts), ist [[MWT Syntax-Makro LINIENELEMENTE|LINIENELEMENTE]] mit Flag <code>b</code> bzw. [[MWT Syntax-Makro AUSGLEICHGERADEN|AUSGLEICHGERADEN]] zu verwenden.
* Alt-Dokumentation: [[MWT-Blöcke mit Anweisungen (Makros)-Das Makro LOTFUSSPUNKTE|Das Makro LOTFUSSPUNKTE]], [[MWT-Blöcke mit Anweisungen (Makros)-Das Makro RICHTUNGSFUSSPUNKTE|Das Makro RICHTUNGSFUSSPUNKTE]].
 
== Siehe auch ==
* [[Rechnen Menü-Schnitte-Das Dialogfenster Lotfusspunkte|Das Dialogfenster Lotfußpunkte]]
* [[Rechnen Menü-Schnitte-Das Dialogfenster Richtungsfusspunkte|Das Dialogfenster Richtungsfußpunkte]]


== Entwicklerhinweise ==
== Entwicklerhinweise ==

Version vom 20. Juli 2026, 21:30 Uhr

Das Rechenmakro LOTFUSSPUNKTE fällt von gegebenen Punkten das Lot auf eine Gerade und weist die Lotfußpunkte als eigene Neupunkte mit Bedingungskoordinate aus. Das eng verwandte Makro RICHTUNGSFUSSPUNKTE (gleiche Blockstruktur, zusätzlich ein Standpunkt-Satz) schneidet stattdessen orientierte Richtungsmessungen von einem Standpunkt mit der Geraden. Beide Makros werden auf dieser Seite dokumentiert.

Syntaxregel

LOTFUSSPUNKTE [, KOORDINATENSYSTEM <n> | , LS <n>] [, <Kopf-Parameter>]*
  <Gerade> ;                                          (Satz 1: 2+ Punkte, OHNE Maße)
  [ {P <NV> <NR> | V <NV> <NR> | S = <w>} {, ...} ; ] (Satz 2, wahlweise: Verschiebung der Geraden)
  { <NV> [<A>] <NR> {, ...}* ; }*                     (zu lotende Punkte)
  { <PBS-Neupunkt> ; }*                               (Lotfußpunkte, Anzahl = Anzahl zu lotender Punkte)
END

RICHTUNGSFUSSPUNKTE [, KOORDINATENSYSTEM <n> | , LS <n>] [, <Kopf-Parameter>]*
  <Gerade> ;                                          (Satz 1: 2+ Punkte, OHNE Maße)
  [ {P <NV> <NR> | V <NV> <NR> | S = <w>} {, ...} ; ] (Satz 2, wahlweise: Verschiebung der Geraden)
  <NV> [<A>] <NR> ;                                   (Satz 3: Standpunkt)
  { <NV> [<A>] <NR> {, ...}* ; }*                     (Zielpunkte, vom Standpunkt nur mit Richtung gemessen)
  { <PBS-Neupunkt> ; }*                               (Richtungsfußpunkte, Anzahl = Anzahl Zielpunkte)
END
Regelelement Bedeutung
<Gerade> Geradendefinition durch zwei oder mehr (dann ausgleichende Gerade) kommagetrennte Punktangaben, siehe Bogen- und Liniendefinition. Anlege-/Endmaße sind hier nicht erlaubt.
P / V / S wahlweiser Verschiebesatz wie beim GERADENSCHNITT: P NV NR = Parallele durch den Bezugspunkt, V NV NR = Senkrechte durch den Punkt, S = w = Parallelverschiebung um w Meter (positiv = nach rechts). Mehrere Angaben kommagetrennt kombinierbar.
Standpunkt (nur RICHTUNGSFUSSPUNKTE) einzelner Punkt in kurzer Identifikation, eigener Satz mit ;. Von diesem Standpunkt müssen die Zielpunkte gemessen sein.
zu lotende Punkte / Zielpunkte kurze Punktidentifikation; mehrere je Satz mit Komma oder je Punkt ein Satz mit ;.
<PBS-Neupunkt> vollständige Punktidentifikation (NV A NR VMA Flags, üblich Flag B). Die Neupunkte werden den zu lotenden Punkten bzw. Zielpunkten der Reihenfolge nach 1:1 zugeordnet; die Anzahl muss übereinstimmen.

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
ZP , ZP = <w> nein zulässige Punktabweichung alle
NETZ , NETZ nein berechnete Punkte dem Netz bereitstellen alle

Datenzeilen

  • Der Übergang von den zu lotenden Punkten (kurzer Ident) zu den Neupunkten (voller Ident) wird automatisch erkannt: Ein Satz mit mehr als drei Ident-Spalten bzw. mehr als fünf Termen leitet die Neupunkte ein.
  • LOTFUSSPUNKTE: Der Lotfußpunkt jedes zu lotenden Punktes auf der (ggf. verschobenen, ggf. ausgleichenden) Geraden wird dem zugehörigen Neupunkt als Bedingungskoordinate zugewiesen; die Originalpunkte bleiben unverändert.
  • RICHTUNGSFUSSPUNKTE: Für jeden Zielpunkt werden alle reinen Richtungsmessungen (Hz ohne Strecke) vom angegebenen Standpunkt orientiert mit der Geraden geschnitten und gemittelt; ein rückwärtiger Schnitt (Gerade hinter dem Standpunkt) ist unzulässig. Die Höhe des Fußpunktes wird — falls V, hi und hr der Messung sowie die Standpunkthöhe vorliegen — trigonometrisch mitberechnet (Schnitt mit einer senkrechten Ebene).
  • Der Standpunkt-Satz von RICHTUNGSFUSSPUNKTE muss mit ; enden.

Beispiele

Beispiel LOTFUSSPUNKTE (echt — ausgleichende Gerade aus 3 Punkten)

LOTFUSSPUNKTE, NR = 41,

  DATUM = 06.11.2013,
  ZEIT = 17:59:24,
  REM = 'Ausgl. Gerade ohne Verschiebung'

  xx  x     2359 ,
  xx  x     2363 ,
  xx  x     8029 ;

  xx  x     2406;              { zu lotende Punkte }
  xx  x     2424;

  xx  x     8010  x   B ;      { Lotfußpunkt zu 2406 }
  xx  2     8011  x   B ;      { Lotfußpunkt zu 2424 }
END

Beispiel LOTFUSSPUNKTE mit Parallelverschiebung (echt)

LOTFUSSPUNKTE, NR = 42,

  DATUM = 27.02.2006,
  ZEIT = 18:07:32,
  PNR = 777,
  REM = 'Parallelverschiebung'

  xx        2357 ,
  xx        2349 ;    P  xx   2414;
  ...
END

Beispiel RICHTUNGSFUSSPUNKTE (echt — Gerade mit P- und S-Verschiebung)

RICHTUNGSFUSSPUNKTE, NR = 72,

  DATUM = 06.11.2013,
  ZEIT = 18:40:10

  xx  x     8027 ,
  xx  2     1350 ;    P  xx  3 2424,    S  =  -3.000;

  99  7      108;              { Standpunkt }

  xx  2     2429;              { Zielpunkte (nur Richtung gemessen) }
  xx  2     3333;

  xx  2     2222  x   B ;      { Richtungsfußpunkt zu 2429 }
  xx  2     3333  x   B ;      { Richtungsfußpunkt zu 3333 }
END

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

Verfügbarkeit und Besonderheiten

  • Beide Makros sind in allen Bundesland-Versionen verfügbar. LOTFUSSPUNKTE ist verbreitet (Sachsen, Thüringen, Anhalt, BRB, MV); RICHTUNGSFUSSPUNKTE kommt in echten Projekten sehr selten vor.
  • Ein Zielpunkt darf bei RICHTUNGSFUSSPUNKTE als Neupunkt mit derselben Nummer wiederkehren (der nur richtungsgemessene Punkt erhält dann selbst die Fußpunktkoordinate, vgl. Beispiel Punkt 3333).
  • Soll der Originalpunkt selbst in die Gerade gerückt werden (statt eines separaten Neupunkts), ist LINIENELEMENTE mit Flag b bzw. AUSGLEICHGERADEN zu verwenden.

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:2075-2076 — Keyword-Zuordnungen ID[kLotFussPunkt], ID[kRichtungFussPunkt]
  • VERMCAD\VCSCHMWT.PAS:5507-5517 — Verschiebesatz P/V/S (Satz 2); 5882-5922 — Lesen der P/V/S-Angaben
  • VERMCAD\VCSCHMWT.PAS:5547-5552 — automatische Erkennung des Übergangs zu den Neupunkten; 6637 — Semikolon-Pflicht nach dem Standpunkt-Satz (RICHTUNGSFUSSPUNKTE, Satz 3)
  • VERMCAD\VCDCHMWT.PAS:2731-2744 — LOTFUSSPUNKTE: Satz 1 Gerade ohne Maße, Satz 2 Verschiebung, Items/Neupunkte
  • VERMCAD\VCDCHMWT.PAS:2746-2760 — RICHTUNGSFUSSPUNKTE: zusätzlich Satz 3 = InsertStandpunkt
  • VERMCAD\VCCALC.PAS:391-416 — Klassendeklarationen; 6585-6642 — TLotFussPunkt.CalculateItem (1:1-Zuordnung, Lotfußpunktberechnung)
  • VERMCAD\VCCALC.PAS:6656-6800 — TRichtungFussPunkt.CalculateItem (nur-Hz-Messungen vom Standpunkt, Mittelung, kein rückwärtiger Schnitt, Höhe aus V/hi/hr)



[Nach oben]