MWT Syntax-Makro GERADENSCHNITT: 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 1: | Zeile 1: | ||
{{DISPLAYTITLE: | {{DISPLAYTITLE:Makro GERADENSCHNITT}} | ||
Das Rechenmakro GERADENSCHNITT berechnet den Schnittpunkt zweier Geraden und weist ihm die berechnete Koordinate als Bedingungskoordinate zu. Jede Gerade kann vor dem Schnitt parallel oder senkrecht verschoben werden. | Das Rechenmakro GERADENSCHNITT berechnet den Schnittpunkt zweier Geraden und weist ihm die berechnete Koordinate als Bedingungskoordinate zu. Jede Gerade kann vor dem Schnitt parallel oder senkrecht verschoben werden. | ||
| Zeile 80: | Zeile 80: | ||
* Alt-Dokumentation: [[MWT-Blöcke mit Anweisungen (Makros)-Das Makro GERADENSCHNITT|Das Makro GERADENSCHNITT]]. | * Alt-Dokumentation: [[MWT-Blöcke mit Anweisungen (Makros)-Das Makro GERADENSCHNITT|Das Makro GERADENSCHNITT]]. | ||
== Quellen im Code | == 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:2077 — Keyword-Zuordnung <code>ID[kGeradenSchnitt] := kwGeradenSchnitt</code> | * VERMCAD\VcEditorUtils.pas:2077 — Keyword-Zuordnung <code>ID[kGeradenSchnitt] := kwGeradenSchnitt</code> | ||
* VERMCAD\VCSCHMWT.PAS:5507-5517 — Verschiebesätze (P/V/S) an geraden Satznummern (<code>LineExtInput</code>) | * VERMCAD\VCSCHMWT.PAS:5507-5517 — Verschiebesätze (P/V/S) an geraden Satznummern (<code>LineExtInput</code>) | ||
| Zeile 88: | Zeile 91: | ||
{{Hilfe:NachOben}} | {{Hilfe:NachOben}} | ||
[[Kategorie:MWT Syntax]] | [[Kategorie:MWT Syntax|Makro GERADENSCHNITT]] | ||
Version vom 20. Juli 2026, 12:33 Uhr
Das Rechenmakro GERADENSCHNITT berechnet den Schnittpunkt zweier Geraden und weist ihm die berechnete Koordinate als Bedingungskoordinate zu. Jede Gerade kann vor dem Schnitt parallel oder senkrecht verschoben werden.
Syntaxregel
GERADENSCHNITT [, KOORDINATENSYSTEM <n> | , LS <n>] [, <Kopf-Parameter>]*
<Gerade1> ; (Satz 1: Geradendefinition OHNE Maße)
[ {P <NV> <NR> | V <NV> <NR> | S = <w>} {, ...} ; ] (Satz 2, wahlweise: Verschiebung Gerade 1)
<Gerade2> ; (Satz 3: Geradendefinition OHNE Maße)
[ {P <NV> <NR> | V <NV> <NR> | S = <w>} {, ...} ; ] (Satz 4, wahlweise: Verschiebung Gerade 2)
<PBS-Schnittpunkt> ; (Satz 5: Punktidentifikation des Schnittpunktes)
END
| Regelelement | Bedeutung |
|---|---|
<Gerade1>, <Gerade2> |
Geradendefinition durch zwei (oder mehr, dann ausgleichende Gerade) kommagetrennte Punktangaben NV NR, siehe Bogen- und Liniendefinition. Einschränkung: Anlege- und Endmaße sind im GERADENSCHNITT nicht erlaubt.
|
P / V / S |
wahlweiser Verschiebesatz je Gerade: P NV NR = Parallele durch den Bezugspunkt, V NV NR = Senkrechte durch den Punkt, S = w = seitliche Parallelverschiebung um w Meter (positiv = nach rechts). Mehrere Angaben kommagetrennt kombinierbar (z. B. V xx 3025, S = -4.6;).
|
<PBS-Schnittpunkt> |
vollständige Punktidentifikation des Schnittpunktes (NV A NR VMA Flags); der Punkt erhält die Bedingungskoordinate. |
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 einem anderen Koordinatensystem bzw. Lagestatus | alle |
| ZP | , ZP = <w> |
nein | zulässige Punktabweichung (Vergleich mit bereits vorhandener Koordinate des Schnittpunktes) | alle |
| NETZ | , NETZ |
nein | Ergebnis wird der Netzmessung zur Verfügung gestellt | alle |
Datenzeilen
- Satz 1 und Satz 3 definieren die beiden Geraden (je Zeile
NV NR ,…NV NR ;). Maße hinter den Punktnummern sind — anders als z. B. in KLEINPUNKTE oder MESSLINIE — nicht zulässig. - Nach jeder Geradendefinition darf ein Verschiebesatz mit den Schlüsselzeichen
P,VoderS =folgen (siehe oben); er muss auf derselben logischen Satzebene mit;enden. - Der letzte Satz enthält die Punktidentifikation des Schnittpunktes; VMA und Flags sind wahlweise (Platzhalter
x).
Beispiele
Beispiel (allgemein, aus der Alt-Dokumentation)
GERADENSCHNITT, NR = 3
{ NV NR }
xx 3001, { 1. Gerade }
xx 3000; { Anlege- und Endmaß sind hier nicht erlaubt }
{ NV NR }
xx 3017,
xx 3012; S = 7.50; { 2. Gerade, um 7.50 m nach rechts verschoben }
{ NV A NR VMA F }
xx x 3061 090 b; { Schnittpunkt }
END
Beispiel (Sachsen-Anhalt, echt)
Erste Gerade mit Parallelverschiebung durch einen Bezugspunkt (P 83 29508):
GERADENSCHNITT, NR = 57, DATUM = 23.11.2023, ZEIT = 11:38:12, PNR = 3 83 29506, 73 29503; P 83 29508; G53 313, 73 100_F; ... END
Die binären Codierungszeilen (Änderungsdatum/Nutzer) ergänzt VermCad automatisch; sie sind hier weggelassen.
Verfügbarkeit und Besonderheiten
- Verfügbar in allen Bundesland-Versionen; eines der häufigsten Rechenmakros überhaupt (in echten Projekten aller Länder verbreitet).
- Der Schnittpunkt erhält die Koordinate als Bedingungskoordinate (implizites Rücken bereits vorhandener Punkte).
- Werden mehr als zwei Punkte je Gerade angegeben, rechnet VermCad mit der ausgleichenden Geraden.
- Alt-Dokumentation: Das Makro GERADENSCHNITT.
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:2077 — Keyword-Zuordnung
ID[kGeradenSchnitt] := kwGeradenSchnitt - VERMCAD\VCSCHMWT.PAS:5507-5517 — Verschiebesätze (P/V/S) an geraden Satznummern (
LineExtInput) - VERMCAD\VCSCHMWT.PAS:5957-5960 — ab Satz 5 folgt die Punktidentifikation des Schnittpunktes
- VERMCAD\VCDCHMWT.PAS:2762-2773 — Satzzuordnung: 1/3 = Geraden, 2/4 = Verschiebung, 5 = Schnittpunkt;
,ZP-Übernahme - VERMCAD\VCCALC.PAS:7822-7889 —
TSchnitt(Basisklasse, 2 Geraden + Schnittpunkt)