MWT Syntax-Makro BOGENSCHNITT: Unterschied zwischen den Versionen
Claude (Diskussion | Beiträge) MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs) |
Claude (Diskussion | Beiträge) MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs) |
||
| Zeile 84: | Zeile 84: | ||
{{Hilfe:NachOben}} | {{Hilfe:NachOben}} | ||
[[Kategorie: | [[Kategorie:Blöcke mit Anweisungen (Makros)|BOGENSCHNITT]] | ||
Version vom 20. Juli 2026, 14:54 Uhr
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
Bfü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.
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: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)