Part Thickness Study - Observation about Calculability (using Part Loft)

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Jee-Bee
Veteran
Posts: 2566
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: Part Thickness Study - Observation about Calculability (using Part Loft)

Post by Jee-Bee »

onekk wrote: Tue Aug 16, 2022 6:05 pm As I'm using almost exclusively scripting to model with FC, probably I'm biased as many problems are "naturally" solved with some maths when creating models, GUI approach is different, and I haven't been able to learn properly the GUI part, or maybe I've not spent my energies on learning it.
I'm almost +-180 degrees different. I don't use scripting. For me is scripting usefull if you create something over and over again.
I'm a real GUI user and that is where i have often a disagreement because i have a strong user perspective and that is not always equal to some other perspectives.
It is not that i never look on the backside, but it can be more... But i noticed that through talking about things in FC i also analyze the other CAD software and that is find of funny!
onekk wrote: Tue Aug 16, 2022 6:05 pm If you know that in FC a Cylinder is made of three faces:
  • Lower face (a circle)
  • Upper face (another circle)
  • Cylinder side that is like a bend surface that has a "seam" where the bend will join.
You also know that placing something that depends on some calculations like a derivative on the "seam" will result in some strange behaviour or errors, so if you rotate to some degree the cylinder on his axis the "operation" will succeed.
This is funny because i expect most of the time the cilinder is created around an axis. so the rotations are around it's center and not around a point on it's edge.
onekk wrote: Tue Aug 16, 2022 6:05 pm What I'm seeing here, is that this forum part, is becoming a place were many "not productive" discussion are made, but even this thing was predicted by some user.
I'm aware of that kind of discussions... And sometimes i'm too late and then one of them :(
User avatar
onekk
Veteran
Posts: 6146
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Part Thickness Study - Observation about Calculability (using Part Loft)

Post by onekk »

Jee-Bee wrote: Tue Aug 16, 2022 8:15 pm
This is funny because i expect most of the time the cilinder is created around an axis. so the rotations are around it's center and not around a point on it's edge.
Cylinder is created around the center of his lower face and grow along Z axis if you don't change his reference axis, and his center (things that could be done easily with scripting)

But these are matter of taste, I'm very happy that FC has this powerful language on board.

And also that it could use CSG and BREP approach and you could mix them quite easily (at least with scripting).

Plus geom2d is wonderful when doing strange things and work with projections.

But I have to study more about BSPlineCurve and BSPlineSurface but this involve to study math :-(

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/
User avatar
quiret
Posts: 72
Joined: Wed Jun 15, 2022 1:23 pm
Location: Germany
Contact:

Re: Part Thickness Study - Observation about Calculability (using Part Loft)

Post by quiret »

onekk wrote: Tue Aug 16, 2022 11:36 am Main problem is in my knowledge is that for some models, the complexity is way beyond any GUI approach, if you don0t want to fiddle with too much dialogs and settings.
If the model grows too big then I end up creating a lot of intermediate steps. Then I have to give each step a good name so that I can repair any breaking model or adjust the model to improve its parametricity. But I am having a hard time finding good names, in the scenario of complex FreeCAD documents. I think that programming your 3D model is handling the situation of ever-growing FreeCAD documents (also called living & breathing FC) much better.
onekk wrote: Tue Aug 16, 2022 11:36 am I use a different approach that is scripting, and rarely I meet the TNP as in python a variable could mean a whole solid, so there is no need to make assumptions, every length is a variable and could be reused to make different things.
Programming has the advantage of generating the entire FC graph from the beginning each time you execute the script. It is an advantage that cannot be underestimated.
onekk wrote: Tue Aug 16, 2022 11:36 am Another considerations is that FC have as a goal to "maintain compatibility" with older version so some aspect could not be changed without breaking "old models", as some recent discussion have shown (sadly I don't remember the thread link, but it was related to threads if I remember well).
I totally agree with your point here. There should be guidelines for the UI so that expectations are met and kept. Some people are even upset that the UI is falling short of options that the commercial solutions have. But I am happy as it currently is.

Of course, scripters get the hot stuff off the press much quicker than the UI people do.
onekk wrote: Tue Aug 16, 2022 11:36 am In case of Loft there is not more exposed in Scripting than in GUI, but you could use some more complex things to make "Lofts" and you could control things in a more finer way, using maybe a "Sweep" that use BRepOffsetAPI.makePipeShell usage defining a proper path to follow and properly made profiles as you can state many way to "manage corners" and rotations see maybe these links, that I have noted as they involve some discussions I have had :

BRepOffsetAPI.makePipeShell usage
https://forum.freecadweb.org/viewtopic.php?f=22&t=65467

Use of Geom2D and Part.BRepOffsetAPI.MakePipeShell() to make Threads
https://forum.freecadweb.org/viewtopic.php?f=22&t=65875

maybe it will be interesting to read:

https://dev.opencascade.org/doc/occt-7. ... algos.html

When speaking about thickness in the caption Mechanical Features (sorry if the typographic term is not exact)

Sadly some of these operations are difficult with complex forms different from "cube type shapes" with right angles.


Regards

Carlo D.
Sweep is a good API. My problem is that I am trying to create a screenholder which specifies required angles while some parts of the body are increasing in room as the tube goes. Not sure how I would do that with a sweep...

Image

-----

I always appreciate your contibution to my threads, Carlo. :) Your insights are detailed and a blessing.

Personally I do not yet need the power of a CFG programming language (loops, template code, variables, etc) but I see the greatness of it.
Last edited by quiret on Thu Aug 18, 2022 4:21 pm, edited 1 time in total.
User avatar
quiret
Posts: 72
Joined: Wed Jun 15, 2022 1:23 pm
Location: Germany
Contact:

Re: Part Thickness Study - Observation about Calculability (using Part Loft)

Post by quiret »

dprojects wrote: Tue Aug 16, 2022 12:51 pm PartDesign has a lot of nice functionalities and they are programmed in C ++ which is respectable. So, it is even more beyond my mind, they created so advanced features in C++ but they talk about this ridiculous problem of the TNP. Is it like this intentionally goes unresolved in FreeCAD so that you can scare rebellious programmers who want to do something more? Such Baba Yaga who scares little children? ;-)

That's why I created a wiki page: https://wiki.freecadweb.org/TNP_solution so that everyone could solve this problem.

Regarding parameterization in FreeCAD, the TNP is not a problem, you can approach things differently to avoid the TNP. The real problem is only describing any curve with mathematical formulas. This is the level of the math scientists, not of FreeCAD living users. If you want scale your model you need to invent all mathematical formulas. This is not like that, you create model, FreeCAD make formulas automatically, and you can scale it and the parts will be in the same place.
About TNP, consider that it is essentially a problem of dependencies changing. Should you still consider an edge that increased in length the same edge as before, by giving it the same name? And then there are dependencies which could be replaced or deleted. I think that FC is not always notifying the user of the model breaking, most important example being the changing of Sketches. Scientifically I believe there is no real solution for the complete TNP. But I believe it can be solved on a human level, by schooling people about it and how to work with FreeCAD properly.

---

I am thankful about the great debate in this thread. You guys made some interesting & strong points!
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: Part Thickness Study - Observation about Calculability (using Part Loft)

Post by Kunda1 »

Awesome study.

Just for reference:
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
quiret
Posts: 72
Joined: Wed Jun 15, 2022 1:23 pm
Location: Germany
Contact:

Re: Part Thickness Study - Observation about Calculability (using Part Loft)

Post by quiret »

Kunda1 wrote: Thu Aug 18, 2022 4:30 pm Awesome study.

Just for reference:
Thank you! I have searched the GitHub issues and have found something that sounds similar to my findings:

https://github.com/FreeCAD/FreeCAD/issues/6055

I guess somebody was quicker than me, ehehe. I will continue to contribute to this topic in case I find more.
User avatar
onekk
Veteran
Posts: 6146
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Part Thickness Study - Observation about Calculability (using Part Loft)

Post by onekk »

quiret wrote: Thu Aug 18, 2022 4:13 pm ...

Thanks for the appreciation, I'm trying to help, happy to have some success sometimes.

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/
Post Reply