Hey, what answers do you need?
Kategorien
< Alle Themen
Drucken

BIM Portal – Modellprüfung mit MVDXML Prüfschema

Eine Model View Definition (MVD) definiert eine Teilmenge des IFC-Schemas, die für einen Datenaustausch notwendig ist. Im Schema mvdXML sind diese Definitionen gespeichert.

Die Teilmengen werden durch sogenannte „Konzeptvorlagen“ abgebildet und können durch Regeln weiter eingeschränkt werden. Daher eignet sich das Format zum Erstellen von Prüfregeln, die allerdings zwingend auf dem IFC-Schema basieren. Eine Verwendung dieser Regeln für generische Systeme ist nur bedingt möglich.

Das BIM-Portal des Bundes (https://via.bund.de/bim/infrastruktur/landing) ist eine Plattform zur Unterstützung öffentlicher Auftraggeber bei der BIM-gerechten Definition ihres Informationsbedarfs sowie andere Auftragnehmer bei der qualitätsgesicherten Übermittlung von entsprechender Informationsmodelle mit geeigneten Prüfwerkzeugen. Diese Prüfwerkzeuge des BIM-Portals prüfen die Konformität des geforderten offenen Datenformats und die Einhaltung der angeforderten Merkmale und Merkmalsgruppen. U.a. sind auch kleine Beispiele (Modell, Prüfschema, Ergebnisprotokoll) aus dem Bereich Hochbau und Infrastruktur zu finden.

Vor Kurzem haben wir unser Schema zur Beschreibung von Eigenschaften vorgestellt, das man zum Prüfen von Objekteigenschaften verwenden kann. Für das Schema bieten wir DESITE-Formulare zum Prüfen und Auswerten von Modellqualität an.

Wir haben uns mit den Konvertierungsmöglichkeiten der Merkmalprüfung in das COLNEO Prüfschema beschäftigt, einen ersten Prototyp erstellt und dabei zahlreiche Erfahrungen sammeln können.

Herausforderungen:

  • IFC-Schema muss bekannt sein (Klassen)
  • Formelparser zur Auswertung der Regeln notwendig
  • Zugriff auf Regelvorlagen über eine „RuleID“ sehr aufwendig, die RuleID kann beliebig sein und muss nicht den Inhalt der Prüfung wiedergeben
  • Der Datentyp von IfcProperties (IfcValue) ist anders als bei IfcElementQuantities aus der Vorlage nicht ableitbar

Unsere vollständige Prüfschema-Beschreibung im JSON-Format finden Sie auf www.colneo.com. Bei Interesse können Sie sich gerne an uns wenden (info@colneo.email).

Beispiel

Die Beispieldaten sind auf dem BIM-Portal verfügbar.

  • Modell: Beispielhaftes Architekturmodell eines Bürogebäudes (Modell_Hochbau_mit_Fehler.ifc)
  • mvdXML: Bauteil_Wand_Prüfregel.mvdxml
  • Ergebnis BIM Portal: Fehler für Bauteil Name: Basiswand:Stahlbeton_Außen_0300:13342453 , GUID:1wSOPpDQbDQvxdo8uz_b9K (IfcWall).
  • Ursache für Regelverletzung: Attribut Wand:Betonfestigkeitsklasse = C30/345

Verletzte Regeln (mvdXML):

<TemplateRules operator="or">
    <TemplateRule Parameters="EnumPropName[Value]='Betonfestigkeitsklasse' AND EnumPropValue[Value]='C8/10'"/>
    <TemplateRule Parameters="EnumPropName[Value]='Betonfestigkeitsklasse' AND EnumPropValue[Value]='C12/15'"/>
    <TemplateRule Parameters="EnumPropName[Value]='Betonfestigkeitsklasse' AND EnumPropValue[Value]='C16/20'"/>
    <TemplateRule Parameters="EnumPropName[Value]='Betonfestigkeitsklasse' AND EnumPropValue[Value]='C20/25'"/>
    <TemplateRule Parameters="EnumPropName[Value]='Betonfestigkeitsklasse' AND EnumPropValue[Value]='C25/30'"/>
    <TemplateRule Parameters="EnumPropName[Value]='Betonfestigkeitsklasse' AND EnumPropValue[Value]='C30/37'"/>
    <TemplateRule Parameters="EnumPropName[Value]='Betonfestigkeitsklasse' AND EnumPropValue[Value]='C35/45'"/>
    <TemplateRule Parameters="EnumPropName[Value]='Betonfestigkeitsklasse' AND EnumPropValue[Value]='C40/50'"/>
    <TemplateRule Parameters="EnumPropName[Value]='Betonfestigkeitsklasse' AND EnumPropValue[Value]='C45/55'"/>
    <TemplateRule Parameters="EnumPropName[Value]='Betonfestigkeitsklasse' AND EnumPropValue[Value]='C50/60'"/>
</TemplateRules>

Konvertierte Regel:

{
  "rules": {
    "bf0c1830-480f-4d77-9a3d-0c9a104c67d0": {
      "comment": "",
      "name": "Concept Root for Wand",
      "ruleset": {
        "1f276528-15d0-4c31-b225-9105b55e515a": {
          "comment": "",
          "name": "Concept for Wand",
          "IF": "[[ifcType##xs:string]] == 'IfcWall'",
	  "THEN": [
            "[[Wand:Außen##xs:string]] == '*'",
            "[[Wand:Betonfestigkeitsklasse##xs:string]] == '*'",
            "[[Wand:Betonfestigkeitsklasse##xs:string]] in ['(C8/10)', '(C12/15)', '(C16/20)', '(C20/25)', '(C25/30)', '(C30/37)', '(C35/45)', '(C40/50)', '(C45/55)', '(C50/60)']",
            "[[Wand:Bewehrungsstahlsorte##xs:string]] == '*'",
            "[[Wand:Bewehrungsstahlsorte##xs:string]] in ['(B500A)', '(B500B)']",
            "[[Wand:Feuerwiderstandsklasse F##xs:string]] == '*'",
            "[[Wand:Feuerwiderstandsklasse F##xs:string]] in ['(F30)', '(F60)', '(F90)', '(F120)', '(F180)']",
            "[[Wand:Hauptbaustoff##xs:string]] == '*'",
            "[[Wand:Kostengruppe DIN276##xs:int]] == '*'",
            "[[Wand:Tragend##xs:string]] == '*'",
            "[[Wand:U-Wert##xs:double]] == '*'"
          ]
        }
      }
    }
  }
}

Die Konvertierung basiert auf den Besonderheiten des IFC-Imports in DESITE md (z.B. runde Klammern um Attributwerte aus Enumerationen, Datentypumwandlung).

Inhaltsverzeichnis