Rename source dir
@@ -0,0 +1,92 @@
|
||||
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 on the right, ensure the icon for the **Scene
|
||||
Properties** tab is active showing the **Project Overview**. Click on **Create
|
||||
Project** to create a blank IFC project.
|
||||
|
||||
.. image:: images/create-project.png
|
||||
|
||||
In the left **Outliner** panel, you will see a hierarchy of spaces that has
|
||||
been automatically created for you. This hierarchy is known is the **Spatial
|
||||
Tree**.
|
||||
|
||||
.. image:: images/default-spatial-tree.png
|
||||
|
||||
There are many ways to create objects. In practice, you should use an element
|
||||
type library, and we will see how to do this later. For now, we will only add a
|
||||
single element. In the **Add** menu, add a cube.
|
||||
|
||||
.. image:: images/add-cube.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 the cube (selected objects are highlighted in orange, careful not to
|
||||
select anything else!) and switch to the **Object Information** tab. Let's
|
||||
pretend our Cube is a column, so select **IfcElement** from the **Products**
|
||||
dropdown, **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 will see that your newly created **IfcColumn/Cube** has
|
||||
been automatically placed in **IfcBuildingStorey/My Storey**.
|
||||
|
||||
.. image:: images/outliner-cube.png
|
||||
|
||||
In the top left **File** menu, Save your new IFC model 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>`__, `ThatOpenEditor
|
||||
<https://platform.thatopen.com/app>`__, 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
|
||||
@@ -0,0 +1,445 @@
|
||||
Exploring an IFC model
|
||||
======================
|
||||
|
||||
We're going to load an existing IFC model and explore some common properties
|
||||
most users will be interested in.
|
||||
|
||||
If you don't have an IFC model available, here's a small one for your
|
||||
convenience provided by the Institute for Automation and Applied Informatics
|
||||
(IAI) / Karlsruhe Institute of Technology. It's in German, so you may need to
|
||||
use some creativity when reading the data :)
|
||||
|
||||
.. container:: blockbutton
|
||||
|
||||
`Download sample IFC <https://www.ifcwiki.org/images/e/e3/AC20-FZK-Haus.ifc>`__
|
||||
|
||||
.. seealso::
|
||||
|
||||
You can find more sample models online in the `OSArch Open Data Directory
|
||||
<https://wiki.osarch.org/index.php?title=AEC_Open_Data_directory>`__
|
||||
|
||||
Loading a model
|
||||
---------------
|
||||
|
||||
Blender's interface is divided into three panels. The left **Outliner** panel
|
||||
shows a tree of geometric objects. The centre main **Viewport** panel shows 3D
|
||||
geometry. The right **Properties** panel shows data and relationships.
|
||||
|
||||
.. image:: images/blenderbim-layout.png
|
||||
|
||||
The **Properties** panel has tabs to switch between different types of
|
||||
properties.
|
||||
|
||||
.. image:: images/properties-tabs.png
|
||||
|
||||
Click on ``File > Open IFC Project`` and browse to your ``.ifc`` file.
|
||||
|
||||
.. image:: images/properties-loadproject.png
|
||||
|
||||
After loading, you will see the model appear in the **Viewport** panel.
|
||||
|
||||
.. image:: images/example-project.png
|
||||
|
||||
Take a look at the **Project Info** subpanel. It shows the loaded filename, as
|
||||
well as the **IFC Schema**. There are two commonly seen **IFC Schema**
|
||||
versions: IFC2X3 and IFC4. Checking the **IFC Schema** is important because it
|
||||
has an impact on what BIM data may be stored. IFC4 is the newer version and it
|
||||
is recommended to use IFC4 models as it has significantly more BIM capabilities
|
||||
compared to IFC2X3.
|
||||
|
||||
.. tip::
|
||||
|
||||
Blender's interface is highly customisable. Panels, panel types, colours,
|
||||
sizes, and tabs may be edited to suit your workflow. If you want a `Hot Pink
|
||||
theme <https://github.com/kame404/Blender-Themes>`__ look no further.
|
||||
|
||||
Navigating a model in 3D
|
||||
------------------------
|
||||
|
||||
To navigate, can use the **Navigate Gizmo** on the top right corner of the
|
||||
**Viewport** panel. Click and drag on the coloured axes to **Orbit**, click and
|
||||
drag on the magnifying glass to **Zoom**, and click and drag on the hand icon to
|
||||
**Pan**. You can also click on the grid icon to switch between perspective and
|
||||
orthographic view.
|
||||
|
||||
To switch to a top view, front view, or side view, click the relevant axis on
|
||||
the **Navigate Gizmo**.
|
||||
|
||||
.. image:: images/navigate-gizmo.png
|
||||
|
||||
You can also use your mouse to navigate. Hover your mouse over the **Viewport**
|
||||
panel and click and drag the Middle Mouse Button (``MMB``) to **Orbit**. Scroll
|
||||
the mousewheel to **Zoom**, and use ``Shift-MMB`` to **Pan**.
|
||||
|
||||
If you have a numpad, you can use the numpad keys to quickly switch to top,
|
||||
front, or side view. Use ``7`` for top view, ``1`` for front view, and ``3`` for
|
||||
side view.
|
||||
|
||||
.. warning::
|
||||
|
||||
Blender's hotkeys are context sensitive. This means that a hotkey has a
|
||||
different meaning depending on the panel your mouse cursor is hovering over.
|
||||
If you press ``7`` to go to top view, make sure your mouse cursor is over the
|
||||
**Viewport** panel. Be very careful where your mouse is, or you might press a
|
||||
hotkey and it will have unintended consequences!
|
||||
|
||||
If you click on an object, such as a wall in the **Viewport** panel, you can
|
||||
zoom to the selected object by clicking on ``View > Frame Selected``. The hotkey
|
||||
is the ``.`` button on the numpad. After zooming into an element, when you
|
||||
**Orbit** the 3D view will rotate around the center of that element.
|
||||
|
||||
You can also zoom to all objects in the project by clicking on ``View > Frame
|
||||
All``.
|
||||
|
||||
.. image:: images/frame-selected.png
|
||||
|
||||
Another good way to navigate is by flying or walking around similar to a video
|
||||
game. Choose ``View > Navigation > Walk Navigation``, or use the ``Shift-```
|
||||
hotkey (the backtick key is usually to the left of the number 1 on the
|
||||
keyboard). With **Walk Navigation** enabled, use the ``WASD`` keys and the mouse
|
||||
to move around like a video game. You can use the ``Shift`` key to switch
|
||||
between moving fast and slow. If you scroll with the mousewheel, it will adjust
|
||||
the speed that you move at.
|
||||
|
||||
Sometimes, you want to look through objects. You can toggle **X-Ray Mode** by
|
||||
pressing the button on the top right of the **Viewport** panel. The hotkey is
|
||||
``Alt-Z``.
|
||||
|
||||
.. image:: images/x-ray-mode.png
|
||||
|
||||
.. tip::
|
||||
|
||||
Blender has lots of hotkeys to do things quickly. These can take time to
|
||||
learn but it is worth it as you will be much faster. These hotkeys can be
|
||||
customised in Blender's preferences.
|
||||
|
||||
|
||||
Overview of all objects
|
||||
-----------------------
|
||||
|
||||
The **Outliner** panel on the top right shows a hierarchy of all the currently
|
||||
loaded physical **Objects** in your IFC project. These **Objects** correlate to
|
||||
what you can see in the **Viewport** panel.
|
||||
|
||||
Every **Object** in the **Outliner** represents an IFC **Element**. These
|
||||
**Objects** have a name with the pattern ``Class/Name``. The class prefix
|
||||
represents the type of object, and the name is the name of the object. Examples
|
||||
of classes you will see are ``IfcBuilding``, or ``IfcWall``. This naming
|
||||
convention makes it easy to quickly spot types of objects.
|
||||
|
||||
.. image:: images/outliner.png
|
||||
|
||||
Objects are organised in a hierarchy. By default, this hierarchy represents a
|
||||
breakdown of spaces, from large spaces such as a site and a building, down to
|
||||
smaller spaces like building storeys and room spaces. The hierarchy will always
|
||||
begin with an **IfcProject** object. You can click on the triangle to toggle the
|
||||
hierarchy.
|
||||
|
||||
.. tip::
|
||||
|
||||
In large projects with deep hierarchies, you can ``Shift-LMB`` click the
|
||||
triangle to recursively toggle the hierarchy. You can also click and drag the
|
||||
``MMB`` to pan left and right.
|
||||
|
||||
When there are lots of objects, you can type a name in the filter box to quickly
|
||||
identify objects by name or type.
|
||||
|
||||
.. image:: images/outliner-filter.png
|
||||
|
||||
Clicking on an object in the **Outliner** panel also selects the corresponding
|
||||
object in the **Viewport** panel. A good strategy to find objects is to then use
|
||||
``View > Frame Selected`` to zoom to it in the **Viewport**.
|
||||
|
||||
The **Outliner** panel is also great for isolating portions of your project. You
|
||||
can include and exclude portions by clicking on the **Tick Icon** next to
|
||||
collections of objects in the hierarchy.
|
||||
|
||||
Let's isolate a single building storey. Start by disabling the **Tick Icon**
|
||||
next to the **IfcProject** collection. This will hide everything in the project.
|
||||
Then navigate through the hierarchy and enable the **Tick Icon** next to an
|
||||
**IfcBuildingStory**.
|
||||
|
||||
.. image:: images/outliner-isolate.png
|
||||
|
||||
Viewing element classes
|
||||
-----------------------
|
||||
|
||||
Usually the first thing you'll want to check is the **Class** of element that an
|
||||
object represents. The IFC **Class** is an international classification system
|
||||
provided by IFC. Example IFC **Classes** are Wall, Slab, and Door. Every IFC
|
||||
element must have a **Class**.
|
||||
|
||||
**Classes** aren't just for categorising elements. They also indicate what types of
|
||||
properties and relationships it is allowed to have. For example, a Wall
|
||||
**Class** can have a fire rating property, but a Grid **Class** cannot.
|
||||
|
||||
.. note::
|
||||
|
||||
There are hundreds of **Classes** to represent all aspects of our built
|
||||
environment, including non geometric classes like Task, Occupant, and CostItem.
|
||||
However, we'll focus only on simple physical **Classes** in this guide. Don't
|
||||
worry about memorising all the available **Classes**, you'll get a feel for them
|
||||
as you explore more.
|
||||
|
||||
To view an object's class, click on an object in the **Viewport** or **Outliner**
|
||||
panel, then switch to the **Object Information** tab in the **Properties** panel.
|
||||
You can see the **Class** name in the **Object Metadata** subpanel.
|
||||
|
||||
.. image:: images/element-class.png
|
||||
|
||||
In this case, the **Class** of our roof is an **IfcSlab**. You'll notice this is
|
||||
the same **Class** name used as a prefix for the object name in the **Outliner**
|
||||
panel. You can also see the name of the actively selected object in the top left
|
||||
of the **Viewport** panel.
|
||||
|
||||
.. warning::
|
||||
|
||||
Sometimes, an IFC model will use the wrong **Class**. For example, a chair might
|
||||
be assigned as the Wall **Class** instead the Furniture **Class**. There is a
|
||||
special class known as **IfcBuildingElementProxy**, used when the user is
|
||||
unable to find a more semantic **Class**. If you see many
|
||||
**IfcBuildingElementProxy** **Classes**, it is likely a symptom of a low
|
||||
quality IFC model. If this is the case, scold the project manager and ask
|
||||
them to do a better job.
|
||||
|
||||
After **IfcSlab** it also says **ROOF**. This is known as the
|
||||
**Predefined Type** of the element. You can think of it as a further level of
|
||||
classification. In this case, it distinguishes our object as a roof slab,
|
||||
compared to other types of slabs. The **Predefined Type** is optional so you may
|
||||
not see it all the time.
|
||||
|
||||
.. seealso::
|
||||
|
||||
You can use the `Search IFC Class
|
||||
<https://blenderbim.org/search-ifc-class.html>`__ tool to learn the correct
|
||||
classes and predefined types you should see.
|
||||
|
||||
Press the **Select Icon** to select all objects that are of the same
|
||||
**IfcSlab** **Class**. Then, you can isolate these elements by going to ``Object
|
||||
> Show/Hide > Hide Unselected`` (hotkey ``Shift-H``). To show all elements again, you can use
|
||||
``Object > Show/Hide > Show Hidden Objects`` (hotkey ``Alt-H``). If you want to
|
||||
hide elements instead, you can use ``Object > Show/Hidden > Hide Selected``
|
||||
(hotkey ``H``).
|
||||
|
||||
.. image:: images/element-class-select.png
|
||||
|
||||
.. note::
|
||||
|
||||
Remember that Blender's hotkeys are context sensitive. Make sure your mouse
|
||||
is hovering over the **Viewport** panel when you press a hotkey or no cake
|
||||
for you.
|
||||
|
||||
You can also see statistics about the number of selected objects. If you right
|
||||
click on the bottom right status bar and enable **Scene Statistics** you will
|
||||
see information like **Objects 4/4**, which means that 4 objects are selected
|
||||
out of 4 available objects. This is a great way of counting objects like toilets.
|
||||
|
||||
.. image:: images/scene-statistics.png
|
||||
|
||||
Viewing attributes and properties
|
||||
---------------------------------
|
||||
|
||||
You can view the **Attributes**, **Properties**, and **Quantities** of the
|
||||
selected object in the **Object Properties** tab.
|
||||
|
||||
Let's focus on **Attributes** first. Scroll down to the **Attributes**
|
||||
subpanel. **Attributes** are a limited set of fundamental data (usually less
|
||||
than 10) associated with all IFC elements. These are fixed by the IFC standard.
|
||||
|
||||
.. image:: images/attributes.png
|
||||
|
||||
Here are some common attributes and what they mean:
|
||||
|
||||
- **GlobalId**: a unique ID for the element useful for computer geeks
|
||||
- **Name**: a short name, code, number, or label to identify the object for a
|
||||
human. If you had to annotate the object on a drawing or a schedule, the
|
||||
**Name** is what you should see. For example, a pump **Name** might be ``P-10-A``.
|
||||
- **Description**: typically the longer form of the name, written to be
|
||||
descriptive and readable for humans. For example a pump **Description** might
|
||||
be ``Water Suction Pump``.
|
||||
- **Tag**: this is an ID that may link it back to another BIM application. For
|
||||
example if the IFC model was produced using Revit or ArchiCAD, it might hold
|
||||
the Revit or ArchiCAD element ID.
|
||||
- **Predefined Type**: A further level of classification to be read
|
||||
in conjunction with the IFC class.
|
||||
|
||||
.. warning::
|
||||
|
||||
Some IFC models have poor quality data. For example, if the **Name**
|
||||
of a Window doesn't match the window code (e.g. ``W01``) you see on a
|
||||
drawing, the project manager has clearly not put enough effort. Shame on
|
||||
them.
|
||||
|
||||
**Properties** are other data associated with the object. Every project will
|
||||
have different **Properties** depending on what information they want to store.
|
||||
Each **Property** has a name and a value, and are grouped into **Property
|
||||
Sets**. Each **Property Set** also has a name.
|
||||
|
||||
You can find **Properties** in the **Object Property Sets** subpanel.
|
||||
|
||||
.. image:: images/psets.png
|
||||
|
||||
Some very common **Properties** are standardised by international BIM standards.
|
||||
For example, the load bearing **Property** of a beam should always be called
|
||||
``LoadBearing``. If a **Property Set** is part of the international standard, it
|
||||
has a prefix of ``Pset_``, like ``Pset_BeamCommon``.
|
||||
|
||||
If you see a **Property Set** without the ``Pset_`` prefix, it is a custom
|
||||
property defined by the author of the IFC model.
|
||||
|
||||
.. tip::
|
||||
|
||||
It's important to distinguish between **Properties** that are
|
||||
part of the standard compared to custom ones. When **Properties** are
|
||||
standardised, it makes it easy to manage data. So if you need to isolate all
|
||||
``LoadBearing`` elements, you now know exactly where to look.
|
||||
|
||||
**Quantities** are very similar to properties. They also have a name and a
|
||||
value, and are grouped into **Quantity Sets**. Similarly, there are also common
|
||||
quantities defined as part of the international standard, denoted by the prefix
|
||||
``Qto_``. This prefix is short for "Quantity Take-Off".
|
||||
|
||||
You can find **Quantities** in the **Object Quantity Sets** subpanel.
|
||||
|
||||
.. image:: images/qtos.png
|
||||
|
||||
Finding the location of objects
|
||||
-------------------------------
|
||||
|
||||
Every object in the built environment has a location in the world. For example,
|
||||
a chair will be located in a space, and a wall is typically located in a
|
||||
building storey. You've already seen this hierarchy of spaces in the
|
||||
**Outliner** panel, where an IFC project is broken down into site, building,
|
||||
storeys, and spaces.
|
||||
|
||||
Sometimes, objects may have multiple relevant locations, such
|
||||
as a multi-storey column which can be related to multiple building storeys.
|
||||
Even in these cases, IFC enforces one location to be its primary
|
||||
location, known as its **Spatial Container**.
|
||||
|
||||
If you click on any object, you can see its location in the **Spatial
|
||||
Container** subpanel in the **Object Information** tab.
|
||||
|
||||
Press the **Select Icon** to select all objects that are in the same location.
|
||||
|
||||
.. image:: images/spatial-container.png
|
||||
|
||||
Checking construction types
|
||||
---------------------------
|
||||
|
||||
Almost everything in the built environment will have a **Construction Type**.
|
||||
For example, an architect will specify a door type for every door in a project.
|
||||
|
||||
You can see a list of **Construction Types** in the **Outliner** panel in the
|
||||
**Types** collection. For example, if the architect has a wall types schedule
|
||||
with the wall type names of ``WT01``, ``WT02``, and ``WT03``, you should see
|
||||
three **IfcWallType** objects with those same names in the **Outliner**.
|
||||
|
||||
You can click on these types to see more details about them in the
|
||||
**Properties** panel.
|
||||
|
||||
.. image:: images/outliner-types.png
|
||||
|
||||
When selecting an object, you can also see its construction type in **Object
|
||||
Information** under the **Type** subpanel. You can press the **Select Icon** to
|
||||
select all objects that are of the same **Construction Type**. You can use the
|
||||
hide and isolate hotkeys to quickly view them in the model.
|
||||
|
||||
.. image:: images/properties-types.png
|
||||
|
||||
A **Construction Type** defines properties that are common to all occurrences of
|
||||
that type. For example, if a wall type specifies a fire rating property, then
|
||||
all walls of that wall type will inherit that fire rating too.
|
||||
|
||||
A **Construction Type** may also specify geometry or geometric rules that are
|
||||
common to all occurrences of the type. For example, a pump type will define the
|
||||
geometry of the pump, so all occurrences of that pump will have the same
|
||||
geometry.
|
||||
|
||||
You can visually inspect types in isolation to the rest of the model. Types are
|
||||
hidden by default, so first enable the visibility of the **Types** collection in
|
||||
the **Outliner** by pressing the **Visibility Icon**. Then, select a type, and
|
||||
click on ``View > Local View > Toggle Local View`` (hotkey ``/``) in the
|
||||
**Viewport**. Toggle the view to see the entire model again.
|
||||
|
||||
.. image:: images/type-local-view.png
|
||||
|
||||
.. note::
|
||||
|
||||
Only **Construction Types** where the geometry is exactly the same for all
|
||||
occurrences will specify geometry. When the geometry varies based on the
|
||||
occurrence (such as a wall, which varies based on the wall length), the
|
||||
**Construction Type** will typically have no geometry.
|
||||
|
||||
Filtering by materials
|
||||
----------------------
|
||||
|
||||
Everything in the built environment is made from a physical raw **Material**
|
||||
resources. For example, a **Material** might be blockwork. Another
|
||||
**Material** might be in-situ concrete. **Materials** are grouped into
|
||||
categories like steel, concrete, brick, block, and so on.
|
||||
|
||||
We can see a list of **Materials** used in the project in the **Materials**
|
||||
subpanel in the **Geometry and Materials** tab.
|
||||
|
||||
Press the **Select Icon** to select all objects that are of the selected
|
||||
material.
|
||||
|
||||
.. image:: images/materials.png
|
||||
|
||||
Taking simple measurements
|
||||
--------------------------
|
||||
|
||||
The simplest form of measurement is the one that's already taken for you. The
|
||||
**Viewing attributes and properties** section describes how to view
|
||||
pre-calculated **Quantities**.
|
||||
|
||||
Sometimes, you may wish to take manual measurements yourself. You can view the
|
||||
overall X, Y, and Z dimensions of the currently selected object in the
|
||||
**Derived Coordinates** subpanel in the **Geometry and Materials** tab.
|
||||
|
||||
.. image:: images/dimensions.png
|
||||
|
||||
Another way to manually measure from two points is to use the **Measure** tool.
|
||||
First, press the **Snap Icon** to enable snapping. Then choose snap targets in
|
||||
the **Snap Menu** in the top middle section of the **Viewport** panel.
|
||||
|
||||
.. image:: images/snap-targets.png
|
||||
|
||||
.. tip::
|
||||
|
||||
It is recommended to choose multiple snap targets, like **Vertex**, **Edge**, and
|
||||
**Face**, and **Edge Center**. You can use the ``Shift`` key to select
|
||||
multiple snap targets. For example, the **Face** snap target means that your
|
||||
measurements will automatically snap to the nearest object's surface.
|
||||
|
||||
Now that you have configured snapping, press the **Measure Tool Icon** on the
|
||||
left of the **Viewport** panel. **Click** and **Drag** in the 3D viewport to
|
||||
take a measurement. A circle will appear guiding the first point of your
|
||||
measurement. While **Dragging**, press the ``X`` key to lock the measurement
|
||||
line along the X axis. Alternatively, press the ``Y`` or ``Z`` key to lock the
|
||||
measurement line along the Y or Z axis. Let go of the mouse to finish your
|
||||
measurement.
|
||||
|
||||
.. image:: images/measure-tool.png
|
||||
|
||||
To delete a measurement, just click on one point of the measurement, and press
|
||||
the ``Delete`` key. You can also click and drag the ends of your measurement
|
||||
lines to measure to another location.
|
||||
|
||||
What else is there?
|
||||
-------------------
|
||||
|
||||
Congratulations, and welcome to the digital built environment!
|
||||
|
||||
We've barely scratched the surface of the data and relationships available in an
|
||||
IFC model. We've yet to cover documents and drawings, clearance zones, tasks,
|
||||
cost items, structural loads and forces, analytical models, distribution system
|
||||
connectivity, energy analysis, rendering textures, and so much more. Our built
|
||||
environment and its relationships are vast and complex and it is exciting that
|
||||
you can join us on its digital journey!
|
||||
|
||||
Please do not hesitate to reach out with any questions.
|
||||
|
||||
- `OSArch live chat <https://osarch.org/chat>`__
|
||||
- `OSArch community forum <https://community.osarch.org>`__
|
||||
|
After Width: | Height: | Size: 117 KiB |
|
After Width: | Height: | Size: 74 KiB |
|
After Width: | Height: | Size: 331 KiB |
|
After Width: | Height: | Size: 305 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 287 KiB |
|
After Width: | Height: | Size: 377 KiB |
|
After Width: | Height: | Size: 351 KiB |
|
After Width: | Height: | Size: 317 KiB |
|
After Width: | Height: | Size: 155 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 215 KiB |
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 109 KiB |
|
After Width: | Height: | Size: 332 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 309 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 119 KiB |
|
After Width: | Height: | Size: 268 KiB |
|
After Width: | Height: | Size: 305 KiB |
|
After Width: | Height: | Size: 165 KiB |
@@ -0,0 +1,140 @@
|
||||
Installation
|
||||
============
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/videoseries?list=PLMDcOjMJYxUPHHvEHqAsOuBdSPsp6or32" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
|
||||
|
||||
1. **Download and install Blender**
|
||||
|
||||
Blender is a free and open-source program for 3D authoring. It works on
|
||||
Linux, Mac, and Windows. It is developed by the Blender community.
|
||||
|
||||
.. container:: blockbutton
|
||||
|
||||
`Download Blender <https://www.blender.org/download/>`__
|
||||
|
||||
.. tip::
|
||||
|
||||
No administrator rights on Windows? Choose the "Portable .zip" option when
|
||||
downloading from the Blender website.
|
||||
|
||||
2. **Download the BlenderBIM Add-on**
|
||||
|
||||
The BlenderBIM Add-on extends Blender with OpenBIM related capabilities.
|
||||
|
||||
.. container:: blockbutton
|
||||
|
||||
`Download BlenderBIM Add-on <https://blenderbim.org/download.html>`__
|
||||
|
||||
3. **Install the BlenderBIM Add-on**
|
||||
|
||||
Open up Blender, and click on ``Edit > Preferences``.
|
||||
|
||||
.. image:: images/install-blenderbim-1.png
|
||||
|
||||
Select the **Add-ons** tab, and press **Install...** on the top right. Navigate
|
||||
to the .zip you downloaded in Step 2, and press **Install Add-on**.
|
||||
|
||||
.. image:: images/install-blenderbim-2.png
|
||||
|
||||
.. warning::
|
||||
|
||||
You do not need to unzip the add-on file. You should install it as a zipped file.
|
||||
|
||||
You should now see **System: BlenderBIM** available in your add-ons list. Enable the add-on by pressing the checkbox.
|
||||
|
||||
.. image:: images/install-blenderbim-3.png
|
||||
|
||||
All done! Your interface will now look similar to below. If you check the ``File`` menu you should also see an option to ``Open IFC Project``.
|
||||
|
||||
.. image:: images/install-blenderbim-4.png
|
||||
|
||||
You can enable add-ons permanently by using ``Save User Settings`` from the Addons menu.
|
||||
|
||||
.. seealso::
|
||||
|
||||
If you are a poweruser, you may be interested in the **Unstable installation** to help with testing. :doc:`Read more </devs/installation>`
|
||||
|
||||
.. _where is the add-on installed:
|
||||
|
||||
Updating
|
||||
--------
|
||||
|
||||
First follow the `Uninstalling`_ section below, then install the latest version.
|
||||
|
||||
Uninstalling
|
||||
------------
|
||||
|
||||
Navigate to ``Edit > Preferences > Add-ons``. Due to a limitation in Blender,
|
||||
you have to **first disable the BlenderBIM Add-on in your Blender preferences**
|
||||
by pressing the checkbox next to the add-on, then **restart Blender**. It is
|
||||
critical to follow this sequence of disabling first, and then restarting.
|
||||
|
||||
After restarting, you can uninstall the BlenderBIM Add-on by pressing the
|
||||
``Remove`` button in the Blender preferences window.
|
||||
|
||||
Alternatively, you may uninstall manually by deleting the ``blenderbim``
|
||||
directory in :ref:`your Blender add-ons directory<where is the add-on
|
||||
installed>`.
|
||||
|
||||
.. warning::
|
||||
|
||||
It is important to follow the sequence of disabling, restarting, then removing.
|
||||
If you do not restart Blender, the add-on will fail to remove correctly, and you
|
||||
will need to uninstall manually.
|
||||
|
||||
Where is the add-on installed?
|
||||
------------------------------
|
||||
|
||||
Upon installation, the BlenderBIM Add-on is stored in Blender configuration
|
||||
folder. However, the location of your Blender configuration folder depends on
|
||||
how you have installed Blender.
|
||||
|
||||
If you downloaded Blender as a ``.zip`` file without running an installer, the
|
||||
BlenderBIM Add-on will be installed in the following directory, where ``X.XX``
|
||||
is the Blender version:
|
||||
|
||||
::
|
||||
|
||||
/path/to/blender/X.XX/
|
||||
|
||||
Otherwise, if you installed Blender using an installation package, the Blender
|
||||
configuration folder depends on which operating system you use.
|
||||
|
||||
On Linux, if you are installing the add-on as a user:
|
||||
|
||||
::
|
||||
|
||||
~/.config/blender/X.XX/
|
||||
|
||||
On Linux, if you are deploying the add-on system-wide (this may also depend on
|
||||
your Linux distribution):
|
||||
|
||||
::
|
||||
|
||||
/usr/share/blender/X.XX/
|
||||
|
||||
On Mac, if you are installing the add-on as a user:
|
||||
|
||||
::
|
||||
|
||||
/Users/{YOUR_USER}/Library/Application Support/Blender/X.XX/
|
||||
|
||||
On Mac, if you are deploying the add-on system-wide:
|
||||
|
||||
::
|
||||
|
||||
/Library/Application Support/Blender/X.XX/
|
||||
|
||||
On Windows:
|
||||
|
||||
::
|
||||
|
||||
C:\Users\{YOUR_USER}\AppData\Roaming\Blender Foundation\X.XX\
|
||||
|
||||
Inside the Blender configuration folder, the BlenderBIM Add-on is stored in two
|
||||
different locations. The extension itself is stored in
|
||||
``extensions/blender_org/blenderbim`` whereas the Python packages are installed
|
||||
into ``extensions/.local/lib/pythonX.XX/site-packages/``.
|
||||
@@ -0,0 +1,98 @@
|
||||
Introduction to BIM
|
||||
===================
|
||||
|
||||
**Building Information Modeling**, or **BIM**, is a way of digitally describing
|
||||
our built environment to computers. Aspects of our built environment that can be
|
||||
described are:
|
||||
|
||||
- **Products**, like walls, doors, and windows
|
||||
- **Processes**, like construction or maintenance tasks, and procedures
|
||||
- **Resources**, like labour, materials, and equipment
|
||||
- **Controls**, like permits, orders, costs, or calendar availability
|
||||
- **Actors**, like occupants, clients, architects, and liable parties
|
||||
- **Groups**, like systems, inventories, or zones
|
||||
|
||||
These objects may have lots of data and relationships. Examples of data might be
|
||||
classification systems, physical materials, associated documents, simulation
|
||||
results, and construction types. The data may be relevant to multiple
|
||||
disciplines, such as architecture, engineering, and construction.
|
||||
|
||||
.. note::
|
||||
|
||||
BIM data is very different from a regular 3D model. In fact, geometry is
|
||||
optional, and most data is non-geometric. This means that it is not simply a
|
||||
3D format that you can import or export from and expect meaningful results.
|
||||
|
||||
**Industry Foundation Classes**, or **IFC**, is an international standard for
|
||||
**BIM**. **IFC** is the most well-established open digital language for our
|
||||
built environment. Most software will be able to describe their **BIM** data
|
||||
using **IFC**. Most commonly, **IFC** models will be shared as a ``.ifc`` file.
|
||||
|
||||
For example, **IFC** will define a wall as an object that can have a name,
|
||||
construction type, and quantities. **IFC** will also describe that a wall that
|
||||
be associated with a location, like a building storey, or have an associated
|
||||
cost item in a schedule.
|
||||
|
||||
When you use the BlenderBIM Add-on, you will be able to view and create **BIM**
|
||||
objects and relationships using the **IFC** standard.
|
||||
|
||||
Things you can do
|
||||
-----------------
|
||||
|
||||
The BlenderBIM Add-on is designed to be a comprehensive and truly native
|
||||
BIM authoring platform. Its capabilities include a wide range of tasks
|
||||
and workflows typically found across various BIM and CAD software, costing
|
||||
programs, scheduling tools, and simulation applications. While not
|
||||
an exhaustive list, some of the key things you can do with BlenderBIM include:
|
||||
|
||||
- View and explore IFC models, including spaces, properties, and relationships
|
||||
- Edit and extract attributes, properties, and metadata directly from IFC data
|
||||
- Move, rotate, and modify the geometry of objects while preserving IFC semantics
|
||||
- Create new objects using predefined library elements or custom parametric types
|
||||
- Manage classification systems, document references, and link to external libraries
|
||||
- Generate 2D drawing views like plans, sections, and elevations with customizable annotations
|
||||
- Investigate and edit structural analysis models with support for various steel profiles
|
||||
- Model and manage complex distribution systems like HVAC, plumbing, and electrical (MEP)
|
||||
- Create construction schedules, perform critical path analysis, and generate sequence animations
|
||||
- Derive quantities from model elements and create cost schedules with formulas
|
||||
- Perform clash detection and coordinate models, managing issues across disciplines
|
||||
- Integrate non-geometric data like costing, scheduling, and asset management
|
||||
|
||||
|
||||
Roadmap and Upcoming Features
|
||||
-----------------------------
|
||||
|
||||
While BlenderBIM already offers a comprehensive set of BIM authoring capabilities,
|
||||
the development team and community are continuously working to expand its functionality and improve existing workflows.
|
||||
Some of the most ambitious features and enhancements on the roadmap include:
|
||||
|
||||
Usability and Workflow Enhancements
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
- Improve user-friendliness to equip average "Joe" with capabilities to model simple projects like single family homes, making BlenderBIM a viable alternative to SketchUp.
|
||||
- Make BlenderBIM more approachable for users across different skill levels, from advanced BIM experts to architects working on smaller residential projects.
|
||||
|
||||
Improved Drawing and Documentation Workflows
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
- Continued enhancements to the drawing generation capabilities, including better dimensioning tools and support for associative dimensions linked to model geometry.
|
||||
- Advanced annotation tools with customizable tags, callouts, and the ability to define reusable annotation styles and templates.
|
||||
- Streamlined sheet layout management and improved integration with external tools like Inkscape for creating title blocks and sheet compositions.
|
||||
- Continued improvement of BlenderBIM's ability to generate comprehensive documentation sets, including drawing annotations, door schedules, wall schedules, and material tagging.
|
||||
|
||||
Expanded Parametric Modeling Capabilities
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
- Native modeling tools for complex building elements like curtain wall systems and facade panels.
|
||||
- Expanded libraries with support for country-specific and manufacturer-provided object types.
|
||||
- Enhanced support for multi-story modeling, enabling efficient duplication and coordination of building elements across various levels.
|
||||
- Expanded parametric relationships and automating more common BIM tasks to reduce manual effort and enhance productivity.
|
||||
|
||||
Enhanced Coordination and Collaboration Features
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
- Robust model merge and coordination workflows, with detailed clash detection capabilities across different disciplines and data sources.
|
||||
- Built-in support for version control and model sharing using Git repositories, enabling better team collaboration and change tracking.
|
||||
|
||||
|
||||
The development roadmap is continuously updated based on user feedback, industry requirements,
|
||||
and contributions from the open-source community. By embracing an open and collaborative approach,
|
||||
BlenderBIM aims to push the boundaries of what's possible in BIM authoring,
|
||||
ensuring that it remains at the forefront of innovation in the AEC industry.
|
||||
@@ -0,0 +1,12 @@
|
||||
Next Steps
|
||||
==========
|
||||
|
||||
Now that you've completed the quickstart guide, you're ready to dive deeper into BlenderBIM's capabilities. Here are some suggested next steps to continue your learning journey:
|
||||
|
||||
* :doc:`Modeling and Creating IFC Models </users/modeling/ifc_modeling>`
|
||||
Explore advanced modeling techniques and learn how to create complex IFC models.
|
||||
|
||||
* :doc:`Tutorials and Real-World Projects </users/tutorials/index>`
|
||||
Apply your skills to practical, real-world BIM projects with our step-by-step tutorials.
|
||||
|
||||
These resources will help you build upon the foundation you've established and develop more advanced skills in using BlenderBIM for your architectural and engineering projects.
|
||||