Which issues will start to arrive with the splitting of complexity?

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!
Post Reply
grd
Posts: 328
Joined: Wed Apr 13, 2022 5:13 am
Location: Eindhoven, The Netherlands

Which issues will start to arrive with the splitting of complexity?

Post by grd »

Please take a look at what I said earlier https://forum.freecadweb.org/viewtopic.php?f=8&t=70122

So the problem is multiple bodies. Why? Because IMO that is one of the large fundamental issues of FreeCAD. IMO a part should be a part, not a collection of whatever. A part should not be a collection of bodies, and a part should also be ONE. Because when you have ONE then everything becomes much easier. Features should also be allowed to restructure in the model tree. An assembly is an assembly, not a part. A drawing should reference to a model (part or assy), making it light weight. A part or assy should also have the possibility to have a family, with instances (a family table). This is all possible with ordinary modern CAD programs.

The benefits are very clear. For instance, starting a part with a CSYS and the default datum planes (ready for sketching), assigning material, but also not needed to select something when you want to export the item to STL, and also the fuss of learning all the complexity that has been there for a long time.

The con is that multiple bodies are not allowed, so the Part WB can be very limited.

This should all be possible with a button somewhere in the preferences tab. New file extensions (because of not having multiple bodies) should also be created.

And now the question: Which issues will start to arrive? What am I missing?
About Nim. Latest Release 2.0.2. Here is Nim in 100 seconds and a Nim package. There are Qt and OCCT packages.
drmacro
Veteran
Posts: 8865
Joined: Sun Mar 02, 2014 4:35 pm

Re: Which issues will start to arrive with the splitting of complexity?

Post by drmacro »

I have said many times the terms selected for some things are indeed confusing and the use cases are not well documented (in other the words, the 'why' of using the tools).

Part (Std_Part) Image is probably the most misunderstood. It is simply a container that provides a coordinate system for all it's contents to reference. Thus when it is moved the contents move with it and retain their relative positions with each other because the reference the coordinate system of the Std_Part object (object here meaning an object in object oriented programming terms, not a virtual representation of a physical thing...).

The Part Design Body is simply a special case tool, that creates a single, solitary solid. The features (Pad/Pocket/etc.) of the Body are NOT to be thought of as solids, they are operations performed cumulatively that create a single solid.

The Body, can be thought of as a solitary solid, just as a Part workbench Extrude of a sketch creates a solitary solid. As such, the Body can be used with Part workbench operations, for example a Part Cut can be between a Part Extrude and a Body. But, the same operation should not be attempted between a Part Extrude and a Body>Pocket.

The Std_Part can contain both Part workbench solids (or Compounds, etc.) and Part Design Body objects. It can even contain other things like spreadsheets.

The Std_Part, while IMO poorly named, is indeed very useful in the hands of an imaginative user. There are those who do complicated assemblies using just the Std_Part. Others just use it for organization. (And, of course, as of 0.20, it is also the container for configuration tables.)

The Part Design Body, is a great way to have a solid that comprises of many features, yet has a tidier tree view. (It could argued that this is the point of a PD Body.)

I see no particular problems here, other than the confusion that newer users tend to have. :roll:
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
grd
Posts: 328
Joined: Wed Apr 13, 2022 5:13 am
Location: Eindhoven, The Netherlands

Re: Which issues will start to arrive with the splitting of complexity?

Post by grd »

drmacro wrote: Sun Aug 14, 2022 11:44 am I see no particular problems here, other than the confusion that newer users tend to have. :roll:
Thanks for your reply. I wasn't aware of the configuration tables and I need to check that out. But please tell me the benefits of having this complex situation compared to that of ordinary cad programs? I mean with part, assy and drawing.
About Nim. Latest Release 2.0.2. Here is Nim in 100 seconds and a Nim package. There are Qt and OCCT packages.
drmacro
Veteran
Posts: 8865
Joined: Sun Mar 02, 2014 4:35 pm

Re: Which issues will start to arrive with the splitting of complexity?

Post by drmacro »

grd wrote: Sun Aug 14, 2022 4:22 pm
drmacro wrote: Sun Aug 14, 2022 11:44 am I see no particular problems here, other than the confusion that newer users tend to have. :roll:
Thanks for your reply. I wasn't aware of the configuration tables and I need to check that out. But please tell me the benefits of having this complex situation compared to that of ordinary cad programs? I mean with part, assy and drawing.
You seem to be fixated on the Part (Std_Part). True in is an unfortunate name. It is completely unnecessary in normal operations. Where people come up with the idea that it is required in basic workflow, I don't know. If it bothers you so much, there is no need to use it, simply ignore that it is in toolbar and you will be fine.

Assembly workbenches provide needed tools when you want to constraint components to one another by, for example, face to face, axial, etc.

What do you mean by "drawing"?

In general, there are many complex concepts and operations that the workbench concept tries to provide in manageable pieces.

What ordinary CAD program do you refer too? I know quite a few. Except for toys like TinkerCAD (yes, my opinion...) they are complex. 8-)
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
User avatar
obelisk79
Veteran
Posts: 1061
Joined: Thu Sep 24, 2020 9:01 pm

Re: Which issues will start to arrive with the splitting of complexity?

Post by obelisk79 »

grd wrote: Sun Aug 14, 2022 8:00 am So the problem is...
Everything you've outlined if your first paragraph is essentially already part of FreeCAD. Except for rearranging of features in a model tree for a given body (which I agree would be a very nice feature to have). You're getting hung up on the naming convention of what parts and bodies are, which I agree is fairly ambiguous. A 'part' in FreeCAD is a container for objects like part design bodies, you can even nest part containers within each other. I think drmacro explained the differentiation better than I could.
The benefits are very clear...
the complexity...
In my opinion, the benefits are NOT clear. You keep referencing the term COMPLEXITY without properly articulating actual problems and comparative solutions.
An Example of how to express a problem or undesirable behavior: When attempting to copy a sketch a window pops up with a list of referenced theoretical objects such as planes/features etc that takes a bit of fiddling to get *just* the item I wanted. If working in an active body and copying a sketch I shouldn't have to see the sub selection window, default paste behavior should place a sketch in the active body, if it is the same source body the selection window should be skipped, if pasting into a different container then the selection window can be presented.
The con is that multiple bodies are not allowed, so the Part WB can be very limited.
This is a huge con. I really question your fundamental understanding of FreeCAD's structure.
And now the question: Which issues will start to arrive? What am I missing?
You know, I'm pretty open minded regarding change in FreeCAD and most everyone will agree there is plenty of room for improvement and refinement all over the place, but that being said, I am just not convinced that anything you have been advocating for between the two threads you've created on this matter would actually be an improvement. I'm 110% against forcibly confining everything in FreeCAD into different files with separate extensions. If you want to argue that it should be an option (and not default behavior) I think it would be more agreeable.
grd
Posts: 328
Joined: Wed Apr 13, 2022 5:13 am
Location: Eindhoven, The Netherlands

Re: Which issues will start to arrive with the splitting of complexity?

Post by grd »

obelisk79 wrote: Sun Aug 14, 2022 4:47 pm You know, I'm pretty open minded regarding change in FreeCAD and most everyone will agree there is plenty of room for improvement and refinement all over the place, but that being said, I am just not convinced that anything you have been advocating for between the two threads you've created on this matter would actually be an improvement. I'm 110% against forcibly confining everything in FreeCAD into different files with separate extensions. If you want to argue that it should be an option (and not default behavior) I think it would be more agreeable.
But is should be an option! That is what it is all about! And I said:
This should all be possible with a button somewhere in the preferences tab. New file extensions (because of not having multiple bodies) should also be created.
About Nim. Latest Release 2.0.2. Here is Nim in 100 seconds and a Nim package. There are Qt and OCCT packages.
drmacro
Veteran
Posts: 8865
Joined: Sun Mar 02, 2014 4:35 pm

Re: Which issues will start to arrive with the splitting of complexity?

Post by drmacro »

grd wrote: Sun Aug 14, 2022 8:00 am So the problem is...
...
...Except for rearranging of features in a model tree for a given body (which I agree would be a very nice feature to have)...
I know lots of people want the capability to rearrange the tree view. But, there is a problem with this. The tree is not cosmetic. In the case of the Part Design Body, the tree defines the order of operation. Each feature of a body is not atomic. Thus moving the 3rd Pocket up to the current position of the second Pad simply wont produce the same solid. Change the order of top level objects, fine. Change order inside a Body...likely not desirable.

This is why the last attempt to allow reordering failed and was removed. If it is reintroduced it will likely not allow the reordering (or worse extracting a feature from a Body).

...
The con is that multiple bodies are not allowed, so the Part WB can be very limited.
I don't even know what this means, since Part WB allows as many solitary solids as you care to make. And you can make as many Body objects as you care to make...and as far as Part WB is concerned, each Body is just another solitary solid.

The Part Design WB Body, allows only a single solitary solid. If you don't except this rule, don't use Part Design WB. And, if you don't except this rule, then the Part Design paradigm is understood.
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
grd
Posts: 328
Joined: Wed Apr 13, 2022 5:13 am
Location: Eindhoven, The Netherlands

Re: Which issues will start to arrive with the splitting of complexity?

Post by grd »

drmacro wrote: Sun Aug 14, 2022 4:44 pm You seem to be fixated on the Part (Std_Part).
I am not fixated. But when you look at Creo, SW, SE, Iventor and others you see that they all have the philosophy of part, assy and drawing. But FC doesn't. Now a new guy arrives and he sees that. "What? No assy? It is a part? And bodies. What a mess."

That is what I mean. And also it simplifies for when you want to assign a material for instance.
About Nim. Latest Release 2.0.2. Here is Nim in 100 seconds and a Nim package. There are Qt and OCCT packages.
user1234
Veteran
Posts: 3334
Joined: Mon Jul 11, 2016 5:08 pm

Re: Which issues will start to arrive with the splitting of complexity?

Post by user1234 »

grd wrote: Sun Aug 14, 2022 5:16 pm Now a new guy arrives and he sees that. "What? No assy? It is a part? And bodies. What a mess."
I came originally from CATIA. For me it is absolutely clear. Even in Creo Drect Modeling the behavior is similar. I see no issues here, quite the contrary, it is very useful, especially when you use parts in more then one assembly and do not want to have issues with placements.


Greetings
user1234
drmacro
Veteran
Posts: 8865
Joined: Sun Mar 02, 2014 4:35 pm

Re: Which issues will start to arrive with the splitting of complexity?

Post by drmacro »

grd wrote: Sun Aug 14, 2022 5:16 pm
drmacro wrote: Sun Aug 14, 2022 4:44 pm You seem to be fixated on the Part (Std_Part).
I am not fixated. But when you look at Creo, SW, SE, Iventor and others you see that they all have the philosophy of part, assy and drawing. But FC doesn't. Now a new guy arrives and he sees that. "What? No assy? It is a part? And bodies. What a mess."

That is what I mean. And also it simplifies for when you want to assign a material for instance.
It appears you see different as "a mess".

IMO, different software, different paradigm, not a big deal to me...it's about expectations. Don't expect FreeCAD to fit your idea of what it should do. Ask questions. See how others deal with the different paradigm.

As for assy? Use Std_Part if you need it. And change it's label to Assy. ;)
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
Post Reply