Zum Inhalt springen

MWT Syntax-Makro EBENHEIT: Unterschied zwischen den Versionen

Aus VermCAD Hilfe Wiki
MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs)
Entwicklerhinweise: Dateiname vor Zeilenangaben ergänzt, die hinter einer anderen Unit standen
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:EBENHEIT}}
{{DISPLAYTITLE:EBENHEIT}}
Das Rechenmakro EBENHEIT prüft ein regelmäßiges Punktraster (z. B. eine aufgemessene Bodenplatte oder Deckenfläche) auf Ebenheit: Durch die Höhen der Rasterpunkte wird eine ausgleichende Ebene gelegt und die Abweichungen werden gegen eine Ausreißer-Toleranz geprüft. Das Raster wird über einen Anfangspunkt, die Rastergröße und die Schrittweiten der Punktnummern definiert.
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 ==
== Syntaxregel ==
Zeile 18: Zeile 18:
| <code>&lt;CountY&gt;</code> / <code>&lt;CountX&gt;</code> || Rastergröße: Anzahl der Punkte in Y- bzw. X-Richtung (positive ganze Zahl)
| <code>&lt;CountY&gt;</code> / <code>&lt;CountX&gt;</code> || Rastergröße: Anzahl der Punkte in Y- bzw. X-Richtung (positive ganze Zahl)
|-
|-
| <code>&lt;DeltaNrY&gt;</code> / <code>&lt;DeltaNrX&gt;</code> || Schrittweite der Punkt'''nummern''' von Rasterpunkt zu Rasterpunkt in der jeweiligen Richtung (positive ganze Zahl)
| <code>&lt;DeltaNrY&gt;</code> / <code>&lt;DeltaNrX&gt;</code> || Messschrittweite: der Unterschied der Punkt'''nummern''' 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'').
|-
|-
| <code>&lt;DeltaY&gt;</code> / <code>&lt;DeltaX&gt;</code> || Koordinatenabstand der Rasterpunkte in der jeweiligen Richtung (reelle Zahl, m)
| <code>&lt;DeltaY&gt;</code> / <code>&lt;DeltaX&gt;</code> || 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
|-
|-
| <code>&lt;Toleranz&gt;</code> || zulässige Abweichung von der ausgleichenden Ebene (m); größere Abweichungen werden als Ausreißer ausgewiesen
| <code>&lt;Toleranz&gt;</code> || zulässiges Stichmaß (m); Punkte mit größerem Stichmaß kennzeichnet die Ergebnisliste mit <code>!!!</code> und zeigt sie in der Darstellung ''Ausreißer''. Die Berechnung bricht deswegen nicht ab.
|}
|}


Zeile 31: Zeile 31:


== Datenzeilen ==
== Datenzeilen ==
* Die Rasterpunkte selbst stehen '''nicht''' im Makro: Sie werden aus dem Anfangspunkt und den Nummern-Schrittweiten abgeleitet (Anfangsnummer + i·DeltaNrY + j·DeltaNrX) und müssen im Projekt koordiniert (mit Höhen gemessen) sein.
* 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 <code>DeltaNrX = 1</code> und <code>DeltaNrY = CountX</code>.
* 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.
* Ganzzahlwerte für Rastergröße/Schrittweite melden bei ungültiger Eingabe Fehler 5 („positive Zahl erwartet"), die Realwerte Fehler 42.


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


=== Beispiel (aus der Alt-Dokumentation) ===
=== Beispiel (nach der Alt-Dokumentation, Messschrittweite Y korrigiert) ===
<pre>
<pre>
EBENHEIT
EBENHEIT
Zeile 43: Zeile 44:
   xx 1;                {Raster Anfangspunkt}
   xx 1;                {Raster Anfangspunkt}


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


Zeile 50: Zeile 51:
END
END
</pre>
</pre>
Raster mit 4 × 5 Punkten ab Punkt 1, Punktnummern-Schrittweite 1, Rasterabstand 10 m, Ausreißer-Toleranz 0.1 m.
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ügbarkeit und Besonderheiten ==
* Verfügbar in allen Bundesland-Versionen; in echten Projekten selten (nur Sachsen und Testdaten beobachtet) — typisches Ingenieurvermessungs-Makro.
* 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; fehlende Punkte des Rasters führen zu Fehlern in der Auswertung.
* 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ß.
* Alt-Dokumentation: [[MWT-Blöcke mit Anweisungen (Makros)-Das Makro EBENHEIT|Das Makro EBENHEIT]].
 
== Siehe auch ==
* [[Rechnen Menü-Das Dialogfenster Ebenheit|Das Dialogfenster Ebenheit]]


== Entwicklerhinweise ==
== Entwicklerhinweise ==
Zeile 61: 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:5697-5718 — 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:6484-6486 — 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)
* VERMCAD\VCCALC.PAS:12224-12411 — <code>TEbenheit.CalculateItem</code>: Nummern <code>NRo + K + I*FCountX</code> (12330, Ansatz mit den Schrittweiten auskommentiert), Stichmaß gegen <code>NRx ∓ FDeltaNr</code>, Abbruch <code>caEbenheitInvalidRaster</code> bei gleichen Schrittweiten (12366, Text VCCALCBA.PAS:2528); VCCALC.PAS:12413-12461 <code>ResultListI</code> (<code>!!!</code>, ''Ausreißer'')


{{Hilfe:NachOben}}
{{Hilfe:NachOben}}
[[Kategorie:MWT Syntax-Blöcke mit Anweisungen (Makros)|EBENHEIT]]
[[Kategorie:Blöcke mit Anweisungen (Makros)|EBENHEIT]]

Aktuelle Version vom 21. September 2026, 09:21 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); VCCALC.PAS:12413-12461 ResultListI (!!!, Ausreißer)



[Nach oben]