[implemented] select several entities at once for fillets

About the development of the Part Design module/workbench. PLEASE DO NOT POST HELP REQUESTS HERE!
User avatar
uwestoehr
Posts: 1353
Joined: Sun Jan 27, 2019 3:21 am

Re: select several entities at once for fillets

Postby uwestoehr » Sun Feb 16, 2020 9:54 pm

uwestoehr wrote:
Sun Feb 16, 2020 8:55 pm
But I just found an issue with it -> fix is on the way.
It is in so if travis (GCC) can compile it, it should be ready.
realthunder
Posts: 1396
Joined: Tue Jan 03, 2017 10:55 am

Re: [implemented] select several entities at once for fillets

Postby realthunder » Mon Feb 17, 2020 2:08 am

Maybe it's too late, but I'd still like to mention about my recent improvement of the general link property editor here. When I develop it, I actually intended it to be reused by other workbenches. The editor dialog is designed to work modeless, so it is possible to embed it inside a task panel.

I don't know why I didn't mention this when you bring out the fillet edge selection problem. It must have slipped my mind, because too many stuffs are going on at the same time.
Try Assembly3 (latest version 0.10.2) along with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
Piero69
Posts: 70
Joined: Thu Jul 04, 2019 1:22 pm

Re: [implemented] select several entities at once for fillets

Postby Piero69 » Mon Feb 17, 2020 8:39 am

will it be implemented in freecad 0.19?
User avatar
uwestoehr
Posts: 1353
Joined: Sun Jan 27, 2019 3:21 am

Re: [implemented] select several entities at once for fillets

Postby uwestoehr » Mon Feb 17, 2020 9:30 pm

Piero69 wrote:
Mon Feb 17, 2020 8:39 am
will it be implemented in freecad 0.19?
Yes. It is already in, only the selection inside the dialog is not yet merged.
User avatar
uwestoehr
Posts: 1353
Joined: Sun Jan 27, 2019 3:21 am

Re: [implemented] select several entities at once for fillets

Postby uwestoehr » Mon Feb 17, 2020 9:32 pm

realthunder wrote:
Mon Feb 17, 2020 2:08 am
Maybe it's too late, but I'd still like to mention about my recent improvement of the general link property editor here.
I don't understand because your patch does not change the behavior of existing PD dialogs. My patch's focus was to improve the dialogs independent of using Link.
User avatar
uwestoehr
Posts: 1353
Joined: Sun Jan 27, 2019 3:21 am

Re: select several entities at once for fillets

Postby uwestoehr » Mon Feb 17, 2020 9:37 pm

vocx wrote:
Sun Feb 16, 2020 5:08 pm
Please help out! Provide comments in the source if you need to. Future programmers will appreciate it!
I already did so (as I once learned it): short description for every void/function what it does and comments to make clear what the code does step by step. Typical commit from me when I add new features: git commit 8ed41869f5b8
realthunder
Posts: 1396
Joined: Tue Jan 03, 2017 10:55 am

Re: [implemented] select several entities at once for fillets

Postby realthunder » Mon Feb 17, 2020 10:25 pm

uwestoehr wrote:
Mon Feb 17, 2020 9:32 pm
I don't understand because your patch does not change the behavior of existing PD dialogs. My patch's focus was to improve the dialogs independent of using Link.
That link editor dialog is not specifically designed to select sub-elements, but it can do it, to some extent. The reason I bring it up is because of the recent talk about selection unification. Anyway, it's a complex topic. Maybe next time.
Try Assembly3 (latest version 0.10.2) along with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
wmayer
Site Admin
Posts: 15471
Joined: Thu Feb 19, 2009 10:32 am

Re: select several entities at once for fillets

Postby wmayer » Wed Feb 19, 2020 11:26 am

uwestoehr wrote:
Mon Feb 17, 2020 9:37 pm
vocx wrote:
Sun Feb 16, 2020 5:08 pm
Please help out! Provide comments in the source if you need to. Future programmers will appreciate it!
I already did so (as I once learned it): short description for every void/function what it does and comments to make clear what the code does step by step. Typical commit from me when I add new features: git commit 8ed41869f5b8
The current behaviour shows a couple of inconsistencies:
  1. In the list box I can select several elements but in the 3d view only one is highlighted
  2. The multi-selection in the list box allows it to click on an item and move the mouse while keeping pressed the mouse button, i.e. I don't have to press Ctrl+mouse click. This leads to a funny situation:
    I can select the last element in the list which highlights the edge in the 3d view. Now I click on the first element and move the mouse to the second last item. In the list box all items than be removed are selected but in the 3d view the edge that won't be touched is highlighted.
  3. Is there a reason why setSelection() is not connected to currentItemChanged() any more but itemClicked()? Before it was possible to select items with the arrow keys and now you must always use the mouse
  4. Currently the feature is recomputed each time an edge is being removed. And even worse: it's recomputed several time when removing several edges in one go.
    For small objects it doesn't harm but for big objects it can. IMO, the feature shouldn't be recomputed automatically at all -- only on user request (e.g. by double-clicking) or on OK/Cancel.
  5. Is this intended behaviour to show the (recomputed) feature when removing an edge?
User avatar
uwestoehr
Posts: 1353
Joined: Sun Jan 27, 2019 3:21 am

Re: select several entities at once for fillets

Postby uwestoehr » Wed Feb 19, 2020 9:33 pm

wmayer wrote:
Wed Feb 19, 2020 11:26 am
[*]In the list box I can select several elements but in the 3d view only one is highlighted
This is by design. I thought about it a lot and the dialog as it is, is the result of playing with it for hours with real-life documents.
I found out it is not helpful to highlight all object in the dialog list but only the one one clicked.
But of course, others might want to highlight all. I designed it so that the dialog selection is about their deletion.

[*]The multi-selection in the list box allows it to click on an item and move the mouse while keeping pressed the mouse button, i.e. I don't have to press Ctrl+mouse click.
As stated, the dialog selection is not about highlighting. Only one item is highlighted. The method you describe is however useful to select multiple items to delete them.

[*]Is there a reason why setSelection() is not connected to currentItemChanged() any more but itemClicked()? Before it was possible to select items with the arrow keys and now you must always use the mouse
With the current solution you can use the arrows to select.

At first I used currentItemChanged() but it annoyed me when playing with real-world files because of this issue:
- open an existing fillet with only one edge
- result: you cannot highlight the single edge because this would only be triggered if the selection is changed. But there is only one item.
Also entering selection mode and leaving it leads to this situation if no further object is added.

Therefore I experimented with itemClicked() and it suited me more. And again, the selection is not about highlighting.

[*]Currently the feature is recomputed each time an edge is being removed. And even worse: it's recomputed several time when removing several edges in one go.
See below, but of course if several objects are deleted, there should only be one computation.

[*]Is this intended behaviour to show the (recomputed) feature when removing an edge?
Yes, because i want to see it directly. In my work i have t deal with objects of several ten fillet edges and sometimes they are not compatible - OCC only does the right thing when I e.g. add one fillet set, then a second one and i need to find out what edges I can fillet at once and what not. By getting the immediate feedback I see what OCC can fillet and what not. So it is often a kind of try and error.
User avatar
uwestoehr
Posts: 1353
Joined: Sun Jan 27, 2019 3:21 am

Re: select several entities at once for fillets

Postby uwestoehr » Wed Feb 19, 2020 9:59 pm

uwestoehr wrote:
Wed Feb 19, 2020 9:33 pm
See below, but of course if several objects are deleted, there should only be one computation.
Here is the fix: https://github.com/FreeCAD/FreeCAD/pull/3083