Arch IFC/en

The Arch Module features an Industry Foundation Classes (IFC) importer. The IFC format is a more and more widely spread format to interchange data between BIM applications, used in architecture an d engineering.

The importer is still a work in progress, and can use two different IFC processing engines: a built-in python parser, that is slower but doesn't need any other piece of software, or IfcOpenShell, which is not bundled with FreeCAD and must be installed on your system. If IfcOpenShell is correctly installed, it will be detected by FreeCAD and used to import IFC files, unless you force the use of the internal python parser from the Arch preferences settings.

The use of IfcOpenShell is highly recommended, since it is much faster and more powerful than the internal parser. IfcOpenShell supports all Ifc 2.3 entities that carry geometry information (not all of them can be converted to Arch objects), those that can't will be imported as simple Part shapes. The internal parser only supports the following types:

Importing
All IfcProduct-based entities from IFC2x3 or IFC4 files will be imported into the FreeCAD document. The IFC preferences settings allow you to set how the IFC objects are imported: as full parametric Arch objects, as non-parametric Arch objects, as non-parametric Part shapes, or as one Part shape per floor. Each of these types looses some information over the previous one, but is lighter on resources, which allows to open bigger files. A last type allows to discard entirely the importing of Arch objects, which is useful for structural analytic models.

If parametric Arch objects are used, for all IFC types that have an equivalent in the Arch Module, the corresponding type is used. For the others, a generic Part shape is created. All Arch objects, parametric and non-parametric, will carry the full set of IfcProperties attached to each object.

IfcAnnotation objects are also imported, as well as linear and curve-based IfcStructuralItem-based entities.

Enabling the show debug messages in the IFC preferences settings will print a report indicating if any object from the IFC file failed to import.

Exporting
Exporting to IFC files is currently experimental and requires a special development version of IfcOpenShell. If that version is installed, IFC export becomes available. Be aware that this functionality is still in development and might not produce usable files.

IFC files are exported as IFC2x3 or IFC4 depending on your version of IfcOpenShell, which can be compiled with any of the IFC schemas.

If the shape of exported objects is based on an extrusion or a boolean operation, the operation and components will be correctly exported to IFC. If not, the object's shape is exported as IfcFacetedBrep. If the shape contains curves, these will be faceted.