Nachdem Susanne in ihrem Artikel (link) die verschiedenen Herausforderungen und Probleme mit der Ausgabe einer korrekten IFC-Struktur beschrieben hat, möchte ich das Thema gerne aufgreifen und die Veränderung von Informationen im IFC mit dem Texteditor vorstellen. Dazu werden zuerst die Grundlagen und danach Möglichkeiten zum Verändern, Löschen und Hinzufügen von Eigenschaften vorgestellt.

Natürlich sollte die erste Anlaufstelle für Probleme mit falschen IFC Ausgaben immer der Softwarehersteller selbst sein. Denn nur wenn Probleme bekannt sind, können diese auch behoben werden. Trotzdem ist nach einer Meldung selten eine zeitnahe Lösung vorhanden und Abgabetermine stehen dann meistens schon vor der Tür.

Prinzipiell gibt es zwei grundsätzliche Herangehensweisen eine IFC zu bereinigen. Die erste Variante ist die Nutzung spezieller Software wie simpleBIM (kostenpflichtig) oder usBIM.Viewer (kostenlos). Diese bieten meist eine erweiterte Möglichkeit der Bereinigung und Anreicherung von IFC-Modellen mit Informationen und haben ein „einfaches“ User Interface. Vor allem lassen sich über die Variante auch komplexere Problemstellungen lösen, wie die Bereinigung fehlerhafter IDs oder Anpassungen von Klassen und Geschossen. Näheres zu dieser Variante werden Arndt und Susanne in weiteren Artikeln tiefer ausführen.

Die zweite Möglichkeit zur Bereinigung ist die Veränderung der IFC im Texteditor, worum es auch in diesem Artikel geht. Dieses Verfahren eignet sich besonders für kleine Änderungen (z.B. Ändern von Bauteilnamen) an Eigenschaften und ist auch ohne Modellsoftware einfach durchzuführen.

Ich kann an dieser Stelle jedem empfehlen, die beschriebenen Veränderungen zumindest als Übung einmal durchzuführen – auch, wenn es im Tagesgeschäft nicht vorkommt. Der Grund liegt darin, dass durch die Anpassungen direkt in der IFC, das Verständnis vertieft und damit einhergehend die Funktionsweise des Formates nochmal verdeutlicht wird.

Das hier verwendete Beispiel könnt ihr zum Probieren natürlich unter folgendem Link herunterladen:

Download: Beispieldateien-IFC-Texteditor

Grundlagen

Die grundlegendste Möglichkeit eine IFC zu bereinigen liegt darin den IFC-Inhalt in Textform zu verändern. Für eine bessere Übersicht und bessere Suchfunktionen empfehle ich bei dieser Art der Veränderung das kostenlose Programm Notepad++. Dieses funktioniert wie der klassischen Windowseditor, bietet aber mehr Übersicht und mehr Funktionen, um Text-Inhalte zu editieren vor allem im Suchen und Ersetzen von Inhalten.

IFC basiert auf einem menschenlesbaren Format und lässt sich daher auch ohne Zusatztools ansehen, verstehen und anpassen. In der IFC befinden sich alle Informationen zum Modell einschließlich Koordinaten(-systeme), Projekt- und Bauteilinformationen, welche alle aufgelöst in einzelnen Zeilen beschrieben sind. Die pure Anzahl erschlägt einen beim ersten Öffnen einer IFC-Datei förmlich, sorgt aber dafür auch für eine logische Struktur von Informationsverweisen (Wenn man Sie erstmal verstanden hat 😉)

Deutlich wird die Menge, wenn man sich das folgende kleine Beispiel aus 14 Bauteilen ansieht, welches alleine schon über 1000 Beschreibungszeilen im IFC4-ReferenceView enthält.

Jede Zeile in IFC enthält spezifische Informationen und ist grundsätzlich gleich aufgebaut:

  1. Eine eindeutige Nummer innerhalb der IFC-Datei mit #Nummer z.B.:

#10, #4573

  1. Einen IFC-Ausdruck der interpretiert werden kann mit IFCAusdruck z.B.:

IFCWall (Wand); IFCCARTESIANPOINT (Definierter Koordinatenpunkt)

  1. Informationen zu dem Ausdruck z.B.:

(ID:’2c8EvpSJT2Y8cBMkkTVX6i‘,Verweis:#48,Name:’Basiswand:Ziegel‘,etc.)

Zusammengefasst sieht dann die Startzeile einer Wand zum Beispiel so aus:

#716= IFCWALL(‚2c8EvpSJT2Y8cBMkkTVX6i‘,#48,’Basiswand:Ziegel‘,etc.);

Der Clou, den wir an dieser Stelle für die Bearbeitung verwenden, ist, dass wir die für uns relevanten IFC-Ausdrücke (IFC-Wall/IFC-Slab/IFC-Site…) suchen und dann einfach den Text der Informationen zum Ausdruck verändern. Das hat den Vorteil, dass wir nicht jeden der existierenden IFC-Ausdrücke kennen müssen, sondern nur die Dinge anpassen, die wir benötigen.

Dadurch definiert sich auch die Grenze der Möglichkeiten, da es aufgrund der Komplexität sehr schwer ist per Hand (IFC-Entitäten) oder die Geometrie in Größenordnungen zu verändern. Theoretisch natürlich möglich, praktisch aber sehr schwer umzusetzen.

Eigenschaften verändern

Kommen wir nun zum ersten konkreten Beispiel, was wir verändern können. Die einfachste Anpassung ist die Änderung von Werten von Eigenschaften (Entitäten). Dazu müssen wir nur die richtigen Ausdrücke finden, die wir verändern wollen, und dann den Text (den Wert) ersetzen.

Wenn mir zum Beispiel die Basiswand vor dem Namen der Beispielwand nicht gefällt, kann ich dies im Texteditor einfach anpassen. Dazu kann ich in der Zeile der IFCWall den Wert (hier also den Bauteilnamen) verändern und dann die IFC neu abspeichern. Das Vorgehen habe ich in folgenden Bildern einmal dargestellt.

Cool bei diesem Vorgehen ist, dass man im IFC-Viewer direkt sehen kann, ob die IFC noch funktioniert und ob die Eigenschaft korrekt ersetzt wurde. Dadurch wird die Auswirkung unserer Veränderungen immer sehr schnell sichtbar.

Wenn ich diese Veränderung für viele Bauteile vornehmen möchte, kann ich wie oben gezeigt die Suchen und Ersetzen Funktion des Texteditors nutzen und so auf einen Schlag oder Schritt für Schritt alle Informationen verändern. Dabei muss man nur aufpassen, dass man in der Menge der Zeilen nicht ausversehen einen richtigen Wert mit überschreibt.

Praktisch habe ich diese Veränderung von Eigenschaften häufig in IFCSite vorgenommen, da es teilweise Probleme gab, aus den Ursprungsprogrammen die benötigten Grundstückskoordinaten zu ermitteln und ins IFC zu übergeben. Das kann man dann sehr einfach lösen und nach dem Export die Werte per Copy & Paste ersetzen. Siehe dazu auch die nächste Bilderserie.

Was auch schon als Praxisbeispiel aufgetreten ist, war die Umbenennung des softwareeigenen Eigenschaftssets, was sich durch Suchen und Ersetzen schnell realisieren ließ und dann die IFC „strukturell sauberer“ gemacht hat.

Eigenschaften löschen

Um eine Eigenschaft oder ein Eigenschaftenset zu löschen, muss man etwas mehr aufpassen als bei der Veränderung. Der Grund liegt in der verweisenden Struktur von IFC. Im Beispiel der Wand wurde über die #Nummern hinter dem IFC-Ausdruck wieder auf weitere Zeilen verwiesen. (ID:’2c8EvpSJT2Y8cBMkkTVX6i‘,Verweis:#48). Wenn diese Verweise dann ins Leere laufen, weil ich zum Beispiel eine Zeile einfach lösche, dann kann es sein, dass sich die IFC nicht mehr lesen/verwenden lässt. Daher rate ich dazu mit einer Sicherheitskopie zu arbeiten, wenn man IFCs schon verändern muss.

Um eine Eigenschaft oder ein Eigenschaftsset ganz zu entfernen, kann man über das Suchfeld alle Verweise auf dieses Ziel herausfiltern und anpassen bzw. entfernen. Danach kann man die Zeile löschen. Dabei ist Vorsicht geboten. Außerhalb von der Veränderung von Eigenschaften und Eigenschaftssets kann es an dieser Stelle sehr schnell zu Fehlern kommen. Zum Beispiel kann man durch Unwissen auf diese Weise einen notwendigen Verweis löschen oder einen IFC-Ausdruck unbrauchbar machen. Daher empfehle ich immer nur Eigenschaften auf diese Weise anzupassen und maximal noch Gesamtbauteile zu entfernen. Aber auch dabei muss auf fehlerhafte Zeilenverweise geachtet werden.

Beispielhaft habe ich an dieser Stelle an den Wänden das gesamte Pset-IFC-Zusatzinfo gelöscht.

Praktisch kam es in meinen Projekten bisher nur einmal vor, dass sehr streng auf Datenhygiene geachtet wurde und das CAD-Werkzeug leider nur ihren eigenen Eigenschaftensatz (Pset) exportieren konnte. Das haben wir dann händisch ersetzt. Aufgrund der vielen gleichartigen Bauteile haben wir das im zweiten Schritt dann mittels IFC-Modelleditor deutlich schneller und wiederverwendbar umgesetzt. Hierbei sieht man dann auch die Grenzen der Anpassungen mittels Texteditors.

Zusammenfassung

Insgesamt ist es eine gute Sache, dass IFC-Dateien offen und „relativ“ einfach lesbar aufgebaut sind. Dadurch hat man viele Möglichkeiten auch inhaltlich fehlerhafte IFCs relativ einfach zu verändern und zu korrigieren. Auch die zugrunde liegende Logik der IFC-Modellbeschreibung ist mit ein wenig Übung nicht sehr kompliziert, verdeutlicht aber sehr gut die generelle Funktionsweise des des IFC-Modells und sorgt so auch für ein besseres Verständnis bei der generellen softwarebasierten Ausgabe und Verwendung von IFC-Dateien.

Die Möglichkeit der Anpassung von Eigenschaften im Texteditor ist eine nützliche Sache und funktioniert oft auch bei großen Projekten sehr einfach und kann Exportbeschränkungen von CAD-Werkzeugen auf diese Weise gut ausgleichen. Gerade wenn es um Kleinigkeiten wie Schreibfehler oder Ausschreiben einer Typennummer… geht. Eine komplexe Veränderung von IFC-Projekten, zum Beispiel Klassenänderungen oder geometrische Veränderung von Bauteilen ist in jedem Fall leichter in einem IFC-Modelleditor zu realisieren und stellt somit die Grenze der sinnvollen Bearbeitung von IFC im Texteditor dar.

Ich hoffe, dass alle ein wenig über IFC mitnehmen konnten und freue mich wie immer über Kommentare. Bald werden dann auch noch die Beiträge von Arndt und Susanne zur Anpassung von IFC-Dateien mit usBIM und simpleBIM folgen.

Julien Beyer

Julien ist BIM-Enthusiast der ersten Stunde. Für das Studium des Bauingenieurwesens an der HTWK Leipzig, hat es ihn in die große Stadt verschlagen. Von seiner Kindheit auf dem Land hat er seine Bodenständigkeit mitgebracht, die ihm auch in der Hektik des Alltags ein guter Begleiter ist. Er sieht stets das Gute im Menschen und gibt alles – gern auch im Team – damit gute Ideen nicht nur Visionen bleiben. Wenn er nicht gerade als BIM-Manager der S&P Gruppe die kleinen und großen Herausforderungen der BIM Implementierung löst oder in diversen Gremien versucht, pragmatische Lösungsansätze in Hilfen, Standards und Normen zu übernehmen, liebt er seine VR-Brille, mit der er auch privat gern in virtuelle Welten abtaucht.