Skip to content

yorikvanhavre/FreeCAD-NativeIFC

Repository files navigation

NativeIFC addon for FreeCAD

FreeCAD screenshot

This project implements NativeIFC concept into FreeCAD. It allows FreeCAD users to open, manipulate and create IFC files natively in FreeCAD.

Although FreeCAD already supports opening and saving IFC files through the Arch workbench, it does so, like most other BIM applications, by translating to and from the IFC file format and FreeCAD's internal data model. This means two translations, one when opening and another one when saving, which cause a) data loss, and b) a complete rewrite of the file, which turns it unsuitable for version control systems like Git.

NativeIFC means that the IFC file is itself the data structure in FreeCAD. When opening an IFC file in FreeCAD, what you see on the screen is a direct rendering of the contents of the IFC file. Anything you modify will directly modify the IFC file. If you open a file, modify one element and save the file, the only thing that will have changed in the file is the line concerning that element. The rest of the file will be 100% identical to how it was before you saved. No data loss, and very identificable changes.

The Native IFC idea itself comes from this paper by Bruno Postle.

This project is heavily inspired by BlenderBIM and tries as much as possible to use the same concepts and reuse the code. The final goal is to offer in FreeCAD the same level of functionality and performance found in BlenderBIM, and to upstream as much as possible to IfcOpenShell, the common IFC engine used by both applications.

The roadmap below will show you an overview of the current state of the implementation. Check the documentation to learn how to use this addon, and I also write regular updates on this project at https://yorik.uncreated.net/blog/nativeifc

Roadmap

This project had had one big run in early 2023 that is now more or less complete. Check the initial roadmap here.

Starting march 2024, this project is also funded by the NLNet foundation, and has a new roadmap, which culminates with the merge of Arch, BIM and NativeIFC and the integration in FreeCAD. Check the new roadmap here.

Documentation

Performance

Tests generated by auto tests on a AMD Ryzen 9 5900HX - 2024.01.27

File File size Import time (coin) Import time (shape) BlenderBIM
IfcOpenHouse_IFC4.ifc 0.11 Mb 00:00 00:05 00:00
FZK_haus.ifc 2.45 Mb 00:01 00:02 00:01
schultz_residence.ifc 21.43 Mb 00:05 00:13 00:04
nineteen_plots.ifc 4.33 Mb 00:11 00:32 00:05
schependomlaan.ifc 47.0 Mb 00:11 00:20 00:05
king_arch.ifc 24.98 Mb 00:35 Timed out 00:14
king_arch_full.ifc 147.96 Mb 01:39 Timed out 00:36

Sponsors

This project is sponsored by: