Thursday, February 26, 2015

Two new IfcOpenShell releases

It has been a long wait since the previous official IfcOpenShell release. But now, two releases are presented at once, to make up for testing the patience of the community to this extent. On the one hand the new 0.4 release candidate improves on the stability of the 0.4 branch. The 0.5 preview release features more bleeding-edge work. Both releases have been updated for changes in upstream projects and include builds for the new blender 2.73 and 3ds Max 2015 and are built using Open Cascade 6.7.1 (OCE 0.16).

Both releases can be downloaded from the website. As always, it includes IfcBlender, IfcMax and IfcConvert. The 0.5 release now introduces ifcopenshell-python, a Python module for parsing and writing IFC files and creating BReps and explicit triangulated geometry from the implicit IFC geometry. The BIMserver plug-in has been provided with updated executables for its geometry interpretation.

The 0.4 release

An excerpt of the improvements is provided below:
  • More faithful use of precision information in IFC
  • Fixes and improvements for IfcLShapeProfileDef, IfcCShapeProfileDef, IfcRectangleHollowProfileDef, IfcCartesianTransformOperator3D, IfcSpecularExponent, IfcFacetedBrep, IfcPolyline, IfcPolyLoop
  • Prevent errors in triangulations due to zero-length normals
  • Fixes for parsing files with comments
  • Write unique IDs in Collada files
  • Speed up output of Wavefront OBJ files
  • Less unnecessary nurbs conversion in the STEP and IGES output
  • Check the validity of solids and fillets
  • Make parsing and serialization locale-independent

The 0.5 preview release

Simultaneously, a large amount of improvements and new features have been added to the 0.5 branch, which we do not want to withhold from the community. Hence, a preview of the 0.5 branch is released for adventurous users. Most notably, it contains all the improvements to geometry handling as outlined in this post and a brand new Python interface and coupling with pythonOCC. The Python interface has been built in collaboration with the FreeCAD team and its users, which are about to release a new version that includes a very promising full blown IFC importer and exporter. For programmers a new API is introduced that supersedes the IfcGeomObjects API. A new output format is added to IfcConvert which provides textual output from the IFC file that describes the header, decomposition structure and property values in XML format.

Introducing IfcOpenShell Academy

With the introduction of the Python interface to IfcOpenShell and the integration with pythonOCC, IfcOpenShell becomes even more suitable as a platform for academia, research and rapid development. With Python+IfcOpenShell+pythonOCC+Qt a complete framework is presented to interactively and visually present, analyse and construct IFC data. IfcOpenShell Academy provides an overview of quick recipes or building blocks to accomplish common tasks related to IFC. If you wish to contribute a recipe to the cookbook contact

Enjoy! And remember that IfcOpenShell still needs your help!


  1. This comment has been removed by the author.

  2. Does the 0.5 preview release imports medata to blender?Will the final version have it? When will it be released ?

    1. Hi,

      The preview release does not. Potentially the final version could do it, however as I have said before: the focus of IfcOpenShell is to provide a core software module that other developers can build upon, not so much to provide fully functional end-user applications. It's an open source projects, improvements, patches and contributions from the community are always welcome. The blender community itself contains many skilful developers that can take the IFC importer to the next level in terms of semantics and metadata. My advise would be to see who you can mobilize from that community as well.

      Kind regards,