Dass digitale Planungsmethoden, wie das Building Information Modeling, mehr sind als reine 3D-Zeichnungen ist vielfach beschrieben worden. Die Frage dabei ist: Was macht den Unterschied aus?
Im Prinzip ist der Unterschied für die ersten Stufen in der „BIM-Entwicklung“ nicht gigantisch. Wie bereits der Titel erwähnt sind die Merkmale das, was den Objekten eine tiefere Bedeutung verleiht. Im Prinzip wird dies bereits über die Identität geklärt. Dabei wird definiert was abgebildet werden soll. Ist es eine Tür, ein Leitungssegment, ein Raum oder ein Straßenabschnitt.
Nun soll das Objekt noch genauer definiert werden. Da das IFC-Format nicht für alle Bauelemente alle erdenklichen Merkmale bereithält, gibt es ein simples Konstrukt um beliebig viele eigene Definitionen „anzuhängen“.
Diese Möglichkeit möchte ich im Nachfolgenden gern näher darstellen:
Zuerst wird eine Gruppendefinition für die Merkmale benötigt. Diese nennt sich Eigenschaftssatz (PropertySet). Sie besteht aus dem bekannten globalen Identifikator (GUID), der Zuordnung zum Modelautor (OwnerHistory), dem Namen der Gruppe, einem optionalen Beschreibungstext (Description) und der Zuordnung der einzelnen Merkmale.
#1001= IFCPROPERTYSET(IfcGloballyUniqueId,IfcOwnerHistory,'Gruppenbezeichnung','Beschreibungstext',(#1002,#1003, ... ,#100N));
Dazu gibt es die jeweiligen Eigenschaften (Properties). Die einfachste Form ist der Einzelwert (SingleValue). Zusätzlich sind noch u.a. Wertebereiche (BoundedValue) und Listen möglich (ListValue). Der Aufbau der Eigenschaften gliedert sich in die Bezeichnung des Merkmals, einen optionalen Beschreibungstext, dem Wert (Zahl, Freitext, Zeit, Ja/Nein, Binärzahl) und der optionalen Angabe der Einheit.
#1002 = IFCPROPERTYSINGLEVALUE('Eigenschaftsbezeichnung', 'Beschreibungstext', IFCLABEL('"+Wert+"'), IFCUNIT(*,.LENGTHUNIT.,$,.METRE.));\n")
Wenn nun ausreichend Merkmale definiert worden sind, können sie den richtigen Objekt bzw. Bauelement zugeordnet werden. Dies geschieht durch ein Verbindungsbefehl (RelDefinesByProperties). Dieser besteht auch wie die Eigenschaftsgruppe aus den vier bekannten Eigenschaften (GUID, OwnerHistory, Name und Description) sowie aus zwei weiteren wichtigen Elementen. Diese sind zum einen alle Zielobjekte (RelatedObject) sowie die zu verknüpfende Eigenschaftsgruppe (RelatingPropertyDefinition).
#100N= IFCRELDEFINESBYPROPERTIES(IfcGloballyUniqueId,IfcOwnerHistory,'Gruppenbezeichnung','Beschreibungstext',(#XXXX,... ),#1001)
Am Ende stellt sich bestimmt die Frage: Was mache ich nun mit diesen Informationen, mein Autorenprogramm exportiert mir doch all meine Merkmale?
Bei der regulären Bearbeitung mit erprobter Fachsoftware wird dies auch vollständig umgesetzt. Jedoch ist die Entwicklung im Bereich der digitalen Planung aktuell recht dynamisch. Immer mehr Programme bieten einen IFC-Export an. Unter Umständen wird dabei lediglich die Geometrie und eine Standardbeschreibung exportiert. Nicht immer werden alle gewünschten Merkmale sowie die dazugehörigen Gruppendefinition mit übertragen.
Um dieses Problem zu umgehen, können die benötigten Merkmale an eine bereits erstellt IFC-Datei „angehängt“ werden. Ein Beispiel, wie so etwas mit z.B. der Programmiersprache Python gelöst werden kann, habe ich auf GitHub veröffentlicht.