Arch IFC/de

Die Arch und Bauwerksdatenmodellierung (engl. Building Information Modeling (kurz: BIM)) Arbeitsbereiche bietet einen Industry Foundation Classes (IFC) Importeur und Exporteur. Das IFC Format ist ein ständig wachsendes, weit verbreitetes Format für den Datenaustausch zwischen BIM (Gebäudedatenmodellierung) Anwendungen, das in der Architektur und im Ingenieurwesen verwendet wird.

Sowohl der Importeur als auch der Exporteur hängen von einer externen Open Source Software namens IfcOpenShell ab, die je nach Plattform und Bezugsquelle des FreeCAD Pakets mit Ihrer Version von FreeCAD gebündelt sein kann oder auch nicht. Wenn IfcOpenShell korrekt installiert ist, wird es von FreeCAD erkannt und zum Importieren und Exportieren von IFC Dateien verwendet. Eine einfache Möglichkeit zu prüfen, ob IfcOpenShell vorhanden und verfügbar ist, besteht darin, entweder zu versuchen, eine IFC Datei zu importieren oder zu exportieren, oder einfach Folgendes in der FreeCAD Python Konsole (zu finden unter dem Menü Ansicht → Konsolen) einzugeben:

ifcopenshell importieren

Wenn keine Fehlermeldung erscheint, ist alles in Ordnung, IfcOpenShell ist korrekt installiert. Andernfalls musst du es selbst installieren. Lies weiter.

Hinweis: Das BIM Einrichtungs Werkzeug sucht auch nach IfcOpenShell und gibt eine Warnmeldung aus, wenn diese nicht installiert ist.

Hinweis: Der Arch Arbeitsbereich bot in der Vergangenheit einen einfacheren IFC Importeur, der nicht von IfcOpenShell abhängt. Es ist immer noch möglich, die Verwendung dieses alten Python ICF Importeurs zu erzwingen, indem du die entsprechende Option in den Einstellungen der Arch Einstellungen aktivierst. Dieser Importeur wurde jedoch eingestellt, funktioniert möglicherweise nicht mehr richtig und kann nur noch eine sehr kleine Teilmenge von IFC Objekten importieren.

Die Verwendung von IfcOpenShell wird dringend empfohlen, da es viel schneller und leistungsfähiger als der interne Parser ist. Wir denken, es ist einer der besten IFC Handler, die es gibt...

Bezug von IfcOpenShell
Auf der IfcOpenShell Webseite findest du Download Verknüpfungen für die verschiedenen Dienstprogramme, aus denen das IfcOpenShell Programm besteht. Was FreeCAD benötigt, ist das Programm namens 'IfcOpenShell-Python. Du musst darauf achten, die richtige Architektur für dein Betriebssystem (32bit oder 64bit) zu wählen, und benötigst außerdem die genau gleiche Python Version wie FreeCAD. Die von FreeCAD verwendete Python Version wird in der ersten Zeile der FreeCAD Python Konsole angezeigt, die du unter dem Menü Ansicht → Konsolen findest. Du benötigst eine Version von IfcOpenShell mit den gleichen beiden ersten Zahlen. Die dritte Zahl ist nicht wichtig. Wenn deine FreeCAD Python Version zum Beispiel 3.7.4 ist, benötigst du eine IfcOpenShell Version 3.7.

IfcOpenBot
Die auf der IfcOpenShell Webseite verfügbaren Pakete sind jedoch in der Regel sehr alt und unterstützen keine neueren Python Versionen. Wir empfehlen dir daher, einen anderen Dienst zu verwenden, der von den Entwicklern von IfcOpenShell bereitgestellt wird und den Namen IfcOpenBot trägt. Es handelt sich dabei um ein automatisiertes System, das von Zeit zu Zeit eine Reihe von Paketen aus dem Quellcode von IfcOpenShell erstellt. Um eines dieser Pakete herunterzuladen, klicke auf ddie Verknüpfung "Commits" im GitHub Repositorium und suche nach Commits, die einen Kommentar (ein kleines "Nachrichten"-Symbol) enthalten. In diesen Kommentaren findest du die von IfcOpenBot erstellten Pakete.

Zum Zeitpunkt des Abfassens ist die aktuelle stabile Version von IfcOpenShell, die in ihrem "Master" Zweig liegt, v0.5. Allerdings ist v0.6 bereits sehr stabil und enthält viele Verbesserungen wie die gleichzeitige Unterstützung von IFC2x3 und IFC4. Wir empfehlen dir, die Schaltfläche "branch" auf v0.6 umzustellen und stattdessen eine dieser Schaltflächen zu verwenden. Auch hier ist darauf zu achten, dass du das richtige Paket für dein Version von FreeCAD herunterlädst.

Kompilieren
Du kannst natürlich auch IfcOpenShell selbst kompilieren. Da es fast die gleichen Abhängigkeiten wie FreeCAD hat, ist die Kompilierung von IfcOpenShell sehr einfach und erfordert normalerweise keine zusätzlichen Abhängigkeiten, wenn du FreeCAD bereits selbst kompilierst.

IfcOpenShell installieren
Das Paket, das du von einem der oben genannten Orte heruntergeladen hast, ist eine Zip Datei, die einen Ordner namens "ifcopenshell" mit mehreren anderen Dateien und Ordnern enthält. Installieren" bedeutet einfach, diesen von Python gefundenen ifcopenshell Ordner zu erstellen (damit der oben verwendete Befehl import ifcopenshell erfolgreich ist). Die Liste der Ordner, in denen Python nach Modulen sucht, erhälst du durch Eingabe dieser beiden Zeilen in der FreeCAD Python Konsole:

import sys for p in sys.path: print(p)

und drücke zweimal die Eingabetaste.

Um IfcOpenShell zu installieren, entpacke einfach das heruntergeladene Paket und lege den Ordner "ifcopenshell" an einem der Orte ab, die durch die obigen Befehle angegeben wurden.

Du wirst feststellen, dass einige dieser Orte Systemordner sind (die offiziell empfohlenen Orte sind die "site-packages" oder "dist-packages" Ordner), die IfcOpenShell systemweit installiert und für andere Anwendungen wie Blender verfügbar macht, aber du könntest es vorziehen, deine Systemordner nicht mit etwas zu verschmutzen, das von Hand kopiert wurde, und es in einen der Ordner von FreeCAD selbst zu legen. Gute Vorschläge sind der "bin" Ordner von FreeCAD oder der Makro Ordner (den du auch über das Menü Makro → Makros erreichen kannst).

Nachdem du deinen ifcopenshell Ordner an einen dieser Orte kopiert hast, teste durch Eingabe, ob er korrekt funktioniert:

ifcopenshell importieren

in der Python Konsole von FreeCAD. Wenn kein Fehler erscheint, kannst du loslegen.

Importieren
Alle IfcProduct basierten Entitäten aus IFC2x3 oder IFC4 Dateien werden in das FreeCAD Dokument importiert. Mit den IFC Einstellungen kannst du festlegen, wie die IFC Objekte importiert werden: als vollparametrische Arch objekte (die Geometrie wird, soweit möglich, in FreeCAD editierbar sein), als nicht-parametrische Arch objekte (Objekte tragen IFC Informationen und Eigenschaften, sind aber nicht editierbar), als nicht-parametrische Teilformen (die Geometrie wird getreu wiedergegeben, aber IFC Informationen werden verworfen) oder als eine Teilform pro Stockwerk (ein Alles-in-einem Objekt, nur als Referenz). Jeder dieser Typen verliert gegenüber dem vorherigen einige Informationen, ist aber ressourcenschonender, was das Öffnen größerer Dateien ermöglicht. Ein letzter Typ erlaubt es, das Importieren von Arch Objekten vollständig zu verwerfen, was für strukturanalytische Modelle nützlich ist.

Wenn du versuchst, eine große Datei zu öffnen und FreeCAD zu lange für den Import braucht, versuche es normalerweise mit einem niedrigeren Importmodus.

IfcOpenShell unterstützt alle IFC2x3 und IFC4 Entitäten (IFC4-add1 und IFC4-add2 werden in v0.6 implementiert und sind möglicherweise verfügbar, wenn du dies liest), aber nicht alle können in Arch Objekte konvertiert werden, diejenigen, die nicht importiert werden können, werden als einfache Part Formen importiert. Der IFC Importeur importiert zunächst alle IFC Entitäten, die von IfcProduct abgeleitet sind, d.h. im Grunde alle Objekte, aus denen ein Gebäude besteht, wie z.B. Wände oder Fenster oder Rohre. Alle anderen Entitäten, die von einem dieser Objekte benötigt werden, wie z. B. Extrusionsprofile oder Komponenten boolescher Operationen, werden nach Bedarf importiert.

Wenn ein Importmodus verwendet wird, der Arch Objekte verwendet, gleichgültig ob parametrisch oder nicht, tragen alle Objekte den vollständigen Satz von IfcEigenschaften, der an jedes Objekt angehängt ist, gruppiert nach Eigenschaftensatz.

Gebäudestrukturen wie Standorte, Gebäude und Stockwerke werden ebenfalls originalgetreu importiert, und die Struktur wird in FreeCAD korrekt nachgebildet. Gruppenstrukturen (mit IfcGroups) werden ebenfalls in FreeCAD importiert und gerendert und können mit Gebäudestrukturen kombiniert werden, z.B. mit Gruppen innerhalb von Stockwerken oder Stockwerken innerhalb von Gruppen.

IfcAnnotation-Objekte werden ebenfalls importiert, genau wie gradlinige (linear) und gekrümmte (curve-based) IfcStructuralItem Entitäten.

Die in der IFC Datei angegebenen Mengen werden NICHT importiert. Da die Geometrie jedoch vollständig in FreeCAD neu erstellt wird, sind die meisten Größen wie Länge, Fläche usw. für jedes Objekt leicht erhältlich.

Das Aktivieren von show debug messages in den IFC-Voreinstellungen wird einen Bericht ausgeben, wenn beim Import von IFC-Dateien Fehler auftreten.

Hinweis: Der BIM Arbeitsbereich verfügt über ein IFC Explorer Werkzeug, das dir erlaubt eine IFC Datei im schnellen Nur-Text Modus zu öffnen und nur die gewünschten Teile zu importieren.

Export
Beim Exportieren in IFC Dateien werden alle ausgewählten Objekte und ihre Nachkommen exportiert. Alle Arch/BIM Objekte werden unterstützt, ebenso wie andere Objekte, die in anderen Workbenches erstellt wurden. Die einzigen derzeit noch nicht vollständig unterstützten Objekte sind PartDesign Körper, App Parts und neue Strukturen wie Links und LinkGroups, so dass du diese noch etwas testen musst, wenn du sie verwenden möchtest. Arch Referenzen wird derzeit als IfcBuildingElementProxies exportiert.

Um einen ganzen Standort oder ein ganzes Gebäude oder ein ganzes Stockwerk oder eine Gruppe, die andere Objekte enthält, zu exportieren, ist es nur erforderlich, dieses Gebäude oder dieses Stockwerk oder diese Gruppe auszuwählen. Arch Objekte werden mit dem Typ exportiert, der in ihrer Eigenschaft "IFC Type" festgelegt ist. Ihre IfcProperties werden ebenfalls exportiert, und wenn diese Objekte eine IFC UID aus einem früheren Import haben, wird dieselbe UID beim Export beibehalten. Objekte, die keine Arch Objekte sind, werden als IfcBuildingElementProxy exportiert.

IFC Dateien werden als IFC2x3 oder IFC4 exportiert, abhängig von Ihrer Version von IfcOpenShell, die mit jedem der IFC Schemata kompiliert werden kann. Wenn du IfcOpenShell v0.6 oder höher verwendest, wird die in den Arch Einstellungen angegebene IFC Version verwendet.

Wenn die Form der exportierten Objekte auf einer Extrusion oder einer booleschen Operation basiert, werden die Operation und die Komponenten korrekt in die IFC exportiert. Wenn nicht, wird die Form des Objekts als IfcFacetedBrep exportiert. Wenn die Form Kurven enthält, werden diese trianguliert. IfcOpenShell v0.5 oder höher verfügt jedoch über einen Serialisierer, der in den Import/Export → IFC Einstellungen aktiviert werden muss. Wenn dieser Serialisierer aktiviert ist, ist er in der Lage, sehr komplexe gekrümmte Objekte, wie z.B. solche, die auf NURBS basieren, zu exportieren und somit triangulierte Flächen zu vermeiden. Zum Zeitpunkt der Erstellung dieses Artikels unterstützen jedoch nur wenige andere BIM Anwendungen IFC NURBS Objekte, so dass ein wenig Testen empfohlen wird.

Veweise
Tutorium Import/Export IFC - IfcOpenShell kompilieren