A randomly started discussion about the necessity of the PD single solid rule

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
chrisb
Veteran
Posts: 47986
Joined: Tue Mar 17, 2015 9:14 am

Re: #4828 PartDesign: inverse for pocket

Post by chrisb »

adrianinsaval wrote: Mon Mar 13, 2023 8:41 pm No argument has been presented that supports not allowing this, so by default the conclusion is that it should be permitted,
:lol: , to be precise: no argument accepted by you. But as participation here is rather low, and as it seems to become more emotional, I'm out.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
saso
Veteran
Posts: 1783
Joined: Fri May 16, 2014 1:14 pm
Contact:

Re: #4828 PartDesign: inverse for pocket

Post by saso »

this multiple solids for body rule change would bring something to the users that would find it more useful in their modeling, overall however it does very little in really improving FC. in the big picture this is about standardizations. when it comes to this workflows in FC around parts, assemblies, bodies, sketches,... so about some of the core workbenches like part and partdesign one can often hear things like, we don't have to do it the same as commercial cad programs, we can do things differently, we can let this develop and grow by the community in a "natural way",... there is for sure room in FC for such things but my argument always was that this place is not is some of this core workbenches. i see this as if gimp developers would say, ah why bother to support jpg or many of the other standard formats we can do this differently in our own way, or same inkscape developers for svg, or libreoffice for all the different standard formats that they support and countless other opensource tools that actually in reality put a lot of efforts to support such standard formats properly. and even in freecad we have examples of that, for bim workflows yorik does a lot of effort to properly support the ifc for example, also for g code in path there is the needed effort to make it work properly, compatibility in fem with all the different solvers formats,... but when it comes to this standard parametric workflows and properly supporting formats like step, it is sort of, who cares, and this depside the fact that there is the wish for FC to be accepted and used more by the industry and also in universities... unfortunately i have real doubts that this attitude is moving FC in that direction. oh yes, but maybe if we just put it at version 1.0 and change a few icons nobody will notice... i find this very strange :?
wsteffe
Posts: 445
Joined: Thu Aug 21, 2014 8:17 pm

Re: #4828 PartDesign: inverse for pocket

Post by wsteffe »

adrianinsaval wrote: Mon Mar 13, 2023 8:41 pm No argument has been presented that supports not allowing this, so by default the conclusion is that it should be permitted, so the only complaint left to be discussed is what words to use to communicate such things.
+1
chrisb wrote: Mon Mar 13, 2023 9:49 pm to be precise: no argument accepted by you. But as participation here is rather low, and as it seems to become more emotional, I'm out.
Hi crisb, on March 12 in a post of this thread you started the lingustic argument with following the words :
I agree on this, please don't use the notion of "Body" for this, just because it would be convenient. I am not a native speaker, but my research on this confirms that a body is rather a single solid in common speech too.
The day after you negated the position you had taken the day before:
And I'm afraid that you miss the point, if you think it's only a matter of linguistic details.
Saying the your argument was instead that:
A body and a Multibody are different concepts
Nobody thinks they are equivalent but it can't be a valid argument. If they were the same thing nobody would ask to remove the one body one solid rule, which essentially means replacing a Body Container with a Multibody Container.

In the same post you declared
I will not follow you into the Land of Guessing.
But who is guessing what ? Another baseless statement. It seems that with this statement you were calling you out of the discussion. I was happy of your decision because I do not like to follow such irrational and self contradictory reasoning.

But now you are here again insisting that there is a valid argument against relaxing the rule. Please clarify what it is or refrain making other baseless assertions.
User avatar
adrianinsaval
Veteran
Posts: 4877
Joined: Thu Apr 05, 2018 5:15 pm

Re: #4828 PartDesign: inverse for pocket

Post by adrianinsaval »

chrisb wrote: Mon Mar 13, 2023 9:49 pm :lol: , to be precise: no argument accepted by you. But as participation here is rather low, and as it seems to become more emotional, I'm out.
Point me to an argument and and I'll be happy to continue the debate of "should it be allowed".

But you have said yourself that you are not against allowing these workflows and only asked for clear language. So no argument in support of not allowing.

Before that FBXL5 provided compelling arguments on why in some cases it makes sense to enforce a single solid rule, but it does not follow from this argument that this should be enforced on everyone or that the other cases presented here where it makes sense to allow multiple solids should be forbidden. An argument that may have been made in an attempt to support the rule, but that does not hold water as such. My refutal was then not contested.

What argument has been presented? Perhaps I missed it and then I apologize and would like to discuss those.
saso wrote: Mon Mar 13, 2023 10:34 pm
I don't understand what is your point here? FreeCAD has support for STP files, and that has little or nothing to do with allowing multiple solids or not.
User avatar
onekk
Veteran
Posts: 4737
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: PartDesign: single solid rule

Post by onekk »

I think that_

- single solid rule, is good, on this extent: a PD workflow should produce a "single solid" at the very end of the process.

- probably some feature could "break the rule" at a feature level.


Most of the example shown around to support the need to "break single solid rule" are simply showing that some feature are producing multiple solids that will be fused or subtracted from the "single solid" to obtain a different thing.

But I'm not aware of what other CADs are doing and if their workflow is much more smooth and fast than the actual way of doing things in PD WB.

The point IMHO is to show some use cases where breaking the "single solid rule" is an advantage, and maybe consider the worst case, in other words, if PD WB could break the "single solid rule" would this breaking affect the success of subsequent "operations" that will be need to complete the model.

What I have guessed seeing some examples posted in this discussion are:
  1. Multiple solids that cut a "PD Body"
  2. Multiple solids that will be fused to make a "PD Body"
  3. A solid or multiple solids that cut a "PD body" obtaining two or mode solids in the "PD Body"
The only "single solid rule" that is broken in the "final solid" is case 3.

But in a PD workflow I could think of creating the "PD Body" to be cut and then use a Boolean operation, or some Pattern like features to obtain a "group" or a "compound" to use to build things.

Probably trying to make some examples, where there could be "real advantages other than" sparing a couple of clicks will help discussing on a solution.

On the other side, probably telling why breaking "single solid body" rule is evil, should be a good thing, there are technical reasons, conceptual reasons or both?

If not it is the usual "concept war" that will end in probably in raising noise, creating hostilities and such genre of things, (And probably there is already too many around).

Kind Regards

Carlo D.
Last edited by onekk on Thu Mar 23, 2023 10:18 am, edited 2 times in total.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.
User avatar
adrianinsaval
Veteran
Posts: 4877
Joined: Thu Apr 05, 2018 5:15 pm

Re: #4828 PartDesign: inverse for pocket

Post by adrianinsaval »

onekk wrote: Tue Mar 21, 2023 10:42 am IMost of the example shown around to support the need to "break single solid rule" are simply showing that some feature are producing multiple solids that will be fused or subtracted from the "single solid" to obtain a different thing.
not true, I also point out examples for 3d printing where the result is meant to be multiple solids, I also talked of parts made for CNC which will be multiple solids from the same raw material. I also showed an example of someone who wants to split a part in two. There's also the case where someone just wants to make a pattern of something made in PD, sure they can make the pattern in other tools but there's no real reason why PD pattern should reject this use.

And even if it was the case that only the intermediary steps would be multiple solids, how do you propose that we lift the requirement for intermediary steps but only enforce it on the end result? Each intermediary step is the end result until you make a subsequent feature, or for the case of a body meant to be used in a boolean operation this intermediary step is the end result of that body. This question also goes to chrisb and others who advocated for multiple solids only on intermediary steps, I'm genuinely curious about the answers.
Also since this means doing all the work required to allow multiple solids in one way or another why not make this restriction to the end result optional and shut our mouths for good? You lose nothing by allowing others to work as they want.
if PD WB could break the "single solid rule" would this breaking affect the success of subsequent "operations" that will be need to complete the model.
there's no reason why it would break anything, the single solid rule can be lifted in realthunder's version for example. I am yet to see an example where using multiple solids lead to trouble there, and even if this hypothetical where true... give me a warning then let me go on, that in some niche cases it can fail does not mean that all the cases where it works flawlessly should be forbidden.
Probably trying to make some examples, where there could be "real advantages other than" sparing a couple of clicks will help discussing on a solution.
It's not a couple of clicks, it's many clicks and key presses and it's also sparing moving to different workbenches and cluttering the tree, mixing workflows and forcing people to learn other wb for things that could have been done in PD if it weren't for this rule. people keep asking for examples and justification for breaking the single solid rule despite hundreds of examples having seen on the forum across time, yet when I asked for a justification for the single solid rule... this are the only three arguments (simplified to their core) I have heard an my rebutals:
1 - the definition of the word body is of a single solid (this the most common and annoying argument)
-- there is no reason why we should limit a computer's capability due to limits of the english language, we can very well use a different word if this is so important.
2 - there is some usecases where having a single solid rule could be beneficial
-- ok so you may ask for a feature to force single solids by user/organization choice or a warning or we may have automatic splitting as was shown in a solidworks video in this thread, it does not follow from this argument that all other use cases where multiple solids can be beneficial should be forbidden. What makes these usecases so much more valuable than the others that they can force the others out and cannot coexist?
3 - multiple solids are fragile to toponaming problem (this I only recall seeing once, is it even true?)
-- so what? so is attaching to faces or making fillets and we still allow them. I can make 100% toponaming safe models whether it has one solid or 100 solids, why does the software need to say "sorry, you are not allowed to do this because you might be too dumb to manage it". This should be my decision not the software's. Besides, toponaming algorithm is underway which makes this a non argument.

To properly justify a single solid rule one must justify why all the examples given where multiple solid can be useful must be forbidden, I sincerely cannot see how this is justifiable.
User avatar
FBXL5
Posts: 625
Joined: Sat Aug 03, 2019 8:45 pm

Re: #4828 PartDesign: inverse for pocket

Post by FBXL5 »

I would like to be able to work with several bodies in a solid.
If we don't trust the average user to finish the body as in a single solid way without help, I would prefer a tag rather than forbidding multi solids. Like the tag showing that a sketch is under-constrained.
Then I can decide if I want to keep several solids or to change the body to single solid and get rid of the tag.
wsteffe
Posts: 445
Joined: Thu Aug 21, 2014 8:17 pm

Re: #4828 PartDesign: inverse for pocket

Post by wsteffe »

FBXL5 wrote: Tue Mar 21, 2023 4:04 pm I would prefer a tag rather than forbidding multi solids.
Do you really need a tag to see that there is more than one solid ? If so I think you have a serious problem.
User avatar
adrianinsaval
Veteran
Posts: 4877
Joined: Thu Apr 05, 2018 5:15 pm

Re: #4828 PartDesign: inverse for pocket

Post by adrianinsaval »

wsteffe wrote: Tue Mar 21, 2023 7:48 pm Do you really need a tag to see that there is more than one solid ? If so I think you have a serious problem.
there are multiple situations where it would not be obvious on plain sight that the body has multiple solids, a way to easily identify this is a valid and sensible request.
wsteffe
Posts: 445
Joined: Thu Aug 21, 2014 8:17 pm

Re: #4828 PartDesign: inverse for pocket

Post by wsteffe »

adrianinsaval wrote: Tue Mar 21, 2023 8:01 pm here are multiple situations where it would not be obvious on plain sight that the body has multiple solids
Ok could be not so evident when you open a document with several bodies which was prepared by another person.
If it was made by yourself you should have noticed the solilds when working in that body.

But why should be so important to signal this situation ?

A not closed sketch is different. It is signaled because, most of the time, a sketch is used in a pad, in a sweep, or in other feature requiring a closed profile.

What's the problem in a body with more than one solid ? (apart of the sensibility of people concerned with the English dictionary)
Post Reply