mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-29 16:22:53 +00:00
89 lines
3.2 KiB
ReStructuredText
89 lines
3.2 KiB
ReStructuredText
Creating an IFC model
|
|
=====================
|
|
|
|
We're going to create a new native IFC model from scratch, starting from a
|
|
single shape, up to a simple building.
|
|
|
|
A BIM model is not just a 3D format. This means that you cannot just load any 3D
|
|
model, and press a "Save as IFC" button. In fact, 3D is optional and you
|
|
can have a large IFC model storing work schedules, cost rates, asset registers
|
|
and more, and absolutely no 3D geometry at all.
|
|
|
|
However, in these tutorials, we will focus on basic 3D geometry. At a minimum,
|
|
you will need to categorise your 3D elements (such as "Wall", "Column",
|
|
"Window", etc), and give them a location (such as "Level 01" of a building).
|
|
|
|
Creating a single object
|
|
------------------------
|
|
|
|
In the **Properties** panel in the bottom right, activate the icon for the
|
|
**Scene Properties** tab, and find the **IFC Project** subpanel. Click on
|
|
**Create Project** to create a blank IFC project.
|
|
|
|
.. image:: images/create-project.png
|
|
|
|
In the top right **Outliner** panel, you will see a hierarchy of spaces that has
|
|
been automatically created for you. This hierarchy is known is the **Spatial
|
|
Tree**. The Camera, Cube, and Light come with a fresh new Blender session by
|
|
default, and are not part of your IFC project.
|
|
|
|
.. image:: images/default-spatial-tree.png
|
|
|
|
Any Blender object that you want to be part of IFC project must be converted
|
|
into a IFC object by assigning a category. This category is known as the **IFC
|
|
Class**.
|
|
|
|
.. seealso::
|
|
|
|
Use the `IFC Class search tool
|
|
<https://blenderbim.org/search-ifc-class.html>`__ to help choose an **IFC
|
|
Class**!
|
|
|
|
Select only the default Blender Cube (selected objects are highlighted in
|
|
orange, careful not to select anything else!), switch to the **Object
|
|
Properties** tab, and find the **IFC Class** panel. Let's pretend our Cube is a
|
|
column, so select **IfcColumn** from the **Class** drop-down, and press **Assign
|
|
IFC Class**.
|
|
|
|
.. image:: images/assign-class.png
|
|
|
|
.. tip::
|
|
|
|
There are no restrictions on which **IFC Class** you can choose regardless of
|
|
the shape of your object. You can have a monkey-shaped wall if you want!
|
|
|
|
All IFC objects must also belong inside the **Spatial Tree**. In the
|
|
**Outliner** panel, you can drag and drop your newly created **IfcColumn/Cube**
|
|
inside the **IfcBuildingStorey/Ground Floor**. Wasn't that simple?
|
|
|
|
.. image:: images/drag-drop-outliner-tree.png
|
|
|
|
Go back to the **Scene Properties** tab and to the **IFC Project** panel and
|
|
press **Save Project**. Save your new IFC model somewhere on your computer.
|
|
|
|
.. image:: images/save-project.png
|
|
|
|
Congratulations! You have now created your first OpenBIM model from Blender! You
|
|
can open the IFC file in any other program, and you will see something similar
|
|
to the image below. Three simple open source online viewers you can test with
|
|
are `IfcPipeline <https://view.ifcopenshell.org>`__, `IFC.JS
|
|
<https://ifcjs.github.io/web-ifc-viewer/example/index>`__, and `3DViewer
|
|
<https://3dviewer.net/>`__.
|
|
|
|
.. image:: images/ifc-pipeline.png
|
|
|
|
Placing occurrences of an element type
|
|
--------------------------------------
|
|
|
|
TODO
|
|
|
|
Changing the locations of elements
|
|
----------------------------------
|
|
|
|
TODO
|
|
|
|
Modeling a simple building
|
|
--------------------------
|
|
|
|
TODO
|