Manual:BIM modeling: Difference between revisions

From FreeCAD Documentation
mNo edit summary
No edit summary
(42 intermediate revisions by 14 users not shown)
Line 1: Line 1:
<languages/>
{{UnfinishedDocu{{#translation:}}}} <!-- Update in the context of the new external BIM Workbench -->
<translate>
<translate>

<!--T:68-->
{{Docnav
|[[Manual:Generating_2D_drawings|Generating 2D drawings]]
|[[Manual:Using_spreadsheets|Using spreadsheets]]
|[[Manual:Introduction|Manual start]]
|IconL=
|IconR=
|IconC=Crystal_Clear_manual.png
}}

<!--T:1-->
<!--T:1-->
{{Manual:TOC}}
{{Manual:TOC}}


<!--T:2-->
<!--T:2-->
BIM stands for [https://en.wikipedia.org/wiki/Building_information_modeling Building Information Modeling]. The exact definition of what it is varies, but we can say simply that is how buildings and other large structures like bridges, tunnels, etc... are modeled today. BIM models are usually based on 3D models, and 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.
BIM stands for [https://en.wikipedia.org/wiki/Building_information_modeling Building Information Modeling]. The exact definition of what it is varies, but we can simply say that it is how buildings and other large structures like bridges, tunnels, etc... are modeled today. BIM models are usually based on 3D models, and 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 analysis of the model, such as structural resistance, cost and construction time estimations, or calculations of energy consumption.


<!--T:3-->
<!--T:3-->
The [[Arch_Module|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 [[Arch_Workbench|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.


<!--T:4-->
<!--T:4-->
Line 13: Line 26:


<!--T:5-->
<!--T:5-->
The Arch Workbench also includes all the tools from the [[Draft_Module|Draft Workbench]], and uses its grid and snapping system. Before beginning, it is always a good idea to browse through the preferences pages of both Draft and Arch and set the default settings to your liking.
The Arch Workbench also includes all the tools from the [[Draft_Workbench|Draft Workbench]], and uses its grid and snapping system. Before beginning, it is always a good idea to browse through the preferences pages of both Draft and Arch and set the default settings to your liking.


<!--T:6-->
<!--T:6-->
Line 28: Line 41:


<!--T:10-->
<!--T:10-->
* Create a new document, and switch to the [[Arch_Module|Arch Workbench]].
* Create a new document, and switch to the [[Arch_Workbench|Arch Workbench]].
* Open menu '''Edit -> Preferences -> Draft -> Grid and Snapping''' and set the '''grid spacing''' setting to 1000 mm, so we have a one meter-based grid, which will be convenient for the size of our building.
* Open menu {{MenuCommand|Edit Preferences Draft Grid and Snapping}} and set:
** '''Main lines every''' {{incode|10}}.
* On the '''snapping toolbar''', make sure the [[Image:Snap_Grid.png|16px]] [[Draft_ToggleGrid|grid snap]] button is enabled, so we can use the grid as much as possible.
** '''Grid spacing''' {{incode|1000mm}} to have a one meter-based grid, which is convenient for the size of our building.
** '''Grid size''' {{incode|100 lines}}.
* On the '''snapping toolbar''' make sure the [[Image:Draft_Snap_Grid.svg|16px]] [[Draft_Snap_Grid|grid snap]] button is enabled, so we can use the grid as much as possible.
* If you do not see the axes then click the [[Image:Draft_Snap_Grid.svg|16px]] [[Draft_Snap_Grid|toggle draft grid]] button.
* Set the [[Draft_SelectPlane|Working Plane]] to '''XY''' plane
* Set the [[Draft_SelectPlane|Working Plane]] to '''XY''' plane
* Zoom out and pan so you can see the area from (0,0) to (4,3). See the [[Mouse_navigation|Mouse navigation]] for instructions.
* Draw four lines with the [[Image:Draft_Line.png|16px]] [[Draft Line]] tool. You can enter coordinates manually, or simply pick the points on the grid with the mouse:
* Draw four lines with the [[Image:Draft_Line.svg|16px]] [[Draft Line]] tool. You can enter coordinates manually, or simply pick the points on the grid with the mouse:
** From point (0,0) to point (0,3)
** From point (0,0) to point (0,3)
** From point (0,3) to point (4,3)
** From point (0,3) to point (4,3)
** From point (4,3) to point (4,0)
** From point (4,3) to point (4,0)
** From point (4,0) to point (0,0)
** From point (4,0) to point (0,0)
NOTE: Due to a bug in version 0.18, make sure you do the lines in this order and this direction.


<!--T:11-->
<!--T:11-->
Line 43: Line 62:
<!--T:12-->
<!--T:12-->
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.
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.

<!--T:70-->
* Once your have created the lines check their start and end points and adjust if necessary to get them exactly correct.
[[Image:Manual-BIM_Modeling_-_Adjusting_Lines.png]]



<!--T:13-->
<!--T:13-->
* Select the first line, then press the [[Image:Arch_Wall.png|16px]] [[Arch Wall|Wall]] button.
* Select the first line, then press the [[Image:Arch_Wall.svg|16px]] [[Arch Wall|Wall]] button.
* Repeat this for the 3 other lines, until you have 4 walls.
* Repeat this for the 3 other lines, until you have 4 walls.
* Select the four walls, and set their '''Height''' property to '''3.00m''' and their '''Alignment''' property to '''left'''. If you didn't draw the lines in the same order as we did above, some of the walls might have their left and right directions flipped, and might need to be set to '''right''' instead. You will obtain four intersecting walls, on the inside of the baselines:
* Select the four walls, and set their '''Height''' property to '''3.00m''' and their '''Alignment''' property to '''left'''. If you didn't draw the lines in the same order as we did above, some of the walls might have their left and right directions flipped, and might need to be set to '''right''' instead. You will obtain four intersecting walls, on the inside of the baselines:
Line 54: Line 78:
<!--T:15-->
<!--T:15-->
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 intersecting. 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.
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 intersecting. 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.
* Select the four walls with '''Ctrl''' pressed, the last one being the wall that you chose to become the host
* Select the four walls with {{KEY|Ctrl}} pressed, the last one being the wall that you chose to become the host
* Press the [[Image:Arch_Add.png|16px]] [[Arch Add|Add]] button. The four walls have now been turned into one:
* Press the [[Image:Arch_Add.svg|16px]] [[Arch Add|Add]] button. The four walls have now been turned into one:


<!--T:16-->
<!--T:16-->
Line 67: Line 91:
* Start by selecting the wall. This is not necessary, but a good habit to take. If an object is selected when starting the window tool, you will force the window to be inserted in that object, even if you snap to another object.
* Start by selecting the wall. This is not necessary, but a good habit to take. If an object is selected when starting the window tool, you will force the window to be inserted in that object, even if you snap to another object.
* Set the [[Draft_SelectPlane|Working Plane]] to '''auto''' so we are not restricted to the ground plane
* Set the [[Draft_SelectPlane|Working Plane]] to '''auto''' so we are not restricted to the ground plane
* Press the [[Image:Arch_Window.png|16px]] [[Arch_Window|Window]] button.
* Press the [[Image:Arch_Window.svg|16px]] [[Arch_Window|Window]] button.
* In the window creation panel, select the '''Simple door''' preset, and set its '''Width''' to 0.9m and its '''Height''' to 2.1m
* In the window creation panel, select the '''Simple door''' preset, and set its '''Width''' to 0.9m and its '''Height''' to 2.1m
* Make sure the [[Image:Snap_Near.png|16px]] [[Draft_Near|Near snap]] location is turned on, so we can snap on faces
* Make sure the [[Image:Draft_Snap_Near.svg|16px]] [[Draft_Snap_Near|Near snap]] location is turned on, so we can snap on faces
* Place your window roughly on the middle of the front face of the wall:
* Place your window roughly on the middle of the front face of the wall:


Line 94: Line 118:


<!--T:26-->
<!--T:26-->
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. Let's now create a slab:
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. Now, let's create a slab:


<!--T:27-->
<!--T:27-->
* Set the [[Draft_SelectPlane|Working Plane]] to '''XY''' plane
* Set the [[Draft_SelectPlane|Working Plane]] to '''XY''' plane
* Create a [[Image:Draft_Rectangle.png|16px]] [[Draft_Rectangle|rectangle]] with a '''length''' of 5m, a height of '''4m''', and place it at position x:-0.5m, y:-0.5m, z:0.
* Create a [[Image:Draft_Rectangle.svg|16px]] [[Draft_Rectangle|rectangle]] with a '''length''' of 5m, a height of '''4m''', and place it at position x:-0.5m, y:-0.5m, z:0.
* Select the rectangle
* Select the rectangle
* Click the [[Image:Arch_Structure.png|16px]] [[Arch_Structure|structure]] tool to create a slab from the rectangle
* Click the [[Image:Arch_Structure.svg|16px]] [[Arch_Structure|structure]] tool to create a slab from the rectangle
* Set the '''height''' property of the slab to 0.2m and its '''normal''' direction to (0,0,-1) because we want it to extrude downwards. We could also simply have moved it 0.2m down, but it is always good practice to keep extruded objects at the same place as their base profile.
* Set the '''height''' property of the slab to 0.2m and its '''normal''' direction to (0,0,-1) because we want it to extrude downwards. We could also simply have moved it 0.2m down, but it is always good practice to keep extruded objects at the same place as their base profile.
* Set the '''Role''' property of the slab to '''slab'''. This is not necessary in FreeCAD, but is important for IFC export, as it will ensure that the object is exported with the correct IFC type.
* Set the '''Ifc Type''' property of the slab to '''slab'''. This is not necessary in FreeCAD, but is important for IFC export, as it will ensure that the object is exported with the correct IFC type.


<!--T:28-->
<!--T:28-->
Line 108: Line 132:


<!--T:29-->
<!--T:29-->
* Let's now use one of the structural presets to make a metallic beam. Click the [[Image:Arch_Structure.png|16px]] [[Arch_Structure|structure]] button, select a '''HEB 180''' preset, and set its height to '''4m'''. Place it anywhere:
* Let's now use one of the structural presets to make a metallic beam. Click the [[Image:Arch_Structure.svg|16px]] [[Arch_Structure|structure]] button, select a '''HEB 180''' preset, and set its height to '''4m'''. Place it anywhere:


<!--T:30-->
<!--T:30-->
Line 114: Line 138:


<!--T:31-->
<!--T:31-->
* Adjust its '''placement''' by setting its '''rotation''' to 90° in the (1,0,0) axis, and its '''position''' to x:90mm, y:3.5m, z:3.09m. This will position the beam exactly on one of the side walls:
* Adjust its '''placement''' by setting its '''Angle''' to 90° in the (1,0,0) axis, and its '''position''' to x:90mm, y:3.5m, z:3.09m. This will position the beam exactly on one of the side walls:


<!--T:32-->
<!--T:32-->
Line 120: Line 144:


<!--T:33-->
<!--T:33-->
* We need now to duplicate this beam a couple of times. We could do that one by one using the [[Image:Draft_Clone.png|16px]] [[Draft_Clone|clone]] tool, but there is a better way, to do all the copies at once using an array:
* We need now to duplicate this beam a couple of times. We could do that one by one using the [[Image:Draft_Clone.svg|16px]] [[Draft_Clone|clone]] tool, but there is a better way, to do all the copies at once using an array:
* Select the beam
* Select the beam
* Press the [[Image:Draft_Array.png|16px]] [[Draft_Array|Array]] button
* Press the [[Image:Draft_OrthoArray.svg|16px]] [[Draft_OrthoArray|Draft OrthoArray]] button
* Set the '''Number X''' property of the array to 6, leave the Y and Z numbers to 1
* Set the '''Number of elements''' for the X direction of the array to 6, set the number for the Y and Z direction to 1, and press '''OK'''.
* Expand the '''interval X''' property, and press the small [[Image:Bound-expression-unset.png|16px]] '''expression''' icon at the right side of the X field. This will open an [[Expressions|expressions editor]]:
* Expand the '''interval X''' property of the array, and press the small [[Image:Bound-expression-unset.png|16px]] '''expression''' icon at the right side of the X field. This will open an [[Expressions|expressions editor]]:


<!--T:34-->
<!--T:34-->
Line 137: Line 161:
<!--T:37-->
<!--T:37-->
* We can now easily build a simple slab on top of them, by drawing a rectangle directly on the top plane of the beams. Select a top face of one of the beams
* We can now easily build a simple slab on top of them, by drawing a rectangle directly on the top plane of the beams. Select a top face of one of the beams
* Press the [[Image:Draft_SelectPlane.png|16px]] [[Draft_SelectPlane|working plane]] button. The working plane is now set to that face.
* Press the [[Image:Draft_SelectPlane.svg|16px]] [[Draft_SelectPlane|working plane]] button. The working plane is now set to that face.
* Create a [[Image:Draft_Rectangle.png|16px]] [[Draft_Rectangle|rectangle]], snapping to two opposite points of the border beams:
* Create a [[Image:Draft_Rectangle.svg|16px]] [[Draft_Rectangle|rectangle]], snapping to two opposite points of the border beams:


<!--T:38-->
<!--T:38-->
Line 145: Line 169:
<!--T:39-->
<!--T:39-->
* Select the rectangle
* Select the rectangle
* Click the [[Image:Arch_Structure.png|16px]] [[Arch_Structure|structure]] button and create a slab with a height of '''0.2m'''.
* Click the [[Image:Arch_Structure.svg|16px]] [[Arch_Structure|structure]] button and create a slab with a height of '''0.2m'''.


<!--T:40-->
<!--T:40-->
Line 152: Line 176:
<!--T:41-->
<!--T:41-->
* Select the two slabs, the wall, and the array of beams
* Select the two slabs, the wall, and the array of beams
* Press the [[Image:Arch_Floor.png|16px]] [[Arch_Floor|Floor]] button
* Press the [[Image:Arch_Floor.svg|16px]] [[Arch_Floor|Floor]] button
* Select the floor we just created
* Select the floor we just created
* Press the [[Image:Arch_Building.png|16px]] [[Arch_Building|Building]] button
* Press the [[Image:Arch_Building.svg|16px]] [[Arch_Building|Building]] button


<!--T:42-->
<!--T:42-->
Line 171: Line 195:
* Select the top object you want to export, that is, the Building object.
* Select the top object you want to export, that is, the Building object.
* Select menu '''File -> Export -> Industry Foundation Classes''' and save your file.
* Select menu '''File -> Export -> Industry Foundation Classes''' and save your file.
* The resulting IFC file can now be opened ina wide range of applications and viewers (the image below shows the file opened in the free [http://ifcplusplus.com/ IfcPlusPlus] viewer). Checking the exported file in such a viewer application before distributing it to other people is important to check that all the data contained in the file is correct. FreeCAD itself can also be used to re-open the resulting IFC file.
* The resulting IFC file can now be opened in a wide range of applications and viewers (the image below shows the file opened in the free [http://www.ifcquery.com/ IfcPlusPlus] viewer). Checking the exported file in such a viewer application before distributing it to other people is important to check that all the data contained in the file is correct. FreeCAD itself can also be used to re-open the resulting IFC file.


<!--T:47-->
<!--T:47-->
Line 177: Line 201:


<!--T:48-->
<!--T:48-->
We will now place some dimensions. Unlike the [[Manual:Generating 2D drawings|previous chapter]], where we drew all the dimensions directly on the Drawing sheet, we will use another method here, and place [[Draft_Dimension|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.
We will now place some dimensions. Unlike the [[Manual:Generating 2D drawings|previous chapter]], where we drew all the dimensions directly on the Drawing sheet, we will use another method here, and place [[Draft_Dimension|Draft dimensions]] directly in the 3D model. These dimensions will then be placed on the Drawing sheet automatically. 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.


<!--T:49-->
<!--T:49-->
* Right-click the "house" document in the tree view, and create two new groups: '''Plan dimensions''' and '''Elevation dimensions'''.
* Right-click the "house" document in the tree view, and create two new groups: '''Plan dimensions''' and '''Elevation dimensions'''.
* Set the [[Draft_SelectPlane|Working Plane]] to '''XY''' plane
* Set the [[Draft_SelectPlane|Working Plane]] to '''XY''' plane
* Make sure the [[Image:Snap_WorkingPlane.png|16px]] [[Draft_WorkingPlane|restrict]] snap location is turned on, so everything you draw stays on the working plane.
* Make sure the [[Image:Draft_Snap_WorkingPlane.svg|16px]] [[Draft_Snap_WorkingPlane|restrict]] snap location is turned on, so everything you draw stays on the working plane.
* Draw a couple of [[Image:Draft_Dimension.png|16px]] [[Draft_Dimension|dimensions]], for example as on the image below. Pressing '''Shift''' and '''Ctrl''' while snapping the dimension points will give you additional options.
* Draw a couple of [[Image:Draft_Snap_Dimensions.svg|16px]] [[Draft_Snap_Dimensions|Dimensions]], for example as on the image below. Pressing {{KEY|Shift}} and {{KEY|Ctrl}} while snapping the dimension points will give you additional options.


<!--T:50-->
<!--T:50-->
Line 197: Line 221:


<!--T:53-->
<!--T:53-->
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 [[Arch_SectionPlane|Section Plane]]. We will now add two of these section planes, to create a plan view and an elevation view.
We will now prepare a set of views from our model, to be placed 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 [[Arch_SectionPlane|Section Plane]]. We will now add two of these section planes, to create a plan view and an elevation view.
* Select the building object in the tree view
* Select the building object in the tree view
* Press the [[Image:Arch_SectionPlane.png|16px]] [[Arch_SectionPlane|Section Plane]] button.
* Press the [[Image:Arch_SectionPlane.svg|16px]] [[Arch_SectionPlane|Section Plane]] button.
* Set its '''Display Height''' property to 5m, its '''Display Length''' to 6m, so we encompass our house (this is not needed, but will look better, as it will show naturally what it is used for), and its '''Placement''' position at x:2m, y:1.5m, z:1.5m.
* Set its '''Display Height''' property to 5m, its '''Display Length''' to 6m, so we encompass our house (this is not needed, but will look better, as it will show naturally what it is used for), and its '''Placement''' position at x:2m, y:1.5m, z:1.5m.
* Check the list of objects considered by the Section Plane by double-clicking it in the tree view. Section Planes only render specified objects from the model, not all of them. The objects considered by the Section Plane can be changed here.
* Check the list of objects considered by the Section Plane by double-clicking it in the [[tree view]]. Section Planes only render specified objects from the model, not all of them. The objects considered by the Section Plane can be changed here.


<!--T:54-->
<!--T:54-->
Line 213: Line 237:


<!--T:57-->
<!--T:57-->
{{VeryImportantMessage|Development of the [[Drawing Workbench|Drawing Workbench]] stopped in FreeCAD 0.16, and the new [[TechDraw Workbench|TechDraw Workbench]] aiming to replace it was introduced in v0.17. The Drawing Workbench may be removed in future releases. Use the TechDraw Workbench instead.}}
* Now we have everything we need, and we can create our Drawing page. Start by switching to the [[Drawing_Module|Drawing Workbench]], and create a new default [[Image:Drawing_Landscape_A3.png|16px]] [[Drawing_Landscape_A3|A3 page]] (or select another template if you wish).
* Now we have everything we need, and we can create our Drawing page. Start by switching to the [[Drawing_Workbench|Drawing Workbench]], and create a new default [[Image:Drawing_Landscape_A3.png|16px]] [[Drawing_Landscape_A3|A3 page]] (or select another template if you wish).
* Select the first section plane, used for the plan view
* Select the first section plane, used for the plan view
* Press the [[Image:Drawing_DraftView.png|16px]] [[Drawing_DraftView|Draft View]] button. This tool offers a couple of additional features over the standard [[Drawing_View|Drawing View]] tool, and supports the Section Planes from the Arch Workbench.
* Press the [[Image:Drawing_DraftView.png|16px]] [[Drawing_DraftView|Draft View]] button. This tool offers a couple of additional features over the standard [[Drawing_View|Drawing View]] tool, and supports the Section Planes from the Arch Workbench.
Line 254: Line 279:


<!--T:61-->
<!--T:61-->
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 [http://www.inkscape.org 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.
Our page is now ready, and we can export it to SVG or DXF formats, or print it. The SVG format allows you to open the file using illustration applications such as [http://www.inkscape.org 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.


<!--T:62-->
==Downloads== <!--T:62-->
'''Downloads'''


<!--T:63-->
<!--T:63-->
Line 264: Line 288:
* The SVG file exported from the above file: https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/house.svg
* The SVG file exported from the above file: https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/house.svg


<!--T:64-->
==Related== <!--T:64-->
'''Read more'''


<!--T:65-->
<!--T:65-->
* [[Arch_Module|The Arch Workbench]]
* [[BIM Workbench|BIM Workbench]]
* [[Arch_Workbench|The Arch Workbench]]
* [[Draft_SelectPlane|The Draft working plane]]
* [[Draft_SelectPlane|The Draft working plane]]
* [[Draft_Snap|The Draft snapping settings]]
* [[Draft_Snap|The Draft snapping settings]]
* [[Expressions|The expressions system]]
* [[Expressions|The expressions system]]
* [https://en.wikipedia.org/wiki/Industry_Foundation_Classes The IFC format]
* [https://en.wikipedia.org/wiki/Industry_Foundation_Classes The IFC format]
* [http://ifcopenshell.org/ IfcOpenShell]
* [http://ifcopenshell.org IfcOpenShell]
* [http://ifcplusplus.com/ IfcPlusPlus]
* [http://www.ifcquery.com IfcPlusPlus]
* [http://www.inkscape.org Inkscape]
* [http://www.inkscape.org Inkscape]


<!--T:66-->
<!--T:69-->
{{Docnav
[[Category:Tutorials]]
|[[Manual:Generating_2D_drawings|Generating 2D drawings]]
|[[Manual:Using_spreadsheets|Using spreadsheets]]
|[[Manual:Introduction|Manual start]]
|IconL=
|IconR=
|IconC=Crystal_Clear_manual.png
}}


</translate>
</translate>
{{Tutorials navi{{#translation:}}}}
<languages/>
{{Arch Tools navi{{#translation:}}}}
[[Category:BIM{{#translation:}}]]

Revision as of 07:28, 1 July 2022

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

GuiCommand model explains how commands should be documented. Browse Category:UnfinishedDocu to see more 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 stands for Building Information Modeling. The exact definition of what it is varies, but we can simply say that it is how buildings and other large structures like bridges, tunnels, etc... are modeled today. BIM models are usually based on 3D models, and 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 analysis 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.

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

The Arch Workbench also includes all the tools from the Draft Workbench, and uses its grid and snapping system. Before beginning, it is always a good idea to browse through the preferences pages of both Draft and Arch and set the default settings to your liking.

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

and produce a plan and a section view from it:

  • Create a new document, and switch to the Arch Workbench.
  • Open menu Edit → Preferences → Draft → Grid and Snapping and set:
    • Main lines every 10.
    • Grid spacing 1000mm to have a one meter-based grid, which is convenient for the size of our building.
    • Grid size 100 lines.
  • On the snapping toolbar make sure the grid snap button is enabled, so we can use the grid as much as possible.
  • If you do not see the axes then click the toggle draft grid button.
  • Set the Working Plane to XY plane
  • Zoom out and pan so you can see the area from (0,0) to (4,3). See the Mouse navigation for instructions.
  • Draw four lines with the Draft Line tool. You can enter coordinates manually, or simply pick the points on the grid with the mouse:
    • From point (0,0) to point (0,3)
    • From point (0,3) to point (4,3)
    • From point (4,3) to point (4,0)
    • From point (4,0) to point (0,0)

NOTE: Due to a bug in version 0.18, make sure you do the lines in this order and this direction.

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.

  • Once your have created the lines check their start and end points and adjust if necessary to get them exactly correct.


  • Select the first line, then press the Wall button.
  • Repeat this for the 3 other lines, until you have 4 walls.
  • Select the four walls, and set their Height property to 3.00m and their Alignment property to left. If you didn't draw the lines in the same order as we did above, some of the walls might have their left and right directions flipped, and might need to be set to right instead. You will obtain four intersecting walls, on the inside of the baselines:

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

  • Select the four walls with Ctrl pressed, the last one being the wall that you chose to become the host
  • Press the Add button. The four walls have now been turned into one:

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

  • Let's now place a door. In FreeCAD, doors are considered a special case of windows, so this is done using the Window tool.
  • Start by selecting the wall. This is not necessary, but a good habit to take. If an object is selected when starting the window tool, you will force the window to be inserted in that object, even if you snap to another object.
  • Set the Working Plane to auto so we are not restricted to the ground plane
  • Press the Window button.
  • In the window creation panel, select the Simple door preset, and set its Width to 0.9m and its Height to 2.1m
  • Make sure the Near snap location is turned on, so we can snap on faces
  • Place your window roughly on the middle of the front face of the wall:

  • After clicking, our window is placed on the correct face, but not exactly where we want:

  • We can now set the precise location by expanding the wall and the window objects in the tree view, and changing the Placement property of the base sketch of our door. Set its position to x = 2m, y = 0, z = 0. Our window is now exactly where we want it:

  • Repeat the operation to place a window: Select the wall, press the window tool, select the Open 2-pane preset, and place a 1m x 1m window in the same face as the door. Set the placement of the underlying sketch to position x = 0.6m, y = 0, z = 1.1m, so the upper line of the window is aligned to the top of the door.

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. Now, let's create a slab:

  • Set the Working Plane to XY plane
  • Create a rectangle with a length of 5m, a height of 4m, and place it at position x:-0.5m, y:-0.5m, z:0.
  • Select the rectangle
  • Click the structure tool to create a slab from the rectangle
  • Set the height property of the slab to 0.2m and its normal direction to (0,0,-1) because we want it to extrude downwards. We could also simply have moved it 0.2m down, but it is always good practice to keep extruded objects at the same place as their base profile.
  • Set the Ifc Type property of the slab to slab. This is not necessary in FreeCAD, but is important for IFC export, as it will ensure that the object is exported with the correct IFC type.

  • Let's now use one of the structural presets to make a metallic beam. Click the structure button, select a HEB 180 preset, and set its height to 4m. Place it anywhere:

  • Adjust its placement by setting its Angle to 90° in the (1,0,0) axis, and its position to x:90mm, y:3.5m, z:3.09m. This will position the beam exactly on one of the side walls:

  • We need now to duplicate this beam a couple of times. We could do that one by one using the clone tool, but there is a better way, to do all the copies at once using an array:
  • Select the beam
  • Press the Draft OrthoArray button
  • Set the Number of elements for the X direction of the array to 6, set the number for the Y and Z direction to 1, and press OK.
  • Expand the interval X property of the array, and press the small expression icon at the right side of the X field. This will open an expressions editor:

  • Write (4m-180mm)/5 in the expression field, and press OK. This will set the x value to 0.764 (4m is the total length of our front wall, 180mm is the width of the beam, which is why it is called HEB180, and we want a fifth of that space as interval between each beam):

  • We can now easily build a simple slab on top of them, by drawing a rectangle directly on the top plane of the beams. Select a top face of one of the beams
  • Press the working plane button. The working plane is now set to that face.
  • Create a rectangle, snapping to two opposite points of the border beams:

  • Select the rectangle
  • Click the structure button and create a slab with a height of 0.2m.

That's it, our model is now complete. 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 story. 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.

  • Select the two slabs, the wall, and the array of beams
  • Press the Floor button
  • Select the floor we just created
  • Press the Building button

Our model is now ready to export:

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 actor of the construction world, 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 informed when opening the View -> Panels -> Python console panel in FreeCAD. When that is done, we can now export our model:

  • Select the top object you want to export, that is, the Building object.
  • Select menu File -> Export -> Industry Foundation Classes and save your file.
  • The resulting IFC file can now be opened in a wide range of applications and viewers (the image below shows the file opened in the free IfcPlusPlus viewer). Checking the exported file in such a viewer application before distributing it to other people is important to check that all the data contained in the file is correct. FreeCAD itself can also be used to re-open the resulting IFC file.

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

  • Right-click the "house" document in the tree view, and create two new groups: Plan dimensions and Elevation dimensions.
  • Set the Working Plane to XY plane
  • Make sure the restrict snap location is turned on, so everything you draw stays on the working plane.
  • Draw a couple of Dimensions, for example as on the image below. Pressing Shift and Ctrl while snapping the dimension points will give you additional options.

  • Select all your dimensions, and drag them to the Plan dimensions group in the tree view
  • Set the Working Plane to XZ plane, that is, the frontal vertical plane.
  • Repeat the operation, draw a couple of dimensions, and place them in the Elevation dimensions group.

We will now prepare a set of views from our model, to be placed 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.

  • Select the building object in the tree view
  • Press the Section Plane button.
  • Set its Display Height property to 5m, its Display Length to 6m, so we encompass our house (this is not needed, but will look better, as it will show naturally what it is used for), and its Placement position at x:2m, y:1.5m, z:1.5m.
  • Check the list of objects considered by the Section Plane by double-clicking it in the tree view. Section Planes only render specified objects from the model, not all of them. The objects considered by the Section Plane can be changed here.

  • Repeat the operation to create another section plane, give it the same display length and height, and give it the following Placement: position: x:2m, y:-2m, z:1.5m, angle: 90°, axis: x:1, y:0, z:0. Make sure this new section plane also considers the building object.

Development of the Drawing Workbench stopped in FreeCAD 0.16, and the new TechDraw Workbench aiming to replace it was introduced in v0.17. The Drawing Workbench may be removed in future releases. Use the TechDraw Workbench instead.
  • Now we have everything we need, and we can create our Drawing page. Start by switching to the Drawing Workbench, and create a new default A3 page (or select another template if you wish).
  • Select the first section plane, used for the plan view
  • Press the Draft View button. This tool offers a couple of additional features over the standard Drawing View tool, and supports the Section Planes from the Arch Workbench.
  • Give the new view the following properties:
    • X: 50
    • Y: 140
    • Scale: 0.03
    • Line width: 0.15
    • Show Cut True
    • Show Fill: True
  • Select the other section plane, and create a new Draft View, with the following properties:
    • X: 250
    • Y: 150
    • Scale: 0.03
    • Rendering: Solid

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

  • Select the Plan dimensions group
  • Press the Draft View button.
  • Give the new view the following properties:
    • X: 50
    • Y: 140
    • Scale: 0.03
    • Line width: 0.15
    • Font size: 10mm
  • Repeat the operation for the other group, with the following settings:
    • X: 250
    • Y: 150
    • Scale: 0.03
    • Line width: 0.15
    • Font size: 10mm
    • Direction: 0,-1,0
    • Rotation: 90°

Our page is now ready, and we can export it to SVG or DXF formats, or print it. The SVG format allows you to open the file using 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.

Downloads

Related


Template:Tutorials navi