Files
IfcOpenShell/src/ifcblenderexport/README.md
T

72 lines
3.5 KiB
Markdown
Raw Normal View History

2019-08-29 23:11:12 +10:00
# Blender BIM IFC
_Under heavy development!_
Let's use Blender to create BIM models, because why not?
2019-09-01 22:17:49 +10:00
## Features
- IFC4 is a first-class citizen. IFC4 has been an ISO standard since 2013, with
the latest published in 2018. In contrast, other programs are dragging their
feet with IFC2X3, published back in 2005.
2019-09-05 18:50:32 +10:00
- Use Blender 2.8 to do digital modeling! Blender is an amazing open-source
2019-09-01 22:17:49 +10:00
software that supports the full 3D content creation pipeline that the CG
industry uses. Don't let your designs fall short just because your modeling
tool isn't good enough!
- Create complex spatial structures with multiple sites, buildings, facilities,
bridges, and building parts. In contrast, some BIM tools (uh, Revit?) don't
even allow you to specify buildings.
- Classify any geometry as any IFC type. Just because it is a wall doesn't
mean you should be limited to modeling it in a certain way. Easily change
from one type to another without damaging your geometry.
2019-09-05 18:50:32 +10:00
- Use collections to create element compositions and decompositions with full
control over the classifications of their parts. Most BIM programs don't give
this flexibility. Create collection instances to duplicate composite objects.
2019-09-01 22:17:49 +10:00
- Allow BIM objects to instance a shared geometric representations. This allows
you to place the same shape in multiple objects without drastically
increasing your filesize.
- Provide a custom value to any simple IFC attribute of an IFC product.
- Create product types that regular IFC products can inherit attributes from.
- Define your own property sets with control over exactly how the data in the
property sets are stored.
2019-09-02 21:27:24 +10:00
- Applies array modifiers to create instances.
2019-09-05 18:50:32 +10:00
- Basic quantity take-off support for costing.
- Settings to toggle export of quantities or geometric representations.
Exporting IFC data without geometric representations is much faster and a
fraction of the filesize.
- Maintain `GlobalId` between exports, so that you can manipulate the IFC
reliably in other software while making changes.
2019-09-02 21:27:24 +10:00
## Demo
It's only just started, so everything can and will change. But if you want to
check it out:
1. Install [Blender](https://www.blender.org/).
2. Install [IfcOpenShell](https://github.com/IfcOpenShell/IfcOpenShell),
ensuring that is is compiled to the same Python version and architecture of
your Blender installation.
3. Launch Blender. Open `untitled.blend`. You should see the `export.py`
script already loaded. Change the hardcoded paths from
`/home/dion/Projects/blender-bim-ifc/` to wherever you've cloned this
repository.
2019-09-02 21:28:53 +10:00
4. Ensure `ifcopenshell` is in your Blender Python's path, so that it can
`import ifcopenshell`. You can run
`sys.path.append('/path/to/your/ifcopenshell/module')` in the Blender Python
console to do this.
5. Select all objects that you want to export. Press `Run Script`, and you will
2019-09-02 21:27:24 +10:00
get the results in `output.ifc`.
A naming convention of `IfcClass/IfcName` is enforced. If you name your object
`IfcWall/Foo`, it will turn into an `IfcWall` with the name attribute set to
`Foo`. You can override object attributes using Blender's `Custom Properties`.
Your objects must live in a top level `Collection` defined as a context class,
usually something like `IfcProject/Foo`. You can then nest spatial structures
underneath to create a hierarchy.
2019-09-02 21:38:14 +10:00
![Blender screenshot](blender-screenshot.png)
... this Blender files creates this IFC file ...
![IfcOpenShell screenshot](ifcopenshell-screenshot.png)