Skip to content

import and manipulate an IFC in Blender based on IFCOpenShell

License

Notifications You must be signed in to change notification settings

cuulee/python-ifc-blender

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

import and manipulate an IFC in Blender based on IFCOpenShell

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.6%
  • Batchfile 0.4%