FreeCAD BIM development news - May 2019

Hi friends,

A little bit late, but there is our monthly report showing what I (and, increasingly, others) have been doing regarding the development of BIM tools in FreeCAD. There is more to show this month, as FreeCAD 0.19 development is now back at full speed. We recently released another post-release fix of 0.18, named 0.18.2. If you are using the 0.18 stable version, have a look there and grab an update for you.

Or, if you like to live dangerously (it's actually not dangerously at all, development versions of FreeCAD are very stable), grab a 0.19 package!

As always, many, many thanks to everybody who helps me to spend more time coding for FreeCAD by donating to my Patreon or Liberapay or PayPal accounts, your sustained trust in all this is incredible!

So, let's go to the news:

The Barcelona pavillion video: TechDraw

I guess everybody was expecting this one a lot. No more waiting, here it is!

I guess we're almost at the end of what I planned to show in this Barcelona series, in the next one I'll show how to extract quantities from the model into a spreadsheet, and I guess we'll be done with it, unless there is something else you would like me to show. Tell me, if this is the case!

IFC Export as StandardCase

Many of the very common IFC entities such as IfcWall, IfcBeam or IfcDoor also have a corresponding "Standard Case" entity: IfcWallStandardCase, IfcBeamStandardCase, and so on. The standard case version is a more strict version of its parent class. For example in the case of walls, the standard case wall is a wall that is made of one straight or curved segment, has constant thickness, upwards vertical extrusion direction, etc. In other words, a very simple piece of wall. This is useful so application know this is a very basic case, and might want to allow extra options.

In FreeCAD, you can decide that yourself, by setting the IFC type of your object to either "Wall" or "Wall Standard Case". But now, you can also turn an option in IFC export preferences, to automatically export types that have a Standard Case version as Standard Cases, when the required conditions are met.

So far this works for walls, beams, columns and slabs. I still need to figure out exactly how to evaluate the requirements for doors and windows.

Draft UI cleanup

There were still many glitches and inconsistencies among the different Draft UI controls, as a legacy from the early times when the whole Draft UI could work as a simple toolbar. Although that mode is still available, the complexity of the different Draft tools makes it almost unusable now.

So most of the UI has now been cleaned of these old rules made to work in two different modes. The result of this is that the toolbar mode has become further unusable, but the default,Task Panel-based mode is now much cleaner and well organized.

Move, Wire, Wall and Structure tools to use line mode

When drawing a line, the Draft UI was already showing you additional controls to draw your line segment not only by entering start and end points, but also by choosing an angle and entering a distance. These extra controls are now used in other tools that could benefit from such input, like the Move and Wire tools from Draft, and Wall and Structure tools in Arch.

BuildingParts can control visual aspects of their children

The Draft VisGroup object behaves just like a Layer, as found in more traditional CAD applications: You can add objects to it, and control visual aspects such as line color, shape color and line thickness, of all child objects at once.

Now, the Building Part object also gained this capability. So you can also use a BuildingPart as a kind of layer.

By the way, we're having this interesting discussion about layers. While there is already a way to work with Draft VisGroup, that emulates layers perfectly, it currently conflicts with the groups structure. We will change that, so we can have at the same time, in the same model, a group-based structure and a layer-based structure. I think that will turn into something extremely powerful...

Working Plane from Section Plane

If you have a Section Plane selected, pressing the Working Plane button now allows to set the working plane to match the section plane.

Translation fixes and translation support in BIM

One important thing that was on my TODO list before the 0.18 release, is to give a serious push to the translations support of FreeCAD. There are still many pieces of text here and there all over the application that are not translatable. This effort is now well underway, so we can hopefully have next releases perfectly translated.

Also, I added support for translation in the BIM workbench, and, since this is the first case, to the extents of my knowledge, of an external workbench being made translatable, I also documented the process so hopefully other external workbenches will be adapted as well in a near future.

BIM workbench is back to former icons organization

A couple of months ago I started experimenting with a different organization of the BIM icons. Instead of having all the 3D tools together, I started splitting them between BIM and non-BIM and tried other kinds of grouping. The feedback of users was pretty cold, though, and after a while I also found that it actually made things more difficult to understand.

Also, the semantic changes we've recently brought in BIM tools make that difference much less important. as it is now very easy to change the IFC type of any object. So we really want an interface that says: Go ahead, model as you please, you can always worry about BIM later.

So now everything is back to the more classical setup like it was before: 2D tools, 3D tools, and modification tools.

Column, Beam and Slab tools

In the BIM workbench, the Structure tool has now been split into 3: Column, Beam and Slab. Column and Beam are still the same Structure tool, the latter just starts already in beam drawing mode (where you can click to points to place a structural element between them). The Column tool is exactly the same as the Structure tool.

The Slab tool, at the moment, just lest you pick a face or closed profile and creates a slab from it.

This is part of our ongoing effort to "regroup" functionality into fewer, but more powerful tools in the Arch Workbench, but, on the contrary, enumerate them into separate uses in the BIM Workbench. The Arch Workbench should have few tools, the BIM Workbench should have many tools.

I thought the Column/Beam tools would be something for inexperienced users, while power-users would prefer the all-in-one version, but surprisingly I find myself preferring the Column/Beam version. The fact is, you already know, before starting the tool, if you are going to place a column or draw a beam. And they are really two very different design operations. You never really want to "draw" a column, you want to place it as a "finished" object. And, on the contrary, you usually don't want to just "place" a beam, you want to draw a beam from this point to that point. So in your mind these are very different operations, and it actually makes a lot of sense to have two buttons, it's actually one click less compared to the all-in-one tool.

These things teach you a lot about interface design...

Select Working Plane dialog improvements

The Working Plane Selection button has been visually improved a lot by the general Draft UI redesign, but it has also gained more functionality. You can now set the snapping radius directly from that screen (you can also do that while drawing with keys [ and ]) and you can now select a face or 3 vertices after the button has been pressed.

This is something we're trying to spread all over FreeCAD, the bidirectional noun/verb selection. You can select the object you want to work with, then press the button indicating the operation you want to perform, or the contrary (press the tool button, then select the objects), it should all work just the same.

BIM Door tool

Similarly to the Column/Beam tool, the Arch Window tool has been split between Window and Door in BIM. It is still the same tool, it just starts with different presets. Also, both modes remember the last used dimensions separately, so it is actually quite handy... Start in window mode, and you will start with your last used window preset and dimensions. Start in door mode, you will be using other preset and dimensions.

All these tools are also now remembering the last used settings (also across FreeCAD sessions), so this progressively turns the annoying task of setting defaults obsolete

New IFC explorer

The Arch workbench already had a tool called IFC explorer, that allowed to browse the contents of an IFC file in a pure text-based window. It was basically just a little bit more convenient than opening an IFC file in a text editor, bu not very useful.

That tool has now been removed from Arch and added to BIM, because I think it will be much easier to maintain and extend it there.

It has also gained a lot of improvements: Several convenience buttons to open other IFC files without leaving the dialog, a proper tree view that gives you a better idea of the whole structure of the model, and panes that show attributes and properties of a selected element.

But that's not all, you can now also build a quick mesh view of the whole model in the FreeCAD 3D view (much faster than a full import), and also import only one selected object.

I plan to extend this much further, for ex. by highlighting the clicked object in the mesh view, so you would be able to click through the different objects, see where and what they are in the 3D model, and press the button to "fully" import them into the document, and perform a true interactive, selective import.

That's it for this month, thanks for reading, I hope you enjoyed, don't hesitate to leave me some feedback anywhere you want, (the BIM thread on the FreeCAD forum is always a good choice).

Cheers

Yorik