FreeCAD BIM update 22

screenshot of the BIM workbench

Hi all!

My resolution to write every week is not going well There is way too much happening and not enough yummy new features at the moment, but there will be soon. We are all very busy preparing the new 1.0 release of FreeCAD, and making sure we squash as many bugs as possible. So I'll make a brief staus report.

Arch / BIM / NativeIFC integration

The integration is finished, tested, and as far as we can tell, most bugs are killed and you will have a perfectly functional workbench with all Arch and BIM tools working. Native IFC, of course, is still a work in progress. So the idea is to keep it available, but out of your way in FreeCAD 1.0. If you don't need it, you won't see it. If you want to enable it, it's there at your fingertips: You just need to create an IFC project or load an IFC file.

The main changes for existing Arch users will be:

  • The Arch Project tool is removed and replaced by a new IFC Project tool. There was not much sense in using an Arch Project if you weren't going to go IFC anyway, so better do things right from the start here. When you create an IFC project, it is NativeIFC enabled right from the start, and everything you add to it is NativeIFC. If you don't want to go nativeIFC, you just don't create an IFC project. You can, even so, still export your model to IFC.

  • The "combo" tools of Arch (the Structure tool, the Window tool, the BuildingPart tool...) are still there but now have been split into different more semantic tools: Structure is replaced by Beam, Column and Slab, Window is replaced by Window and Door, and BuildingPart is replaced by Building and Level. Underneath, they are all still the same tool, but they start with different settings and remember their settings individually. At the beginning I thought this overkill, why not have fewer but more powerful tools, but I ended up changing my mind, because in 99% of the time it's actually time-saving to choose the right button and save a few mouse clicks.

  • The menus and toolbars have been reorganized (see more here) and separated into more BIM-like categories. There are more menus, but hopefully things are more instinctive and easier to find. And step by step, we are structuring a true and powerful BIM environment.

  • The pipe tool can now do rectangular sections, so it can be used to build HVAC ducts. There is more to do there, such as adding flanges, etc.. But we are on our way to build HVAC tools in BIM.

  • IfcOpenShell, the engine behind the IFC functionality of the BIM workbench, is now included by default in all official installer packages of FreeCAD on all platforms. This is the most recent version of IfcOpenShell (v0.7), and should be good to go for the lifecycle of FreeCAD 1.0. In other words, if you use one of these packages, you shouldn't have to worry about IFcOpenShell anymore.

The problem is of course if you use a third-party package, such as snap, flatpack or the FreeCAd packages provided by Linux distributions. Most of these won't include IfcOpenShell, as it is often not available on these platforms. For these, we have included an IfcOpenShell installer tool in the BIM workbench's Utils menu. This tool uses the FreeCAD addons manager (which in turn uses Python's pip tool) to install IfcOpenShell in a private, FreeCAD-only location (among other FreeCAD addons). Hopefully, the world will progrssively adopt IfcOpenShell as it should, and this problem will vanish over time.

Note also that IfcOpenShell is not at all mandatory to use the BIM workbench. You will only need it if you work with IFC files.

Preparations for 1.0 (and help needed!)

Things are going well and fast, and we just entered the second part of our feature freeze. UI and user-visible texts are now frozen, so translators and document writers can now work without the risk that things change while they're working.

This is also a moment when all help is welcome! We need to do three things now, where you can help: test, translate and write documentation.

  • Testing is easy: Download a development release of FreeCAD (you can run it side-by-side with your current FreeCAD installation), test the BIM tools as much as possible, and report any bug you find on the FreeCAD issues tracker. To not create additional work for the developers, though, make sure:

    1. Your bug is really a bug and not just something you didn't do correctly, or something that wasn't implemented yet. A good rule of thumb is: Something you are sure should be working, but is not. For example: a button that says "This button does XXX", but when you click the button it does not do XXX.
    2. You can reproduce the bug, and provide instructions for other people to reproduce the problem. Ex: 1) press X, 2) press Y, 3) Z should happen but instead, FreeCAD crashes
    3. Since we are close to the release, only critical bug fixes wil be processed at this time. Less urgent things are left for after the release. If you find something annoying but not critical, still report it of course, but keep in mind it won't be processed immediately. Processing means being looked at and verified by the FreeCAD maintainers, it does not necessarily means fixed, as the fix might be complex and take more time.
    4. Make sure you include your FreeCAD version, so we know exactly which version presents the problem.
  • Translating can be done by anybody, jsut head to https://crowdin.com/project/freecad, create yourself an account and start translating! Concretedog wrote a good explanation of how everything works on the FreeCAD blog.

  • Writing documentation: The BIM documentation lives at https://wiki.freecad.org/BIM_Workbench. It still lacks a lot of content (all the red links are missing pages). If you think you can help writing, checking the existing pages for errors or fix inaccuracies, you are more than welcome to help! Editing a wiki is easy. You just need to create yourself a forum account and head to this thread to ask for a wiki account (we disabled self registering on our wiki because there was a lot of spam). Alternatively, ask me directly!

screenshot of the BIM workbench

That's all I have for now! Thanks for reading, and more than ever, thank you to everybody who sponsors my FreeCAD BIM work on Patreon, LiberaPay or GitHub!

Cheers

Yorik