FreeCAD BIM weekly update 2

Hi all,

A short overview of what I've been working on this week:

  • NativeIFC: unit tests: Unit tests are a fundamental stone of any software project. It is basically a suite of programs which test the different functionalities of the software, basically "mimicking" what the user would do. So each time you make a change to the code, by running the tests you do the same as opening FreeCAD and testing if everything still works well. This ensures your code changes don't introduce new bugs or make some functionality cease to work, automatically. The NativeIFC add-on now has proper unit tests, which you can try by running FreeCAD -t ifc_selftest from a terminal, or opening FreeCAD then switching to the Test Workbench, pressing the "self test" button and choosing ifc_selftest in the list. See commit

  • NativeIFC: Methods to handle changes to ifcopenshell object: This is not done yet, but a work in progress following this discussion. The aim is to give more flexibility to the Python coder to interact with the ifcopenshell engine.

  • FreeCAD: Start page redesign ideas: The start page hasn't been changed for a long time. Among some changes I am looking into, are 1) a "first time" wizard, which would guide the first-time FreeCAD users through some typical scenarios, 2) fetch updates from the FreeCAD blog and 3) redesign the "Help" tab to give more immediate and general overview of the documentation, through the use of the Help workbench.

  • GSoC organizing: As you might have seen, FreeCAD is accepted as an org in Google Summer of Code 2023! So I've spent some time setting everything up so we are ready to welcome potential interested students. Do you know any student who might be interested in participating? Send them to us!

  • FreeCAD: Per-document Draft working plane: Up to now, the Draft working plane is kept as one instance through your entire FreeCAD session. So if you have several documents open, they all share the same working plane. We aim at changing this so each document, and even each view, has its own working plane, and that working plane would be restored on file load. Discussion

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

Comment on this post on Twitter Mastodon - Show replies