Arch IFC/de: Difference between revisions

From FreeCAD Documentation
(Created page with "'''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 Verwendun...")
No edit summary
Line 19: Line 19:
'''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.
'''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...
<div class="mw-translate-fuzzy">
Aufgrund der höheren Geschwindigkeit und des Umfangs wird die IfcOpenShell für den Import empfohlen. IfcOpenShell unterstützt alle IFC 2x3- und IFC4- Entities, die Geometrieinformationen enthalten. Diejenigen, die nicht zu [[Arch Module/de|Arch]]-Objekten konvertiert werden können, werden als einfache [[Part Module/de|Teile]] eingefügt.
</div>


==Obtaining IfcOpenShell==
==Obtaining IfcOpenShell==

Revision as of 21:32, 8 June 2020

Der Arch und Build Information Modeling (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 Aufbau 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...

Obtaining IfcOpenShell

On the IfcOpenShell website, you will find download links for the various utilities that compose the IfcOpenShell program. What FreeCAD needs is the one called IfcOpenShell-Python. You must take care of choosing the correct architecture for your operating system (32bits or 64bits), and also need the exact same Python version as FreeCAD. The Python version used by FreeCAD is indicated on the first line of the FreeCAD Python Console, found under menu View → Panels. You need a version of IfcOpenShell with the same two first numbers. The third number is not important. For example, if your FreeCAD Python version is 3.7.4, you need an IfcOpenShell version 3.7.

IfcOpenBot

The packages available on the IfcOpenShell website are, however, usually very old and don't support more recent Python versions. We therefore recommend you to use another service provided by the developers of IfcOpenShell, which is called IfcOpenBot. It is an automated system that builds a series of packages from time to time from the IfcOpenShell source code. To download one of these packages, click the "Commits" link on the GitHub repository, and locate commits that have a comment (a small "message" icon). Those comments are where you will find the packeges built by IfcOpenBot.

At the time of writing, the current stable version of IfcOpenShell, which lies in its "master" branch, is v0.5. However, v0.6 is already very stable and contains many improvements such as support for both IFC2x3 and IFC4 at the same time. We recommend you to switch the "branch" button to v0.6 and use one of these instead. Again, make sure you download the correct package for your version of FreeCAD.

Compiling

You can also compile IfcOpenShell yourself, of course. As it has almost the same dependencies as FreeCAD, if you are already compiling FreeCAD yourself, compiling IfcOpenShell will be very straightforward and will normally not require any additional dependency.

Installing IfcOpenShell

The package you downloaded from one of the above locations is a zip file that contains a folder named "ifcopenshell" with several other files and folders inside. To "install" it simply means make this ifcopenshell folder found by Python (so the import ifcopenshell command we used above succeeds). The list of folders where Python looks for modules can be obtained by entering these two lines in the FreeCAD Python Console:

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

and press enter twice.

To install IfcOpenShell, just unzip the downloaded package, and place the "ifcopenshell" folder in any of the locations issued by the commands above.

You will notice that some of these locations are system folders (the officially recommended locations are the "site-packages" or "dist-packages" folders), which will make IfcOpenShell installed system-wide and available to other applications such as Blender, but you might prefer to not pollute your system folders with something copied by hand, and place it in one of the folders of FreeCAD itself. Good suggestions are FreeCAD's "bin" folder, or the macros folder (which you can also obtain from menu Macro → Macros)

Once you copied your ifcopenshell folder at one of these locations, test that it works correctly by entering:

import ifcopenshell

in the Python console of FreeCAD. If no error appears, you are good to go.

Import

Alle IfcProduct-basierten Entitäten aus IFC2x3- oder IFC4-Dateien werden in das FreeCAD-Dokument importiert. Die IFC-Voreinstellungen erlauben es festzulegen, wie die IFC-Objekte importiert werden: als vollparametrische Arch-Objekte, als nicht-parametrische Arch-Objekte, als nicht-parametrische Part-Formelemente oder als ein Formelement pro Etage. Jeder dieser Typen verliert einige Informationen gegenüber dem vorhergehenden, benötigt aber weniger Ressourcen und erlaubt so das Öffnen von größeren Dateien. Ein letzter Typ ignoriert komplett den Import von Arch-Objekten, was nützlich für strukturelle analytische Modelle (structural analytic models) ist.

Typically, if you try to open a large file and FreeCAD takes too long to import it, try with a lower import mode.

IfcOpenShell supports all IFC2x3 and IFC4 entities (IFC4-add1 and IFC4-add2 are being implemented in v0.6 and might be available by the time you read this) but not all of them can be converted to Arch objects, those that can't will be imported as simple Part shapes. The IFC importer starts by importing all IFC entities derived from IfcProduct, that is, basically, all the objects that compose a building, such as walls or windows or pipes. All other entities needed by one of these objects, such as profiles of extrusion, or components of boolean operations, will be imported as required.

Wenn parametrische Arch-Objekte verwendet werden, wird für alle IFC-Typen der entsprechende Typ des Arch-Moduls benutzt, soweit vorhanden. Für die restlichen wird eine generische Part-Form (shape) erzeugt. Alle Arch-Objekte, parametrisch und nicht-parametrisch, erhalten den kompletten Satz von IfcProperties, angehängt an das Objekt.

Building structures such as Sites, Buildings and Storeys are also faithfully imported and the structure is correctly recreated in FreeCAD. Group structures (using IfcGroups) are also imported and rendered in FreeCAD, and can be combined with building structures, for ex. having groups inside storeys or storeys inside groups.

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

Quantities specified in the IFC file are NOT imported. However, since the geometry is fully recreated in FreeCAD, most of the quantities such as length, area, etc.. are easily obtainable for each object

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

Note: The BIM Workbench features an IFC explorer tool that allows you to open an IFC file in fast, text-only mode, and import only the parts you wish.

Export

Bei der Ausgabe in IFC-Dateien werden alle selektierten und davon abhängigen Objekte exportiert. Um ein ganzes Gebäude oder eine komplette Etage zu exportieren, muss lediglich das Gebäude- oder Etagenobjekt selektiert werden. Arch-Objekte werden mit dem Typ exportiert, der in der "Role"-Eigenschaft gesetzt ist. Ihre IfcProperties (Ifc-Eigenschaften) werden ebenfalls exportiert und falls diese eine IFC-UID aus einem vorherigen Import besitzen, wird diese UID beim Export beibehalten. Objekte, die keine Arch-Objekte sind, werden als IfcBuildingElementPRoxy exportiert.

To export a whole site or building or a whole floor or a group containing other objects, it is only needed to select that building or floor or group. Arch objects will be exported with the type set in their "IFC Type" property. Their IfcProperties are exported as well, and if these objects have an IFC UID from a previous import, the same UID will be kept at export. Objects that are not Arch objects are exported as IfcBuildingElementProxy.

IFC-Dateien werden als IFC2x3 oder IFC4 exportiert, abhängig von der eingesetzten Version von IfcOpenShell, das mit jedem der IFC-Schemata kompiliert werden kann.

Wenn die Form von exportierten Objekten auf einer Extrusion oder einer booleschen Operation basiert, werden die Operation und Komponenten korrekt an IFC exportiert. Falls nicht, wird die Objektform als IfcFacetedBrep (IFC facettiertes Brep) exportiert. Falls die Form Krümmungen enthält, werden diese facettiert.

Links

Tutorial Import/Export IFC - compiling IfcOpenShell