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) Entwicklerhinweise: Zeilennummern an den Code vom 18.09.2026 angeglichen |
||
| (2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 78: | Zeile 78: | ||
* Der Schnittpunkt erhält die Koordinate als '''Bedingungskoordinate''' (implizites Rücken bereits vorhandener Punkte). | * 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. | * Werden mehr als zwei Punkte je Gerade angegeben, rechnet VermCad mit der ausgleichenden Geraden. | ||
* | |||
== Siehe auch == | |||
* [[Rechnen Menü-Schnitte-Das Dialogfenster Geradenschnitt|Das Dialogfenster Geradenschnitt]] | |||
* [[Rechnen Menü-Das Dialogfenster Ausgleichende Geraden|Das Dialogfenster Ausgleichende Geraden]] | |||
== Entwicklerhinweise == | == Entwicklerhinweise == | ||
| Zeile 84: | Zeile 87: | ||
'''Quellen im Code:''' | '''Quellen im Code:''' | ||
* VERMCAD\VcEditorUtils.pas: | * VERMCAD\VcEditorUtils.pas:2082 — Keyword-Zuordnung <code>ID[kGeradenSchnitt] := kwGeradenSchnitt</code> | ||
* VERMCAD\VCSCHMWT.PAS: | * VERMCAD\VCSCHMWT.PAS:5767-5777 — Verschiebesätze (P/V/S) an geraden Satznummern (<code>LineExtInput</code>) | ||
* VERMCAD\VCSCHMWT.PAS: | * VERMCAD\VCSCHMWT.PAS:6217-6220 — ab Satz 5 folgt die Punktidentifikation des Schnittpunktes | ||
* VERMCAD\VCDCHMWT.PAS: | * VERMCAD\VCDCHMWT.PAS:2764-2775 — Satzzuordnung: 1/3 = Geraden, 2/4 = Verschiebung, 5 = Schnittpunkt; <code>,ZP</code>-Übernahme | ||
* VERMCAD\VCCALC.PAS: | * VERMCAD\VCCALC.PAS:7895-7962 — <code>TSchnitt</code> (Basisklasse, 2 Geraden + Schnittpunkt) | ||
{{Hilfe:NachOben}} | {{Hilfe:NachOben}} | ||
[[Kategorie: | [[Kategorie:Blöcke mit Anweisungen (Makros)|GERADENSCHNITT]] | ||
Aktuelle Version vom 18. September 2026, 10:38 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.
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:2082 — Keyword-Zuordnung
ID[kGeradenSchnitt] := kwGeradenSchnitt - VERMCAD\VCSCHMWT.PAS:5767-5777 — Verschiebesätze (P/V/S) an geraden Satznummern (
LineExtInput) - VERMCAD\VCSCHMWT.PAS:6217-6220 — ab Satz 5 folgt die Punktidentifikation des Schnittpunktes
- VERMCAD\VCDCHMWT.PAS:2764-2775 — Satzzuordnung: 1/3 = Geraden, 2/4 = Verschiebung, 5 = Schnittpunkt;
,ZP-Übernahme - VERMCAD\VCCALC.PAS:7895-7962 —
TSchnitt(Basisklasse, 2 Geraden + Schnittpunkt)