FreeCAD-manual

An experiment at reorganizing the contents of the FreeCAD wiki in an easier, friendlier book-like manner. The manual is now hosted on the FreeCAD wiki

View the Project on GitHub yorikvanhavre/FreeCAD-manual

BIM modeling

BIM stands for Building Information Modeling. The exact definition varies, but we can say simply that BIM is a series of rules that define how buildings and other large structures like bridges, tunnels, etc… are modeled today. BIM models are usually the same kind of 3D models as we have done so far in this manual, but also include a series of additional layers of information, such as materials information, relationships to other objects or models, or special instructions for building or maintenance. This extra information permits all kinds of advanced analyses of the model, such as structural resistance, cost and construction time estimations, or calculations of energy consumption.

The Arch workbench of FreeCAD implements a series of tools and facilities for BIM modeling. Although it has a different purpose, it is made to work in tight integration with the rest of FreeCAD: Anything made with any other workbench of FreeCAD can become an Arch object, or be used as a base for an Arch object.

The BIM workbench is an upgraded, more user-friendly version of the Arch workbench. It also includes several useful tools from other workbenches such as Draft or TechDraw. It is not bundled with FreeCAD by default, but is easily installable through the addons manager. In this exercise, you can use either Arch or BIM, but if you are going to do BIM modeling with FreeCAD regularly, you are highly recommended to install the BIM workbench.

As in the PartDesign workbench, the objects produced by the Arch/BIM workbenches are meant to be built in the real world. Therefore, they need to be solid. The Arch/BIM tools usually take care of that automatically, and also provide utility tools to help you check the validity of objects.

In this chapter, we will see how to model this small building:

the arch model

and produce a printable sheet with a plan and a section view from the above model:

the drawing page

Notice in the sheet title block the cone on it’s side. The graphic is denoting a first angle projection. If the two images were swapped, a third angle projection is declared. In this print it is less important, however in the previous chair drawing it would have had greater significance. First and Third Angle Projection

We are assuming that the exercises in the previous chapters have been preformed, there will be less discussion on previously covered concepts.

the 4 lines

Notice that we drew always in the same direction (clockwise). This is not necessary, but will ensure that the walls that we will build next all have the same left and right directions. You might also think we could simply have drawn a rectangle here, which is true. But the four lines will allow us to illustrate better how to add one object into another.

the 4 walls

Now we need to join these walls together, so they intersect properly. This is not necessary when your walls are drawn in a way that they already connect cleanly, but here we need to, since they are overlapping. In Arch, this is done by electing one of the walls to be the “host”, and adding the others to it, as “additions”. All arch objects can have any number of additions (objects whose geometry will be added to the host’s geometry), and subtractions (objects whose geometry will be subtracted). The additions and subtractions of an object can be managed anytime by double-clicking the object in the tree.

the final wall

The individual walls are however still accessible, by expanding the wall in the tree view.

Positioning the door

the placed door

the final door

the window

Windows are always built on sketches. It is easy to create custom windows by first creating a sketch on a face, then turning it into a window by selecting it, then pressing the window button. Then, the window creation parameters, that is, which wires of the sketch must be extruded and how much, can be defined by double-clicking the window in the tree view.

the base slab

Sidebar: In the REC category, you will find 2x4in whose metric dimensions are 38mm x 89mm. Converting metric to imperial gives dimensions of 1.496in x 3.504in. This is not in fact 2in x 4in, but it is the actual size of a wooden stud commonly referred to in the construction trade as 2x4. The other items are similarly nominal dimensions of kiln dried construction lumber.

a metallic element

the positioned beam

the expression engine

the beams

the top rectangle

That’s it, our model is now complete. Save the file. We should now organize it so it exports correctly to IFC. The IFC format requires that all objects of a building are inside a building object, and optionally, inside a storey. It also requires that all buildings are placed on a site, but the IFC exporter of FreeCAD will add a default site automatically if needed, so we don’t need to add one here.

Our model is now ready to export:

the organized model

The IFC format is one of the most precious assets in a free BIM world, because it allows the exchange of data between any application and a construction user, in an open manner (the format is open, free and maintained by an independent consortium). Exporting your BIM models as IFC ensures that anyone can see and analyze them, no matter the application used.

In FreeCAD, IFC import and export is done by interfacing with another piece of software, called IfcOpenShell. To be able to export to IFC from FreeCAD, the IfcOpenShell-python package must be installed on your system. Be sure to select one which uses the same python version as FreeCAD. The python version that FreeCAD uses is displayed when opening the View → Panels → Python console panel in FreeCAD. Or if it is already open scroll back to the start. When **ifcopenshell **is installed, we can now export our model:

ifcplusplus

We will now place some dimensions. Unlike the previous chapter, where we drew all the dimensions directly on the Drawing sheet, we will use another method here, and place Draft dimensions directly in the 3D model. These dimensions will then be placed on the Drawing sheet. We will first make two groups for our dimensions, one for the dimensions that will appear in the plan view, and another for those that appear on the elevation.

After adding a few dimensions, it will be come tiring (and time squandering) changing properties for each dimension. Once you have a good idea of the changes needed, you can edit the preferences to create dimensions as desired. Top menu Edit **→ **Preferences → **Draft **→ **Text and dimensions **tab. Make the changes you have decided are needed.

the horizontal dimensions

the vertical dimensions

We will now prepare a set of views from our model, to be paced on a Drawing page. We can do that with the tools from the Drawing Workbench, as we have seen in the previous chapter, but the Arch Workbench also offers an all-in-one advanced tool to produce plan, section and elevation views, called Section Plane. We will now add two of these section planes, to create a plan view and an elevation view.

the first section plane

the two planes

the two views

We will now create two more Draft Views, one for each group of dimensions.

You may find that the dimensions are not spaced correctly and the dimensions overlay each other. You can click on the file name tab at the bottom of the geometry window to return to the model. Activate the Arch workbench, click on the dimension you want to move, click on the Move tool, click on the starting position and click on the ending position. Dimension placement will be automatically updated in the drawing sheet.

You may find that something was left out of the Section plane. Click on the file name tab at the bottom of the geometry window to return to the model. Double click on the Section in the Model tree and add the geometry. However you will find that the drawing does not automatically update as before, and we need to force a recompute.

If you do not see the iconRefresh icon in the toolbar, there is a Python macro that will force a recompute, or “Redraw” macro Force_Recompute.py

More information about installing macros for the different platforms is here

Complete the title block, click on Page in the Model tree, in the Data tab to the far right of the Editable Texts line there are 3 dots, click on them they form a button. (It may take more than one click.) Edit the text to change the data in the title block. Click on OK when complete.

Save file.

Our page is now ready, and we can export it to SVG or DXF formats, or print it. The SVG format allows to open the file illustration applications such as inkscape, with which you can quickly enhance technical drawings and turn them into much nicer presentation drawings. It offers many more possibilities than the DXF format. Highlight the drawing Page **in the Model tree, in the top menu **FileExport . . . ** Set the **File Type: ** Drawing (*.svg, *.svgz, *.dxf) add a **File Name with a svg extension, and click Save.

Downloads

Read more