MWT Syntax-Makro MESSLINIE: 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 103: | Zeile 103: | ||
{{Hilfe:NachOben}} | {{Hilfe:NachOben}} | ||
[[Kategorie: | [[Kategorie:Blöcke mit Anweisungen (Makros)|MESSLINIE]] | ||
Version vom 20. Juli 2026, 14:54 Uhr
Das Rechenmakro MESSLINIE (Messungslinie) vereinigt LINIENELEMENTE und KLEINPUNKTE auf derselben Linie: Bestandspunkte werden kontrolliert oder eingerückt, Neupunkte aus örtlichen Maßen berechnet — ohne die Linie zweimal eingeben zu müssen.
Syntaxregel
MESSLINIE [, KOORDINATENSYSTEM <n> | , LS <n>] [, <Kopf-Parameter>]*
<NV> [<A>] <NR> [<MassX>|x [<MassY>]] {, <NV> [<A>] <NR> [<MassX>|x [<MassY>]]}+ ; (Satz 1: Linie, 2+ Punkte)
{ <NV> [<A>] <NR> ['b'|'s'] {, ...}* ; }* (Linienelemente: Bestandspunkte)
{ <PBS-Neupunkt> <Abszisse> <Ordinate> ; }* (Kleinpunkte: Neupunkte)
END
| Regelelement | Bedeutung |
|---|---|
| Satz 1 | Messungsliniendefinition nach Bogen- und Liniendefinition: mindestens zwei Punkte mit wahlweisen Anlege-/Endmaßen (MassX, x = Fehlwert) und wahlweisen seitlichen Maßen (MassY). Anlege- und Endmaß liefern den Linienmaßstab.
|
| Linienelemente | Bestandspunkte in kurzer Punktidentifikation; Kleinbuchstabe b nach der Punktnummer rückt den Punkt in die Linie (Bedingungskoordinate = Lotfußpunkt), s zusätzlich als Sollwert.
|
| Kleinpunkte | Neupunkte mit vollständiger Punktidentifikation (i. d. R. Flag B) und örtlichen Maßen: zuerst Abszisse (Hochwert entlang der Linie), dann Ordinate (Rechtswert quer zur Linie).
|
Der Übergang von den Linienelementen zu den Kleinpunkten wird automatisch erkannt: Ein Satz mit vollständiger Punktbeschreibung (mehr als drei Ident-Spalten bzw. mehr als fünf Terme) leitet die Neupunkte ein. Ab dann sind keine Linienelement-Sätze mehr zulässig.
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 |
| Z | , Z |
nein | Messungslinie mit Höhen (wie Kleinpunkte mit Höhen; Z entlang der Raumgeraden interpoliert) | alle |
| ZS | , ZS = <w> |
nein | zulässige Spannmaßabweichung; Berlin auch ZS = D1|D2|D3 |
alle |
| ZP | , ZP = <w> |
nein | zulässige Punktabweichung | alle |
| M | , M = <w> |
nein | Maßstab für alle Abszissen/Ordinaten des Blocks (auch reziprok) | alle |
| NETZ | , NETZ |
nein | berechnete Punkte dem Netz als Anschlusspunkte bereitstellen | alle |
Datenzeilen
- Linienelement-Sätze: mehrere Punkte je Satz mit Komma, neuer Satz mit Semikolon; kein Punkt doppelt.
- Kleinpunkt-Sätze: je Punkt volle Punktbeschreibung + Abszisse + Ordinate, Abschluss
;. - Ein Satz der Form
NV A NR b;(kurzer Ident mitb) zählt als Linienelement, nicht als Neupunkt.
Beispiele
Beispiel (allgemein, aus der Alt-Dokumentation)
MESSLINIE, NR = 3 xx 3001 1.41, xx 3000 32.75; xx 3057 b, xx 3121, xx 3098 b; xx 3097, xx 3079; xx 2 3091 x 4.12 1.03 xx x 3092 f 12.37 -0.86; END
Beispiel (Sachsen, echt)
MESSLINIE, NR = 54, DATUM = 16.07.2006, ZEIT = 10:56:12, KN = 'Berechnung Brandmauer Flurstücke 228 und 229' 48 1975 , 48 1989 ; 48 648; 48 1974; 48 1973; 48 649; xx 7 765 x B 9.000 0.000; END
Die binären Codierungszeilen ergänzt VermCad automatisch; sie sind hier weggelassen.
Verfügbarkeit und Besonderheiten
- Verfügbar in allen Bundesland-Versionen; eines der meistgenutzten Rechenmakros (BW, THR, SX, Anhalt, BRB, Berlin, MV).
- Verwechslungsgefahr: Innerhalb von PUNKTIDENTITAET gibt es eine Untersektion mit dem Schlüsselwort
MESSLINIE, die mit einem DatensatzRJ = <Riss/Jahr>;beginnt. Ein eigenständiger MESSLINIE-Block kennt keinRJ =. - Baden-Württemberg: globale Option
$ML_CURVE_COO_Y_0erzwingt im Messungslinienprotokoll den Rechtswert 0.0 für gerückte Punkte. - Alt-Dokumentation: Das Makro MESSLINIE.
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:2068 — Keyword-Zuordnung
ID[kMessLinie] := kwMessLinie - VERMCAD\VCSCHMWT.PAS:5555-5562 — automatische Erkennung des Übergangs Linienelemente → Neupunkte (inkl.
b-Sonderfall) - VERMCAD\VCSCHMWT.PAS:5975-5981 — Wertlesung der Neupunkte (erst Abszisse dk_X, dann Ordinate dk_Y)
- VERMCAD\VCSCHMWT.PAS:6499-6553 — Flags
b/shinter Linienelementen - VERMCAD\VCSCHMWT.PAS:3334-3338 —
,Z; 3281-3306 —,ZS; 3506-3512 —,M - VERMCAD\VCDCHMWT.PAS:2642-2699 — Übernahme in
TCurveItem(InsertCurve/InsertItems/InsertPunkt) - VERMCAD\VCCALC.PAS:265-268 —
TMessLinie