With release of version 0.19 on the horizon, I thought it may be a good time to benchmark PartDesign workbench against one of the more popular commercial CAD software. Inspired by freecad-heini-1's example (
https://forum.freecadweb.org/viewtopic.php?f=36&t=44262), the models and tutorials shown here
https://blogs.solidworks.com/tech/2020/ ... mania.html were chosen for this purpose. These models are a bit challenging not only for their subtle complexity but also for the expectation that the model should be easily modified for an engineering change. This requires a robust and stable modelling strategy.

- These are all of the models created for the benchmarking, both the original as well as the models that were modified for the engineering changes.
In general, all of the models were able to be accurately created with the PartDesign workbench with the exception of fillets and drafts. Not all of the fillets were possible and the draft faces had to be created with pocket or sweep workarounds which took extra time and effort. - Picture6.png (564.86 KiB) Viewed 2425 times
.

- A master sketch can be used to save time and to accommodate expected engineering changes. This is an example of a model for which all the features can be created from carbon copies of a single master sketch.
Assembly4 > Variables are used to define the engineering change parameters which are the x-offset of the boss and its inclination angle.
Note that the boss is created by a revolve and hollowed with the groove tool using the master sketch rather than pads and pockets which would require additional sketches on different planes. - Picture7.png (261.29 KiB) Viewed 2425 times
.

- This is an example of a more complex model for which a single master sketch is used to generate most of the features and the associated engineering changes defined by a variable, flange_angle.
The model starts with an additive hemispherical primitive. Carbon copies of the master sketch are offset in the Y-direction as required by the various features. The hemisphere is hollowed with a smaller subtractive hemispherical primitive. - Picture8.png (241.98 KiB) Viewed 2425 times
.

- This seemingly simple looking model was actually a bit time consuming to create because FreeCAD does not have a reliable hollowing or thickness tool. In this case it was necessary to Draft > clone the original and reduce its size using the scale property to hollow the original using a Part > cut.
Due to its relatively complex shape it was necessary to create four bodies and use the PartDesign > boolean tool to create the basic 3D shape for both the large and small portions and then fuse those together with another boolean as shown in the model tree.
This model also requires that the faces have a 4 deg draft which could not be done with the Partdesign > draft tool. As a workaround, a subtractive sweep was successfully achieved but still a bit tedious. - Picture9.png (323.49 KiB) Viewed 2425 times
.

- In this model the draft tool was used to successfully create the two conical bosses but it did require that three separate bodies be created and then fused with the PartDesign > boolean.
In retrospect it may have been better to use an additive conical primitive for the bosses which is more immune to topological naming problems when changes are made. - Picture10.png (173.65 KiB) Viewed 2425 times
.
I my opinion, FreeCAD can hold its own when benchmarked against these models used for certification, training, and demonstrating the commercial CAD software capability. However, it still took some extra time for laborious workarounds due to several weaknesses in PartDesign. These are the fillet, chamfer, draft, and thickness tools. In general these tools failed more often than they succeeded. To reach world class, there will definitely need some improvement in these areas in order to reduce modelling time for these types of models.
One thing I learned in this exercise is that one apparently cannot mirror a boolean as a feature without leaving the PartDesign workbench! Another little annoying detail is that the Refine property sometimes will not result in a valid solid for the more complex models even though the extraneous edges are removed as expected, but that is something I can generally do without since it is mostly a dress-up feature.
Do not get me wrong...I am in love with this software since V0.13 and still enormously indebted to all the developers. Thanks again to all.
Now, on to V0.20...
OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.20391 (Git)
Build type: Release
Branch: master
Hash: da92b8c242ead8cc106f480aa2eed0bac2edf10a
Python version: 3.6.8
Qt version: 5.12.1
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/United States (en_US)