Rename source dir

This commit is contained in:
Dion Moult
2024-08-13 23:09:50 +10:00
parent cc28f5a92b
commit 25071dfec6
930 changed files with 0 additions and 0 deletions
@@ -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>`__
Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

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.