Zum Inhalt springen

MASSEN

Aus VermCAD Hilfe Wiki
Version vom 10. September 2026, 09:50 Uhr von Claude (Diskussion | Beiträge) (Querverweis auf das Makro PROFIL - Task DGM)

Das Makro MASSEN berechnet das Volumen zwischen einer Ist-Fläche (dem Gelände) und einer Soll-Fläche (dem Planum) innerhalb eines Umrings aus koordinierten Punkten. Ausgegeben werden Abtrag, Auftrag und die Nettomasse. Als Höhenquelle dient wahlweise das digitale Geländemodell aus dem DGM-Katalog oder die Dreiecksvermaschung der Umringpunkte.

Das Makro entsteht über Rechnen → Massenberechnung (Dialogfenster Massenberechnung). Verfügbar ab Version 5.1.

Syntaxregel

MASSEN [, NR = <n>] {, <KopfInfo>}*
  <Steuersatz> ;
  <Umring> ;
END[;]

Steuersatz  ::= <Zuweisung> { , <Zuweisung> }*
Zuweisung   ::= TITEL = '<Text>' | IST = DGM|PUNKTE | SOLL = FEST|EBENE|DOM|PUNKTE
              | SOLLH = <w> | NEIGE = <w> | NEIGN = <w> | RASTER = <w>
              | MODELL = RASTER|TIN
Umring      ::= <Umringpunkt> { , <Umringpunkt> }*
Umringpunkt ::= <NV> <NR> [<Handhoehe>] [D|P]

Der Block hat genau zwei Sätze. Ein dritter Satz wird mit dem Fehler END erwartet abgewiesen.

Der Steuersatz

Der erste Satz enthält ausschließlich Schlüsselwörter mit Zuweisung, durch Komma getrennt und mit Semikolon abgeschlossen. Alle Angaben sind optional; es gelten dann die Vorgaben.

Schlüsselwort Werte Vorgabe Bedeutung
TITEL = '<Text>' Text in Hochkommas leer Bezeichnung der Berechnung. Erscheint im Kopf der Ergebnisliste hinter „Massenberechnung" und im Dialogfenster im Feld Bezeichnung.
IST = DGM – Vorgabe Die Ist-Fläche (das Gelände) kommt aus dem DGM-Katalog, bilinear interpoliert.
IST = PUNKTE – Die Ist-Fläche entsteht aus der Dreiecksvermaschung der Umringpunkte mit ihren Höhen (siehe Der Umring).
SOLL = FEST – Vorgabe Das Planum ist eine waagerechte Ebene in der Höhe SOLLH.
SOLL = EBENE – Das Planum ist eine geneigte Ebene: Sie geht in der Höhe SOLLH durch den Flächenschwerpunkt des Umrings und fällt bzw. steigt mit NEIGE nach Osten und NEIGN nach Norden.
SOLL = DOM – Das Planum ist die Oberfläche (DOM) aus dem Katalog. Damit wird das Volumen zwischen Gelände und Oberfläche gerechnet (Bewuchs, Gebäude). Setzt DOM-Kacheln im Katalog voraus.
SOLL = PUNKTE – Das Planum entsteht aus der Dreiecksvermaschung der Umringpunkte.
SOLLH = <w> Zahl (m) – Höhe des Planums bei FEST bzw. Höhe der Ebene im Flächenschwerpunkt bei EBENE. Bei diesen beiden Soll-Arten Pflicht — fehlt sie, meldet VermCad beim Übersetzen Soll-Höhe fehlt.
NEIGE = <w> Zahl (%) 0 Gefälle der Ebene nach Osten in Prozent, negativ = fallend. Nur bei SOLL = EBENE ausgewertet.
NEIGN = <w> Zahl (%) 0 Gefälle der Ebene nach Norden in Prozent, negativ = fallend. Nur bei SOLL = EBENE ausgewertet.
RASTER = <w> Zahl (m) feinstes Kachelraster Rasterweite der Prismenberechnung. Fehlt die Angabe, nimmt VermCad die feinste Rasterweite, die im Katalog vorkommt (bei DGM1 also 1 m). Größere Werte rechnen schneller und gröber.
MODELL = RASTER – Vorgabe im Makro Rasterprismen: je Rasterzelle ein Prisma, die Höhen werden bilinear in der Zellmitte abgegriffen. Fehlt MODELL, gilt dieser Wert — bestehende Makros rechnen also unverändert weiter.
MODELL = TIN – Vorgabe im Dialog Dreiecksprismen: das Rastergitter wird vermascht (jede Masche entlang der Diagonale SW–NE in zwei Dreiecke) und je Dreieck das Volumen aus Fläche mal mittlerer Höhendifferenz der drei Ecken gebildet. Siehe Rechenmodell.

Nicht zulässig ist IST = PUNKTE zusammen mit SOLL = PUNKTE — beide Flächen wären dieselbe, das Volumen also immer null. Diese Kombination wird beim Übersetzen am Makro gemeldet.

Der Umring

Der zweite Satz zählt die Umringpunkte auf, durch Komma getrennt, abgeschlossen mit Semikolon. Der erste Punkt wird am Ende nicht wiederholt — anders als beim Makro FLAECHE schließt VermCad den Umring selbst. Es sind mindestens drei Punkte nötig.

Hinter jedem Punkt darf stehen, woher seine Höhe kommt. Die Höhen werden nur gebraucht, wenn IST = PUNKTE oder SOLL = PUNKTE gewählt ist; in der Ergebnisliste stehen sie aber immer.

Zusatz Bedeutung
(nichts) Es gilt die eigene Höhe des Punktes aus Messung oder Vorgabe.
<Zahl> Handhöhe: der eingetragene Wert gilt unabhängig von der Punkthöhe.
D DGM-Höhe: die Höhe wird bei jeder Berechnung neu aus dem Katalog geholt — an der aktuellen Lage des Punktes. Verschiebt sich der Punkt, ändert sich die Höhe beim nächsten Übersetzen mit.
P Planumshöhe: die Höhe des Soll-Planums an dieser Stelle (feste Höhe, Wert der geneigten Ebene bzw. DOM-Höhe). Bei SOLL = PUNKTE liefert P keinen Wert und der Punkt gilt als „ohne Höhe".

Zahl und Kennbuchstabe dürfen zusammen auftreten (die Zahl steht dann vorn), sind aber redundant: Ist eine Handhöhe eingetragen, gewinnt sie. Die Auswertungsreihenfolge ist

Hand vor DGM (D) vor Planum (P) vor Punkt.

Ein anderer Buchstabe als D oder P wird mit Kennbuchstabe D (DGM-Höhe) oder P (Planumshöhe) erwartet abgewiesen.

Parameter

MASSEN kennt keine eigenen Kopfparameter; alle Steuergrößen stehen im Steuersatz. Es gelten die allgemeinen Makro-Kopfparameter (NR, DATUM, ZEIT, PNR, KN = '…' für den Nachweis, REM = '…' für die Bemerkung, NE, DEA): siehe Blockkopf-Parameter.

Beispiele

Baugrube gegen eine geneigte Ebene

MASSEN, NR = 3,
  DATUM = 07.09.2026,
  ZEIT = 12:00:00,
  REM = 'Baugrube Nord'

  TITEL = 'Baugrube Nord', IST = DGM, SOLL = EBENE, SOLLH = 452.5, NEIGE = 0.5, NEIGN = -0.2, RASTER = 1;

  xx           1  452.30 ,
  xx           2  d ,
  xx           3  p ,
  xx           4;
END

Gelände aus dem DGM, Planum als Ebene mit 452,50 m im Schwerpunkt, 0,5 % Gefälle nach Osten und 0,2 % Gefälle nach Süden. Punkt 1 bekommt die Handhöhe 452,30 m, Punkt 2 seine DGM-Höhe, Punkt 3 die Planumshöhe, Punkt 4 seine eigene Höhe. Weil hier weder Ist noch Soll aus den Punkten kommen, gehen diese Höhen nur in die Punkttabelle der Ergebnisliste ein.

Deckel auf Geländehöhe: Grubenvolumen

MASSEN, NR = 4,
  DATUM = 07.09.2026,
  ZEIT = 12:01:00

  IST = PUNKTE, SOLL = FEST, SOLLH = 440;

  xx           1  d ,
  xx           2  d ,
  xx           3  d ,
  xx           4  d;
END

Die Ist-Fläche entsteht aus der Vermaschung der vier Umringpunkte, deren Höhen aus dem DGM kommen; das Soll ist eine waagerechte Ebene in 440 m. So lässt sich das Volumen zwischen einem schräg liegenden Geländedeckel und einer festen Sohle bestimmen.

Rechenmodell wählen

MASSEN, NR = 5

  TITEL = 'Damm Süd', IST = DGM, SOLL = FEST, SOLLH = 448, RASTER = 1, MODELL = TIN;

  xx          10,
  xx          11,
  xx          12,
  xx          13;
END

Dasselbe Gelände gegen dieselbe Sohle, aber als Dreiecksprismen über der Vermaschung der Rasterknoten gerechnet. Ohne MODELL stünde hier RASTER; der Dialog schreibt MODELL = TIN bei neuen Berechnungen von sich aus.

Rechenmodell

Gerechnet wird nach der Prismenmethode: Über die Umschließende des Umrings wird ein Raster der Weite RASTER gelegt. Wie daraus das Volumen entsteht, entscheidet MODELL.

Rasterprismen (MODELL = RASTER)

Je Rasterzelle ein Prisma: Die Ist- und die Soll-Höhe werden in der Zellmitte abgegriffen (im DGM bilinear interpoliert), ihre Differenz mal der Fläche des Zellanteils ergibt den Beitrag der Zelle zu Abtrag (Ist über Soll) bzw. Auftrag (Ist unter Soll).

Dreiecksprismen (MODELL = TIN)

Die Knoten des Rasters werden vermascht: Jede Masche zwischen vier Knoten wird entlang der Diagonale von Südwest nach Nordost in zwei Dreiecke geteilt. Je Dreieck ist die Höhendifferenz zwischen Ist und Soll linear, das Volumen also Dreiecksfläche mal mittlere Höhendifferenz der drei Ecken — das klassische, von Hand nachrechenbare Verfahren der Massenermittlung. Liegt die Rasterweite auf dem Kachelraster, sind die Knoten genau die DGM-Punkte.

Welches Modell wann?

Beide Modelle liefern bei gleicher Rasterweite praktisch dasselbe Ergebnis — an einem Rechteck von 200 × 100 m im 1-m-Raster unterscheiden sich die Nettomassen um 0,02 %, die mittlere Höhe ist identisch. Der Unterschied liegt nicht in der Genauigkeit, sondern in der Nachvollziehbarkeit:

  • TIN ist für die vermaschte Fläche exakt und unabhängig vom Randschnitt; für eine geneigte Ebene kommt der Sollwert auf die vierte Nachkommastelle heraus. Das ist das Verfahren, das ein Prüfer erwartet — deshalb die Vorgabe für neue Berechnungen. Es rechnet etwa 30 % länger, was bei Millisekunden je 20.000 Zellen keine Rolle spielt.
  • RASTER ist eine gleichwertige Näherung auf der bilinearen Fläche und bleibt die Vorgabe für Makros ohne MODELL, damit vorhandene Berechnungen ihre Zahlen behalten.

Hinweis: Ist die Rasterweite gröber als das Kachelraster, sind beide Modelle Näherungen — dann wird das Gelände zwischen den Kachelpunkten abgetastet. Für einen Nachweis deshalb die Rasterweite der Kacheln verwenden.

Fläche und Randzellen

Zellen am Rand des Umrings werden exakt geschnitten: Der Umring wird auf das Zeilenband und dann auf das Zellquadrat beschnitten, Innenringe gehen negativ ein. Die ausgewiesene Rasterfläche entspricht damit der geometrischen Fläche des Umrings — auch bei schräg liegenden Flächen und auch bei grober Rasterweite.

Für beide Modelle gilt:

  • Die Umringkoordinaten werden in das Lagesystem der Kacheln (ETRS89/UTM) umgerechnet; in Altsystemen läuft der Weg über die NTv2-Transformation. Lagestatus und UTM-Zone stehen im Kopf der Ergebnisliste.
  • Für die Vermaschung (IST = PUNKTE bzw. SOLL = PUNKTE) braucht jeder Umringpunkt eine gültige Höhe. Fehlt eine, nennt die Fehlermeldung den ersten betroffenen Punkt. Liegen alle Punkte auf einer Geraden, lässt sich nicht vermaschen.
  • Ist im Projekt „Flächen mit gerundeten Koordinaten" eingestellt, rechnet auch MASSEN mit den gerundeten Koordinaten; die Ergebnisliste weist das im Kopf aus.
  • Höhen aus DGM und DOM sind Näherungen (Genauigkeit je Kachel etwa ±0,15 m). Die Ergebnisliste vermerkt das.

Reihenfolge im Rechenlauf

Die Massenberechnung ist nachgelagert: Sie läuft im Endlauf zusammen mit den Einfluchtungen — also nach allen Koordinatenberechnungen und vor den Flächen. Damit rechnet sie immer mit den endgültigen Koordinaten und kann keine zyklischen Abhängigkeiten erzeugen.

Grenzen

  • Keine Aussparungen: Der Umring des Makros ist immer einfach zusammenhängend. Flächen mit Löchern rechnet die Massenberechnung im CAD, die Innenringe berücksichtigt.
  • Keine Bögen im Umring — nur gerade Verbindungen zwischen den Punkten.
  • Die geneigte Ebene ist nur über Schwerpunkt und zwei Gefälle beschreibbar, nicht über drei Stützpunkte.
  • Punkte ohne Lage brechen die Berechnung ab.

Fehlermeldungen der Syntaxprüfung

Meldung Ursache
Ungültige Angabe für IST oder SOLL (DGM, PUNKTE, FEST, EBENE, DOM erwartet) Hinter IST = bzw. SOLL = steht ein unbekanntes Wort.
Komma oder Satzende erwartet Zwei Zuweisungen im Steuersatz sind nicht durch Komma getrennt bzw. der Satz endet nicht mit Semikolon.
Schlüsselwort (TITEL, IST, SOLL, SOLLH, NEIGE, NEIGN, RASTER, MODELL) erwartet Im Steuersatz steht ein unbekanntes Schlüsselwort.
Kennbuchstabe D (DGM-Höhe) oder P (Planumshöhe) erwartet Hinter einem Umringpunkt steht ein anderer Buchstabe.
Ungültige Angabe für MODELL (RASTER oder TIN erwartet) Hinter MODELL = steht ein anderes Wort.
END erwartet Der Block hat mehr als zwei Sätze.
Ist und Soll können nicht beide aus den Umringpunkten kommen · Soll-Höhe fehlt · Der Umring braucht mindestens drei Punkte Beim Übersetzen am Makro gemeldete Parameterfehler.

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 — Schlüsselwörter kwMassen, kwMassenTitel/Ist/Soll/SollHoehe/NeigungE/NeigungN/Raster, Kennbuchstaben MassenHoeheDGMChar/MassenHoeheSollChar
  • VERMCAD\VCSCHMWT.PAS — Steuersatz-Parser (Zweig BlockKind = kMassen, Fehler 801–804) und Punktzusatz (Zahl bzw. Kennbuchstabe) im Zweig kMassen
  • VERMCAD\VCDCHMWT.PAS — Decoder: Parameter aus Satz 1, InsertOutLine für Satz 2, Parameterfehler über SetParameterFehler
  • VERMCAD\VcCompileErrorMessages.pas — Meldungstexte 728–731
  • VERMCAD\VcMassen.pas — TMassenberechnung: CalculateItem, QuelleVonPunkt (Reihenfolge Hand/DGM/Planum/Punkt), ResultList, SaveMakro
  • DGMModul\VermCad.DGM.Massen.pas — beide Rechenmodelle (dmmRaster/dmmTIN), exakter Randschnitt (_ClipHalbebene, _AnteilExakt), Höhenfunktionen für Ist und Soll
  • DGMModul\VermCad.DGM.Punktflaeche.pas — Dreiecksvermaschung (Bowyer-Watson-Delaunay), lineare Interpolation im Dreieck



[Nach oben]