PartDesign Fillet tool

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!
User avatar
paddle
Veteran
Posts: 1392
Joined: Mon Feb 03, 2020 4:47 pm

PartDesign Fillet tool

Post by paddle »

If you follow the intended workflow for fillet it works great :
- Select all your edges.
- Start the tool.
- Set the angle.
It's smooth. But that's if you follow the intended workflow of selection THEN tool with no error.

So some cases where it sucks :
- Many people would instinctly want to first launch the tool, then select the edges. Which now is not possible.

- If you want to fillet a lot of edges, selecting them first put you at risk of misclicking and loosing your selection.

- If you want to modify the selection, you have a 'Add' button and a 'Remove' button which are bad. User don't know if clicking remove is going to remove what he selected in the listView or what.
The Add button enters a 'Add things mode by clicking on 3DView' and the remove button enters a 'Remove things by clicking on 3dview'.
If you want to add an edge and you misclick a face. Then you need to change mode by clicking the delete button, then clicking back to add.
Why don't we have only one 'Select' button that Add or Remove depending on if the item is already selected or not? So if you misclick a face, you just click it again to unselect it.

So my suggestion here :
- Replace Add and Remove by one 'Selection mode' button that allows both add and remove.
- Allow the tool to launch without selection. Then it launches in 'Selection mode' (as no preview are available obviously).

- If it is doable : Show the edges and the fillet preview at the same time. This way the user can select/deselect and see the result at the same time. So no need for a 'Selection mode' button anymore.
chrisb
Veteran
Posts: 53920
Joined: Tue Mar 17, 2015 9:14 am

Re: PartDesign Fillet tool

Post by chrisb »

This selection process is indeed rather cumbersome (although much better than it used to be).
The selection workflow in Path workbench when editing BaseGeometry seems to be comfortable and intuitive to me.

Concerning showing of edges and preview at the same time: It would be great if a preview could be shown in the same light yellow/red color as lofts and sweeps. However, this may become difficult, when additive and subtractive chamfers occur in the same fillet.

Besides: all this holds for chamfers as well.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Haavard
Posts: 217
Joined: Wed Feb 17, 2021 10:48 pm

Re: PartDesign Fillet tool

Post by Haavard »

paddle wrote: Tue Mar 21, 2023 12:45 pm - Many people would instinctly want to first launch the tool, then select the edges. Which now is not possible.
- If you want to fillet a lot of edges, selecting them first put you at risk of misclicking and loosing your selection.
Agree, i would very much prefer to first select fillet, change radius and then start to pick edges.
paddle wrote: Tue Mar 21, 2023 12:45 pm - Replace Add and Remove by one 'Selection mode' button that allows both add and remove.

- If it is doable : Show the edges and the fillet preview at the same time. This way the user can select/deselect and see the result at the same time. So no need for a 'Selection mode' button anymore.
That would be great, link branch has this i think.
User avatar
adrianinsaval
Veteran
Posts: 5541
Joined: Thu Apr 05, 2018 5:15 pm

Re: PartDesign Fillet tool

Post by adrianinsaval »

Great proposal, about showing preview and selection at the same time, I believe realthunder has this already implemented, I think that could be a secondary goal to be achieved at a later time, right now I think it's most desirable to first fix it so that we can select and deselect in the same mode and make it so that we can have empty selection. Obviously this also applies to chamfer but initial implementation can be limited to one and then when it's in good state (reviewed and accepted) it can be just copied over to chamfer and later other PD dialogs with the Add and Remove buttons.
User avatar
adrianinsaval
Veteran
Posts: 5541
Joined: Thu Apr 05, 2018 5:15 pm

Re: PartDesign Fillet tool

Post by adrianinsaval »

Haavard wrote: Tue Mar 21, 2023 2:45 pm Agree, i would very much prefer to first select fillet, change radius and then start to pick edges.
This! it is specially interesting in cases where the default fillet size would lead to error, which makes it cumbersome because on first launch it'll always fail first.

Now I'm kinda going off topic but another extended goal that could be nice for later is to implemente a selection mode like is for example available in cfdOf
Captura de pantalla 2023-03-21 134842.png
Captura de pantalla 2023-03-21 134842.png (9.26 KiB) Viewed 731 times
for part design there would be no need to select the object itself since it'll always be the base feature, but it could be nice to have a list with faces and edges maybe, this could help with selecting elements that are hard to reach with the mouse.
User avatar
paddle
Veteran
Posts: 1392
Joined: Mon Feb 03, 2020 4:47 pm

Re: PartDesign Fillet tool

Post by paddle »

adrianinsaval wrote: Tue Mar 21, 2023 4:36 pm Great proposal, about showing preview and selection at the same time, I believe realthunder has this already implemented, I think that could be a secondary goal to be achieved at a later time, right now I think it's most desirable to first fix it so that we can select and deselect in the same mode and make it so that we can have empty selection. Obviously this also applies to chamfer but initial implementation can be limited to one and then when it's in good state (reviewed and accepted) it can be just copied over to chamfer and later other PD dialogs with the Add and Remove buttons.
So. Right now I managed to merge Add and Remove buttons for all Fillet/draft/thickness/chamfer. It feels much better.

Now I'm trying to enable empty selection for the fillet. This has several steps :
A - Remove protections in the taskboxes : this is easy, but when you remove the last edge, the feature fails to compute.
B - Make the command able to start with no selection by creating an empty fillet feature: that's where I am at.
C - Make it possible for the fillet features to be empty without failing.

Do you know who might have some useful input on this ?
User avatar
adrianinsaval
Veteran
Posts: 5541
Joined: Thu Apr 05, 2018 5:15 pm

Re: PartDesign Fillet tool

Post by adrianinsaval »

IIRC @uwestoehr is the one that made those and forbid removing all edges from selection because freecad crashed

I believe the problem is that freecad is always trying to perform the fillet from the selection list and passes this to occt without checking if the list is empty, then crashes because occt just bails out when given the empty list instead of raising an exception. Forcing a mnimal selection always felt like a hacking solution to me, I think freecad should check if the list is empty before calling the occt command and skip it if the list is empty.

probably this should be done somewhere at src/Mod/PartDesign/App/FeatureFillet.cpp or src/Mod/PartDesign/App/FeatureDressUp.cpp
User avatar
paddle
Veteran
Posts: 1392
Joined: Mon Feb 03, 2020 4:47 pm

Re: PartDesign Fillet tool

Post by paddle »

adrianinsaval wrote: Tue Mar 21, 2023 5:14 pm IIRC @uwestoehr is the one that made those and forbid removing all edges from selection because freecad crashed

I believe the problem is that freecad is always trying to perform the fillet from the selection list and passes this to occt without checking if the list is empty, then crashes because occt just bails out when given the empty list instead of raising an exception. Forcing a mnimal selection always felt like a hacking solution to me, I think freecad should check if the list is empty before calling the occt command and skip it if the list is empty.

probably this should be done somewhere at src/Mod/PartDesign/App/FeatureFillet.cpp or src/Mod/PartDesign/App/FeatureDressUp.cpp
Thanks.
I agree there is probably no reason the list could not be empty. If occ doesn't like the empty list we could prevent calling it at freecad level. I'll dig.
Last edited by paddle on Tue Mar 21, 2023 7:32 pm, edited 1 time in total.
chrisb
Veteran
Posts: 53920
Joined: Tue Mar 17, 2015 9:14 am

Re: PartDesign Fillet tool

Post by chrisb »

adrianinsaval wrote: Tue Mar 21, 2023 4:36 pm right now I think it's most desirable to first fix it so that we can select and deselect in the same mode and make it so that we can have empty selection.
That should probably be a separate step. Uwe has implemented the current selection mechanism and found it too difficult to implement, so it sure is not an easy task. The other things proposed seem to be independent from this.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
paddle
Veteran
Posts: 1392
Joined: Mon Feb 03, 2020 4:47 pm

Re: PartDesign Fillet tool

Post by paddle »

It worked. Now time to polish and test each tool.
Post Reply