the open source IFC toolkit and geometry engine
IfcOpenShell helps you build digital platforms and tools for the built environment. Read, write and modify Building Information Models using IFC, a diverse digital language from design to construction and beyond.
What is IfcOpenShell?
IfcOpenShell is an open source (LGPL) software library that helps users and software developers to work with the IFC file format. The IFC file format can be used to describe building and construction data. The format is commonly used for Building Information Modelling.
IfcOpenShell uses Open CASCADE internally to convert the implicit geometry in IFC files into explicit geometry that any software CAD or modelling package can understand.
ReliableLong history of solid engineering. Trusted by many.
Multi-LanguageDevelop in C++, Python or use the many stand-alone conversion and analysis tools.
IFC SchemasSupports IFC releases IFC2x3 TC1, IFC4 Add2 TC1, and IFC4.3
Keep it SimplePython API with over 250 high-level use cases keeps writing complex IFC super simple
Build it allSupports (almost) all IFC geometry definitions from boolean operations to complex sweeps.
3D and 2DGenerate compelling architectural 2D drawings from the 3D BIM model with ease.
More toolsCollection of Unix-like tools for clash detection, CSV, diffing, patching and more.
CommunityAcademy, documentation, tutorials and snippets.
Getting started is easy!
Python and pythonOCC
C++ and Qt
Python high level API
C++ command line
import ifcopenshell import ifcopenshell.geom f = ifcopenshell.open("my_model.ifc") ifcopenshell.geom.utils.initialize_display() settings = ifcopenshell.geom.settings(USE_PYTHON_OPENCASCADE=True) for item in ifcopenshell.geom.iterate( settings, f, exclude=["IfcSpace", "IfcOpeningElement"] ): ifcopenshell.geom.utils.display_shape(item) ifcopenshell.geom.utils.main_loop()
Frequently Asked Questions
- What's with the name? Ifc Opens Hell?
- 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.
PS: No, we're not called openIfcShell either
- Ok, so how do you make money with this?
- We don't. Are you? How about sharing some of the pie or help out with development or testing!