Code Monkey home page Code Monkey logo

python-ifc-blender's Introduction

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

python-ifc-blender's People

Contributors

brean avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.