V0.19 Benchmarking--Intermediate Level Tutorials

A place to share learning material: written tutorials, videos, etc.
User avatar
ppemawm
Posts: 767
Joined: Fri May 17, 2013 3:54 pm
Location: Manhattan New York

V0.19 Benchmarking--Intermediate Level Tutorials

Postby ppemawm » Wed Apr 15, 2020 8:40 pm

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.

Picture6.png
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
.
Picture7.png
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
.
Picture8.png
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
.
Picture9.png
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
.
Picture10.png
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)
"It is a poor workman who blames his tools..." ;)
User avatar
jpg87
Posts: 448
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Re: V0.19 Benchmarking--Intermediate Level Tutorials

Postby jpg87 » Thu Apr 16, 2020 5:35 am

ppemawm wrote:
Wed Apr 15, 2020 8:40 pm
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.
Wonderful work, as usual, and very useful tests for the community.
I too am in love with FreeCAD, even if I didn't really discover and appreciate it until V0.17.
My website : http://help-freecad-jpg87.fr updated 2020/12/05
kisolre
Posts: 3017
Joined: Wed Nov 21, 2018 1:13 pm

Re: V0.19 Benchmarking--Intermediate Level Tutorials

Postby kisolre » Thu Apr 16, 2020 6:07 am

ppemawm wrote:
Wed Apr 15, 2020 8:40 pm
Nice work as always :) Did you follow the rules of the challenge - not peeking in second stage drawing?
Do you plan sharing the files? That blog post is not very clear about usage in free/non commercial/open source cases...
User avatar
ppemawm
Posts: 767
Joined: Fri May 17, 2013 3:54 pm
Location: Manhattan New York

Re: V0.19 Benchmarking--Intermediate Level Tutorials

Postby ppemawm » Thu Apr 16, 2020 12:06 pm

kisolre wrote:
Thu Apr 16, 2020 6:07 am
ppemawm wrote:
Wed Apr 15, 2020 8:40 pm
Nice work as always :) Did you follow the rules of the challenge - not peeking in second stage drawing?
Do you plan sharing the files? That blog post is not very clear about usage in free/non commercial/open source cases...
Thank you for your kind comments.

I did peek in order to understand the design intent and to be able to test the model robustness. So, maybe I did not follow the rules...

I do not intend on sharing the files without permission due to copyright restriction.
"... intended for the sole use of DS SolidWorks, its partners, and customers...."
"It is a poor workman who blames his tools..." ;)
User avatar
Celica_Supra
Posts: 50
Joined: Sat Nov 03, 2018 11:18 pm
Contact:

Re: V0.19 Benchmarking--Intermediate Level Tutorials

Postby Celica_Supra » Mon May 11, 2020 8:17 pm

Nice Work ppemawm. I've done something similar here:
https://www.youtube.com/watch?v=Wnx33f0zaQU
Interestingly, your last pictured model has been used on worldwide certification tests for at least professional level certifications. Model mania is a great place to look for models.
fc_tofu
Posts: 654
Joined: Sun Jan 05, 2020 4:56 pm

Re: V0.19 Benchmarking--Intermediate Level Tutorials

Postby fc_tofu » Thu May 14, 2020 4:28 am

You did a very good test and report.
User avatar
M4x
Posts: 326
Joined: Sat Mar 11, 2017 9:23 am
Location: Germany

Re: V0.19 Benchmarking--Intermediate Level Tutorials

Postby M4x » Sat Dec 05, 2020 8:20 pm

@ppemawm
How far did you get with the 2020 challenge? I'm not able to apply all fillets. I've marked the problematic are. Did you find a workaround? I think the problem arises where the "arm" meets the cylinder in the middle.
Snip macro screenshot-6a22da.png
overview, problematic area marked
Snip macro screenshot-6a22da.png (73.13 KiB) Viewed 468 times
Snip macro screenshot-a804bd.png
close up (arm meets cylinder in the middle)
Snip macro screenshot-a804bd.png (17.59 KiB) Viewed 468 times

@Celica
Celica_Supra wrote:
Mon May 11, 2020 8:17 pm
[...]
I've done something similar here:
https://www.youtube.com/watch?v=Wnx33f0zaQU
[...]
Your video isn't available. Is that intended or a mistake?
User avatar
Kunda1
Posts: 9223
Joined: Thu Jan 05, 2017 9:03 pm

Re: V0.19 Benchmarking--Intermediate Level Tutorials

Postby Kunda1 » Sat Dec 05, 2020 11:14 pm

M4x wrote:
Sat Dec 05, 2020 8:20 pm
@ppemawm
How far did you get with the 2020 challenge? I'm not able to apply all fillets. I've marked the problematic are. Did you find a workaround? I think the problem arises where the "arm" meets the cylinder in the middle.

@Celica
Your video isn't available. Is that intended or a mistake?
FYI @Celica_Supra is JokoEngineering. Some oh his videos recently were made private or taken down due to copyright issues? I may be wrong about the reason.
Alone you go faster. Together we go farther
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
chrisb
Posts: 30846
Joined: Tue Mar 17, 2015 9:14 am

Re: V0.19 Benchmarking--Intermediate Level Tutorials

Postby chrisb » Sat Dec 05, 2020 11:23 pm

I remember freecad-heini-1 discussed this model in the german subforum.
You need at least FreeCAD 0.19.23300 to edit my current sketches.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
ppemawm
Posts: 767
Joined: Fri May 17, 2013 3:54 pm
Location: Manhattan New York

Re: V0.19 Benchmarking--Intermediate Level Tutorials

Postby ppemawm » Sun Dec 06, 2020 1:43 am

chrisb wrote:
Sat Dec 05, 2020 11:23 pm
I remember freecad-heini-1 discussed this model in the german subforum.
https://forum.freecadweb.org/viewtopic.php?f=36&t=44262 Uses CSG method.
M4x wrote:
Sat Dec 05, 2020 8:20 pm
How far did you get with the 2020 challenge? I'm not able to apply all fillets.
I did get a model with all of the fillets, but Boolean001 did not pass geometry check:

Capture-2020.JPG
Fillet002 was applied to the edges of Pocket002 before the polar pattern of the three legs.

The cylinder to cone fillet was included in the revolve sketch. I always include fillets in sketches if I can.

Fillet003 was applied to the outer and inner perimeter edges.
Capture-2020.JPG (199.62 KiB) Viewed 413 times
Capture2_2020.JPG
This shows the sequence of feature creation in the tree, left to right.
Capture2_2020.JPG (222.75 KiB) Viewed 413 times
.
OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.23141 (Git)
Build type: Release
Branch: master
Hash: 0eba78d40096720f7a637a9a73c382a08b820bca
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)
"It is a poor workman who blames his tools..." ;)