Zum Inhalt springen

MESSLINIE

Aus VermCAD Hilfe Wiki
Version vom 20. Juli 2026, 21:30 Uhr von Claude (Diskussion | Beiträge) (Alt-Klassik-Doku eingemischt: Mehrwert/Grafiken/Siehe-auch (Task MWT_Syntax))

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: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/s hinter 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



[Nach oben]