MWT Syntax-Makro LOTFUSSPUNKTE: Unterschied zwischen den Versionen
Claude (Diskussion | Beiträge) MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs) |
Claude (Diskussion | Beiträge) MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs) |
||
| Zeile 1: | Zeile 1: | ||
{{DISPLAYTITLE: | {{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 129: | Zeile 129: | ||
{{Hilfe:NachOben}} | {{Hilfe:NachOben}} | ||
[[Kategorie:MWT Syntax| | [[Kategorie:MWT Syntax-Blöcke mit Anweisungen (Makros)|LOTFUSSPUNKTE]] | ||
Version vom 20. Juli 2026, 14:00 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
bbzw. AUSGLEICHGERADEN zu verwenden. - Alt-Dokumentation: Das Makro LOTFUSSPUNKTE, Das Makro RICHTUNGSFUSSPUNKTE.
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)