Zum Inhalt springen

MWT Syntax-Makro GERADENSCHNITT: Unterschied zwischen den Versionen

Aus VermCAD Hilfe Wiki
MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs)
Entwicklerhinweise: Zeilennummern an den Code vom 18.09.2026 angeglichen
 
(Eine dazwischenliegende Version desselben Benutzers wird 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.
* Alt-Dokumentation: [[MWT-Blöcke mit Anweisungen (Makros)-Das Makro GERADENSCHNITT|Das Makro GERADENSCHNITT]].
 
== 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:2077 — Keyword-Zuordnung <code>ID[kGeradenSchnitt] := kwGeradenSchnitt</code>
* VERMCAD\VcEditorUtils.pas:2082 — 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:5767-5777 — Verschiebesätze (P/V/S) an geraden Satznummern (<code>LineExtInput</code>)
* VERMCAD\VCSCHMWT.PAS:5957-5960 — ab Satz 5 folgt die Punktidentifikation des Schnittpunktes
* VERMCAD\VCSCHMWT.PAS:6217-6220 — ab Satz 5 folgt die Punktidentifikation des Schnittpunktes
* VERMCAD\VCDCHMWT.PAS:2762-2773 — Satzzuordnung: 1/3 = Geraden, 2/4 = Verschiebung, 5 = Schnittpunkt; <code>,ZP</code>-Übernahme
* VERMCAD\VCDCHMWT.PAS:2764-2775 — Satzzuordnung: 1/3 = Geraden, 2/4 = Verschiebung, 5 = Schnittpunkt; <code>,ZP</code>-Übernahme
* VERMCAD\VCCALC.PAS:7822-7889 — <code>TSchnitt</code> (Basisklasse, 2 Geraden + Schnittpunkt)
* VERMCAD\VCCALC.PAS:7895-7962 — <code>TSchnitt</code> (Basisklasse, 2 Geraden + Schnittpunkt)


{{Hilfe:NachOben}}
{{Hilfe:NachOben}}
[[Kategorie:Blöcke mit Anweisungen (Makros)|GERADENSCHNITT]]
[[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, V oder S = 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)



[Nach oben]