Zum Inhalt springen

MWT Syntax-Makro EBENHEIT: Unterschied zwischen den Versionen

Aus VermCAD Hilfe Wiki
Sachkorrektur nach dem Code: keine ausgleichende Ebene, sondern Stichmaß gegen die Nachbarn; Nummern der Rasterpunkte fest aus Anfangspunkt und Rastergröße, Messschrittweite = Nummernabstand zum Nachbarn; Beispiel mit gleichen Schrittweiten korrigiert; fehlende Rasterpunkte sind kein Fehler
Entwicklerhinweise: Zeilennummern an den Code vom 18.09.2026 angeglichen
Zeile 64: Zeile 64:


'''Quellen im Code:'''
'''Quellen im Code:'''
* VERMCAD\GlobalConsts.pas:1574 — <code>kwEbenheit</code>
* VERMCAD\GlobalConsts.pas:1652 — <code>kwEbenheit</code>
* VERMCAD\VCSCHMWT.PAS:5957-5977 — Satz 2 (CountY/DeltaNrY/DeltaY, Komma, CountX/DeltaNrX/DeltaX) und Satz 3 (Toleranz)
* VERMCAD\VCSCHMWT.PAS:5957-5977 — Satz 2 (CountY/DeltaNrY/DeltaY, Komma, CountX/DeltaNrX/DeltaX) und Satz 3 (Toleranz)
* VERMCAD\VCSCHMWT.PAS:6744-6746 — Satz 1: Anfangspunkt mit optionalen Koordinaten (dk_Y, dk_X)
* VERMCAD\VCSCHMWT.PAS:6744-6746 — Satz 1: Anfangspunkt mit optionalen Koordinaten (dk_Y, dk_X)

Version vom 18. September 2026, 10:38 Uhr

Das Rechenmakro EBENHEIT prüft ein regelmäßiges Punktraster (z. B. eine aufgemessene Bodenplatte oder Deckenfläche) auf Ebenheit: Für jeden Rasterpunkt wird das Stichmaß gegen seine beiden Nachbarn gerechnet — getrennt in Y- und X-Richtung, jeweils die Höhe des Punktes minus dem Mittel der Nachbarhöhen —, und das dem Betrag nach größere wird gegen eine Toleranz geprüft. Eine ausgleichende Ebene wird nicht gerechnet. Das Raster wird über einen Anfangspunkt und die Rastergröße definiert; die Messschrittweiten legen fest, welche Punkte als Nachbarn gelten.

Syntaxregel

EBENHEIT [, KOORDINATENSYSTEM <n> | , LS <n>] [, NR = <n>] {, <KopfInfo>}*
  <NV> [<A>] <NR>  [<Y> <X>] ;                                (Satz 1: Rasteranfangspunkt)
  <CountY> <DeltaNrY> <DeltaY> , <CountX> <DeltaNrX> <DeltaX> ;   (Satz 2: Rasterdefinition)
  <Toleranz> ;                                                (Satz 3: Ausreißer-Toleranz)
END[;]
Regelelement Bedeutung
Satz 1 Punktidentifikation des Rasteranfangspunkts, wahlweise mit Koordinatenwerten Y X
<CountY> / <CountX> Rastergröße: Anzahl der Punkte in Y- bzw. X-Richtung (positive ganze Zahl)
<DeltaNrY> / <DeltaNrX> Messschrittweite: der Unterschied der Punktnummern zwischen einem Rasterpunkt und den beiden Nachbarn, gegen die in dieser Richtung geprüft wird (positive ganze Zahl). Die beiden Werte müssen verschieden sein, sonst bricht die Berechnung mit Kann Rasterstruktur nicht auflösen; Messschrittweite falsch definiert: Schrittweite Y muss <> Schrittweite X sein ab. In die Nummern der Rasterpunkte gehen die Schrittweiten nicht ein (siehe Datenzeilen).
<DeltaY> / <DeltaX> Koordinatenabstand der Rasterpunkte in der jeweiligen Richtung (reelle Zahl, m); wirkt nur bei Rasterpunkten ohne Lagekoordinaten, die VermCad damit vom Anfangspunkt aus für die Darstellung setzt
<Toleranz> zulässiges Stichmaß (m); Punkte mit größerem Stichmaß kennzeichnet die Ergebnisliste mit !!! und zeigt sie in der Darstellung Ausreißer. Die Berechnung bricht deswegen nicht ab.

Die beiden Dreiergruppen des 2. Satzes werden durch ein Komma getrennt (Fehler 66 „Komma erwartet"); alle drei Sätze sind Pflicht.

Parameter

Es gelten nur die allgemeinen Makro-Kopfparameter (NR =, DATUM =, ZEIT =, PNR =, KN =, REM =, NE, DEA), siehe Blockkopf-Parameter. Makrospezifische Kopfparameter existieren nicht.

Datenzeilen

  • Die Rasterpunkte selbst stehen nicht im Makro: VermCad bildet ihre Nummern fest aus dem Anfangspunkt und der Rastergröße — in X-Richtung fortlaufend, die nächste Reihe mit der folgenden Nummer (Anfangsnummer + j + i·CountX; i = Reihe in Y-Richtung, j = Punkt in X-Richtung). Die Messschrittweiten gehen in diese Nummernbildung nicht ein. Für die unmittelbaren Nachbarn gilt deshalb DeltaNrX = 1 und DeltaNrY = CountX.
  • Die Rasterpunkte müssen im Nummerierungsbezirk des Anfangspunkts liegen (in Brandenburg und Berlin auch mit derselben Punktart) und eine Höhe haben; VermCad sucht sie zuerst unter den gemessenen, danach unter den eingegebenen Punkten. Lagekoordinaten sind nicht nötig.
  • Ganzzahlwerte für Rastergröße/Schrittweite melden bei ungültiger Eingabe Fehler 5 („positive Zahl erwartet"), die Realwerte Fehler 42.

Beispiele

Hinweis: VermCad ergänzt beim Speichern binäre Codierungszeilen; sie sind hier weggelassen.

Beispiel (nach der Alt-Dokumentation, Messschrittweite Y korrigiert)

EBENHEIT

  xx 1;                {Raster Anfangspunkt}

  4      5      10 ,   {(y)Rastergröße       Schrittweite   delta Koo.}
  5      1      10 ;   {(x)Rastergröße       Schrittweite   delta Koo.}

  0.1;                 {Ausreiser}

END

Raster mit 4 × 5 Punkten ab Punkt 1 (Nummern 1 bis 20, je Reihe fünf Nummern in X-Richtung), Messschrittweite Y = 5 und X = 1 (die unmittelbaren Nachbarn), Rasterabstand 10 m, Toleranz 0.1 m. In der Alt-Dokumentation stand auch für Y die Schrittweite 1; gleiche Schrittweiten weist VermCad mit Kann Rasterstruktur nicht auflösen … ab.

Verfügbarkeit und Besonderheiten

  • Verfügbar in allen Bundesland-Versionen; in echten Projekten selten (nur Sachsen und Testdaten beobachtet) — typisches Ingenieurvermessungs-Makro.
  • Das Makro setzt eine regelmäßige, lückenlose Nummerierung der Rasterpunkte voraus. Fehlt ein Rasterpunkt oder seine Höhe, meldet VermCad keinen Fehler: Der Punkt fehlt in der Ergebnisliste, und seine Nachbarn erhalten in dieser Richtung kein Stichmaß.

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\GlobalConsts.pas:1652 — kwEbenheit
  • VERMCAD\VCSCHMWT.PAS:5957-5977 — Satz 2 (CountY/DeltaNrY/DeltaY, Komma, CountX/DeltaNrX/DeltaX) und Satz 3 (Toleranz)
  • VERMCAD\VCSCHMWT.PAS:6744-6746 — Satz 1: Anfangspunkt mit optionalen Koordinaten (dk_Y, dk_X)
  • VERMCAD\VCCALC.PAS:12224-12411 — TEbenheit.CalculateItem: Nummern NRo + K + I*FCountX (12330, Ansatz mit den Schrittweiten auskommentiert), Stichmaß gegen NRx ∓ FDeltaNr, Abbruch caEbenheitInvalidRaster bei gleichen Schrittweiten (12366, Text VCCALCBA.PAS:2528); ResultListI 12413-12461 (!!!, Ausreißer)



[Nach oben]