#4828 PartDesign: inverse for pocket

Post here if you have re-based and finalised code to integrate into master, which was discussed, agreed to and tested in other forums. You can also submit your PR directly on github.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
openBrain
Veteran
Posts: 9034
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: #4828 PartDesign: inverse for pocket

Post by openBrain »

rynn wrote: Thu Sep 16, 2021 8:25 am And… another month gone – frustrating.
Only one month. The conversation barely restarted on a PR of mine that is ... 1.5-year old. :)
Also it looks you messed up your PR by introducing this weird #addonmanager_workers.py# file... :|
rynn
Posts: 454
Joined: Tue Jul 31, 2018 7:00 am

Re: #4828 PartDesign: inverse for pocket

Post by rynn »

openBrain wrote: Thu Sep 16, 2021 8:37 am Also it looks you messed up your PR by introducing this weird #addonmanager_workers.py# file... :|
Ups.
This must have happend during one of the rebases to keep the PR up to date. Fixed.
Thanks for the hint.
user1234
Veteran
Posts: 3319
Joined: Mon Jul 11, 2016 5:08 pm

Re: #4828 PartDesign: inverse for pocket

Post by user1234 »

Hello!

Thanks for working on it! But i know my opinion is not like the most people, but i do not like the how this boolean common (yes, it is a boolean common) is implemented. It breaks (or clutters) the established workflow. It should implemented like a own feature like the other features, see my post https://forum.freecadweb.org/viewtopic. ... 49#p507649. This nested operations is also a thing what i do not like in the branch from RT (no offense!).

Greetings
user1234
rynn
Posts: 454
Joined: Tue Jul 31, 2018 7:00 am

Re: #4828 PartDesign: inverse for pocket

Post by rynn »

user1234 wrote: Thu Sep 16, 2021 10:00 am Thanks for working on it! But i know my opinion is not like the most people, but i do not like the how this boolean common (yes, it is a boolean common) is implemented.
Yes, it’s a boolean common. The same way that pocket is a boolean cut and pad is a boolean union.
It breaks (or clutters) the established workflow.
How? I don’t see it. In my opinion it fits perfectly in PartDesign, it has the same logic as pad and pocket.
It should implemented like a own feature like the other features, see my post https://forum.freecadweb.org/viewtopic. ... 49#p507649.
Maybe, but this might duplicate a lot of code and the toolbars are too full already.
This nested operations is also a thing what i do not like in the branch from RT (no offense!).
openBrain
Veteran
Posts: 9034
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: #4828 PartDesign: inverse for pocket

Post by openBrain »

rynn wrote: Thu Sep 16, 2021 4:09 pm
user1234 wrote: Thu Sep 16, 2021 10:00 am Thanks for working on it! But i know my opinion is not like the most people, but i do not like the how this boolean common (yes, it is a boolean common) is implemented.
Yes, it’s a boolean common. The same way that pocket is a boolean cut and pad is a boolean union.
While it may be true from an implementation point of view, this is absolutely wrong from a user point of view.
One using feature-based editing absolutely do not think in terms of having base shapes and merging them into boolean operations (this is CSG method), but instead think in terms of adding or removing material from the current shape. Hence the current PR perfectly fits.
user1234
Veteran
Posts: 3319
Joined: Mon Jul 11, 2016 5:08 pm

Re: #4828 PartDesign: inverse for pocket

Post by user1234 »

As i said, no popular opinion.
rynn wrote: Thu Sep 16, 2021 4:09 pm How? I don’t see it. In my opinion it fits perfectly in PartDesign, it has the same logic as pad and pocket.
openBrain wrote: Thu Sep 16, 2021 4:13 pm While it may be true from an implementation point of view, this is absolutely wrong from a user point of view.
Yes, but as user i would expect for every base type of boolean operation (Add, Cut, Common (Or, Not, And)) a feature. I never came to the idea for searching that function in the Add or Cut Operation. At least the term "inverse" is misleading, if then something like "common" or similar (the inverse of an Add is a Cut).

Greetings
user1234

edit: missing word
openBrain
Veteran
Posts: 9034
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: #4828 PartDesign: inverse for pocket

Post by openBrain »

user1234 wrote: Thu Sep 16, 2021 4:38 pm Yes, but as user i would expect for every base type of boolean operation (Add, Cut, Common (Or, Not, And)) a feature. I never came to the idea for searching that function in the Add or Cut Operation. At least the term "inverse" is misleading, if then something like "common" or similar (the inverse of an Add is a Cut).
It's not much about popularity, the problem seems to be that you want to work with feature editing tools without using the appropriate paradigms. If you see things with a boolean point of view, use Part and CSG workflow.
In PartDesign, there is only 2 operations : adding or removing material. In this world, the inverse of Add is Sub (additive vs substractive functions).
With a mobile now, but IIRC 'Inverse' isn't used in the PR, but something like 'Remove outside'.
rynn
Posts: 454
Joined: Tue Jul 31, 2018 7:00 am

Re: #4828 PartDesign: inverse for pocket

Post by rynn »

openBrain wrote: Thu Sep 16, 2021 4:58 pm With a mobile now, but IIRC 'Inverse' isn't used in the PR, but something like 'Remove outside'.
It was “Inverse” originaly, now it is “Remove outside of ···” (changed by Adrian)
user1234
Veteran
Posts: 3319
Joined: Mon Jul 11, 2016 5:08 pm

Re: #4828 PartDesign: inverse for pocket

Post by user1234 »

openBrain wrote: Thu Sep 16, 2021 4:58 pm If you see things with a boolean point of view, use Part and CSG workflow.
.....
In PartDesign, there is only 2 operations : adding or removing material. In this world, the inverse of Add is Sub (additive vs substractive functions).
The PartDesign workflow have nothing to with the kind of basic boolean operation, it is the kind how the build tree is built. The tree adds every operation linear (in the same coordinate system, with hand added exceptions maybe) with every kind of boolean and feature operation. Often it only Add and Cut are there for simplifying, but the are not per se spared in the PartDesign workflow.

And i also have seen a company, which added Common feature with macros (and other things, that the behavior is more like FreeCAD). And i must say, that i work with many common operation, because many functional surfaces are not producible in an other way (hydraulic surfaces, maybe yes but with many workarounds) and i want not work with the CSG workflow since it is pretty clumsy and my built trees are pretty big/long. And aslo i need a body because all export parameters links to it (which is very common).


rynn wrote: Thu Sep 16, 2021 5:29 pm It was “Inverse” originaly, now it is “Remove outside of ···” (changed by Adrian)
Not really better, at least i think.

Anyway, thanks!

Greetings
user1234
User avatar
adrianinsaval
Veteran
Posts: 5541
Joined: Thu Apr 05, 2018 5:15 pm

Re: #4828 PartDesign: inverse for pocket

Post by adrianinsaval »

Actually I've been thinking about changing the implementation so it isn't actually a boolean common but a pocket using the complement of the selected face but still haven't found the time to do it. What are the thoughts of others, should this PR be put on hold so that it doesn't become a breaking change in the future?
Post Reply