Sandbox:TutorialArchBIM: Difference between revisions

From FreeCAD Documentation
Line 430: Line 430:
Looking at the section of the Outer Beams, we can see it is aligned with outer wall. At least in some countries with rougher weather conditions this would be bad practice. Will increase with to 200mm, and have the beam extend 50mm outside the wall. Would also like to have what we sometimes call a drip nose. Feel it is a bit complicated to add at the moment.
Looking at the section of the Outer Beams, we can see it is aligned with outer wall. At least in some countries with rougher weather conditions this would be bad practice. Will increase with to 200mm, and have the beam extend 50mm outside the wall. Would also like to have what we sometimes call a drip nose. Feel it is a bit complicated to add at the moment.


[[File:At2 DripNose.png]]
[[File:At2 DripNose.png|420px]]


Showing Section of Beam with DripNose
Showing Section of Beam with DripNose

Revision as of 14:39, 22 August 2018

Tutorial
Topic
Modeling
Level
Intermediate
Time to complete
Authors
cadgiru
FreeCAD version
0.17
Example files
See also
None

Goal of this document

Update original Arch Tutorial by Yorik van Havre .

The purpose was to seriously try to learn some Freecad Work flows, after playing with it at various points in time over at least the last 5 years.

Reflect version 0.17 / 0.18 of Freecad Use a BIM workflow

Currently this document is WORK in Progress

Contributors

Yorik van Havre Main developer of Arch Workbench, and original author of this document
Peter Sande Initiator and co-author of this update. Freecad 0.17 / 0.18 in summer / fall of 2018.
Other In order to make this a working document we need additional users

Images

All Images not already on wiki are named and uploaded to File:at2_*

Introduction

This tutorial aims at giving you the basics to work with the Arch Workbench. I will try to make it simple enough so you don't need any previous experience with FreeCAD, but having some experience with 3D or BIM applications will be useful. In any case, you should be prepared to look for yourself for further information about how FreeCAD works on the FreeCAD documentation wiki. The Getting started page is a must read, if you have no previous experience with FreeCAD. Also check our tutorials section, and on youtube you will also find a lot more of FreeCAD tutorials.

The purpose of the Arch Workbench is to offer a complete BIM workflow inside FreeCAD. As it is still under development, don't expect to find here the same tools and level of completion as grown-up commercial alternatives such as Revit or ArchiCAD, but on the other hand, FreeCAD being used in a much bigger scope than these applications, the Arch Workbench greatly benefits from the other disciplines FreeCAD caters to, and offers some features rarely seen in traditional BIM applications.

Here are, for example, a couple of interesting features of FreeCAD's Arch Workbench that you'll hardly find in other BIM apps:

  • Architectural objects are always solids. From FreeCAD's strong mechanical background, we learned the importance of always working with solid objects. This ensures a much more error-free workflow, and very reliable boolean operations. Since cutting through 3D objects with a 2D plane, in order to extract sections, is also a boolean operation, you can immediately see the importance of this point.
  • Architectural objects can always have any shape. No restrictions. Walls don't need to be vertical, slabs don't need to look like slabs. Any solid object can always become any architectural object. Very complex things, usually hard to define in other BIM applications, like a floor slab curving up and becoming a wall (yes Zaha Hadid, it's you we're talking about), present no particular problem at all in FreeCAD.
  • The whole power of FreeCAD is at your fingertips. You can design architectural objects with any other tool of FreeCAD, such as the PartDesign Workbench, and when they are ready, convert them to architectural objects. They will still retain their full modeling history, and continue being totally editable. The Arch Workbench also inherits much of the Draft Workbench functionality, such as snapping and working planes.
  • The Arch Workbench is very mesh-friendly. You can easily design an architectural model in a mesh-based application such as Blender or SketchUp and import it in FreeCAD. If you took care of the quality of your model and its objects are manifold solid shapes, turning them into architectural objects only requires the press of a button.

At the time of writing, the Arch Workbench, as the rest of FreeCAD, suffers some limitations. Most are being worked on, and will disappear in the future.

  • FreeCAD is no 2D application. It is made for 3D. There is a reasonable set of tools for drawing and editing 2D objects with the Draft Workbench and Sketcher Workbench, but it is not made for handling very large (and sometimes badly drawn) 2D CAD files. You can usually successfully import 2D files, but don't expect very high performance if you want to keep working on them in 2D. You have been warned.
  • No materials support. FreeCAD will have a complete Material system, able to define very complex materials, with all the goodies you can expect (custom properties, material families, rendering and visual aspect properties, etc), and the Arch Workbench will of course use it when it is ready.
  • Very preliminary IFC support. You can already import IFC files, quite reliably, provided IfcOpenShell is installed on your system, but exporting is still not officially supported. This is worked on both by the FreeCAD and IfcOpenShell developers, and in the future we can expect full-powered IFC support.
  • Most Arch tools are still in development. That means that automatic "wizard" tools that create complex geometry automatically, such as Arch Roof or Arch Stairs can only produce certain types of objects, and other tools that have presets, such as Arch Structure or Arch Window only have a couple of basic presets. This will of course grow over time.
  • Relations between objects in FreeCAD are still not officially available. These, for example the relation between a window and its host wall, are currently implemented in the Arch Workbench with temporary (and therefore somewhat limited) methods. Many new possibilities will arise when this feature will be fully available.
  • Units are being implemented in FreeCAD, which will allow you to work with any unit you wish (even imperial units, you guys from the USA can be eternally grateful for this to Jürgen, FreeCAD's godfather and dictator). But at the moment the implementation is not complete, and the Arch workbench still doesn't support them. You must consider it "unit-less". This tutorial uses millimeters as units.

Typical workflows

In this tutorial we focus on a BIM oriented approach of using FreeCad. We will use mostly three workbenches: Arch Workbench and BIM, of course, but also Draft, whose tools are all included in Arch, so there is no need to switch workbenches, and Sketcher. Conveniently, can create a custom toolbar in your Arch workbench, with Tools → Customize, and add the tools from the sketcher that you use often.

Preparation

Instead of creating a project from scratch, let's take an example project to model, it will save us time. This wonderful house by the famous architect Vilanova Artigas (see a series of pictures by Pedro Kok), because it is close to where Yorik lives. It is simple, it's a wonderful example of the amazing modernist architecture of São Paulo. Drawings in dwg format are easily available. We will use the 2D DWG drawings obtained from the link above (you need to register on the above site to download, but it's free, or grab directly a dxf version here) as a base to build our model. So the first thing you'll want to do is to download the file, unzip it, and open the DWG file inside with a dwg application such as DraftSight. Alternatively, you can convert it to DXF with a free utility such as the Teigha File Converter. If you have the Teigha converter installed (and its path set in the Arch preferences settings), FreeCAD is also able to import DWG files directly. But since these files can sometimes be of bad quality and very heavy, it's usually better to open it first with a 2D CAD application and do some cleaning. Here, all the detail drawings are removed , all the title-blocks and page layouts. A "clean" ("purge" in AutoCAD slang) to remove all unused entities, reorganized the sections at a logical location in relation to the plan view, and moved everything to the (0,0) point. After that, our file can be opened quite efficiently in FreeCAD. Check the different options available in Edit → Preferences →

This is how the file looks after being opened in FreeCAD. Changed the thickness of the walls (the contents of the "muros" group), and flipped a couple of doors that were imported with wrong X scale, with the Draft Scale tool:

Preparing dwg / dxf Alternative text

For editing and exporting to dxf there are various free tools available. Found that of the free tools out there, [DraftSight by Dassault] worked fine. Most files when importing are in Meters. Scale by 1000 (same scale on all axis), either in FC or other system. To Isolate the various views, I found most effective was deleting all but the one I was seeking, and doing a SaveAs, with dxf as extension. This was repeated for all views.

Next, import the various views to Freecad.

Tip It is a good idea to import or save the various views into separate FCStd files. This keeps the files smaller and quicker to work with. Naming of files is Your choice, but it is a good idea to use a naming convention.

FIXME

Need place to upload attached files

For dxf files, they are placed in a directory named ./ref/dxf below the project directory. If You want to skip this step, the imported dxf files can be found here.

Plan View

Start with importing and placing the Plan View.

Your imported geometry will now turn up as a bunch of edges. It is a good idea to organize these into a Group . The Group can be created before importing, or You can select all the imported edges and ‘drag/drop’ them into the Group.

Now, do the same for all the other views. Next In this document, we will place the various view at their location, elevation and rotation, according to our ArchAxisSystem. Before Rotating and placing the various views, we need to do some planning.

Tip

FIXME needs Checking

FreeCad dxf import treats everything as Edges or Shapes, This is generally ok for lines. Bad for circles. No easy way to find Center.

Planning

As a minimum

A defined project zero / origin – with local x,y,z coordinates 0,0,0 shall be defined and used throughout the project.

Tip

For further planning of File structure jump to the IFC section of this document

In this project we will follow Axis system of downloaded original Drawings.

Defining the project origin at intersection of Axis 01 & D. By our convention this equals SouthWest corner of model. Observe that the axis pass through the center of walls.

When modeling any Architectural model, You will most certainly want to split into separate files. By the way, partial IFC files seem to be the trend at the moment. Mainly split by discipline. The split can be by discipline or other. It is good practice to have a common origin and orientation across these models (files). This makes it easy to copy paste groups between files as needed. It also provides a good basis for several people to work on the project as needed.

Tip

For reference we have made the assumption that global Y-axis equals North.


Defining the Arch Axis System

We now want to make an ArchAxisSystem for reference when modeling our building. The result will look something like this:

To find the data for making the ArchAxisSystem study the Plan View of the imported dwg. This will show You Axis and Dimensions.

Alternatively measure between the various axis in Freecad. This can be done in several ways, using the part workbench Measure linear, Tape Measure works fine for this.

By Studying original dxf files.

When measuring distance between axis 10 and 11, we find Delta X = 3.6246 Index 11 above, has been adjusted since if possible, we like to work with ‘round’ figures.

Arch axis X 

Now, let’s make the Axis along global X: The Freecad Command is Arch Axis

Image shows Data and labels Used.

Arch Y-Axis

Image shows Data and labels Used.

Tip

Observe the 270deg rotation and offset of placement to get labels to get desired layout.

Combining to Axis System

Arch AxisSystem is used to combine the x and y Arch Axis into an Arch Axis system.

Tip

If You save Your AxisSystem to a file, without any other geometry, it does not seem to open as the first file. FreeCad simply Crashes. However, not such a big deal, because if You open another file containing geometry first, then You are able to open the file containing only the AxisSystem without any problem. Strange??

Placing and rotating 2d Views

In order to place 2d views in 3d, we need to prepare some helper objects. In FreeCad we have several ways we can set-up, store and name Working Planes . We can name these and store them by using a WorkingPlaneProxy object.

You should end up with something looking like this


Tip

By placing and rotating the imported 2d view, You will have a good way of checking their consistency.

Modeling

Walls

Walls can be:

  • Inner / Outer, Structural / Non Structural
  • Walls should contain openings for doors, windows, or other

Like most Arch objects, walls can be built upon a big variety of other objects: lines, wires (polylines), sketches, faces or solid (or even on nothing at all, in which case they are defined by height, width and length). The resulting geometry of the wall depends on that base geometry, and the properties you fill in, such as width and height. As you might guess, a wall based on a line will use that line as its alignment line, while a wall based on a face will use that face as its base footprint, and a wall based on a solid will simply adopt the shape of that solid. This allows about any shape imaginable to become a wall.

There are different possible strategies to build walls in FreeCAD. One might want to build a complete "floor plan" with the sketcher, and build one, big, wall object from it. This technique works, but you can only give one thickness for all the walls of the project. Or, you can build each piece of wall from separate line segments.

Delete ? Or, this is what we will do here, a mix of both: We will build a couple of wires on top of the imported plan, one for each type of wall: Have found that editing a wire is currently more cumbersome than editing a line

The RED lines that will become concrete walls (a pictures search of the house can help you to see the different wall types), the GREEN ones are the exterior brick walls, and the BLUE ones will become the inner walls. Lines are passed through the doors, because doors will be inserted in the walls later, and will create their openings automatically. Walls can also be aligned left, right or centrally on their baseline, so it doesn't matter which side you draw the baseline. Take care on avoiding intersections as much as You can. Our model will be cleaner that way. This will save us some headache later, for example if we export our work to other applications, that might not like it.

When this is done, place all those lines in a new group if you want, select each line one by one, and press the Arch Wall tool to build a wall from each of them. You can also select several lines at once. After doing that, and correcting widths (exterior walls are 25cm wide, inner walls are 15cm wide) and some alignments, we have our walls ready:

You should now have a model resembling something like this. Grouping

Gouping of Your various objects can come in handy at a later stage. How to Group Your model is Your choice.

Here is an example:

Note, Baselines for creating walls have been grouped

Walls have been grouped like:

  • Walls
    • WallsExternal
    • WallsInternal

Tip

Have found the KISS principle (Keep It Simple & Stupid) is a good approach.

  • Using lines as a base for walls works fine.
  • They are easy to move and change.
    • When editing the line defining a wall, the wall will update
  • At a later stage You can always join them as needed.

Tip

Saving Your walls to a new file at this stage can be a good idea.

One way of doing this is creating a new file.

  • Activate Your file containing Walls You have just modelles
  • Mark the groups You want in Your 'wallModelFile'
  • Choose Edit->Copy
  • Activate Your new file
  • Choose Edit->Paste, or Ctrl+v
  • Save Your new file to something meaningful for Your workflow.
    • Suggestion At2_Walls_Initial

With this work flow:

  • Pros
    • You will be able to go back to Your starting point if anything goes wrong
    • You will be building a model consisting of several partial models
      • This is a good way of keeping file size down. You can work on one particual 'sub model' without caring about the overhead of the total model.
  • Cons
    • You will generate a lot of files
    • Be particular how You name Your various files, or get lost.

FIXME

So how to organize? Believe the main differing factor is Structural / Non Structural Next Level Inner / Outer

Curtain Walls are always Non Structural


Joining Wall segments

All Arch objects have a great feature: you can add one to another. Doing that will unite their geometries, but they are still editable independently after. To add one of our crossing walls to the other, just select one, CTRL + select the other, and press the Arch Add tool:

On the left are the two intersecting walls, on the right the result after adding one to the other.

An important note about parametric objects

Something is important to consider already. As you can see, in FreeCAD, everything is parametric: Our new "united" wall is made from two walls, each based on a baseline. When you expand them in the tree view, you can see all that chain of dependencies. As you can imagine, this little game can quickly become very complex. Furthermore, if you already know how to work with the sketcher, you might have wanted to draw the baselines with constrained sketches. This whole complexity has a cost: it raises exponentially the number of calculations that FreeCAD has to perform to keep your model geometry up to date. So, think about it, don't add unnecessary complexity when you don't need it. Keep a good balance between simple and complex objects, and keep these for the cases where you really need them.


For example, I could have drawn all my baselines above without caring about what crosses what, and fix things with the Arch Add tool later. But I would have raised much the complexity of my model, for no gain at all. Better make them correct right from the start, and keeping them as very simple pieces of geometry.


Now that our walls are okay, we need to raise their height, until they intersect the roof. Then, since the wall object still cannot be cut automatically by roofs (this will happen some day, though), we will build a "dummy" object, that follows the shape of the roof, to be subtracted from our walls.


First, by looking at our 2D drawings, we can see that the highest point of the roof is 5.6m above the ground. So let's give all our walls a height of 6m, so we make sure they will be cut by our dummy roof volume. Why 6m and not 5.6m? You may ask. Well, if you already worked with boolean operations (additions, subtractions, intersections), you must already know that these operations usually don't like much "face-on-face" situations. They prefer clearly, frankly intersecting objects. So by doing this, we keep on the safe side.


To raise the height of our walls, simply select all of them (don't forget the one we added to the other) in the tree view, and change the value of their "height" property.

Studio Elevation

Before making our roof and cutting the walls, let's make the remaining objects that will need to be cut: The walls of the above studio, and the columns.

We will now make a Workplane and a workplaneProxy object at the studio elevation.

Before establishing the elevation, take a look at the base 2d drawings. Something is wrong in paradise.

We will set top of Studio floor (Slab) to 2425,0 mm

This can be done in many ways. Probably the easiest is to draw the baseline for studio wall on top of the Plan View, and moving it up 2425mm.

Delete ?

The walls of the studio are made the same way as we did, on the superior floor plan, but they will be raised up to level 2.6m. So we will give them the needed height so their top is at 6m too, that is, 3.4m. Once this is done, let's move our walls up by 2.6m: Select them both, put yourself in frontal view (View → Standard Views → Front), press the Draft Move button, select a first point, then enter 0, 2.6, 0 as coordinates, and press enter. Your objects now have jumped 2.6m high:


About coordinates

The Draft objects, and most Arch objects too, obey to a Draft system called working planes. This system defines a 2D plane where next operations will take place. If you don't specify any, that working plane adapts itself to the current view. This is why we switched to frontal view, and you see that we indicated a movement in X of 0 and in Y of 2.6. We could also have forced the working plane to stay on the ground, by using the Draft SelectPlane tool. Then, we would have entered a movement of X of 0, Y of 0 and Z of 2.6.


Alternative Approach

Now let's move our walls horizontally, to their correct location. Since we have points to snap to, this is easier: Select both walls, press the Draft Move tool, and move them from one point to the other:



Finally, I changed the color of some walls to a brick-like color (so it's easier to differentiate), and made a small correction: Some walls don't go up to the roof, but stop at a height of 2.60m. I corrected the height of those walls.

Subtractions

We will show two different approaches to creating the Subtraction Volume, one drawing on 3d SouthEleveation, second drawing on plan View, rotating and moving.

Approach one

In this Approach we will draw and extrude with correct 3d location

  • Set Your WorkingPlane to Front
  • Draw lines following the lower edge of roof
  • Use DraftTrimex to extend and join lines so they for a closed loop
    • Make sure the cutting volume we want to produce extends the bounds of what we want to cut
  • Convert lines to close dwire
  • Extrude to a dimension larger than total with of elements we want to cut
  • If needed, move to top view and move extrusion so it covers the with of the building

Approach Two

Now it is time to build our subtraction volume. The easiest way will be to draw its profile on top of the section view. Then, we will rotate it and place it at its correct position. See why I placed the sections and elevations like that before beginning? It will be very handy for drawing stuff there, then moving it to its correct position on the model.


Let's draw a volume, bigger than the roof, that will be subtracted from our walls. To do that, I drew two lines on top of the base of the roof, then extended them a bit further with the Draft Trimex tool. Then, I drew a wire, snapping on these lines, and going well above our 6 meters. I also drew a blue line on the ground level (0.00), that will be our rotation axis.



Now is the tricky part: We will use the Draft Rotate tool to rotate our profile 90 degrees up, in the right position to be extruded. To do that, we must first change the working plane to the YZ plane. Once this is done, the rotation will happen in that plane. But if we do like we did a bit earlier, and set our view to side view, it will be hard to see and select our profile, and to know where is the basepoint around which it must rotate, right? Then we must set the working plane manually: Press the Draft SelectPlane button (it is in the "tasks" tab of the tree view), and set it to YZ (which is the "side" plane). Once you set the working plane manually, like that, it won't change depending on your view. You can now rotate your view until you have a good view of all the things you must select. To switch the working plane back to "automatic" mode later, press the Draft SelectPlane button again and set it to "None".


Now the rotation will be easy to do: Select the profile, press the Draft Rotate button, click on a point of the blue line, enter 0 as start angle, and 90 as rotation:


Now all we need to do it to move the profile a bit closer to the model (set the working plane to XY if needed), and extrude it. This can be done either with the Part Extrude tool, or Draft Trimex, which also has the special hidden power to extrude faces. Make sure your extrusion is larger than all the walls it will be subtracted from, to avoid face-on-face situations:


Common to both approaches

Now, here comes into action the contrary of the Arch Add tool: Arch Remove. As you might have guessed, it also makes an object a child of another, but its shape is subtracted from the host object, instead of being united. So now things are simple: Select the volume to subtract (I renamed it as "Roof volume to subtract" in the tree view so it is easy to spot), CTRL + select a wall, and press the Arch Remove button. You'll see that, after the subtraction happened, the volume to subtract disappeared from both the 3D view and the tree view. That is because it has been marked as child of the wall, and "swallowed" by that wall. Select the wall, expand it in the tree view, there is our volume.


Now, select the volume in the tree vieew, CTRL + select the next wall, press Arch Remove. Repeat for the next walls until you have everything properly cut:



Remember that for both Arch Add and Arch Remove, the order you select the objects is important. The host is always the last one, like in "Remove X from Y" or "Add X to Y"


A note about additions and subtractions

Arch objects that support such additions and subtractions (all of them except the "visual" helper objects such as the axes) keep track of such objects by having two properties, respectively "Additions" and "Subtractions", that contain a list of links to other objects to be subtracted or added. A same object can be in the lists of several other objects, as it is the case of our subtraction volume here. Each of the fathers will want to swallow it in the tree view, though, so it will usually "live" in the last one. But you can always edit those lists for any object, by double-clicking it in the tree view, which in FreeCAD enters edit mode. Pressing the escape key exits edit mode.


Tip

Work flow note:

It is probably a good Idea to store Your RoofCutVolume in a separate file for later

Columns

Making the roofs

Starting With Longitudinal Beams

Looking at the section of the Outer Beams, we can see it is aligned with outer wall. At least in some countries with rougher weather conditions this would be bad practice. Will increase with to 200mm, and have the beam extend 50mm outside the wall. Would also like to have what we sometimes call a drip nose. Feel it is a bit complicated to add at the moment.

Showing Section of Beam with DripNose

Created as separate extrudes, added to BuildingPart

IFC note

When Building part is exported to IFC, it creates 4xIFCproxyElements, and a parent Beam object

Floors

Generally defined as Slabs

Doors

Inner or outer

Windows

Inner or Outer

IFC and BIM

Building Information Modelling (BIM) is a very broad term that describes the process of creating a digital model of a building.

Planning BEP ( BIM Execution Plan) All BIM projects should have a BEP ( BIM Execution Plan) As a minimum Origin point, northing, and elevation One of the simplest yet most critical aspects of good project coordination is the establishment of a common or shared base point for all BIM data to follow. It is also essential to have a common site base point as the data is used through the life-cycle of the building. IFC Links Planning and Standards by U.S. General Services Administration IFC4 - is it ready yet?


IFC round tripping Aim is to also test round tripping, exporting IFC from FreeCAD and importing same file for comparison. Abbreviations BEP | BIM Execution Plan References & Links

Tip Icon Downloaded


Document Draft Snippets This is where we have temporarily stored snippets of text, that maybe should be placed somewhere in the document

BIM requirements by stakeholders UK Government

In the UK, the Government Construction Strategy published in May 2011, stated that the '...government will require fully collaborative 3D BIM (with all project and asset information, documentation and data being electronic) as a minimum by 2016'. This represents a minimum requirement for Level 2 BIM on centrally-procured public projects.

Stubs

Customizing Arch WorkBench

This is an example "customized" Arch workbench:


In this tutorial, we will model the house in 3D, based on the 2D drawings we will download from the net, and extract from it 2D documents, such as plans, elevations and sections.