Zum Inhalt springen

MWT Syntax-Makro ENTFERNUNGEN: Unterschied zwischen den Versionen

Aus VermCAD Hilfe Wiki
Sachkorrektur nach dem Code: A_NR nur Brandenburg und Berlin, fehlende A-Spalte wird bei höchstens einem Maß selbst ergänzt; $WS_D ersetzt ZS bei der Prüfung statt Standard zu sein; VR und VRDS richtig beschrieben
Entwicklerhinweise: Zeilennummern an den Code vom 18.09.2026 angeglichen
Zeile 104: Zeile 104:


'''Quellen im Code:'''
'''Quellen im Code:'''
* VERMCAD\VcEditorUtils.pas:2061 — Keyword-Zuordnung <code>ID[kEntfernung] := kwEntfernungen</code>
* VERMCAD\VcEditorUtils.pas:2064 — Keyword-Zuordnung <code>ID[kEntfernung] := kwEntfernungen</code>
* VERMCAD\VCSCHMWT.PAS:6397-6461 — A-Spalten-Behandlung (nur <code>A_NR</code>, include\OurIncludes.inc:5-6: Berlin, BRB): Beim ersten Punkt einer Zweipunkt-Zeile (ENTFERNUNGEN/KOORDINATENVERGLEICH) gilt die A-Spalte als vorhanden, wenn nach der NV mehr als vier Angaben folgen (<code>NumberNextTerms(0) > 4</code>), beim zweiten Punkt entscheidet die Wortfolge. Wird keine A-Spalte erkannt, fügt der Compiler bei diesen beiden Makros <code>x</code> (<code>MisChar</code>) in den Quelltext ein (<code>InsertNewText</code>, 6448-6461). <code>Equal_A</code> (VCPUNKT.PAS) wertet den A-Wert beim Punktvergleich nicht aus
* VERMCAD\VCSCHMWT.PAS:6397-6461 — A-Spalten-Behandlung (nur <code>A_NR</code>, include\OurIncludes.inc:5-6: Berlin, BRB): Beim ersten Punkt einer Zweipunkt-Zeile (ENTFERNUNGEN/KOORDINATENVERGLEICH) gilt die A-Spalte als vorhanden, wenn nach der NV mehr als vier Angaben folgen (<code>NumberNextTerms(0) > 4</code>), beim zweiten Punkt entscheidet die Wortfolge. Wird keine A-Spalte erkannt, fügt der Compiler bei diesen beiden Makros <code>x</code> (<code>MisChar</code>) in den Quelltext ein (<code>InsertNewText</code>, 6448-6461). <code>Equal_A</code> (VCPUNKT.PAS) wertet den A-Wert beim Punktvergleich nicht aus
* VERMCAD\VCSCHMWT.PAS:6312-6376 — Maßlesung (1 Wert = Sollmaß, 2 Werte = Anlege-/Endmaß, Verschieben des Anlegemaßes zum ersten Punkt), <code>REM</code>-Lesung
* VERMCAD\VCSCHMWT.PAS:6572-6636 — Maßlesung (1 Wert = Sollmaß, 2 Werte = Anlege-/Endmaß, Verschieben des Anlegemaßes zum ersten Punkt), <code>REM</code>-Lesung
* VERMCAD\VCSCHMWT.PAS:3281-3306 — <code>,ZS</code> inkl. Berliner Form <code>D1|D2|D3</code>; 3317-3332 veraltete <code>ZS1</code>/<code>ZSS</code>
* VERMCAD\VCSCHMWT.PAS:3297-3322 — <code>,ZS</code> inkl. Berliner Form <code>D1|D2|D3</code>; 3333-3348 veraltete <code>ZS1</code>/<code>ZSS</code>
* VERMCAD\VCSCHMWT.PAS:3620-3623 — <code>,VR</code>/<code>,VRDS</code> (Wirkung VR: VCLIST_BRB.PAS:954-956, VcList_NRW.pas:994; VRDS: VCPUNKT.PAS:26314-26364, VCLIST_BRB.PAS:417); 3506-3512 — <code>,M</code>; 3005-3011 — Anhalt <code>,LS</code>; 3428-3436 — Berlin <code>,TO_PID</code>
* VERMCAD\VCSCHMWT.PAS:3620-3623 — <code>,VR</code>/<code>,VRDS</code> (Wirkung VR: VCLIST_BRB.PAS:954-956, VcList_NRW.pas:994; VRDS: VCPUNKT.PAS:26314-26364, VCLIST_BRB.PAS:417); 3522-3528 — <code>,M</code>; 3021-3027 — Anhalt <code>,LS</code>; 3444-3452 — Berlin <code>,TO_PID</code>
* VERMCAD\VCSCHMWT.PAS:6631-6644 — Semikolon-Pflicht nach jedem Punktpaar
* VERMCAD\VCSCHMWT.PAS:6908-6921 — Semikolon-Pflicht nach jedem Punktpaar
* VERMCAD\VCDCHMWT.PAS:2617-2633 — Übernahme in <code>TEntfernungsKontrolle</code> (ZS, LSYXDistances, VR, Berlin-Optionen)
* VERMCAD\VCDCHMWT.PAS:2619-2635 — Übernahme in <code>TEntfernungsKontrolle</code> (ZS, LSYXDistances, VR, Berlin-Optionen)
* VERMCAD\VCCALC.PAS:108-130, 2548-2622 — <code>TEntfernungsKontrolle</code>: Streckenberechnung, Anlege-/Endmaß-Prüfung (<code>CheckAnlegeEndMass</code>); 1983-2031 <code>ActZS</code> (Blockwert bzw. Formel, auch für die Listen-Kennzeichen), 2341-2345 <code>WS_D_Toleranz</code> (<code>$WS_D</code> überschreibt <code>ZS</code> bei der Prüfung)
* VERMCAD\VCCALC.PAS:108-130, 2548-2622 — <code>TEntfernungsKontrolle</code>: Streckenberechnung, Anlege-/Endmaß-Prüfung (<code>CheckAnlegeEndMass</code>); 1983-2031 <code>ActZS</code> (Blockwert bzw. Formel, auch für die Listen-Kennzeichen), 2341-2345 <code>WS_D_Toleranz</code> (<code>$WS_D</code> überschreibt <code>ZS</code> bei der Prüfung)


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

Version vom 18. September 2026, 10:38 Uhr

Das Rechenmakro ENTFERNUNGEN (Entfernungskontrollen, Spannmaße) berechnet die Entfernung zwischen je zwei Punkten aus deren Koordinaten und vergleicht sie bei Bedarf mit einer gemessenen Strecke (Sollmaß bzw. Anlege- und Endmaß).

Syntaxregel

ENTFERNUNGEN [, KOORDINATENSYSTEM <n> | , LS <n>] [, <Kopf-Parameter>]*
  { <NV> [<A>] <NR>['#']   <NV> [<A>] <NR>['#']   [<w1> [<w2>] | x]   [REM = '<text>'] ; }*
END
Regelelement Bedeutung
<NV> [<A>] <NR> Punktidentifikation (kurze Form, ohne VMA/Flags) der beiden Punkte je Datensatz. In den Editionen mit dem Compiler-Define A_NR (Brandenburg, Berlin) gehört die A-Spalte (Punktart) hier zu jedem der beiden Punkte (NV A NR NV A NR …). Ob sie dasteht, erkennt der Compiler an der Zahl der Angaben im Satz: Folgen auf die erste NV höchstens vier Angaben (die beiden Punkte ohne A und höchstens ein Maß oder x), fügt er beim Übersetzen den Platzhalter x selbst in den Text ein. Bei mehr Angaben — etwa Anlege- und Endmaß — nimmt er die A-Spalte als vorhanden an; fehlt sie dann, liest er die Punktnummer als Punktart und meldet einen Fehler. Als A genügt der Platzhalter x. In den übrigen Editionen entfällt die A-Spalte. Suffix # = untergegangener Punkt (historischer Wert) ist erlaubt.
<w1> (allein) Sollmaß = gemessene Strecke in Metern; wird mit der aus Koordinaten gerechneten Strecke verglichen.
<w1> <w2> Anlegemaß und Endmaß; gemessene Strecke = w2 − w1. Das Anlegemaß wird intern dem ersten Punkt zugeordnet.
x Platzhalter „kein Maß": nur Berechnung der Strecke, kein Vergleich.
REM = '…' freier Text je Datensatz (i. a. die Rissnummer als Quellenangabe).

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 (direkt nach dem Schlüsselwort) alle
ZS , ZS = <w> nein zulässige Spannmaßabweichung für diesen Block; ohne Angabe gilt die zulässige Streckenabweichung des Projekts, ein negativer Wert erzwingt die Formel für nicht einwandfreie Vermessungen. Ist die globale Option $WS_D gesetzt, prüft VermCad beim Rechnen gegen diesen Wert statt gegen ZS; die Kennzeichen der Ergebnisliste richten sich weiter nach ZS. Veraltete Formen ZS1, ZSS werden automatisch ersetzt alle
ZS (Berlin) , ZS = D1|D2|D3 nein zulässige Abweichung als Berliner Toleranzklasse statt Zahlenwert nur Berlin
M , M = <w> nein Multiplikationsfaktor, mit dem alle Maße des Blocks multipliziert werden (auch reziprok M = 1/0.9987) alle
VR , VR nein Strecken in die Liste zum Vermessungsriss übernehmen: in Brandenburg als Örtliche Grenzlängen, in Nordrhein-Westfalen als Spannmaßkontrollen der VP-Liste (Dialogschalter hinzuf.) wirksam in Brandenburg und Nordrhein-Westfalen
VRDS , VRDS nein Hat ein Punkt keine andere Kontrolle, gilt in der Liste zum Vermessungsriss die größte Abweichung aus diesen Entfernungskontrollen als sein ds; die Bildschirmliste vermerkt ds nur aus Entf.-Kontrollen (Dialogschalter als ds) Brandenburg
LS , LS (ohne Zahl) nein Strecken zusätzlich aus den LS-Koordinaten (Landessystem) rechnen und die Differenz dS ausweisen nur Sachsen-Anhalt
TO_PID , TO_PID nein Entfernungen zusätzlich in den PID-Nachweis übernehmen nur Berlin

Datenzeilen

  • Jeder Datensatz enthält genau zwei Punktidentifikationen und endet mit ; (Pflicht).
  • Nach dem zweiten Punkt folgt wahlweise das Maß: ein Wert = Sollmaß, zwei Werte = Anlegemaß und Endmaß, x oder nichts = nur Berechnung.
  • REM = '…' darf nur nach dem Maß (bzw. nach den Punkten) am Satzende stehen.
  • Es sind beliebig viele Datensätze je Block zulässig.

Beispiele

Beispiel (allgemein, aus der Alt-Dokumentation)

ENTFERNUNGEN, NR = 1

  xx  1537       xx  1539    10.450;       { Berechnung und Vergleich }
  xx  1535       xx  1536     2.15  61.200;       { Anlege- u. Endmaß }
  xx  1518       xx  1678    17.350    REM = 'FR 14';     { Bemerkung }
  xx  1454       xx  1540;                           { nur Berechnung }

END

Beispiel (Baden-Württemberg, echt)

BW verwendet die Gemarkungsnummer als NV und Punktnummern der Form NR/Unternummer; x steht für „kein Maß":

ENTFERNUNGEN, NR = 1,
  DATUM = 25.03.2026,
  ZEIT = 13:31:37,
  PNR = 2,
  KN = 'VP'
 0390  70/0      0390  70/4         x  ;
 0390  70/4      0390  70/3         x  ;
END

Die binären Codierungszeilen (Änderungsdatum/Nutzer) ergänzt VermCad automatisch; sie sind hier weggelassen.

Beispiel (Brandenburg/Berlin, A_NR-Edition — A-Spalte Pflicht)

Hier trägt jeder der beiden Punkte die Punktart-Spalte (hier Platzhalter x). Fehlt sie, ergänzt der Compiler das x in der ersten Zeile selbst; die zweite Zeile (Anlege- und Endmaß) schlägt fehl:

ENTFERNUNGEN, NR = 1, ZS = 0.15, VR
  64  x  101      64  x  102     100.000;
  64  x  111      64  x  112     0.000  200.000;
END

Verfügbarkeit und Besonderheiten

  • Verfügbar in allen Bundesland-Versionen; eines der häufigsten Rechenmakros (in echten Projekten fast aller Länder, besonders Sachsen, BW, Anhalt).
  • Toleranzvorgabe: ohne ,ZS gilt die zulässige Streckenabweichung des Projekts. Die globale Option $WS_D (unter Zulässige Abweichungen die Zul. Differenz der Entfernungskontrolle, voreingestellt nicht gesetzt) ersetzt, wenn sie gesetzt ist, bei der Prüfung jeden Blockwert ZS.
  • Brandenburg: mit der globalen Option $MESS_PID werden für Entfernungskontrollen Messwerte den Soll-Vorgaben vorgezogen.
  • Verwechslungsgefahr: Das Schlüsselwort ENTFERNUNGEN kommt auch als Untersektion in anderen Makros vor und hat dort eine andere Syntax:
    • in NETZAUSGLEICH als Beobachtungsliste individueller Streckengenauigkeiten,
    • in TRANSFORMATION als eingebettete Streckenpaar-Sektion,
    • in VKTRANSFORMATION als Beobachtungsliste (Spannmaße aus Rissen, Kopf mit SYSID =, TITEL =, MF_S =, DFHD) — diese „Belegform" ist kein eigenständiger ENTFERNUNGEN-Block. Ein Abschnitt darf mehrere Von-Punkte enthalten: jeder Satz ohne Wert setzt einen neuen Von-Punkt, alle folgenden Sätze mit Wert sind Spannmaße von diesem Punkt aus (analog zu den Standpunkten bei RICHTUNGEN; VCCALCVT.PAS, Zweig vaS/vaHz).

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:2064 — Keyword-Zuordnung ID[kEntfernung] := kwEntfernungen
  • VERMCAD\VCSCHMWT.PAS:6397-6461 — A-Spalten-Behandlung (nur A_NR, include\OurIncludes.inc:5-6: Berlin, BRB): Beim ersten Punkt einer Zweipunkt-Zeile (ENTFERNUNGEN/KOORDINATENVERGLEICH) gilt die A-Spalte als vorhanden, wenn nach der NV mehr als vier Angaben folgen (NumberNextTerms(0) > 4), beim zweiten Punkt entscheidet die Wortfolge. Wird keine A-Spalte erkannt, fügt der Compiler bei diesen beiden Makros x (MisChar) in den Quelltext ein (InsertNewText, 6448-6461). Equal_A (VCPUNKT.PAS) wertet den A-Wert beim Punktvergleich nicht aus
  • VERMCAD\VCSCHMWT.PAS:6572-6636 — Maßlesung (1 Wert = Sollmaß, 2 Werte = Anlege-/Endmaß, Verschieben des Anlegemaßes zum ersten Punkt), REM-Lesung
  • VERMCAD\VCSCHMWT.PAS:3297-3322 — ,ZS inkl. Berliner Form D1|D2|D3; 3333-3348 veraltete ZS1/ZSS
  • VERMCAD\VCSCHMWT.PAS:3620-3623 — ,VR/,VRDS (Wirkung VR: VCLIST_BRB.PAS:954-956, VcList_NRW.pas:994; VRDS: VCPUNKT.PAS:26314-26364, VCLIST_BRB.PAS:417); 3522-3528 — ,M; 3021-3027 — Anhalt ,LS; 3444-3452 — Berlin ,TO_PID
  • VERMCAD\VCSCHMWT.PAS:6908-6921 — Semikolon-Pflicht nach jedem Punktpaar
  • VERMCAD\VCDCHMWT.PAS:2619-2635 — Übernahme in TEntfernungsKontrolle (ZS, LSYXDistances, VR, Berlin-Optionen)
  • VERMCAD\VCCALC.PAS:108-130, 2548-2622 — TEntfernungsKontrolle: Streckenberechnung, Anlege-/Endmaß-Prüfung (CheckAnlegeEndMass); 1983-2031 ActZS (Blockwert bzw. Formel, auch für die Listen-Kennzeichen), 2341-2345 WS_D_Toleranz ($WS_D überschreibt ZS bei der Prüfung)



[Nach oben]