Makro BOGENELEMENTE
Das Rechenmakro BOGENELEMENTE berechnet örtliche kartesische Koordinaten von Punkten bezüglich eines Kreisbogens; die Abszisse entspricht der Bogenlänge, die Ordinate dem radialen Abstand. Punkte können mit Flag b in den Bogen gerückt werden (Bedingungskoordinate = Lotfußpunkt auf dem Bogen). Es ist das Bogen-Gegenstück zu LINIENELEMENTE.
Syntaxregel
BOGENELEMENTE [, KOORDINATENSYSTEM <n> | , LS <n>] [, <Kopf-Parameter>]*
<NV> [<A>] <NR> [<Mass>|x] {, <NV> [<A>] <NR> [<Mass>|x]}* ; (Satz 1: Bogenpunkte, 1-3 Punkte)
[ R = <w> ; ] (Satz 2, wahlweise: Radius)
{ <NV> [<A>] <NR> ['b'|'s'] {, <NV> [<A>] <NR> ['b'|'s']}* ; }* (Elementpunkte)
END
| Regelelement | Bedeutung |
|---|---|
Satz 1 + R = |
Bogendefinition nach Bogen- und Liniendefinition: drei Punkte (ohne Radius-Satz), zwei Punkte + Radius oder Mittelpunkt + Radius. Der Radius steht als eigener Satz; negativer Radius kehrt die Bogenorientierung um. Wahlweise Maße (Bogenstationen) hinter den Bogenpunkten sind zulässig. |
b |
Kleinbuchstabe nach der Punktnummer: Punkt wird in den Bogen gerückt (Bedingungskoordinate, Flag B / cfCurveCoo). |
s |
wie b, zusätzlich Kennzeichnung als Sollwert.
|
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 |
| ZP | , ZP = <w> |
nein | zulässige Punktabweichung beim Rücken | alle |
| VR | , VR |
nein | Ergebnisse für den Vermessungsriss bereitstellen | alle |
| NETZ | , NETZ |
nein | berechnete Punkte dem Netz bereitstellen | alle |
Hinweis: ,ZS und die globale Rück-Option ,B sind bei BOGENELEMENTE — anders als bei LINIENELEMENTE — nicht zulässig; das Einrücken erfolgt nur punktweise mit b.
Datenzeilen
- Der Radius-Satz
R = w;ist nur als zweiter Satz zulässig und entfällt bei der Drei-Punkte-Definition. - Ab dem Satz nach der Bogendefinition folgen die Elementpunkte; Trennung beliebig mit Komma oder Semikolon; kein Punkt doppelt.
- Elementpunkte sind bestehende, koordinierte Punkte; Neupunkte aus Bogenmaßen berechnet BOGENPUNKTE.
Beispiele
Beispiel (allgemein, aus der Alt-Dokumentation)
BOGENELEMENTE, NR = 4
xx 3001,
xx 3000; R = 14.750; { Bogen aus zwei Punkten und Radius }
xx 3057 b, { Punkt wird in den Bogen gerückt }
xx 3121,
xx 3098 b; { Punkt wird in den Bogen gerückt }
xx 3097,
xx 3079;
END
Beispiel (Sachsen, echt — Geradheits-/Bogennachweis)
BOGENELEMENTE, NR = 58, DATUM = 22.02.2005, ZEIT = 09:33:05, PNR = 24, REM = 'Geradheitsnachweis GP 3732' 50 3745 , 50 3731 ; R = 8.100; 50 3732; 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. BRB, Anhalt, Sachsen, BW.
- Negative Radien sind zulässig (Bogen auf der anderen Seite der Sehne).
- Für das erzwungene Einrücken aller Elementpunkte in den Bogen: EINFLUCHTEN_BOGEN (neu seit 03.07.2026).
- Alt-Dokumentation: Das Makro BOGENELEMENTE.
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:2070 — Keyword-Zuordnung
ID[kBogenElement] := kwBogenElemente - VERMCAD\VCSCHMWT.PAS:5478-5494 — Radius-Satz nur bei Satznummer 2 (
RadiusInput); 5858-5866 — Lesen vonR = w - VERMCAD\VCSCHMWT.PAS:6315-6330 — wahlweise Maße hinter den Bogendefinitionspunkten (Satz 1)
- VERMCAD\VCSCHMWT.PAS:6499-6553 — Flags
b/shinter Elementpunkten; 3604-3605 —,VR - VERMCAD\VCDCHMWT.PAS:2642-2699 — Übernahme in
TCurveItem(Satz 2 = SetRadius, Folgesätze = InsertItems) - VERMCAD\VCCALC.PAS:342-350 —
TBogenElement