Makro RECHTWINKELZUG
Das Rechenmakro RECHTWINKELZUG (veralteter Alias: POLYGONPUNKTE) berechnet einen rechtwinkligen Zug (Orthogonalzug): Ausgehend von einer Bezugslinie werden Zugpunkte über rechtwinklige Abszissen- und Ordinatenmaße bestimmt. Restklaffen an koordinatenmäßig bekannten Zugpunkten werden getrennt nach Y und X proportional zu den Seitenlängen verteilt, so dass die Rechtwinkligkeit erhalten bleibt.
Syntaxregel
RECHTWINKELZUG [, KOORDINATENSYSTEM <n> | , LS <n>] [, <Kopf-Parameter>]*
<NV> <NR> { , <NV> <NR> }+ ; (Satz 1: Bezugslinie, mind. 2 Punkte)
{ <NV> <NR> ; }* (Anschluss-/Passpunkte, je Satz 1 Punkt)
{ <PBS-Zugpunkt> [<MassX> [<MassY>]] ; }* (Zugpunkte mit rechtwinkligen Maßen)
END
| Regelelement | Bedeutung |
|---|---|
| Satz 1 | Definition der Bezugslinie nach Bogen- und Liniendefinition (Anfangs- und Endpunkt; die Linie gibt Anfangspunkt und Ausgangsrichtung des Zuges vor). Ein Verschiebesatz (P/V/S) wird hier nicht unterstützt. |
| Anschluss-/Passpunkt-Sätze | koordinatenmäßig bekannte Punkte, an denen der Zug angeschlossen bzw. abgeschlossen wird; je Satz genau ein Punkt in Kurzform NV NR; (ohne Maße, ohne Flags).
|
<PBS-Zugpunkt> |
vollständige Punktidentifikation (NV A NR VMA Flags; Neupunkte mit Flag B) mit bis zu zwei wahlweisen Werten: MassX = Seitenmaß in Zugrichtung (Abszisse), MassY = rechtwinkliges Seitenmaß (Ordinate, positiv nach rechts). Bei einem rechtwinkligen Zug ist je Seite in der Regel genau eines der beiden Maße ungleich 0.
|
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 |
| M | , M = <w> |
nein | Multiplikationsfaktor für alle Maße des Blocks | alle |
| VRK | , VRK |
nein | Restklaffenverteilung (Transformationsvariante) | alle |
| ZP | , ZP = <w> |
nein | zulässige Punktabweichung | alle |
| NETZ | , NETZ |
nein | berechnete Punkte fürs Netz bereitstellen | alle |
Datenzeilen
- Der Zug beginnt am ersten Punkt der Bezugslinie; die Linie gibt die Ausgangsrichtung vor. Die erste Seite verläuft je nach Maß in Zugrichtung (
MassX) oder rechtwinklig dazu (MassY). - Jeder Zugpunkt-Satz beschreibt die Seite vom vorhergehenden zum aktuellen Punkt als Koordinatenzuwachs im rechtwinkligen Liniensystem. Vorzeichen: Abszisse positiv in Zugrichtung, Ordinate positiv nach rechts.
- Für koordinatenmäßig bekannte Punkte im Zug dürfen die Maße fehlen; VermCad berechnet die Seite dann aus den Linienkoordinaten der bereits bekannten Punkte (Kontrolle/Abschluss).
- Fehlerverteilung: Die am Zugende auftretenden Differenzen ΔY und ΔX werden getrennt und proportional zu den jeweiligen Seitenlängen verteilt (Rechtwinkligkeit bleibt erhalten); Überschreitungen der zulässigen Abweichung werden gemeldet.
- Transform- und Bedingungsflags (
b,s,o) hinter den Punkten der Anschluss-Sätze sind — anders als z. B. bei LINIENELEMENTE — nicht zulässig.
Beispiele
Beispiel (Sachsen, echt)
RECHTWINKELZUG, NR = 14,
DATUM = 01.09.2023,
ZEIT = 11:19:06,
PNR = 3,
KN = 'Haus auf Flurstück 48/1, F19'
xx 78 ,
xx 77 ; { Bezugslinie }
xx 78; { Anschluss-/Passpunkte }
xx 206;
xx 77;
xx x 803 x B 0.000 -3.220; { 3.22 m rechtwinklig nach links }
xx x 206 x B 6.560 0.000; { 6.56 m in Zugrichtung }
END
Die binären Codierungszeilen ergänzt VermCad automatisch.
Verfügbarkeit und Besonderheiten
- Verfügbar in allen Bundesland-Versionen; in echten Projekten v. a. in Baden-Württemberg und Sachsen beobachtet.
- Alias: Das veraltete Schlüsselwort
POLYGONPUNKTEwird weiterhin als RECHTWINKELZUG interpretiert. - Nicht zu verwechseln mit dem POLYGONZUG (polarer Zug über Winkel und Strecken im Netz).
- Alt-Dokumentation: Das Makro RECHTWINKELZUG.
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:2069, 144, 513 — Keyword-Zuordnung
ID[kPolygonPunkt] := kwRechtwinkelZug; AliaskwRechtwinkelZugOld = 'POLYGONPUNKTE'(GlobalConsts.pas:1541-1542) - VERMCAD\VCSCHMWT.PAS:5503-5506 — Satz 2 wird übersprungen (kein Verschiebesatz unterstützt)
- VERMCAD\VCSCHMWT.PAS:5546-5552 — Erkennung der Zugpunkt-Sätze (
PunktInput: mehr als 5 Terme bzw. volle PBS) - VERMCAD\VCSCHMWT.PAS:5994-5996 — je Zugpunkt zwei wahlweise Werte (
dk_X= Abszisse,dk_Y= Ordinate) - VERMCAD\VCSCHMWT.PAS:6536-6538, 6640 — keine Transform-/Bedingungsflags; Anschluss-Sätze je ein Punkt mit Semikolon
- VERMCAD\VCSCHMWT.PAS:3507-3512, 3594-3600 — Kopf-Parameter
,M = wund,VRKfür RECHTWINKELZUG zulässig - VERMCAD\VCDCHMWT.PAS:2647, 2676-2677, 2692-2698 — Satzzuordnung: 1 = Bezugslinie, Items = Anschluss-/Passpunkte, Zugpunkte via
InsertPunkt - VERMCAD\VCCALC.PAS:308-329, 5763-5860 —
TPolygonPunkt;CalculatePolygon(Seitenermittlung, getrennte Fehlerverteilung Y/X)