FreeCAD BIM development news - April 2019

Hi!

Here we are for one more monthly report about what happened this month around the development of BIM tools for FreeCAD. This month we are all very happy because finally we were able to finish the release of version 0.18 of FreeCAD. There are installers for all operating systems, Windows, Linux and Mac. If you are still using 0.17, go get yours!

This time there are no backwards compatibility issues between 0.17  and 0.18, as there were between 0.16 and 0.17. Any file saved in 0.18  should still open fine in 0.17, provided, of course, you didn't add  0.18-only features such as sketcher splines. Even so, the file should  yield errors but still open in 0.17.

Check the release notes for the complete list of new features, and this video made by Sliptonic that showcases the most important new features in 0.18.

Also, FreeCAD now has a brand-new code of conduct.  This might seem superfluous at first sight, because until now there  hasn't been any very serious situation in the project, but many of us  would like the FreeCAD community to be more inclusive, and this is an  important step in that direction.

As always, thanks so much to all of you who help the project in one form or another, being by sponsoring me on Patreon, Liberapay or Paypal,  or helping the FreeCAD project directly by participating in coding,  writing, translating, helping other users or donating on the project's bountysource account. Every effort helps bringing it a step further!

I've been pretty busy  this month fixing a lot of bugs both in 0.18 and master (most important  ones get backported to 0.18, we already issued a 0.18.1 one, and there  will likely be another one soon), but fortunately there was still time  for a series of cool improvements.

So here are the more BIM-oriented happenings of this month. Most of  these new changes are now happening in the FreeCAD master branch, which  will become 0.19 at some point (there are pre-release packages available already!) Enjoy!

The videos

I added two new chapters to the Barcelona pavillion video series: One that shows how to export a model to the IFC file format  for opening in other BIM applications, and another that shows a first  method to produce 2D views from a model (other methods will follow):

https://www.youtube.com/embed/_TnqdsYtkcE

https://www.youtube.com/embed/Yb6BY1DLW5I

Shape2DViews can now fuse walls and structures

I will add that functionality to TechDraw Arch views too later on,  since this seems to work well now and might be a really good way to  solve the famous problem of wall joining. 

Basically, the idea is that you wouldn't need to join walls anymore.  They would be all joined automatically afterwards, when you produce 2D  views. If you set the "Join Arch" property of Draft Shape2DViews  to True, walls and structures (so far only these two types) will be  unioned by material before creating the view, giving quite nice results:

The walls and structure objects themselves are not modified, only the views you produce from them.

I think this might be a very good way to proceed further, as it is  really very convenient and flexible to keep different wall segments as  separate objects.

IFC type property

The transition to our new vision of IFC support in FreeCAD is well  under way. Part of this is the ability for any Arch/BIM object to be of  any IFC type, regardless of the method used to construct it. So you can  use the wall tool to build a beam, and vice-versa. For any object in  your model, you just say what it is, a wall, a column, or simply leave  it undefined. It will be exported to IFC as you decided.

The old Ifc Role property will automatically be converted to the new  IFC Type  property when opening a 0.18  file in 0.19, and version 0.18  also has a hook to automatically convert back to Ifc Role when needed,  so this is fully backwards-compatible.

Compound, multiple colors and transparency support in IFC

The IFC exporter has been extended to support several useful things:


  • Transparency: Objects are now exported with their transparency value as set in FreeCAD.
  • Multicolor objects: Objects that have multiple colors and  transparency levels, such as windows, are now correctly exported as  such.
  • Compounds: Part Compounds are now supported by the exporter, these objects are now exported as multiple-solids IfcBuildingElementProxies. The individual colors and transparencies inside the Compound are exported too.

Multiple IFC properties with same name

So far, FreeCAD didn't handle different property sets that contained a  property with a same name (for example, some custom property sets added  by Revit all contain a property named "Name". This is now solved. As long as they live in a different set, you can have different properties with a same name.

More work on dynamic IFC Attributes

Part of our new IFC infrastructure is a feature coded by Dion Moult,  that when you change the IFC type of an Arch/BIM objects, several new  properties required by that type get automatically added to the object.  These properties don't influence the geometry of the object (otherwise  if you change the type the geometry could change, which we absolutely  don't want). However, we sometimes want them to be tied to the object  geometry. For example, we want the "Overall Height" of a window to be  the actual height of the window.

So, whenever possible, these dynamic properties get automatically  linked to the actual geometry of the object. For example, The  "Elevation" property of a Building Storey gets automatically taken from  its Z coordinate, or the "Overall Height" of a window to its "Height"  property.

This gives us quite an interesting level of translation between  FreeCAD objects and IFC objects, that is fully transparent to the user.

On any Arch/BIM object in FreeCAD, look for its "IFC Attributes"  properties group. That's where they live. Try changing the IFC type,  you'll see the contents of that group adapting.

There is still more to be done there to increase that automatic  behaviour, but I am quite happy with this feature already, now really  any aspect of how a FreeCAD object is exported to IFC is available to  the user: type, name and description, attributes (the "built-in"  properties of an IFC object), properties (the "custom" properties of an  IFC object) and quantities are all settable and controllable.

Draft objects with Area property

All Draft  objects that can form a face (rectangles, wires, circles,polygons...)  now have an Area property that is set automatically when the object has a  face. So it is pretty convenient to use these objects to calculate  areas.

Ability to reorder BuildingParts children

Building Parts  objects, which are also used underneath buildings and levels/building  storeys/floors, whichever name you like most, now have a right-click  option to reorder their contents alphabetically. Inside the FreeCAD  tree, everything is always listed chronologically. This is something  very delicate to change, although in large models it becomes  increasingly useful. This feature is mostly a test to see how it behaves  (quite well, I think) before trying to add that in other areas as well.

Cloning entire levels

When working with high-rise buildings, we often have a same  floor/storey being repeated several times. BuildingParts now have a  right-click option to clone them up. To use that option, your building  part must have its Height property defined, so the new floor will be  place at that height above the one you are cloning.

The new floor is an independent copy, but all objects inside are  clones of the same objects in the original floor. This is not yet what  we would like I think, it would be best to have the new floor as a kind  of big all-in-one clone, but I wanted something which would export  correctly to IFC first. This system does.

Also, once a floor is cloned that way, it is pretty easy to move, delete, etc... so at the moment it works well.

In a next move, I'm planning to add a possibility for BuildingParts  to be clones of other BuildingParts, and automatically do the management  of all cloned objects inside, in order to stay compatible with IFC.

Space plans in TechDraw

When creating TechDraw views of Section Planes, until now spaces  were displayed as only their text tag. But  in BIM work spaces are  usually very useful in early stages of a project, when you need to  arrange different areas or rooms that compose the project.

TechDraw Arch views now have a new "Fill Spaces" property that, when  turned on, will show a filled area behind the text, of the color of the  space in the 3D view, which enable you to quickly create nice  organisational diagrams.

Section view clipping

Section Planes  now have a "Clip view" properry, that, when set to True, will clip the  results to the dimensions of the section plane. This work with both TechDraw Arch views and Draft Shape 2D views.

Rebars without host

Reinforcement bars  so far could only be created inside a structure object. This is no  longer the case, you can now create independent rebars outside of any  host object. To host a Rebar inside an object, you just need to set its  "Host" property. But you can now leave that property empty, just as it  works with windows.

That's it for this month I guess, thanks for reading and thanks for the support!

Cheers

Yorik

Tier Benefits
Recent Posts