Zum Hauptinhalt springen

IFC Properties: Wenn Maße nicht standardisiert geliefert werden

Maße wie Flächen oder Volumen sind oft nicht einheitlich im IFC-Modell hinterlegt – wir zeigen dir, wie du diese Informationen nutzen kannst.

Can-Su Hermann avatar
Verfasst von Can-Su Hermann
Vor über 4 Monaten aktualisiert

In specter stehen dir verschiedene geometrische Maße wie Flächen oder Volumen zur Verfügung. Diese können entweder automatisch berechnet oder aus dem IFC-Modell übernommen werden. In dieser Artikelserie erklären wir dir, wie diese Werte entstehen, worauf du achten solltest – und warum dieselbe „Fläche“ nicht immer gleich zu verstehen ist.


In diesem Artikel zeigen wir dir:

  • Wie du IFC Properties findest, wenn Maße nicht als Base Quantities vorliegen

  • Wie du benutzerdefinierte Maße korrekt interpretierst

  • Worauf du achten solltest, um Unterschiede zwischen Properties und Base Quantities zu verstehen


1. Was sind IFC Properties?

IFC Properties sind benutzerdefinierte Eigenschaften, die Modellierer:innen in der CAD-Software manuell oder halbautomatisch an Objekte anhängen können. Sie bestehen meist aus Schlüssel-Wert-Paaren, z. B. 'Höhe' = 2.5m. Anders als bei Base Quantities (Qto) sind diese Properties nicht standardisiert – das bedeutet, jede:r kann eigene Begrifflichkeiten für sie verwenden.

2. Beispiel für eine IFC Property

Ein Property könnte zum Beispiel so aussehen:

IFCPROPERTYSINGLEVALUE('Höhe',$,IFCLENGTHMEASURE(1.95),$)

specter erkennt solche Einträge anhand ihrer Schlüssel und extrahiert sie – wenn sie zu bekannten Mustern passen.

3. Herausforderungen bei IFC Properties

Da die Bezeichnungen frei wählbar sind, kommt es leicht zu Inkonsistenzen oder Missverständnissen:

- 'Höhe' kann als echte Objekt-Höhe gemeint sein – oder als Höhe über Gelände.

- 'Breite', 'Länge', 'Tiefe' – wird je nach Modelliererin unterschiedlich belegt.

- Es gibt keine Validierung durch das IFC-Format selbst.

- Die Maße können in unterschiedlichen Einheiten oder Formaten angegeben sein.

Welche Propertys specter aktuell herausfiltern und verwendet kann sind unten aufgeführt.

4. Wie geht specter mit diesen Properties um?

specter versucht, Werte aus IFC Properties zu extrahieren, wenn sie nicht über Qto verfügbar sind. Dazu werden bekannte Schlüsselwörter analysiert (z. B. 'Höhe', 'Breite', 'Tiefe'). Da diese Felder aber uneinheitlich sind, erfolgt dies mit Vorsicht – und nur ergänzend.

Aktiviert werden kann die Extraktion dieser Dimensionspropertys durch Auswahl des passenden Dropdowns beim Starten der Model Pipeline.

5. Empfehlungen für Modellierer:innen

  • Vermeide Mehrdeutigkeiten bei Schlüsseln (z. B. 'Höhe über Boden' statt nur 'Höhe').

  • Wenn möglich, nutze Base Quantities für zuverlässige Maße.

  • Dokumentiere verwendete Properties in einem separaten Mapping oder Exportschema. (Das bedeutet nicht, dass specter dies standardmäßig integrieren kann, aber es hilft dir bei der Doku im Allgemeinen)

  • Verwendung von Einheitlichen Einheiten. Am besten Meter, da specter die Dimensionen in “m” angibt und nicht in Millimeter [“mm”].

6. Zusammenfassung

  • IFC Properties sind freie Maßeinträge, nicht standardisiert.

  • Sie sind potenziell fehleranfällig, da Schlüssel beliebig gewählt werden können.

  • specter nutzt sie nur ergänzend, wenn QTO oder interne Berechnungen nicht verfügbar sind bzw. wenn der haken aktiviert ist. Reihenfolge der Dimensionen: 1. Offizielle QTO Mengen -> 2. Aus Propertys (insofern aktiviert) -> 3. Specter Mengen.

  • Für konsistente Maße empfiehlt sich die Nutzung von Base Quantities.

  • Die Mengen aus individuellen Propertys nur im Notfall nutzen wenn zwangsläufig benötigt

Propertys specter

Legende – Wichtige Info vorab:

STRING_EQUALITY = es muss exakt so geschrieben werden inklusive Groß-/Kleinschreibung

REGEX_MATCH = hier nutzen wir Regex, z.B. .*Volumen bedeutet dass wir alles nehmen was mit “Volumen” aufhört (inklusive Groß-/Kleinschreibung)

REGEX_MATCH_IGNORE_CASE wie oben nur EXKLUSIVE Groß-/Kleinschreibung

STRING_CONTAINS_IGNORE_CASE hier muss der Text einfach nur enthalten sein i-wo exklusive Groß-/Kleinschreibung

Dimensions Propertys:

  1. pattern: "AV_Volumen"

  2. type: STRING_EQUALITY

pattern: ".*Volumen",

type: REGEX_MATCH

pattern: "^(?=.*volume)(?=.*net).*$"

type: REGEX_MATCH_IGNORE_CASE

pattern: "\\b(?!(?:\\w*höhen|\\w*höher))\\w*höhe\\w*\\b(?!\\w+)",

type: REGEX_MATCH_IGNORE_CASE

pattern: "Height",

type: STRING_CONTAINS_IGNORE_CASE

pattern: "AV_Dicke",

type: STRING_EQUALITY

pattern: "\\b(?!(?:\\w*breiten|\\w*breiter))\\w*breite\\w*\\b(?!\\w+)",

type: REGEX_MATCH_IGNORE_CASE

pattern: "\\b(?!(?:\\w*dicken|\\w*dicker))\\w*dicke\\w*\\b(?!\\w+)",

type: REGEX_MATCH_IGNORE_CASE

pattern: "Thickness",

type: STRING_CONTAINS_IGNORE_CASE

pattern: "AV_Laenge",

type: STRING_EQUALITY

pattern: "\\b(?!(?:\\w*längen|\\w*länger))\\w*länge\\w*\\b(?!\\w+)",

type: REGEX_MATCH_IGNORE_CASE

pattern: "Length",

type: STRING_CONTAINS_IGNORE_CASE

pattern: ".*Fläche",

type: REGEX_MATCH

pattern: "^(?=.*area)(?=.*net)(?=.*side).*$"

type: REGEX_MATCH_IGNORE_CASE

pattern: "^(?=.*area)(?=.*gross)(?=.*side).*$"

type: REGEX_MATCH_IGNORE_CASE

pattern: "AV_Flaeche"

type: STRING_EQUALITY

pattern: "perimeter",

type: STRING_CONTAINS_IGNORE_CASE

Hat dies deine Frage beantwortet?