All Projects → brean → python-ifc-blender

brean / python-ifc-blender

Licence: Apache-2.0 License
import and manipulate an IFC in Blender based on IFCOpenShell

Programming Languages

python
139335 projects - #7 most used programming language
Batchfile
5799 projects

IFC-Blender

import and manipulate an IFC in Blender based on IFCOpenShell

A workflow could look like this:

  1. You create some building in Revit (or get it from an architect).
  2. You export your Model to IFC
  3. You use IFC-Blender to import the model to Blender and do something with it (e.g. split by storey and export to FBX, so you have multiple files for each storey). See actions.md for a list of all possible actions that you can use to manipulate the imported IFC in Blender. Also a small JSON-file will be generated storing infromation from the IFC (like storeys, rooms, ... - using Python-IFC-Model.
  4. You use the FBX in a 3D-Engine like Unity to display the building. You can then add some logic to animate the building or just show it in VR/AR.
  5. If you like to show specific data from the IFC or find single elements to highlight in your app you can simply load the JSON file and map the names of the objects in the fbx/obj with the data from the JSON-file.

You can also combine this with other blender functionality, e.g. to animate single IFC types (like storeys):

Storey animation

Or use it in the browser, for example using https://threejs.org/ to figure out which room an element is placed at. (In this web application for example we use the IfcSpace information from the JSON file to detect in which room our air condition is dragged - see room number in the up-right corner when the object is moved).

Object movement, space detection

Installation

see install

Export from Autodesk Revit

see revit

Running the example

There is an example json-file that creates separated .blend files for all storeys, based on the "FZK Haus" from the IFC Wiki Just download this file, save it to the buildings/-folder and execute "run.bat".

JSON configuration

What happens in Blender to the imported IFC can be configured in a JSON-file. When executing "run_blender.py" (e.g. by executing "run.bat") it will iterate over all files in actions/ and load all JSON-files saved there.

An overview of all possible actions can be seen in actions.md

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].