Zum Inhalt springen

MWT Syntax-Makro MESSLINIE: Unterschied zwischen den Versionen

Aus VermCAD Hilfe Wiki
MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs)
Entwicklerhinweise: Zeilennummern an den Code vom 18.09.2026 angeglichen
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 88: Zeile 88:
* '''Verwechslungsgefahr''': Innerhalb von [[MWT Syntax-Makro PUNKTIDENTITAET|PUNKTIDENTITAET]] gibt es eine Untersektion mit dem Schlüsselwort <code>MESSLINIE</code>, die mit einem Datensatz <code>RJ = &lt;Riss/Jahr&gt;;</code> beginnt. Ein eigenständiger MESSLINIE-Block kennt '''kein''' <code>RJ =</code>.
* '''Verwechslungsgefahr''': Innerhalb von [[MWT Syntax-Makro PUNKTIDENTITAET|PUNKTIDENTITAET]] gibt es eine Untersektion mit dem Schlüsselwort <code>MESSLINIE</code>, die mit einem Datensatz <code>RJ = &lt;Riss/Jahr&gt;;</code> beginnt. Ein eigenständiger MESSLINIE-Block kennt '''kein''' <code>RJ =</code>.
* Baden-Württemberg: globale Option <code>$ML_CURVE_COO_Y_0</code> erzwingt im Messungslinienprotokoll den Rechtswert 0.0 für gerückte Punkte.
* Baden-Württemberg: globale Option <code>$ML_CURVE_COO_Y_0</code> erzwingt im Messungslinienprotokoll den Rechtswert 0.0 für gerückte Punkte.
* Alt-Dokumentation: [[MWT-Blöcke mit Anweisungen (Makros)-Das Makro MESSLINIE|Das Makro MESSLINIE]].


== Entwicklerhinweise ==
== Entwicklerhinweise ==
Zeile 94: Zeile 93:


'''Quellen im Code:'''
'''Quellen im Code:'''
* VERMCAD\VcEditorUtils.pas:2068 — Keyword-Zuordnung <code>ID[kMessLinie] := kwMessLinie</code>
* VERMCAD\VcEditorUtils.pas:2073 — Keyword-Zuordnung <code>ID[kMessLinie] := kwMessLinie</code>
* VERMCAD\VCSCHMWT.PAS:5555-5562 — automatische Erkennung des Übergangs Linienelemente → Neupunkte (inkl. <code>b</code>-Sonderfall)
* VERMCAD\VCSCHMWT.PAS:5815-5822 — automatische Erkennung des Übergangs Linienelemente → Neupunkte (inkl. <code>b</code>-Sonderfall)
* VERMCAD\VCSCHMWT.PAS:5975-5981 — Wertlesung der Neupunkte (erst Abszisse dk_X, dann Ordinate dk_Y)
* VERMCAD\VCSCHMWT.PAS:6235-6241 — Wertlesung der Neupunkte (erst Abszisse dk_X, dann Ordinate dk_Y)
* VERMCAD\VCSCHMWT.PAS:6499-6553 — Flags <code>b</code>/<code>s</code> hinter Linienelementen
* VERMCAD\VCSCHMWT.PAS:6776-6830 — Flags <code>b</code>/<code>s</code> hinter Linienelementen
* VERMCAD\VCSCHMWT.PAS:3334-3338 — <code>,Z</code>; 3281-3306 — <code>,ZS</code>; 3506-3512 — <code>,M</code>
* VERMCAD\VCSCHMWT.PAS:3350-3354 — <code>,Z</code>; 3297-3322 — <code>,ZS</code>; 3522-3528 — <code>,M</code>
* VERMCAD\VCDCHMWT.PAS:2642-2699 — Übernahme in <code>TCurveItem</code> (InsertCurve/InsertItems/InsertPunkt)
* VERMCAD\VCDCHMWT.PAS:2644-2701 — Übernahme in <code>TCurveItem</code> (InsertCurve/InsertItems/InsertPunkt)
* VERMCAD\VCCALC.PAS:265-268 — <code>TMessLinie</code>
* VERMCAD\VCCALC.PAS:267-270 — <code>TMessLinie</code>


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

Aktuelle Version vom 18. September 2026, 10:39 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 mit b) 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 Datensatz RJ = <Riss/Jahr>; beginnt. Ein eigenständiger MESSLINIE-Block kennt kein RJ =.
  • Baden-Württemberg: globale Option $ML_CURVE_COO_Y_0 erzwingt im Messungslinienprotokoll den Rechtswert 0.0 für gerückte Punkte.

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:2073 — Keyword-Zuordnung ID[kMessLinie] := kwMessLinie
  • VERMCAD\VCSCHMWT.PAS:5815-5822 — automatische Erkennung des Übergangs Linienelemente → Neupunkte (inkl. b-Sonderfall)
  • VERMCAD\VCSCHMWT.PAS:6235-6241 — Wertlesung der Neupunkte (erst Abszisse dk_X, dann Ordinate dk_Y)
  • VERMCAD\VCSCHMWT.PAS:6776-6830 — Flags b/s hinter Linienelementen
  • VERMCAD\VCSCHMWT.PAS:3350-3354 — ,Z; 3297-3322 — ,ZS; 3522-3528 — ,M
  • VERMCAD\VCDCHMWT.PAS:2644-2701 — Übernahme in TCurveItem (InsertCurve/InsertItems/InsertPunkt)
  • VERMCAD\VCCALC.PAS:267-270 — TMessLinie



[Nach oben]