Zum Inhalt springen

MWT Syntax-Makro BOGENSCHNITT

Aus VermCAD Hilfe Wiki
Version vom 17. Juli 2026, 10:39 Uhr von Claude (Diskussion | Beiträge) (MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs))
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Das Rechenmakro BOGENSCHNITT berechnet den Schnittpunkt zweier Kreise (Bögen), und zwar denjenigen, der rechts der Strecke vom Mittelpunkt des ersten zum Mittelpunkt des zweiten Kreises liegt. Der Schnittpunkt erhält die berechnete Koordinate als Bedingungskoordinate.

Syntaxregel

BOGENSCHNITT [, KOORDINATENSYSTEM <n> | , LS <n>] [, <Kopf-Parameter>]*
  <Kreis1-Punkte> ;          (Satz 1: 1-3 Punkte der ersten Kreisdefinition)
  [ R = <w> ; ]              (Satz 2, wahlweise: Radius Kreis 1)
  <Kreis2-Punkte> ;          (Satz 3: 1-3 Punkte der zweiten Kreisdefinition)
  [ R = <w> ; ]              (Satz 4, wahlweise: Radius Kreis 2)
  <PBS-Schnittpunkt> ;       (Satz 5: Punktidentifikation des Schnittpunktes)
END
Regelelement Bedeutung
<Kreis1/2-Punkte> + R = Kreisbogendefinition nach Bogen- und Liniendefinition: drei Punkte, zwei Punkte + Radius oder Mittelpunkt + Radius. Der Radius steht jeweils als eigener Satz.
R = <w> Radius in Metern; negativer Radius zulässig (Bogen entgegen dem Uhrzeigersinn / Wahl der anderen Schnittlage).
<PBS-Schnittpunkt> Punktidentifikation des Schnittpunktes.

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/Lagestatus alle
ZP , ZP = <w> nein zulässige Punktabweichung alle
NETZ , NETZ nein Ergebnis fürs Netz bereitstellen alle

Datenzeilen

  • Sätze 1 und 3: je Kreis die Zwangspunkte, kommagetrennt. Im Regelfall des klassischen Bogenschnitts wird je Kreis nur ein Punkt (das Zentrum) angegeben, gefolgt vom Radius-Satz.
  • Sätze 2 und 4 (jeweils wahlweise): R = w;. Ein negativer Radius kehrt die Bogenorientierung um; damit lässt sich der links liegende Schnittpunkt wählen.
  • Satz 5: Punktidentifikation des Schnittpunktes; VMA und Flags wahlweise (Flag B für den berechneten Punkt üblich).

Beispiele

Beispiel (Thüringen, echt)

BOGENSCHNITT, NR = 6,
  DATUM = 13.07.2015, ZEIT = 15:41:03, PNR = 3,
  REM = 'PP 4 und Grenzpunkte'
  48        3833;    R =  12.010;
  48        3831;    R =  52.350;
  48  2     3834 000  B ;
END

Beispiel (allgemein, aus der Alt-Dokumentation — zweiter Kreis über zwei Punkte)

BOGENSCHNITT, NR = 1
  xx     3008; R = 10.14;       { Definition des ersten Kreises: Zentrum + Radius }

  xx     3001,
  xx     3000; R = -12.38;      { Definition des zweiten Kreises: 2 Punkte + negativer Radius }

  xx  x  3063  x;               { Schnittpunkt }

END

Die binären Codierungszeilen ergänzt VermCad automatisch.

Verfügbarkeit und Besonderheiten

  • Verfügbar in allen Bundesland-Versionen; in echten Projekten fast aller Länder verbreitet (Anhalt, Berlin, BRB, BW, MV, NS, SX, THR).
  • Von den zwei möglichen Schnittpunkten wird der rechts der Zentrenverbindung (Zentrum 1 → Zentrum 2) liegende berechnet; die andere Lösung erreicht man durch Tausch der beiden Kreise oder negativen Radius.
  • Für einen überbestimmten Bogenschnitt aus mehr als zwei Strecken siehe M_BOGENSCHNITT.
  • Alt-Dokumentation: Das Makro BOGENSCHNITT.

Quellen im Code

  • VERMCAD\VcEditorUtils.pas:2079 — Keyword-Zuordnung ID[kBogenSchnitt] := kwBogenSchnitt
  • VERMCAD\VCSCHMWT.PAS:5484 — Radius-Sätze an geraden Satznummern (ActualNumRecords MOD 2 = 0)
  • VERMCAD\VCSCHMWT.PAS:5957-5960 — ab Satz 5 Punktidentifikation des Schnittpunktes
  • VERMCAD\VCDCHMWT.PAS:2785-2793 — Satzzuordnung: 1/3 = Kreise, 2/4 = Radien, 5 = Schnittpunkt
  • VERMCAD\VCCALC.PAS:7842-7846 — Schnittpunktwahl (erst linker, dann rechter Schnittpunkt beim Löschen/Tauschen)



[Nach oben]