FreeCAD BIM weekly update 8

Hi all!

Here is the eighth weekly update showing what I ham doing this week with FreeCAD, specifically on the BIM and NativeIFC fronts. Only one real update this week, but a pretty important one:

  • NativeIFC: drag and drop: This took quite some time to thoroughly test and fine-tune, but it is now working satisfyingly. It is basically the GUI counterpart of the aggregate() function I added last time. It allows to take any FreeCAD object, BIM or non-BIM, and add it to a NativeIFC document just by dropping it onto any NativeIFC spatial structure (site, building, storey or space) or object (in which case the new object becomes aggregated to the host object). This basically allows to create just any kind of NativeIFC object. If you drop a non-BIM object such as for example something created with the PartDesign workbench, it will be added as an IfcBuildingElementProxy, which you can then just change to any other type afterwards. In a sense, it is now even more powerful and simpler than using the BIM component tool to "bimize" any other FreeCAD object. One important detail to know, upon doing this, the original dropped object is converted to IFC (currently using the Arch IFC converter, but later we will add that functionality directly to IfcOpenShell), added to the IFC document, and a new FreeCAD object is created from that IFC element. So the original object is lost and cannot be edited with its original tools anymore. This is just temporary, and i'm still looking at a strategy to allow the editing of all IFC elements, not just the ones added from FreeCAD. Maybe making them inherit Arch objects functionality too? I am not sure yet. As of now, we still have workarounds, such as the BIM reextrude tool, which allows us to turn any extruded object editable, but the idea is to have something more robust. Nevertheless, we can already author NativeIFC files fully from scratch in FreeCAD, and it's a big mark now achieved. commit
  • NativeIFC: Better documentation: I started working on bettering the NativeIFC documentation too, which is also very important. Since there is no real workbench, or UI tool in nativeIFC, I'm thinking of the documentation as a series of "How do I do this?" articles, that would answer common questions you ask yourself when working on a BIM model. Have a look, and would you think of something that needs to be documented, please tell me! (or, even better, make a pull request! )
  • FreeCAD: per-view working planes: I have worked further on this issue too, which is slow due to how complex the Draft workbench has become But eventually we'll get there, and have the proper, flexible working plane system we should have. issue

If you wish to test the above, you'll need a very recent version of FreeCAD as it needs this fix.

That's it for this week! A big item on my todo list is to make a short video showcasing all of the above workflow, but for a better result I'm waiting to have editing capabilities in place, which should basically signify "version 1.0" of this NativeIFC addon. We're getting there!

As always, thanks to everybody who sponsors me on Patreon, LiberaPay or GitHub! This really helps this to go forward, more than you think.