Patreon and more

Last week, encouraged by several comments on the FreeCAD forum, I decided to open an account on Patreon. Often people are asking how they could contribute to FreeCAD with money, and I thought: Why not? If I could get paid for a certain amount of hours, that's a certain amount of hours I could dedicate permanently to FreeCAD. At the moment I work on it when time permits, which can vary a lot.

The patreon campaign is starting well. Several people sponsored me already. So I thought a first thing I could do to give a form of "thank you" is to get back at posting more often about FreeCAD here.

So I'll start that today, by writing about what's going on with FreeCAD development. As I suppose everybody knows, The 0.16 version of FreeCAD has been out in april this year. Since then, many things have been done, and the next version will feature massive changes. Unfortunately I haven't got time to write much about it, but this is about to change!

Here are two things that are currently available in the 0.17 development version:

PartDesign Next

Probably the most sorely missed feature in FreeCAD is a way to work with Assemblies. Jürgen, the father of FreeCAD, started to work on assemblies a long time ago. However, he didn't have more time to work on that, and his work has been left half-done. In the meantime, we gained a workaround, the Assembly2 workbench,which can now be easily installed with our addons installer macro and for many FreeCAD users, has been doing the job perfectly.

Jürgen's assembly workbench, though, required some heavy changes to the FreeCAD core, and specially to the PartDesign workbench. This i sthe main reason why it stayed behind and was very hard to push forward to merge in to FreeCAD. A courageous team of developers, among which ickby, blobfish/tanderson, Fat-Zer, DeepSOIC, the new FreeCAD warriors, took on them to separate the core + PartDesign changes from the assembly itself. This took a very long time, but was finally done, and is the base of what we ended up calling PartDesignNext.

Along the way, more functionality was added too, inspired by another FreeCAD addon workbench, WorkFeature, like a series of helper objects that can be used as bases for sketches and other PartDesign operations. This also helps working around another long-time problem of FreeCAD, topological naming (for which there have actually been some impressive progressesrecently).

In this new PartDesign, Any PartDesign operation, such as creating new sketches, or creating solids out of them, now happens inside a body. A new body will be created if none is present in the document. You can have several PartDesign objects inside a same body. Inside the body, you can also add several helper planes or lines, which can be used to align or construct other parts. You can now also link edges from other objects inside a sketch.

This forum post explains it all.

The result of all this has now been merged, and is available in 0.17 development versions. The road is now clear to work on full assembly funcionality, and work has already started in that way. But the new PartDesign already opens up a lot of possibilities, and working with multi-solid objects is now really good.

TechDraw

For who is following the FreeCAD progresses since a long time, do you remember the work of Luke Parry on upgrading the Drawing workbench? Unfortunately Luke went on other projects and his work stayed where it was. A year later, Ian Rees started a funding experiment similar to this Patreon one, and worked further on it. Once again, the work was stopped because Ian went on to other things. Right after that, fortunately we got a new addon called Drawing Dimensioning which already pushed things a ot forward by bringing a series of on-drawing tools such as dimensions, symbols and annotations.

Finally this year, Wanderefan gave the final effort, and brought all this work to a mergeable state, and it is now included in version 0.17 under a new name, TechDraw. This is to not break the current Drawing workbench, which will still be useful until TechDraw is fully ready. TechDraw is basically th same as the Drawing workbench, but with a series of improvements such as the ability to move views graphically, place dimensions directly on the sheet, or fill areas with hatches.

More things are coming there too, like section tools.

There are also more big changes under the hood, such as the use of VTK, which will first be used with FEM but might prove useful for a qualtity of other areas.

But there is much more to come. FreeCAD is being ported to new verisons of Qt (Qt5) and Python (python3). Most of the work is done, and we might soon see that included. However each of these big changes brings a fair share of unstability, which is normal, and therefore requires some time between each merge for the dust to settle. So we will probably need some time before things have stabilized sufficiently to do a new release.

As I hope you can perceive, the development team has grown a lot, and things are going at higher speed now. Exciting times ahead!