Part Design Thickness - Non Implemented features

About the development of the Part Design module/workbench. PLEASE DO NOT POST HELP REQUESTS HERE!
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
mfro
Posts: 663
Joined: Sat Sep 23, 2017 8:15 am

Re: Part Design Thickness - Non Implemented features

Post by mfro »

rahmanshaber wrote: Wed Aug 31, 2022 7:58 am I strongly believe devs needs to fix this tool ASAP, please.
You are right regarding the weakness of the thickness tool, but you are barking up the wrong tree.

Thickness is severly affected by the OpenCascade upstream implementation limitations of BRepOffsetAPI_MakeOffsetShape and BRepOffsetAPI_MakeThickSolid.

There's not much FreeCAD devs can do besides posting bug reports at OpenCascade.
Cheers,
Markus
chrisb
Veteran
Posts: 53919
Joined: Tue Mar 17, 2015 9:14 am

Re: Part Design Thickness - Non Implemented features

Post by chrisb »

rahmanshaber wrote: Wed Aug 31, 2022 7:58 am I strongly believe devs needs to fix this tool ASAP, please.
This is beyond the reach of the FreeCAD developers. FreeCAD uses a third party geometric kernel from OCC, and that flaw comes directly from there. They sure know about the issues, but you can of course raise another bug in their tracker. From what I heard it is requires some effort to meet their requirements for an error report.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
FBXL5
Posts: 979
Joined: Sat Aug 03, 2019 8:45 pm

Re: Part Design Thickness - Non Implemented features

Post by FBXL5 »

Maybe you simply create geometry that cannot be offset. Prove us wrong and share a file and don't forget to provide your FreeCAD info...
User avatar
onekk
Veteran
Posts: 6144
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Part Design Thickness - Non Implemented features

Post by onekk »

rahmanshaber wrote: Wed Aug 31, 2022 7:58 am I strongly believe devs needs to fix this tool ASAP, please.
A part from the answers you have received, about the problem is out of reach of FreeCAD developers, as it is in the "geometric kernel" that FreeCAD use.

Side note OCCT it is not a buggy kernel, as some people tends to think, it is simply a kernel, with some methods, that may or may not work, with maybe old part of code left here for compatibility and known to be "problematic" as maybe the "paradigm on which they are build has some flaws".

So when making such affirmation, you should even propose some solution, it is easy to tell fix this tool, without knowing because it is failing!

You provided no model, no information aboout for what version of FC you have encountered problem, ignoring some basic requirement like:

IMPORTANT:

https://forum.freecadweb.org/viewtopic.php?f=3&t=2264


Plus you should think in a "geometrical way" so what you could immagine is easy, when translated in 3d space and calculations, of tangents, normals, vectors an similar thing (that are the foundation of geometry) could lead to some race condition.

Think of a corner, of your solid to make it hollow using a thickness tool.

Maybe it has a radius, and you state a desired thickness, and the corner radius is lower than this amount, so how to model the new corner, the kernel has to guess or "invent" a new radius or probably it has to raise a warning, or refuse to build the new solid with some other error?

Even a simple offset in 2d could be problematic at corners, if you search around you will find some interesting documentation about such a simple operation.

Take this as an encouragement to make better proposition.

Kind Regards

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
rahmanshaber
Posts: 86
Joined: Wed Oct 02, 2019 12:16 pm

Re: Part Design Thickness - Non Implemented features

Post by rahmanshaber »

@mfro , @chrisb , i know freecad uses OCC and i had discussion similar to this that ended up "it's OCC to blame and we dev's can't do anything" and asking me a simple user to open issue in the OCC tracker. I don't know s**t how the model and coding is done. They will ask similar questions that @FBXL5 is asking that i don't have answer of. I just select a surface and select the thickness tool to create a shell out of the part.

I added the file as attachment. Now i will try to explain here what's happening

without the marked feature the thickness tool does work
without the marked feature the thickness tool does work
without the marked feature the thickness tool does work
2.jpg (42.77 KiB) Viewed 1147 times
v5- works.FCStd
without the marked feature the thickness tool does work
(148.68 KiB) Downloaded 50 times
but when i mirror that feature then thickness tool doesn't work,
mirror + feature + doesn't work
mirror + feature + doesn't work
3.jpg (38.84 KiB) Viewed 1147 times
v5- mirror doens't not work.FCStd
mirror + feature + doesn't work
(145.99 KiB) Downloaded 49 times
here is the file where i added the feature that i am talking about and thickness tool doesn't work
v5- doesn't work.FCStd
(147.36 KiB) Downloaded 34 times
User avatar
mfro
Posts: 663
Joined: Sat Sep 23, 2017 8:15 am

Re: Part Design Thickness - Non Implemented features

Post by mfro »

rahmanshaber wrote: Wed Aug 31, 2022 11:19 am @mfro , @chrisb , i know freecad uses OCC and i had discussion similar to this that ended up "it's OCC to blame and we dev's can't do anything" and asking me a simple user to open issue in the OCC tracker.
I don't think you need to open an issue at OpenCascade as they are probably completely aware of all the issues. From OpenCascade's reference manual describing the BRepOffsetAPI_MakeOffsetShape class:
  1. All the faces of the shape S should be based on the surfaces with continuity at least C1.
  2. The offset value should be sufficiently small to avoid self-intersections in resulting shape. Otherwise these self-intersections may appear inside an offset face if its initial surface is not plane or sphere or cylinder, also some non-adjacent offset faces may intersect each other. Also, some offset surfaces may "turn inside out".
  3. The algorithm may fail if the shape S contains vertices where more than 3 edges converge.
  4. Since 3d-offset algorithm involves intersection of surfaces, it is under limitations of surface intersection algorithm.
  5. A result cannot be generated if the underlying geometry of S is BSpline with continuity C0. Exceptions Geom_UndefinedDerivative if the underlying geometry of S is BSpline with continuity C0.
Cheers,
Markus
rahmanshaber
Posts: 86
Joined: Wed Oct 02, 2019 12:16 pm

Re: Part Design Thickness - Non Implemented features

Post by rahmanshaber »

@mfro I made the same part in the Fusion 360 and it able to create shell with the part. I know both have different ways to do it.

I don't understand what is "shape S" is

and what about the one when the thickness tool doesn't work after there i mirror the feature?
chrisb
Veteran
Posts: 53919
Joined: Tue Mar 17, 2015 9:14 am

Re: Part Design Thickness - Non Implemented features

Post by chrisb »

mfro wrote: Wed Aug 31, 2022 12:56 pm
  1. All the faces of the shape S should be based on the surfaces with continuity at least C1.
  2. The offset value should be sufficiently small to avoid self-intersections in resulting shape. Otherwise these self-intersections may appear inside an offset face if its initial surface is not plane or sphere or cylinder, also some non-adjacent offset faces may intersect each other. Also, some offset surfaces may "turn inside out".
  3. The algorithm may fail if the shape S contains vertices where more than 3 edges converge.
  4. Since 3d-offset algorithm involves intersection of surfaces, it is under limitations of surface intersection algorithm.
  5. A result cannot be generated if the underlying geometry of S is BSpline with continuity C0. Exceptions Geom_UndefinedDerivative if the underlying geometry of S is BSpline with continuity C0.
Great find! Would you mind adding this to the wiki :mrgreen: ?
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
chrisb
Veteran
Posts: 53919
Joined: Tue Mar 17, 2015 9:14 am

Re: Part Design Thickness - Non Implemented features

Post by chrisb »

rahmanshaber wrote: Wed Aug 31, 2022 1:33 pm I don't understand what is "shape S" is
It all makes sense if you think of S as the surface to be offset.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
GeneFC
Veteran
Posts: 5373
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: Part Design Thickness - Non Implemented features

Post by GeneFC »

rahmanshaber wrote: Wed Aug 31, 2022 1:33 pm I don't understand what is "shape S" is
Remember your algebra classes?

Train A leaves station A . . . .

"S" is just a name for the shape. It means nothing by itself.

Gene
Post Reply