FreeCAD BIM update 15

Hi all!

Here we are for one more update showing what I am doing currently with FreeCAD, specifically on the BIM and NativeIFC fronts.

These last weeks I had less time to develop BIM/NativeIFC stuff, mostly because of the FreeCAD 0.21 release (be sure to grab yours!), also because what I'm doing now is basically boring refactoring, and also because it's school holidays now and it's too cool to spend time with the kids. Anyway, as you might have perceived this is becoming more monthly updates than weekly. Nevertheless, I'm really happy I managed to resume blogging, so I'll leave it like that and try to post as often as I can. So here we go:

FreeCAD 0.21

FreeCAD banner image showing modelled gears

The new stable release of FreeCAD is there! There are installers ready for Windows, MacOS and Linux. This release is mostly a last stable release before we start implementing Toponaming mitigation algorithms, which will potentially affect stabilty and performance. On the other side, toponaming issues are the last stone that blocks the way up to the mythical FreeCAD 1.0 release, where we can consider (sort of, we all know such thing does not exist of course, even more for a FOSS project) FreeCAD a "finished product". So you can expect this release to be the stable, reference release for a time, and, contrarily to what we have done before, we will start advising people to stay with a stable release and not use development release for production, because this time we might really break things on the way

Even so, here are new features everywhere in this release. The most interesting changes for BIM users are:

  • New spline tools for the sketcher
  • A new, easy-to-use section tool that works interactively, and works for Arch/BIM objects too
  • Better styling tools for texts and dimensions, which now use an unified structure
  • The BIM layer manager is now in Draft too
  • FreeCAD now supports several different DWG converters to import and export DWG files
  • The FEM workbench has received a lot of improvements, and is now more and more fit for civil engineering (see this post and the work of Ebrahim)
  • Revamped addons manager

And much more in all of FreeCAD workbenches. Read on the full release notes for all the details.

Markdown documentation

While we have a Google summer of Code project over migrating the documentation system to a new structure, it will probably still need some time to get finished. So in the meantime I am working to keep the current markdown version up to date, clean and synced with the wiki. This version is used by FreeCAD's Help module.

NativeIFC refactor

I'm still heavily busy with code refactor for the NativeIFC addon. Not much visible change, but all the code is now much easier to dig into and to read, and I've also put a second series of tests into place, to measure and keep track of the performance. All in all, the current code seems strong, reliable and efficient enough, and is now well tested. There are still a couple of less optimized, fuzzy areas, specially in the handling of FreeCAD object properties, but it's all in good shape.

The goals list I had set up is in good way to be fullfilled soon, then there will be one more big piece to attack: UI, UX and workflows: How to unify all this and the BIM workbench in a cool, easy and convenient user experience. Hence, the following:

BIM Goals for FreeCAD 1.0

I would like very much the 1.0 release of FreeCAD to be a killer release in the BIM area too. So I have this very (or not so much) ambitious goals in my mind:

  • Unification of Arch, BIM and NativeIFC: If we want FreeCAD to be recognized as a mainstream BIM platform, BIM tools should be right there, simply, easily, included, no additional download required
  • Solving of the IFC/non IFC dilemma: Users should be able to use the BIM tools without caring about IFC (for example in other workbenches). But if you work with IFC, everything should work seamlessly, the fact that you are in an IFC environment should be somehow, implicit.
  • Refactor of the window tool: No comments on that one, I think everybody will agree..
  • Moving the IFC export code to IfcOpenShell: This will give IfcOpenShell users much more power to create IFC contents from FreeCAD, which can only benefit the whole open BIM ecosystem.

An additional question I'm toying with is to strip out the paradigm of one FreeCAD document containing different IFC projects, and making the FreeCAD document itself an IFC document. Imagine the possibilities! Each object inside would keep its FreeCAD object characteristics and capabilities! Is it even possible? It needs some experimentation, but the idea is just wild. More about this in the coming weeks..

That's it for this week I guess! As always, thanks to everybody who sponsors me on Patreon, LiberaPay or GitHub!