IfcOpenShell is an open source (LGPL) software library for working with IFC format.
Initially (started in 2011) it was mainly intended as a software library for developers to build software for Building Information Modelling (BIM), a novel trend in the construction sector where information is exchanged in semantically structured information models. The main open standard, IFC (Industry Foundation Classes), is similar to STEP in its geometry definitions and encodings.
Over time the functionality of IfcOpenShell grew to include authoring of IFC models, by means of the BlenderBIM add-on for Blender, and geneneration of technical 2D drawings. Hence, more and more end-users embrace IfcOpenShell directly. There is also a cloud offering called ifc-pipeline that uses the IfcOpenShell to convert models on the server to static files such as glTF and SVG for visualization on the web. IfcOpenShell is also used extensively in academia, both in education for students to familiarize themselves with the exchange format and computational geometry approaches and research, as a rapid development platform to test novel ideas.
IfcOpenShell is written in C++, but has an extensive Python API. This is an effective combination that offers good performance of the computationally intensive parts and the flexibility and readability of a widely used scripting language, with great modules for web front-ends and machine learning to solve the next generation of issues that our built environment faces.
Q. What are the implications of the LGPL license?
A. When you distribute software that includes a modified version of IfcOpenShell, you need to distribute those changes as well. You also need to enable end-users to relink to a custom version of IfcOpenShell where applicable.
Q. What's with the name? Ifc Opens Hell?
A. No, you're not reading it correctly. An IfcOpenShell is one of the ways geometry can be described inside an Ifc file. Since the name reflects on the Ifc part, the open source part and the geometry part of the project, we figured we'd pick this as our name.
Q. How can I do … with the IFC standard?
A. IFC is a huge and complex standard. Often users conflate the IFC schema with IfcOpenShell functionality, but the IfcOpenShell forums offer a helpful place to familiarize users with both.