MWT Syntax-Makro EBENHEIT: Unterschied zwischen den Versionen
Claude (Diskussion | Beiträge) 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 |
Claude (Diskussion | Beiträge) Entwicklerhinweise: Dateiname vor Zeilenangaben ergänzt, die hinter einer anderen Unit standen |
||
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 64: | Zeile 64: | ||
'''Quellen im Code:''' | '''Quellen im Code:''' | ||
* VERMCAD\GlobalConsts.pas: | * 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) | ||
* 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); <code>ResultListI</code> | * 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: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 = 1undDeltaNrY = 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: NummernNRo + K + I*FCountX(12330, Ansatz mit den Schrittweiten auskommentiert), Stichmaß gegenNRx ∓ FDeltaNr, AbbruchcaEbenheitInvalidRasterbei gleichen Schrittweiten (12366, Text VCCALCBA.PAS:2528); VCCALC.PAS:12413-12461ResultListI(!!!, Ausreißer)