BIM ingame tutorial

From FreeCAD Documentation
Jump to: navigation, search

This documentation is not finished. Please help and contribute documentation.

Gui Command explains how tools should be documented. See Draft ShapeString for an example of a well documented tool. Browse Category:UnfinishedDocu to see incomplete pages like this one. See Category:Command Reference for all commands.

See WikiPages to learn about editing the wiki pages, and go to Help FreeCAD to learn about other ways in which you can contribute.

BIM tutorial screenshot.png

Tutorial steps

This is the in-game tutorial of the BIM Workbench. It is not meant to be read here on the wiki, but rather to be started from inside FreeCAD, in the BIM workbench, under menu Help -> BIM tutorial. It includes a series of steps to be completed by the user. Each step is terminated by an instance of the {{BIMTutorialAction|descr|goal1|test1|goal2|test2}} template, which informs of the condition that need to be met

Welcome to the BIM workbench!

BIM Tutorial title.jpg

This tutorial will walk you through the different functionalities of the BIM Workbench and help you to get on tracks by modeling a very simple pavilion building. It should take between one and two hours to complete entirely, depending on your previous experience with 3D applications.

You can interrupt it anytime and resume it later, by selecting menu Help -> Welcome screen, and clicking the BIM Tutorial item again.

Some steps of this tutorial require you to take actions. Those will be indicated below this text box, with an icon showing if the task has been completed or not. But since we are good people here at FreeCAD, it is not mandatory to complete the actions in order to advance through these pages. You can just browse through the tutorial and skip actions at your convenience.

Note: This tutorial is still being written, and is therefore incomplete! If you have suggestions or things you find unclear, why not help us to make it better on the FreeCAD forum!

Tutorial steps

No action to perform for this step

Set FreeCAD up

FreeCAD has a large preferences system with many options to set, located under menu Edit->Preferences. Each additional workbench can add more preferences pages, which makes it very complex.

The BIM workbench provides a simplified setup screen, which allows to quickly set some of the most useful preferences for BIM work. The BIM preferences screen is located under menu Manage -> BIM Setup (you can also click the corresponding button on the Manage toolbar):

BIM Tutorial 01.jpg

Open the simplified BIM preferences screen now, and set the different options to your liking.

In case of need, hover the mouse over any option or setting to see a description of what it is used for:

BIM Tutorial 02.jpg

In this tutorial, we will work in centimeters. We therefore suggest you to set preferred units as centimeters, and the default grid square size to 10 cm. After you left this screen, these two settings can be changed anytime from the units indicator located on the status bar and from the working plane button on the main toolbars:

BIM tutorial 14.jpg

Tutorial steps

Open the BIM setup screen
True if hasattr(FreeCADGui,"BIMSetupDialog") else False
Set units to centimeters and grid size to 10cm
True if ((FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Units").GetInt("UserSchema",0) == 4) and (FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Draft").GetFloat("gridSpacing",10) == 100)) else False

Create a new document

If you just installed FreeCAD, you are probably currently looking at the FreeCAD Start Page:

BIM tutorial 13.jpg

The start page lists the latest documents you have been working with, and, on its different tabs, explains how to get help. But in order to start working, we need to create a new, empty document. If you haven't done it yet, create now a new document by using the "Create new..." item of the start page, or by navigating to menu File -> New:

BIM tutorial 09.jpg

You will then find yourself in the 3D space of FreeCAD, ready to work:

BIM tutorial 10.jpg

Tutorial steps

Create a new document
True if FreeCAD.ActiveDocument else False

Find your marks in the 3D view

There are several ways to interact with the mouse in FreeCAD. These are called navigation styles. You can change the current navigation style anytime by clicking on the navigation style button in the status bar. Hovering the mouse over that button will also show you what each mouse button does. Several of them are made to match other well-known applications. Choose one you are comfortable with.

BIM Tutorial 03.jpg

Controlling how you look at your model in the 3D view can be done in multiple ways: Using the mouse (depending on the navigation style you chose), the keyboard (explore the contents of the View menu to find out more), or the Navigation Cube (click the different arrows and faces of the cube to align the view).

BIM Tutorial 04.jpg

Tutorial steps

Choose a navigation style
Set yourself in Top view
True if FreeCADGui.ActiveDocument.ActiveView.getViewDirection().getAngle(FreeCAD.Vector(0,0,-1)) < 0.01 else False

Reorganize the interface

All panels and toolbars in FreeCAD can be moved and reorganized. Larger panels can also be joined by dragging and dropping them on another one. If your screen is too small to display all the toolbars and their contents (truncated toolbars will appear with a >> sign), it might be a good idea to move them to a better position.

BIM Tutorial 05.jpg

Right-clicking on an empty area of the toolbars space also allows you to turn on and off individual toolbars and panels.

The BIM workbench also features switch buttons in the status bar, that turns additional panels like selection view, report view and python console on and off. These panels are often useful while working with FreeCAD, but they use precious screen space. You can usually turn everything off until you need them. Remember that error messages are printed in the report window, so in case anything goes wrong, be sure to have a look there.

BIM tutorial 17.jpg

Tutorial steps

No action to perform for this step

The BIM workbench tools

The BIM Workbench contains tools borrowed from other workbenches such as Arch, Draft or Part, as well as a couple of its own tools. These are organized in several categories. Each category has a menu and a toolbar. Take a moment to explore the contents of the menus described below.

2D Drafting

These tools allow you to draw flat objects, such as lines, polylines, rectangles, arcs, etc... that will become the bases of your BIM objects. For example, you can use a polyline to define the base trace a wall, or a rectangle as a profile for a beam. All 2D objects are created in the current working plane.

3D and BIM Modeling

This category contains tools to create BIM objects such as walls or windows, and generic, non-BIM 3D objects such as boxes, that you can turn into BIM objects later on. The result is different if you use the tool with an object selected or not. If not, you will be presented with a creation interface. If you have selected an object before running the tool, an object of the corresponding type will be created using the selected object as a base.

A typical example is to press the wall button with a selected line or polyline. A wall will be created automatically, using the line or polyline as its baseline.

Non-BIM objects, including objects made in other workbenches, can be turned into BIM objects anytime, by selecting them and pressing any of the BIM tool buttons.


These tools produce annotative objects such as dimensions, texts, labels or grids, that are no used for modeling but to annotate your models and produce understandable drawings.


These tools turn snapping positions on/off. Like in most BIM applications, each additional snapping position adds calculation time when drawing, so it is best to only keep the ones you need turned on.


These tools modify existing objects. They contain usual transformation tools such as Move or Rotate, plus a series of others that only work for specific object types.


This category contains general management tools. Most of them allow you to edit BIM properties of a large group of objects simultaneously, without the need to select them.

Each tool contained in these menus has its own documentation page that describes in detail how it works and what options are available. They are listed on the BIM Workbench documentation page, which is also accessible from the Help menu, or by using menu Help -> What's this? and clicking on any toolbar button.

Tutorial steps

No action to perform for this step

Prepare your working space

There are many ways to create BIM objects in FreeCAD. You can use the native BIM tools from this workbench, or use any other FreeCAD tool from other workbenches. Both the 2D drawing tools and the 3D BIM tools from this workbench, unlike other workbenches such as Part Design, make extensive use of working planes and snapping.

The working plane is where your next objects will be created. You can set it to one of the basic orthogonal planes (ground, front, side), or use any selected face to define the current working plane. You can also use Working Plane Proxies from menu Utils to store a specific working plane position inside your model. Building Parts also contain an implicit working plane. Changing the current working plane is done by pressing the working plane button on the BIM toolbar. The grid always reflects where the working plane is.

Set the working plane in "Top" mode now:

BIM Tutorial 06.jpg

The snapping tools allow you to place new objects and points precisely according to existing geometry. However, enabling many snapping locations might slow down the drawing operations, so it is wise to only enable the snapping tools you intent to use. Take a moment to review what each of them does, so when needed you will know which can be disabled.

BIM Tutorial 07.jpg

Take special notice of the last one, the working plane snapping tool, as it will force any snapped point to lie on the working plane, thus preventing you to snap above or under the working plane. You will often need to turn it on or off, depending on the operation you are performing.

Tutorial steps

Set the working plane in "Top" (XY) mode
True if ((FreeCAD.DraftWorkingPlane.axis.getAngle(FreeCAD.Vector(0,0,1)) < 0.01) and (FreeCAD.DraftWorkingPlane.weak == False)) else False
Review the different snapping tools

Draw a first wall

Let's start building our pavilion by creating some walls. Walls can be drawn either directly with the wall tool, or by first drawing 2D objects such as lines, wires (polylines) or sketches, that will define the baseline of our walls. When you have such a baseline object selected, pressing the Wall tool will automatically convert it into a wall.

First, zoom out until a good part or all of the grid is seen. This will make it much easier to see what we are doing:

BIM tutorial 15.jpg

Then, press the Arch Wall.png Wall button from the toolbar (or choose menu item 3D/BIM -> Wall). Click two points on the grid, vertically aligned, distant by 300 cm. Pressing SHIFT after the first point has been clicked will help you to keep your wall horizontal or vertical. The side panel will inform you of the length of wall while drawing.

BIM tutorial 16.jpg

If you created a wrong wall, no worries! Simply delete it or undo it (menu Edit -> Undo) and try again.

Tutorial steps

Create a wall
bool(len([o for o in FreeCAD.ActiveDocument.Objects if "MakeBlocks" in o.PropertiesList]) == 1)

Draw a second wall

Make a second, horizontal wall of 4 meters (or 400 centimeters) long. Select the Wall tool again, pan and zoom out until you see a good area of the grid, and pick two points from the grid to define the start and end points of the new wall:

BIM tutorial 11.jpg

After they are created, select both walls by pressing CTRL and clicking them both in the 3D view or in the tree view, and adjust their height property to 2.5 meters and their width to 20 centimeters (or any other measurement you are comfortable with, if working in another unit), so they look like this (Use the mouse to rotate the view, according to the navigation style you chose):

BIM tutorial 08.jpg

You can always correct or change properties after a wall or any other BIM object has been created. By expanding the wall object in the tree view, then double-clicking the baseline of the wall, you can also modify its base 2D object. Most BIM objects in FreeCAD are based on another object, such as a baseline or a profile.

BIM tutorial 12.jpg

Important note

You will notice that some property changes, in FreeCAD, don't reflect immediately on the object in the 3D view. Instead, the object is marked with a "to be recomputed" blue mark in the tree:

BIM Tutorial 20.jpg

The reason for this is that a FreeCAD document can be a very complex chain of inter-dependent objects. Updating one can trigger an update on many others, and therefore take a long time. To avoid this, some operations simply mark the object to be recomputed, and you trigger the recomputation yourself by using menu Edit -> Refresh or pressing Ctrl+R.

Tutorial steps

Create two orthogonal wall objects
bool(len([o for o in FreeCAD.ActiveDocument.Objects if "MakeBlocks" in o.PropertiesList]) == 2)
Set their height to 2.50 meters and width to 20 centimeters
bool(len([o for o in FreeCAD.ActiveDocument.Objects if "MakeBlocks" in o.PropertiesList and o.Height.Value == 2500 and o.Width.Value == 200]) == 2)

Don't forget to save the file regularly!

Like any other computer application, FreeCAD is subject to failing or crashing, specially when we have little experience with it. Saving your file often is a very good habit to take in these early moments.

Save your file now by using menu File -> Save.

Tutorial steps

Save your file

Draw a roof slab

We will now place a roof slab on top of our walls. Instead of drawing the slab directly, like we did with the walls, we will here first draw a rectangle, then turn the rectangle into a slab. We will now explore two methods to do so, both are useful to know, so we suggest you to try one first, then undo it (or reload the file), and try the other method.

Method 1: Draw the slab on the ground, then move it into position

It is often convenient to consider the top XY plane (the ground plane) as a kind of "drawing board", where we will be building our objects, and move then next to their correct position. There is an additional advantage here, our working plane is already in "Top" mode, so we don't need to change it.

Set yourself in top view, zoom out a bit until you see both walls, and draw a rectangle encompassing them both. Press the Draft Rectangle.png Rectangle button from the toolbar (or choose menu item 2D Drafting -> Rectangle):

BIM Tutorial 18.jpg

Rotate your view to inspect the results. By default, the rectangle is filled with a face. This can be changed by changing the Make Face property of our rectangle to False. For the slab we are going to build, this has no impact, for other types of objects, however, the base object being a polyline or a face can make a difference.

BIM Tutorial 19.jpg

The next step is to build a slab using our rectangle as its base, or extrusion profile. In FreeCAD, structural objects such as columns, beams or slabs are all made with a same tool, called Structure. After a structural object is created, setting is IFC Role property to the desired type (column, slab, etc...) is all that is needed to turn it into that type.

Make sure our rectangle is selected, then press the Arch Structure.png Structure button from the toolbar (or choose menu item 3D/BIM -> Structure). After your structural object is created, we need to make the following changes to its properties:

  • Set its Height to 20 cm
  • Set its IFC Role to Slab

Now we need to move our new roof slab to its correct position, that is, above the walls. So we need to move it upwards, in the Z direction, by a distance of 250 cm, which is the height of our walls. We can simply edit the Placement property of our slab, expand its Position attribute, and set the value of z to 250 cm. Our slab is now well in place:

BIM Tutorial 21.jpg

Another way to move our slab to its correct position, is to use the Draft Move.png Move tool from the Modify menu. For that, we need to set our working plane in a vertical plane first, by pressing the Draft SelectPlane.png working plane button (make sure you don't have any face selected), and setting it to XY (Front). By setting ourselves in front view (press key 1), we can now select the slab, press the Draft Move.png Move button, and move our slab by clicking one of its base points, and, with Shift pressed to restrict the movement vertically, click one point on top of the walls:

BIM Tutorial 23.jpg

Method 2: Draw the slab directly in the correct plane

Another useful method is to directly draw our rectangle in the correct plane. We can easily set the working plane to the top surface of the walls, which is where we want our slab, by selecting one of these faces, and pressing the Draft SelectPlane.png working plane button:

BIM Tutorial 22.jpg

Everything we draw from now on will happen in that plane. If you like, you can now set yourself in top view, but this is not necessary. Once your working plane is set, and provided working plane snapping is enabled, you can draw directly in any 3D view, being orthogonal or perspective.

Once our rectangle is drawn, we can just follow the same method as in method 1 to turn it into a slab (select it, press the Structure button, adjust its properties).

Tutorial steps

Create a rectangle
bool(len([o for o in FreeCAD.ActiveDocument.Objects if "Rectangle" in o.Name]) == 1)
Create a 20cm thick slab
bool(len([o for o in FreeCAD.ActiveDocument.Objects if "IfcRole" in o.PropertiesList and o.IfcRole == "Slab" and o.Height.Value == 200]) == 1)

Create a metallic column

Let's add a metallic column to give better support to our slab. Make sure the working plane is in Top mode, let's start by putting ourselves in top view (press key 2), and turn the slab off, so we see better what's underneath. Select the slab, and press the Space key to turn its display off.

In FreeCAD, it is very easy to turn objects or groups on and off, and the tree shows you clearly what is shown and what is hidden. Be sure to use that often!

The Structure tool has some built-in profiles that we will use now. Make sure nothing is selected, then press the Structure button. In the Structure options, select CTH:

BIM Tutorial 24.jpg

And click a point to place your column, more or less at this position. Give the new column an IFC Role of "Column" and a Height of 250cm.

BIM Tutorial 25.jpg

Unfortunately, the CTH preset has only one diameter option of 42mm, which is very thin to support our concrete roof slab. Fortunately, as everything is parametric, it is easy to change the diameter. Expand the new structural object in the tree view, and you will find its profile object, named CTH423. Change its diameter to 12cm and its thickness to 8mm. Now we have a strong enough column.

Add a support plate

However, in the real world, it will be difficult to attach our metal column to the concrete slab. So let's add a plate to its top, which can be bolted to a corresponding plate molded inside the concrete. This will illustrate how you can easily modify BIM objects and create the very precise ones you need.

Let's start by changing the height of our column from 250cm to 249cm, to give it a space for a 1cm-thick plate. Then draw a 20cm x 20cm rectangle, either on the ground plane or on the top of the column, as we learned in the previous step. Use the Move tool, with midpoint and center snaps turned on, if needed, to center the rectangle over the column center.

Using the Structure tool again, create a structural object from the rectangle, give it a height of 1cm, and move it to a height of 249cm:

BIM Tutorial 26.jpg

Now let's add our plate to the column. BIM objects in FreeCAD have two properties named Additions and Subtractions that can receive objects that need to be unioned or subtracted to/from them. To add the plate to the colum, select the plate, then, with Ctrl pressed, select the column and use the Arch Add.png Add tool the Modify menu. Our plate is now part of the column:

BIM Tutorial 27.jpg

By starting from simple shapes, and adding or subtracting objects, we can quickly create very complex BIM objects.

BIM Tutorial 28.jpg

Tutorial steps

Create a CTH tubular column
bool(len([o for o in FreeCAD.ActiveDocument.Objects if "CTH" in o.Label]) == 1)
Add a 20cm x 20cm plate to the column
bool(len([o for o in FreeCAD.ActiveDocument.Objects if "Shape" in o.PropertiesList and (abs(o.Shape.Volume - 7409000) < 10000)]) == 1)

Add windows and doors

Doors and windows are created with the same Window tool in FreeCAD. They can be independent or, if an object is selected when running the tool, inserted in another BIM object, in which case they will automatically create a hole through it.

Let's insert a 80cm x 210cm glass door in one of our walls. Start by placing the working plane on a face of a wall, which will make it easier to precisely place our window:

BIM Tutorial 29.jpg

Then, with the wall selected, select Window from the BIM menu. Select the Glass door preset, and set the Width to 80cm and Height to 210cm. You can set the other values as you like:

BIM Tutorial 30.jpg

Click a point on the base of the wall where you wish to place the window. This can be difficult, as the grid lines don't necessarily correspond to the wall edges. Pressing the Q key while drawing will create temporary snap points, and new snap points will become available at the horizontal/vertical intersections of these temporary snap points. Use this to find a suitable point:

BIM Tutorial 31.jpg

If your window didn't get placed correctly, if the error seems fixable, use the Move tool to move it to its correct position. If not, it might be simpler to simply undo the operation and try again.

When everything is done, you should obtain a door properly inserted into its wall:

BIM Tutorial 32.jpg

Tutorial steps

Create a glass door
bool(len([o for o in FreeCAD.ActiveDocument.Objects if "Window" in o.Name]) == 1)

To be continued...

The writing of this tutorial is not finished, be sure to check back soon!

Tutorial steps

No action to perform for this step