Zum Inhalt springen

AUSGLEICHGERADEN

Aus VermCAD Hilfe Wiki
Version vom 21. September 2026, 09:21 Uhr von Claude (Diskussion | Beiträge) (Entwicklerhinweise: Dateiname vor Zeilenangaben ergänzt, die hinter einer anderen Unit standen)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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 wird im Makrokopf zwar angenommen, aber nicht ausgewertet: VermCad setzt den Wert vor der ersten Geraden zurück. Die zulässige Punktabweichung gibt man je Gerade über den ZP-Satz an 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.
  • Steht ein Punkt in zwei Geraden, ist aber nur in einer davon mit b gerückt, meldet VermCad den Fehler Punkt wurde in andere Gerade gerückt. Die aktuelle Gerade geht nicht durch diesen Punkt ! (wahrscheinlich vergessene zweite Bedingung), und die Berechnung hält an. Mit NE im Makrokopf (im Dialogfenster Fehler aus) oder der globalen Option $NE erscheint die Meldung nur als Hinweis, und VermCad rechnet weiter.
  • Für Lotfußpunkte als eigene Neupunkte (statt Rücken des Originalpunkts) siehe LOTFUSSPUNKTE.

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:2077 — Keyword-Zuordnung ID[kAusgleichGeraden] := kwAusgleichGeraden
  • VERMCAD\VCSCHMWT.PAS:5790-5804, 6186-6190 — Dreiergruppen-Zählung, Komma = neue Gerade, ZP = w;-Zusatzsatz; ErrTolZP wird zu Beginn jedes Satzes zurückgesetzt, ein ZP im Makrokopf (gelesen 5152) erreicht die Übernahme deshalb nicht; 3968-3977 — leere Sätze erhöhen den Satzzähler
  • VERMCAD\VCSCHMWT.PAS:6697-6700 — wahlweiser Wert <mf> je Geradenpunkt (dk_MFa)
  • VERMCAD\VCSCHMWT.PAS:6776-6830 — Flags b/s/o in der Geradendefinition
  • VERMCAD\VCDCHMWT.PAS:2703-2717 — Zuordnung: mod 3 = 0 Gerade (+ZP), 1 Startpunkt, 2 Endpunkt
  • VERMCAD\VCCALCVT.PAS:52-97, 913-1055 — TAusgleichGeradenItem: Lotfußpunkt bei einer, Geradenschnitt bei zwei b-Bedingungen, Start-/Endpunkt-Koordinaten; 997-1007 caMisCondition (nicht fatal, GlobalTypes.pas:1116; mit NE nur Hinweis), Text VCCALCVT.PAS:824-833 (TAusgleichGeradenItem.GetErrorMessage)
  • VERMCAD\VCPUNKT.PAS:29822 ff. — TDataPunkte.AusgleichGerade: Gewichtung 1/mf², Ausschluss passiver Punkte (o)



[Nach oben]