FreeCAD BIM development news - October 2020

Hi everybody!

Here goes another monthly report about the BIM tools development for FreeCAD. A bit of everything this month, but I basically spent a lot of time doing housecleaning and bug fixing. Hopefully we are slowly getting ready towards an official 0.19 release (no date yet, be sure to follow the forum thread to know more), so it is time to go through everything and make sure everything is solid and 100% working. But I managed to bring out a couple of improvements too, read below.

As always, thanks to everybody who contributes to my Patreon or Liberapay campaigns! There has been a big increase of donations recently, it's really cool that I can now dedicate the biggest part of of my work time to FreeCAD!

TechDraw patterns available to Draft

The TechDraw workbench contains several SVG pattern definitions. These are now available as well in all Draft objects that can be closed, such as rectangles, polylines, circles, etc.

These hatched Draft objects can at the moment only be displayed in the 3D view, and not on TechDraw pages, and they can't be exported to DXF/DWG yet. I'm looking at that last point, but it's currently hard to implement because the DXF export library we use has no support for hatch patterns. Maybe it would be a good time to ditch it completely and rebuild a clean and more robust DXF/DWG import/export system based on some better library such as ezdxf or even libreDWG (this last one still presenting many problems, one being the license which prevents from including it in the FreeCAD source code, another being a C++ library, which requires compiling and therefore hard to use as an addon, etc).

In any case, the translation from FreeCAD pattern hatching to DXF/DWG hatches would never be fully accurate, because FreeCAD can use SVG patterns, which can do much more than DXF/DWG hatches, but anyway it is really an important thing to have, even with small differences.

Another path I've been looking at, is reusing TechDraw's automatic pattern generation system to produce shape-based patterns in Draft objects. These would then be fully supported throughout FreeCAD, and could be exported to DXF/DWG as blocks instead of patterns. That's not ideal of course, but many CAD apps do that, it might be a good alternative for the time being.

New Draft styling controls

The Draft, Arch and BIM workbenches all use the basic Draft styling toolbar, which contains several buttons to set styling defaults such as line color or line width. This month, I have redone all that part and condensed the styling controls into one single button. When pressed, this button opens a task panel that allows you to change not only these defaults but almost any visual setting of Draft, such as dimension style, text font, etc.

From that task panel, you can also bulk-set styling to selected objects without changing the default (press "Cancel" instead of "OK" after you're done).

This is part of an ongoing effort to reduce the need for users to navigate though the complex preferences system. Tools should remember their last used settings, and you should be able to modify most things when you need them, on the fly.

Better TechDraw view tool in BIM Workbench

Last month I added two TechDraw buttons to the BIM workbench interface: A page button and a view button. This month, I worked further on them, and added a couple of additional features:

  • The Page tool now remembers the last template you used, and will already preselect it when creating a new page
  • The View tool now combines both the TechDraw Arch view and TechDraw Draft view, depending on the objects selected (a selected section plane or building part produces an Arch view, anything else produces a Draft view). I'm looking at maybe integrating the standard TechDraw view too, but I have the impression that one is less useful for BIM...

Homepage fixes

I also fixed a couple of things on the FreeCAD homepage, specially making the translated versions work more smoothly, ie. if you switch to another language, you now stay in that language throughout the page.

I want to update a couple of screenshots too, but it's a delicate matter, because people coming from the professional world want to see complex, mind-blowing images showing the capacities of FreeCAD, while hobby users will more want to see how simple it is and that FreeCAD can do the job for them. And we want to cater for both categories, with the same level of dedication.

WorkingPlane button fixes

The working plane button icon now changes depending on the chosen working plane, and the button label is also properly translated. You can now also set the grid extension directly from its task panel.

New defaults in BIM setup

When launching the BIM setup tool for the first time, new defaults are now set: The Draft hatch size, which is set to 0.025, which is a good value for buildings, and the wall baseline is set to use Draft objects instead of Sketches (This affects only the wall tool when used directly with no object selected, but you can of course still build a wall from a selected sketch)

ImagePlane tool in BIM

The BIM workbench now also carries the Image Plane tool from the Image workbench. This is a bit more advanced version of that tool, it basically works the same way as AutoCAD, you can click two points to place the image and define its size.

The sketch in the above image is one of the really cool floor plans sketched by architect Motohiro Ishikawa.

Material UI improvements

The full material interface, that is used throughout other FreeCAD workbenches like FEM, and can be accessed from the Arch/BIM material task panel, has now received a bit of cleanup, some properties were not displaying correctly or were not following how they were defined in the documentation, and the panel gained two preview icons, one for rendered view and one for section view. Although there is still not much to define for sections (only the new Section Color property, which affects the fill color of cut faces in TechDraw Arch views), we plan to make every aspect of it customizable in the future, so all the rendering of your objects will be controlled by their materials.

Awming window preset

The window tool has gained a new preset, to create an awming window. This is basically the same as the 1-pane window, but with its hinge edge on top.

Section plane label settings

The possibility to show object label on section planes, that I implemented last month, has been refined, and you can now properly set font and text size.

That's it for this month, hope you enjoyed, and thanks for reading!