MWT Syntax-Makro RECHTWINKELZUG: 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) Entwicklerhinweise: Zeilennummern an den Code vom 18.09.2026 angeglichen |
||
| (3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 67: | Zeile 67: | ||
</pre> | </pre> | ||
Die binären Codierungszeilen ergänzt VermCad automatisch. | Die binären Codierungszeilen ergänzt VermCad automatisch. | ||
=== Beispiel (praktisch, vollständig — vier neue Hausecken) === | |||
Vollständiges Beispiel: Vier neue Hausecken (111/222/333/444) werden rechtwinklig zur Bezugslinie 1→2 bestimmt. | |||
<pre> | |||
NUMMERIERUNGSBEZIRKE | |||
{ NV Numerierungsbezirk } | |||
{---------------------------} | |||
35 54563335; | |||
34 54563334; | |||
END | |||
VORGABEN | |||
{ NV A NR VAT F Werte } | |||
{--------------------------------------------------------------} | |||
35 1 1 000 SA Y =5433796.840 X =5635006.540; | |||
35 1 2 000 SA Y =5433970.240 X =5635007.710; | |||
END | |||
RECHTWINKELZUG, NR = 1, | |||
DATUM = 07.12.2005, | |||
ZEIT = 08:18:11 | |||
35 2 , | |||
35 1 ; | |||
35 1; | |||
35 2; | |||
xx 3 111 x B 10.000 10.000; | |||
xx 3 222 x B 10.000 0.000; | |||
xx 3 333 x B 0.000 10.000; | |||
xx 3 444 x B -10.000 0.000; | |||
END | |||
</pre> | |||
== Verfügbarkeit und Besonderheiten == | == Verfügbarkeit und Besonderheiten == | ||
| Zeile 72: | Zeile 115: | ||
* '''Alias:''' Das veraltete Schlüsselwort <code>POLYGONPUNKTE</code> wird weiterhin als RECHTWINKELZUG interpretiert. | * '''Alias:''' Das veraltete Schlüsselwort <code>POLYGONPUNKTE</code> wird weiterhin als RECHTWINKELZUG interpretiert. | ||
* Nicht zu verwechseln mit dem [[MWT Syntax-Makro POLYGONZUG|POLYGONZUG]] (polarer Zug über Winkel und Strecken im Netz). | * Nicht zu verwechseln mit dem [[MWT Syntax-Makro POLYGONZUG|POLYGONZUG]] (polarer Zug über Winkel und Strecken im Netz). | ||
* | |||
== Siehe auch == | |||
* [[Rechnen Menü-Das Dialogfenster Rechtwinkelzug|Das Dialogfenster Rechtwinkelzug]] | |||
== Entwicklerhinweise == | == Entwicklerhinweise == | ||
| Zeile 78: | Zeile 123: | ||
'''Quellen im Code:''' | '''Quellen im Code:''' | ||
* VERMCAD\VcEditorUtils.pas: | * VERMCAD\VcEditorUtils.pas:2074, 144, 513 — Keyword-Zuordnung <code>ID[kPolygonPunkt] := kwRechtwinkelZug</code>; Alias <code>kwRechtwinkelZugOld = 'POLYGONPUNKTE'</code> (GlobalConsts.pas:1619-1620) | ||
* VERMCAD\VCSCHMWT.PAS: | * VERMCAD\VCSCHMWT.PAS:5763-5766 — Satz 2 wird übersprungen (kein Verschiebesatz unterstützt) | ||
* VERMCAD\VCSCHMWT.PAS: | * VERMCAD\VCSCHMWT.PAS:5806-5812 — Erkennung der Zugpunkt-Sätze (<code>PunktInput</code>: mehr als 5 Terme bzw. volle PBS) | ||
* VERMCAD\VCSCHMWT.PAS: | * VERMCAD\VCSCHMWT.PAS:6254-6256 — je Zugpunkt zwei wahlweise Werte (<code>dk_X</code> = Abszisse, <code>dk_Y</code> = Ordinate) | ||
* VERMCAD\VCSCHMWT.PAS: | * VERMCAD\VCSCHMWT.PAS:6813-6815, 6917 — keine Transform-/Bedingungsflags; Anschluss-Sätze je ein Punkt mit Semikolon | ||
* VERMCAD\VCSCHMWT.PAS: | * VERMCAD\VCSCHMWT.PAS:3523-3528, 3610-3616 — Kopf-Parameter <code>,M = w</code> und <code>,VRK</code> für RECHTWINKELZUG zulässig | ||
* VERMCAD\VCDCHMWT.PAS: | * VERMCAD\VCDCHMWT.PAS:2649, 2678-2679, 2694-2700 — Satzzuordnung: 1 = Bezugslinie, Items = Anschluss-/Passpunkte, Zugpunkte via <code>InsertPunkt</code> | ||
* VERMCAD\VCCALC.PAS: | * VERMCAD\VCCALC.PAS:310-331, 5836-5933 — <code>TPolygonPunkt</code>; <code>CalculatePolygon</code> (Seitenermittlung, getrennte Fehlerverteilung Y/X) | ||
{{Hilfe:NachOben}} | {{Hilfe:NachOben}} | ||
[[Kategorie: | [[Kategorie:Blöcke mit Anweisungen (Makros)|RECHTWINKELZUG]] | ||
Aktuelle Version vom 18. September 2026, 10:39 Uhr
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.
Beispiel (praktisch, vollständig — vier neue Hausecken)
Vollständiges Beispiel: Vier neue Hausecken (111/222/333/444) werden rechtwinklig zur Bezugslinie 1→2 bestimmt.
NUMMERIERUNGSBEZIRKE
{ NV Numerierungsbezirk }
{---------------------------}
35 54563335;
34 54563334;
END
VORGABEN
{ NV A NR VAT F Werte }
{--------------------------------------------------------------}
35 1 1 000 SA Y =5433796.840 X =5635006.540;
35 1 2 000 SA Y =5433970.240 X =5635007.710;
END
RECHTWINKELZUG, NR = 1,
DATUM = 07.12.2005,
ZEIT = 08:18:11
35 2 ,
35 1 ;
35 1;
35 2;
xx 3 111 x B 10.000 10.000;
xx 3 222 x B 10.000 0.000;
xx 3 333 x B 0.000 10.000;
xx 3 444 x B -10.000 0.000;
END
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).
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:2074, 144, 513 — Keyword-Zuordnung
ID[kPolygonPunkt] := kwRechtwinkelZug; AliaskwRechtwinkelZugOld = 'POLYGONPUNKTE'(GlobalConsts.pas:1619-1620) - VERMCAD\VCSCHMWT.PAS:5763-5766 — Satz 2 wird übersprungen (kein Verschiebesatz unterstützt)
- VERMCAD\VCSCHMWT.PAS:5806-5812 — Erkennung der Zugpunkt-Sätze (
PunktInput: mehr als 5 Terme bzw. volle PBS) - VERMCAD\VCSCHMWT.PAS:6254-6256 — je Zugpunkt zwei wahlweise Werte (
dk_X= Abszisse,dk_Y= Ordinate) - VERMCAD\VCSCHMWT.PAS:6813-6815, 6917 — keine Transform-/Bedingungsflags; Anschluss-Sätze je ein Punkt mit Semikolon
- VERMCAD\VCSCHMWT.PAS:3523-3528, 3610-3616 — Kopf-Parameter
,M = wund,VRKfür RECHTWINKELZUG zulässig - VERMCAD\VCDCHMWT.PAS:2649, 2678-2679, 2694-2700 — Satzzuordnung: 1 = Bezugslinie, Items = Anschluss-/Passpunkte, Zugpunkte via
InsertPunkt - VERMCAD\VCCALC.PAS:310-331, 5836-5933 —
TPolygonPunkt;CalculatePolygon(Seitenermittlung, getrennte Fehlerverteilung Y/X)