Zum Inhalt springen

AUSGLEICHGERADEN

Aus VermCAD Hilfe Wiki
Version vom 20. Juli 2026, 14:54 Uhr von Claude (Diskussion | Beiträge) (MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs))

Das Rechenmakro AUSGLEICHGERADEN berechnet eine oder mehrere ausgleichende Geraden über beliebig viele Punkte (gewichtete Ausgleichung). Punkte mit Bedingung b werden auf die ausgeglichene Gerade gelotet; steht ein Punkt mit b in zwei Geraden, erhält er den Schnittpunkt beider ausgeglichener Geraden als Bedingungskoordinate.

Syntaxregel

AUSGLEICHGERADEN [, KOORDINATENSYSTEM <n> | , LS <n>] [, <Kopf-Parameter>]*
  {                                                              (je ausgleichender Geraden:)
    <NV> [<A>] <NR> [<mf>] ['b'|'s'|'o'] {, <NV> [<A>] <NR> [<mf>] ['b'|'s'|'o']}+ ;   (Punkte der Geraden)
    [ ZP = <w> ; ]                                               (wahlweise: Punkttoleranz dieser Geraden)
    [ <PBS-Startpunkt> ; ]                                       (wahlweise: Neupunkt am Geradenanfang)
    [ <PBS-Endpunkt> ; ]                                         (wahlweise: Neupunkt am Geradenende)
  }+
END
Regelelement Bedeutung
Punkte der Geraden kurze Punktidentifikation, kommagetrennt, Abschluss ;. Ein Satz mit Komma gilt stets als neue Geradendefinition — dadurch dürfen ZP-, Start- und Endpunktsatz einfach entfallen.
<mf> wahlweiser Zahlenwert je Punkt = mittlerer Fehler a priori; der Punkt geht mit Gewicht 1/mf² in die Ausgleichung ein.
b Punkt wird auf die ausgeglichene Gerade gelotet (Bedingungskoordinate). Steht derselbe Punkt mit b in genau zwei Geraden des Makros, erhält er den Schnittpunkt beider Geraden. Mehr als zwei b-Bedingungen je Punkt sind ein Fehler.
s wie b, zusätzlich Kennzeichnung als Sollwert.
o Punkt nimmt nicht an der Ausgleichung teil (passiv); er wird nur protokolliert.
Start-/Endpunkt je ein einzelner Punkt (vollständige Punktbeschreibung, ohne Komma im Satz); erhält als Bedingungskoordinate den Anfangs- bzw. Endpunkt der ausgeglichenen Geraden (Lotfußpunkte des ersten/letzten aktiven Punktes).

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
NA , NA nein normale Abhängigkeitsbehandlung des Makros (keine Ausnahmeregel für Durchfluchtung) alle
ZP , ZP = <w> nein zulässige Punktabweichung (Blockvorgabe; je Gerade über den ZP-Satz überschreibbar) alle
NETZ , NETZ nein berechnete Punkte dem Netz bereitstellen alle

Datenzeilen

  • Die Sätze werden intern in Dreiergruppen je Gerade gezählt: Geradendefinition — Startpunkt — Endpunkt. Der Satz ZP = w; unmittelbar nach einer Geradendefinition zählt nicht mit (reiner Zusatz).
  • Leere Sätze (nur ;) rücken den Satzzähler weiter und können Start-/Endpunkt-Plätze überspringen; einfacher ist es, direkt die nächste Geradendefinition (Satz mit Komma) folgen zu lassen.
  • Ein Punkt mit b muss in der Geradendefinition selbst stehen; die gerückte Koordinate ersetzt seine bisherige nur nach den üblichen Bedingungsregeln (Flag B).

Beispiele

Beispiel (allgemein, aus der Alt-Dokumentation — Punkt 5 im Schnitt zweier Geraden)

AUSGLEICHGERADEN, NR = 1,

  xx 4 ,
  xx 5 b,
  xx 3 ;                       { Definition erste Gerade }

  xx 1 ,
  xx 5 b,
  xx 2 ;                       { Definition zweite Gerade }

END

Beispiel (Thüringen, echt — mit Gewichtsspalte und Start-/Endpunkt)

AUSGLEICHGERADEN, NR = 168,

  DATUM = 15.09.2015,
  ZEIT = 15:12:07,
  PNR = 3,
  KN = 'Birkenhügel-Lerchenhügel Feldriß 15 vom 11.06.1921',
  REM = 'Flst 125/96-119/96'

  49       20740      0.0000,
  49       10203     22.5500,
  49       10202     28.6000,
  49       10258     53.3000,
  49       10257     77.7500,
  49       10256    102.3000,
  49       10255    126.2500,
  49       10254    150.4500,
  49       10250    167.5500;

  xx  1 49-20740 000  x ;      { Startpunkt der ausgeglichenen Geraden }
  xx  1 49-10250 000  x ;      { Endpunkt der ausgeglichenen Geraden   }
END

Die binären Codierungszeilen ergänzt VermCad automatisch; sie sind hier weggelassen.

Verfügbarkeit und Besonderheiten

  • Verfügbar in allen Bundesland-Versionen; in echten Projekten v. a. Sachsen und Thüringen, daneben Anhalt, BW, BRB, Berlin.
  • Sind zwei Geraden vorhanden und ein Punkt nur in einer davon mit b gerückt, gibt VermCad einen Hinweis (wahrscheinlich vergessene zweite Bedingung).
  • Für Lotfußpunkte als eigene Neupunkte (statt Rücken des Originalpunkts) siehe LOTFUSSPUNKTE.
  • Alt-Dokumentation: Das Makro AUSGLEICHGERADEN.

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:2072 — Keyword-Zuordnung ID[kAusgleichGeraden] := kwAusgleichGeraden
  • VERMCAD\VCSCHMWT.PAS:5531-5544 — Dreiergruppen-Zählung, Komma = neue Gerade, ZP = w;-Zusatzsatz; 3952-3958 — leere Sätze erhöhen den Satzzähler
  • VERMCAD\VCSCHMWT.PAS:6437-6440 — wahlweiser Wert <mf> je Geradenpunkt (dk_MFa)
  • VERMCAD\VCSCHMWT.PAS:6499-6553 — Flags b/s/o in der Geradendefinition
  • VERMCAD\VCDCHMWT.PAS:2701-2715 — Zuordnung: mod 3 = 0 Gerade (+ZP), 1 Startpunkt, 2 Endpunkt
  • VERMCAD\VCCALCVT.PAS:51-97, 836-1027 — TAusgleichGeradenItem: Lotfußpunkt bei einer, Geradenschnitt bei zwei b-Bedingungen, Start-/Endpunkt-Koordinaten
  • VERMCAD\VCPUNKT.PAS:29790 ff. — TDataPunkte.AusgleichGerade: Gewichtung 1/mf², Ausschluss passiver Punkte (o)



[Nach oben]