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)
 
Rechtschreibung: Links auf umbenannte Seiten umgestellt
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:MWT Syntax-Makro LOTFUSSPUNKTE (und RICHTUNGSFUSSPUNKTE)}}
{{DISPLAYTITLE:LOTFUSSPUNKTE (und RICHTUNGSFUSSPUNKTE)}}
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.
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.


Zeile 109: Zeile 109:
</pre>
</pre>
Die binären Codierungszeilen ergänzt VermCad automatisch; sie sind hier weggelassen.
Die binären Codierungszeilen ergänzt VermCad automatisch; sie sind hier weggelassen.
=== Beispiel RICHTUNGSFUSSPUNKTE (praktisch, vollständig — gemessene Richtung mit Gerade geschnitten) ===
Vollständiges Beispiel: Eine gemessene Richtung wird mit einer Geraden geschnitten (Neupunkt 11).
<pre>
NUMMERIERUNGSBEZIRKE
{ NV    Numerierungsbezirk  }
{---------------------------}
  xx        00011234;
  35        54563335;
  00            1090;
END
VORGABEN
{ NV  A      NR VAT  F    Werte                              }
{--------------------------------------------------------------}
  35  1        1 000 SA    Y  =5433796.840  X  =5635006.540;
  35  1        2 000 SA    Y  =5433970.240  X  =5635007.710;
  35  1        4 000 SA    Y  =5433885.920  X  =5635188.790;
  35  1        5 000 SA    Y  =5433696.260  X  =5635337.390;
  35  1        6 000 SA    Y  =5433574.510  X  =5635338.210;
END
MESSUNG
  35  1        2 090  x ;
  xx  1    1000 090  x    Hz =    0.0000 ;
  35  1        1 000  x    Hz =  209.3399 ;
  xx  2    5555 000  x    Hz =  395.6089;
END
RICHTUNGSFUSSPUNKTE, NR = 1,
  DATUM = 03.05.2006,
  ZEIT = 11:24:56
  35          4 ,
  35          6 ;
  35          2;
  xx        5555;
  xx  x      11  x  B ;
END
</pre>


== Verfügbarkeit und Besonderheiten ==
== Verfügbarkeit und Besonderheiten ==
Zeile 114: Zeile 168:
* 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]].


== Quellen im Code ==
== Siehe auch ==
* VERMCAD\VcEditorUtils.pas:2075-2076 — Keyword-Zuordnungen <code>ID[kLotFussPunkt]</code>, <code>ID[kRichtungFussPunkt]</code>
* [[Rechnen Menü-Schnitte-Das Dialogfenster Lotfußpunkte|Das Dialogfenster Lotfußpunkte]]
* VERMCAD\VCSCHMWT.PAS:5507-5517 — Verschiebesatz P/V/S (Satz 2); 5882-5922 — Lesen der P/V/S-Angaben
* [[Rechnen Menü-Schnitte-Das Dialogfenster Richtungsfußpunkte|Das Dialogfenster Richtungsfußpunkte]]
* 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
== Entwicklerhinweise ==
* VERMCAD\VCDCHMWT.PAS:2746-2760 — RICHTUNGSFUSSPUNKTE: zusätzlich Satz 3 = <code>InsertStandpunkt</code>
''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.''
* VERMCAD\VCCALC.PAS:391-416 — Klassendeklarationen; 6585-6642 — <code>TLotFussPunkt.CalculateItem</code> (1:1-Zuordnung, Lotfußpunktberechnung)
 
* VERMCAD\VCCALC.PAS:6656-6800 — <code>TRichtungFussPunkt.CalculateItem</code> (nur-Hz-Messungen vom Standpunkt, Mittelung, kein rückwärtiger Schnitt, Höhe aus V/hi/hr)
'''Quellen im Code:'''
* VERMCAD\VcEditorUtils.pas:2080-2081 — Keyword-Zuordnungen <code>ID[kLotFussPunkt]</code>, <code>ID[kRichtungFussPunkt]</code>
* VERMCAD\VCSCHMWT.PAS:5767-5777 — Verschiebesatz P/V/S (Satz 2); 6142-6182 — Lesen der P/V/S-Angaben
* VERMCAD\VCSCHMWT.PAS:5807-5812 — automatische Erkennung des Übergangs zu den Neupunkten; 6914 — Semikolon-Pflicht nach dem Standpunkt-Satz (RICHTUNGSFUSSPUNKTE, Satz 3)
* VERMCAD\VCDCHMWT.PAS:2733-2746 — LOTFUSSPUNKTE: Satz 1 Gerade ohne Maße, Satz 2 Verschiebung, Items/Neupunkte
* VERMCAD\VCDCHMWT.PAS:2748-2762 — RICHTUNGSFUSSPUNKTE: zusätzlich Satz 3 = <code>InsertStandpunkt</code>
* VERMCAD\VCCALC.PAS:393-418 — Klassendeklarationen; 6658-6715 — <code>TLotFussPunkt.CalculateItem</code> (1:1-Zuordnung, Lotfußpunktberechnung)
* VERMCAD\VCCALC.PAS:6729-6873 — <code>TRichtungFussPunkt.CalculateItem</code> (nur-Hz-Messungen vom Standpunkt, Mittelung, kein rückwärtiger Schnitt, Höhe aus V/hi/hr)


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

Aktuelle Version vom 22. September 2026, 10:58 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.

Beispiel RICHTUNGSFUSSPUNKTE (praktisch, vollständig — gemessene Richtung mit Gerade geschnitten)

Vollständiges Beispiel: Eine gemessene Richtung wird mit einer Geraden geschnitten (Neupunkt 11).

NUMMERIERUNGSBEZIRKE

{ NV    Numerierungsbezirk  }
{---------------------------}
  xx        00011234;
  35        54563335;
  00            1090;

END


VORGABEN

{ NV  A       NR VAT  F    Werte                               }
{--------------------------------------------------------------}
  35  1        1 000 SA    Y  =5433796.840   X  =5635006.540;
  35  1        2 000 SA    Y  =5433970.240   X  =5635007.710;
  35  1        4 000 SA    Y  =5433885.920   X  =5635188.790;
  35  1        5 000 SA    Y  =5433696.260   X  =5635337.390;
  35  1        6 000 SA    Y  =5433574.510   X  =5635338.210;

END


MESSUNG

  35  1        2 090  x ;
  xx  1     1000 090  x    Hz =    0.0000 ;
  35  1        1 000  x    Hz =  209.3399 ;
  xx  2     5555 000  x    Hz =  395.6089;

END


RICHTUNGSFUSSPUNKTE, NR = 1,

  DATUM = 03.05.2006,
  ZEIT = 11:24:56

  35           4 ,
  35           6 ;

  35           2;

  xx        5555;

  xx  x       11  x   B ;

END

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:2080-2081 — Keyword-Zuordnungen ID[kLotFussPunkt], ID[kRichtungFussPunkt]
  • VERMCAD\VCSCHMWT.PAS:5767-5777 — Verschiebesatz P/V/S (Satz 2); 6142-6182 — Lesen der P/V/S-Angaben
  • VERMCAD\VCSCHMWT.PAS:5807-5812 — automatische Erkennung des Übergangs zu den Neupunkten; 6914 — Semikolon-Pflicht nach dem Standpunkt-Satz (RICHTUNGSFUSSPUNKTE, Satz 3)
  • VERMCAD\VCDCHMWT.PAS:2733-2746 — LOTFUSSPUNKTE: Satz 1 Gerade ohne Maße, Satz 2 Verschiebung, Items/Neupunkte
  • VERMCAD\VCDCHMWT.PAS:2748-2762 — RICHTUNGSFUSSPUNKTE: zusätzlich Satz 3 = InsertStandpunkt
  • VERMCAD\VCCALC.PAS:393-418 — Klassendeklarationen; 6658-6715 — TLotFussPunkt.CalculateItem (1:1-Zuordnung, Lotfußpunktberechnung)
  • VERMCAD\VCCALC.PAS:6729-6873 — TRichtungFussPunkt.CalculateItem (nur-Hz-Messungen vom Standpunkt, Mittelung, kein rückwärtiger Schnitt, Höhe aus V/hi/hr)



[Nach oben]