2022-11-01 09:59:39 +11:00
2011-05-08 11:04:32 +00:00
IfcOpenShell
============
2023-07-10 13:15:49 +10:00
2023-06-04 12:53:21 +01:00
<p align="center">
2023-07-10 13:15:49 +10:00
<img src="https://github.com/IfcOpenShell/IfcOpenShell/assets/88302/34901387-e2dd-4a0c-8e38-9ffc32a66cde">
2023-06-04 12:53:21 +01:00
</p>
2016-02-21 16:52:00 +02:00
2025-01-17 22:47:11 -03:00
2022-11-01 09:59:39 +11:00
IfcOpenShell is an open source ([LGPL]) software library for working with Industry Foundation Classes ([IFC]). Complete
2024-01-14 21:11:23 +01:00
parsing support is provided for [IFC2x3 TC1], [IFC4 Add2 TC1], IFC4x1, IFC4x2, and [IFC4x3 Add2]. Extensive geometric support
2022-11-01 09:59:39 +11:00
is implemented for the IFC releases [IFC2x3 TC1] and [IFC4 Add2 TC1]. Extending with support for arbitrary IFC schemas
is possible at compile-time when using C++ and at run-time when using Python.
2024-01-14 21:11:23 +01:00
In addition to a C++ and Python API, IfcOpenShell comes with an ecosystem of tools, notably including IfcConvert (an application
2024-08-29 15:17:52 +10:00
to convert IFC models to other formats), Bonsai (an add-on to Blender providing a graphical IFC authoring platform),
2024-01-14 21:11:23 +01:00
and many other libraries, CLI apps, and more. Support is also provided for auxiliary standards such as BCF and IDS.
2022-11-01 09:59:39 +11:00
For more information, see:
* [IfcOpenShell Website ](http://ifcopenshell.org )
2024-04-06 22:21:16 +11:00
* [IfcOpenShell Documentation ](https://docs.ifcopenshell.org )
* [IfcOpenShell C++ Installation ](https://docs.ifcopenshell.org/ifcopenshell/installation.html )
* [IfcOpenShell Python Installation ](https://docs.ifcopenshell.org/ifcopenshell-python/installation.html )
* [IfcOpenShell Python Hello World Tutorial ](https://docs.ifcopenshell.org/ifcopenshell-python/hello_world.html )
2024-08-14 15:20:25 +05:00
* [Bonsai Website ](https://bonsaibim.org )
* [Bonsai Documentation ](https://docs.bonsaibim.org/index.html )
2024-09-01 16:08:45 +10:00
* [Add-on Installation ](https://docs.bonsaibim.org/quickstart/installation.html )
* [Exploring an IFC model ](https://docs.bonsaibim.org/quickstart/explore_model.html )
2024-07-10 11:26:46 +10:00
Development is sponsored through your generous donations!
2015-08-10 11:38:43 +02:00
2024-07-10 11:26:46 +10:00
[](https://opencollective.com/opensourcebim/)
2022-05-16 11:35:39 +10:00
2022-11-01 09:59:39 +11:00
Contents
--------
2021-08-04 10:51:31 +10:00
2024-07-10 11:26:46 +10:00
| Name | Description | License | Service |
| ------------------------- | --------------------------------------------------------------------- | ------------------- | ------- |
2025-10-22 01:06:56 -03:00
| [bcf ](https://docs.ifcopenshell.org/bcf.html ) | Library to read and write BCF-XML and query OpenCDE BCF-API modules | LGPL-3.0-or-later | [](https://pypi.org/project/bcf-client/) [](https://anaconda.org/conda-forge/bcf-client) |
| [bonsai ](https://docs.ifcopenshell.org/bonsai.html ) | Add-on to Blender providing a graphical native IFC authoring platform | GPL-3.0-or-later | [](https://bonsaibim.org/download.html) [](https://github.com/IfcOpenShell/IfcOpenShell/releases?q=bonsai&expanded=true) [](https://community.chocolatey.org/packages/blenderbim-nightly/) |
| [bsdd ](https://docs.ifcopenshell.org/bsdd.html ) | Library to query the bSDD API | LGPL-3.0-or-later | [](https://pypi.org/project/bsdd/) |
| [ifc2ca ](https://docs.ifcopenshell.org/ifc2ca.html ) | Utility to convert IFC structural analysis models to Code_Aster | LGPL-3.0-or-later |
| [ifc4d ](https://docs.ifcopenshell.org/ifc4d.html ) | Convert to and from IFC and project management software | LGPL-3.0-or-later | [](https://pypi.org/project/ifc4d/) |
| [ifc5d ](https://docs.ifcopenshell.org/ifc5d.html ) | Report and optimise cost information from IFC | LGPL-3.0-or-later | [](https://pypi.org/project/ifc5d/) |
| [ifcbimtester ](https://docs.ifcopenshell.org/bimtester.html ) | Wrapper for Gherkin based unit testing for IFC models | LGPL-3.0-or-later |
2022-11-01 09:59:39 +11:00
| ifcblender | Historic Blender IFC import add-on | LGPL-3.0-or-later\* |
2025-10-22 01:06:56 -03:00
| [ifccityjson ](https://docs.ifcopenshell.org/ifccityjson.html ) | Convert CityJSON to IFC | LGPL-3.0-or-later | [](https://pypi.org/project/ifccityjson/) |
| [ifcclash ](https://docs.ifcopenshell.org/ifcclash.html ) | Clash detection library and CLI app | LGPL-3.0-or-later | [](https://pypi.org/project/ifcclash/) |
| [ifcconvert ](https://docs.ifcopenshell.org/ifcconvert.html ) | CLI app to convert IFC to many other formats | LGPL-3.0-or-later\* | [](https://docs.ifcopenshell.org/ifcconvert/installation.html) [](https://github.com/IfcOpenShell/IfcOpenShell/releases?q=ifcconvert&expanded=true)
| [ifccsv ](https://docs.ifcopenshell.org/ifccsv.html ) | Library and CLI app to export and import schedules from IFC | LGPL-3.0-or-later | [](https://pypi.org/project/ifccsv/) |
| [ifcdiff ](https://docs.ifcopenshell.org/ifcdiff.html ) | Compare changes between IFC models | LGPL-3.0-or-later | [](https://pypi.org/project/ifcdiff/) |
2026-03-29 09:34:17 +01:00
| [ifcedit ](https://docs.ifcopenshell.org/ifcedit.html ) | CLI wrapper for ifcopenshell.api IFC model mutation functions | LGPL-3.0-or-later | [](https://pypi.org/project/ifcedit/) |
2025-10-22 01:06:56 -03:00
| [ifcfm ](https://docs.ifcopenshell.org/ifcfm.html ) | Extract IFC data for FM handover requirements | LGPL-3.0-or-later | [](https://pypi.org/project/ifcfm/) |
| [ifcmax ](https://docs.ifcopenshell.org/ifcmax.html ) | Historic extension for IFC support in 3DS Max | LGPL-3.0-or-later\* | [](https://docs.ifcopenshell.org/ifcmax.html)
2026-04-13 18:34:16 +05:00
| [ifcmcp ](https://docs.ifcopenshell.org/ifcmcp.html ) | MCP server for querying and editing IFC building models | LGPL-3.0-or-later | [](https://pypi.org/project/ifcopenshell-mcp/) |
2026-04-13 16:43:20 +05:00
| [ifcopenshell-python ](https://docs.ifcopenshell.org/ifcopenshell-python.html ) | Python library for IFC manipulation | LGPL-3.0-or-later\* | [](https://docs.ifcopenshell.org/ifcopenshell-python/installation.html) [](https://github.com/IfcOpenShell/IfcOpenShell/releases?q=ifcopenshell-python&expanded=true) [](https://pypi.org/project/ifcopenshell/) [](https://anaconda.org/conda-forge/ifcopenshell) [](https://anaconda.org/ifcopenshell/ifcopenshell) [](https://hub.docker.com/r/aecgeeks/ifcopenshell) [](https://aur.archlinux.org/packages/ifcopenshell) [](https://aur.archlinux.org/packages/ifcopenshell-git) [](https://github.com/IfcOpenShell/wasm-wheels) |
2025-10-22 01:06:56 -03:00
| [ifcpatch ](https://docs.ifcopenshell.org/ifcpatch.html ) | Utility to run pre-packaged scripts to manipulate IFCs | LGPL-3.0-or-later | [](https://pypi.org/project/ifcpatch/) |
2026-03-29 09:34:17 +01:00
| [ifcquery ](https://docs.ifcopenshell.org/ifcquery.html ) | CLI tool for querying and inspecting IFC building models | LGPL-3.0-or-later | [](https://pypi.org/project/ifcquery/) |
2025-10-22 01:06:56 -03:00
| [ifcsverchok ](https://docs.ifcopenshell.org/ifcsverchok.html ) | Blender Add-on for visual node programming with IFC | GPL-3.0-or-later | [](https://github.com/IfcOpenShell/IfcOpenShell/releases?q=ifcsverchok&expanded=true)
| [ifctester ](https://docs.ifcopenshell.org/ifctester.html ) | Library, CLI and webapp for IDS model auditing | LGPL-3.0-or-later | [](https://pypi.org/project/ifctester/) |
2024-07-10 11:26:46 +10:00
The IfcOpenShell C++ codebase is split into multiple interal libraries:
| Name | Description | License |
| ------------------------- | --------------------------------------------------------------------- | ------------------- |
2022-11-01 09:59:39 +11:00
| ifcgeom | Internal library for IfcOpenShell | LGPL-3.0-or-later\* |
| ifcgeom\_schema\_agnostic | Internal library for IfcOpenShell | LGPL-3.0-or-later\* |
| ifcgeomserver | Internal library for IfcOpenShell | LGPL-3.0-or-later\* |
| ifcjni | Internal library for IfcOpenShell | LGPL-3.0-or-later\* |
| ifcparse | Internal library for IfcOpenShell | LGPL-3.0-or-later\* |
| ifcwrap | Internal library for IfcOpenShell | LGPL-3.0-or-later\* |
| qtviewer | Internal library for IfcOpenShell | LGPL-3.0-or-later\* |
| serializers | Internal library for IfcOpenShell | LGPL-3.0-or-later\* |
2021-08-04 10:51:31 +10:00
[LGPL]: https://github.com/IfcOpenShell/IfcOpenShell/tree/master/COPYING.LESSER "LGPL-3.0-or-later"
2019-12-16 01:32:53 +01:00
[IFC]: https://technical.buildingsmart.org/standards/ifc/ "IFC"
[IFC2x3 TC1]: https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/ "IFC2x3 TC1"
[IFC4 Add2 TC1]: https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/ "IFC4 Add2 TC1"
2024-01-14 21:11:23 +01:00
[IFC4x3 Add2]: https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/ "IFC4x3 Add2"
2016-08-06 11:45:29 +03:00
[Visual Studio]: https://www.visualstudio.com/ "Visual Studio"
[Visual C++ Build Tools]: http://landinghub.visualstudio.com/visual-cpp-build-tools "Visual C++ Build Tools"
2016-07-15 06:49:32 +03:00
[MSYS2]: https://msys2.github.io/ "MSYS2"
2016-08-06 11:45:29 +03:00
[win/readme.md]: https://github.com/IfcOpenShell/IfcOpenShell/tree/master/win/readme.md "win/readme.md"
2017-12-17 23:06:39 -05:00
[nix/build-all.py]: https://github.com/IfcOpenShell/IfcOpenShell/tree/master/nix/build-all.py "nix/build-all.py"