BIM ingame tutorial

Welcome to the BIM workbench!


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!

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):



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:



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:



Create a new document
If you just installed FreeCAD, you are probably currently looking at the FreeCAD Start Page:



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:



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



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.



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).



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.



Toolbars and panels can also be turned on and off from the View menu.

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.



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.

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



Snapping
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.

Modify
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.

Manage
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.

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 position. 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.

As you will have noticed, view angle and working plane are not tied together. You can work on your working plane from any view angle.

Set the working plane in "Top" mode now:



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.



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.

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:



Then, press the 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.



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

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:



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):



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.



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:



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.

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. FreeCAD also has an auto-saving mechanism, that you can set up under menu Edit -> Preferences -> General -> Document.

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

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 Rectangle button from the toolbar (or choose menu item 2D Drafting -> Rectangle):



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.



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 object, called Structure. After a structural object is created, setting is IFC Type property to the desired type (column, slab, etc...) is all that is needed to change its type.

Make sure our rectangle is selected, then press the Slab button from the toolbar (or choose menu item 3D/BIM -> Slab). As stated above, this can also be done with the Column or Beam tools, as they all produce the same type of object. After our object is created, we need to make the following changes to its properties:


 * Set its Height to 20 cm
 * Verify its IFC Type is set 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:



Another way to move our slab to its correct position, is to use the Move tool from the Modify menu. For that, we need to set our working plane in a vertical plane first, by pressing the 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 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:



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 working plane button:



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).

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 Column tool (as well as the Beam tool) has some built-in profiles that we will use now. Make sure nothing is selected, then press the Column button. In the Structure options, select CTH:



And click a point to place your column, more or less at this position. Make sure the new column has an IFC Type of "Column" and give it a Height of 250cm to make it the same height as our walls.



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 the concrete slab. 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 Slab tool again, create a structural object from the rectangle, give it a height of 1cm, and move it to a height of 249cm:



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 our column, select the plate, then, with Ctrl pressed, select the column and use the Add tool the Modify menu. Our plate is now part of the column:



By starting from simple shapes, and adding or subtracting objects, we can quickly create very complex BIM objects. Note that the Additions and Subtractions of a given BIM object can easily be changed by double-clicking them in the tree view and using the Add and Remove buttons there. Also, a same object can be used as an addition or subtraction to multiple other objects.



Add windows and doors
Like columns and beams, doors and windows are created with a same Window object in FreeCAD. Only their IFC type changes. 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:



Then, with the wall selected, select Door 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:



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:



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:



Organizing our model
We now have in our model a growing collection of BIM objects. It is time to tidy things up. Creating well organized models, easily understandable by others, is a very important part of building quality BIM models.

A first very simple and very good habit to take is to give proper and meaningful names to our objects, so we can easily identify them in the tree view later on. To rename an object, right-click it in the tree view and choose Rename. A model where components are easily identifiable by others is a huge part of what makes a good BIM model.

Another interesting operation to do is grouping. Groups allow you to organize your objects in the tree view, like files and folders. An object can only belong to one group. Groups are created by right-clicking the document root or any other group in the tree view, and selecting Create group. You can then drag objects in and out of groups in the tree view.

A third way to organize things is by using layers. Layers are independent to groups, you can use both systems at the same time if you wish. Like groups, layers allow you to easily turn on/off a series of objects, but unlike groups, they cannot be stacked inside one another. They also allow you to override visual settings such as color and line width of their child objects. Layers are created and managed using the Layers manager tool found under menu Manage -> Layers manager. Objects are added or removed by dragging them in and out of layers in the tree view.

The Layer selector on the main toolbars allow you to set a current layer. After doing so, any new 2D or BIM object will automatically be placed in that layer.

Finally, BIM applications usually allow you to group objects into levels (or storeys) and buildings. FreeCAD offers these tools as well under the 3D/BIM modeling menu. Like beams and columns, levels and buildings use a same object type called Building Part with a different IFC type. They work the same way as groups, once created, you can drag and drop any object in and out of it. Building Parts are compatible with groups, so you can place groups inside them.



Building Parts have many other uses, refer to their documentation to know more.

Create a Building Part now by selecting Level from the 3D/BIM Modeling menu. Make sure its IFC type is set to Building Storey, and drag all our other root BIM objects (no need to do so with included objects like the door or the plate of the column) into it, that is, our two walls, the roof slab and the metal column.

Note that, as Building Parts are generic building components, you are not forced to organize your model by levels in FreeCAD. You can choose to group your elements differently. But the IFC format expects things to be grouped by level, so if you plan to use that format, it is best to consider your Building Parts as levels.

Adding section planes
One of the most commonly operations done with a BIM model is to extract 2D drawings from it, such as plans or elevations. There are several ways to do that in FreeCAD, depending on the result you wish to obtain. Basically, you can choose between producing the 2D result inside the 3D space, which is useful if you wish to rework it there, build further on it or better control how it is exported to formats like DXF or DWG, or on a TechDraw sheet that is better suited for impression or export to PDF. In both cases, it starts with placing a Section Plane in your model:




 * 1) Select the Level object that contains your objects, that we created in the last step
 * 2) Add a Section Plane from menu Annotations->Section Plane

Section planes don't cut through the whole model, but only through objects in their Objects property. You can check and change the contents of this property anytime.

By default, the new section plane will be placed in the middle of the selected object or its contents, and will look downwards, as to create a floor plan view. But the section plane is an object like any other and can be moved and rotated to do what you need. Place it horizontally to create a plan view, vertically inside your model to create a section, or outside the model to create an elevation.

Extracting 2D views as geometry
Once your section plane is in place, we can now create 2D geometry from what it sees using the Shape2DView tool:




 * 1) Select the section plane
 * 2) Create a Shape 2D View using Annotations->Shape 2D View
 * 3) Our view object is hidden under the walls. Turn the display of the level and the section plane off by selecting them both in the tree view and pressing the Space key, so we can view our result better



The 2D view we created is a all-in-one 2D object and will be located on the (0,0) ground plane in the model. It can be moved around, and will be recalculated if the model changes.

To create thicker lines for cut areas, you can create another Shape 2D view, and set its projection mode to "Cut Lines" or "Cut Faces", and uncheck the "Place at origin" property. You will then have two objects, one for viewed lines and one for cut lines, for which you can give different line thicknesses.

Annotating and exporting
To be continued

Creating 2D geometry on a printable sheet
Printable sheets are created and managed with the TechDraw Workbench. Let's create a new sheet and place a view of our model on it:

1. Switch to the TechDraw Workbench 2. Create a new empty sheet using the default template from menu TechDraw -> Insert default page 3. Select the section plane 4. Create a view on the page using TechDraw -> Arch View

... To be continued

Exporting an IFC file
The IFC, or Industry Foundation Classes, is a protocol and file format aimed at interchanging BIM model between applications. By saving your model as an IFC file, you will be able to open it in most or all other open-source or proprietary BIM applications out there.

IFC import/export operations in FreeCAD are performed by an external piece of software called IfcOpenShell. Read the Arch IFC page to learn further about how to install it.

Once IfcOpenShell is installed, exporting your model as an IFC file is as simple as selecting the objects you wish to export, or just the top container (group or Building Part) that contains all other objects you wish to export, and use menu File->Export and choose the IFC file format.

Finally, once you have exported an IFC file, it is always a good idea to inspect it before sending it to other people, to make sure the model looks good and no object is missing. There are many free IFC viewer applications available on the internet for many platforms. A good, open-source viewer that works on all platforms is IFC++.

Managing BIM properties
A huge part of what makes a good BIM model are the non-geometry properties that you can give to your objects, such as type, material, or properties specific to a certain type. For example, a wall can be marked as load-bearing or not. Or as exterior or interior. The IFC format is very rich in that regard. The amount of specifications and properties you want to give your objects depends mostly on your needs and how you work with others and what they expect your BIM model to contain.

One thing is important to keep in mind: all BIM/Arch objects in FreeCAD support the full set of IFC properties. Other FreeCAD objects, such as those modeled with other workbenches, will also be exported to IFC but you cannot change any of their IFC properties. You can however convert any FreeCAD object to a BIM object by selecting the object and using 3D/BIM -> Create Component.

The main pieces of information you can give your objects are:

Name and description
This seems obvious, but the simplest way to make your model more understandable to others is to properly name each of your objects, and, if relevant, add a description. This is done simply by selecting an object, and pressing F2, or change its Label property to rename it. The Description will be found among the object properties.

The BIM/IFC type
This is the most fundamental piece of information. In FreeCAD, an object created with the wall tool will have its IFC type set to "Wall" by default. But you can change this anytime. So you can use the wall tool to model a beam for example. You only need to change its IFC type after creating it. To change the IFC type of an object, select it, find its IFC Type in its properties, and change to another type from the drop-down list.

You can also bulk-manage names, types and materials of several objects at a time using the IFC elements manager found under menu Manage->IFC elements.

Materials
Each object of a construction has a material. So it makes sense to give each object of your model a proper material, such as concrete or wood. To attribute a material to an object, select the object, and use the materials manager from menu Manage->Materials.

Properties
Each BIM object can also receive additional properties, for example to indicate that a wall is load-bearing or not. IFC allows you to add custom properties to just anything, but most types such as Wall or Beam also have special, predefined sets of properties, usually named Pset_WallCommon or Pset_BeamCommon. You can choose to add these sets to your objects, modify the value of the properties contained in the set, or add your custom properties. Managing the IFC properties for a selected object or bulk edit the properties of several objects at a time is done using the properties manager under menu Manage->IFC properties.

Quantities
Quantities such as length or width or height of a wall can also be specifically written to an IFC file. They are not linked to the geometry of the object, so when meeting such quantities in an IFC file there is no guarantee that they reflect the actual object geometry. However, these quantities allow applications that are not able to process the geometry, such as spreadsheet applications, to know the principal dimensions of objects. You can check which quantities will be exported to IFC using the quantities manager found under menu Manage->IFC quantities.

The IFC format has many particularities and sometimes the application you will be opening your IFC file with or the person who will receive your IFC file will have further requirements. Becoming a fluent BIM modeller often means to get familiar with all these particularities and what needs to be added or specified to your BIM model. The BIM workbench of FreeCAD provides a BIM Preflight tool that allows you to check your model for several of these particularities and most common requirements, and help you decide what to include in your model or not.

Explore other BIM tools and other workbenches
Take a moment to explore the other available BIM tools. Remeber that some are still not finished, and might not do everything you expect from them. Use the "What's this?" button found in menu Help to open the help page of any tool. The FreeCAD forum is also always a good place to search or ask when encountering a specific problem you cannot solve.

FreeCAD is a big family of workbenches, and tools from other workbenches often come in handy. As we saw above, almost any object created from other workbenches can be turned into a valid BIM object, simply using the 3D/BIM -> Create component tool and giving it the correct IFC type.

There are more tutorials about BIM and other workbenches in the Tutorials section of the FreeCAD documentation, and a complete video series of BIM tutorials on youtube.

Help FreeCAD to become a better tool!
FreeCAD is free software, developed by an enthusiast community of users, some of them developing code, and many others contributing in one form or another to make the software better, being writing documentation, finding and reporting bugs, submitting ideas, writing tutorials, and many other things. The more and more active we are, the faster the software gets developed further. Why not join us? A good place to start is the BIM section on the FreeCAD forum. See you there!