[Feature request] Selection behaviour - more advanced options

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
mfro
Posts: 663
Joined: Sat Sep 23, 2017 8:15 am

Re: [Feature request] Selection behaviour - more advanced options

Post by mfro »

while some of the proposed selection extensions might be useful at times, I do miss one particular thing (that already the very first CAD application I came in contact with decades ago supported): cycling through the list of elements under the mouse cursor. In any non-trivial design, you always meet the situation where you have multiple objects within pick radius. And (probably with heavy support by Mr. Murphy), you'll usually get the wrong one first try.

With FreeCAD, you have to deselect the (wrongly) selected element, zoom in to reduce the number of choices and try again.

With the mentioned long gone CAD system from the 80s (ICEM DDN if someone old enough to remember), you didn't need to deselect, but just pressed CTRL and picked again same place which selected the next possible choice. You could even do that multiple times to "rotate" through all the objects under the cursor. Instead of a mouse click, you could also press P, C, L (and other keys I don't remember) if you wanted a particular element type from the list of choices (Point, Circle, Line, ...) and the system would filter out these.

I have no idea how difficult that would be to implement, but that's probably the most missed functionality in FreeCAD for me personally.
Cheers,
Markus
Hologram
Posts: 201
Joined: Thu Nov 03, 2022 3:05 pm

Re: [Feature request] Selection behaviour - more advanced options

Post by Hologram »

@mfro That's indeed a good point.

There are two ways to approach this:
1. By using the already available selection preview and a shortcut (usually this is Tab) to go to the next possible option.
Tab through .gif
Tab through .gif (97.6 KiB) Viewed 1053 times
2. Open a pop-up window when there are multiple objects below the cursor's pick radius.
Pop-up.gif
Pop-up.gif (181.36 KiB) Viewed 1053 times
I find solution 1. more streamlined, because you don't have to move your mouse. But, with 4+ options, solution 2. may be quicker (though you still have to hover over each to see which one is which).

The 3rd thing you touch upon is known as selection filters. Essentially, these could work like the snaps toolbar, where you enable/ disable the selection filter altogether or you specify that you only want to select lines, edges, faces, vertices, markers, etc.
drmacro
Veteran
Posts: 8867
Joined: Sun Mar 02, 2014 4:35 pm

Re: [Feature request] Selection behaviour - more advanced options

Post by drmacro »

mfro wrote: Thu Feb 02, 2023 11:52 am while some of the proposed selection extensions might be useful at times, I do miss one particular thing (that already the very first CAD application I came in contact with decades ago supported): cycling through the list of elements under the mouse cursor. In any non-trivial design, you always meet the situation where you have multiple objects within pick radius. And (probably with heavy support by Mr. Murphy), you'll usually get the wrong one first try.

...
I have, on several occasions of threads on this topic, noted that the behaviour you describe is used quite nicely in KiCAD. When you click, and there are multiple possibilities, it pops a list of entities under the click for you to decide which it should select.

This is particularly useful when you want, say multiple concentric circles that are constrained to a particular vertex. At this point, unless you take specific action, they are constrained in a stacked manor. Thus it you have 3 circles constrained and remove the second, the 3rd is no longer constrained.
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
Hologram
Posts: 201
Joined: Thu Nov 03, 2022 3:05 pm

Re: [Feature request] Selection behaviour - more advanced options

Post by Hologram »

The example I showed from Rhino also tells the name of the input geometry in the dropdown as well as its layer (useful in the draft and BIM workbench). But with only few (up to 3) geometries under the cursor I find it quicker to just hit Tab twice and look at the selection outline than processing the list with geometries AND the selection outlines (and the associated mouse movements).

To me it really depends on the geometry in question what the optimal approach is. For instance with only one edge or only one face and a bunch of lines, it is easy to select the exception in the dropdown list. But when the layers are the same and geometry types are too, it makes the list less insightful (toggling the selected object by hotkey is then much quicker).
User avatar
mfro
Posts: 663
Joined: Sat Sep 23, 2017 8:15 am

Re: [Feature request] Selection behaviour - more advanced options

Post by mfro »

Hologram wrote: Thu Feb 02, 2023 8:53 pm The example I showed from Rhino also tells the name of the input geometry in the dropdown as well as its layer (useful in the draft and BIM workbench). But with only few (up to 3) geometries under the cursor I find it quicker to just hit Tab twice and look at the selection outline than processing the list with geometries AND the selection outlines (and the associated mouse movements).
...
Yes. That's what I thought as well when KiCAD was mentioned: the popup only helps when there is something meaningful to display. KiCAD can do that most of the time as objects in KiCAD usually have (signal) names which will help to identify what is what. With mechanical CAD model, you basically just have the choice between several (unnamed) curves/objects which doesn't help much and just highlighting the current selection is probably more helpful.
Cheers,
Markus
drmacro
Veteran
Posts: 8867
Joined: Sun Mar 02, 2014 4:35 pm

Re: [Feature request] Selection behaviour - more advanced options

Post by drmacro »

mfro wrote: Fri Feb 03, 2023 7:01 am
Hologram wrote: Thu Feb 02, 2023 8:53 pm The example I showed from Rhino also tells the name of the input geometry in the dropdown as well as its layer (useful in the draft and BIM workbench). But with only few (up to 3) geometries under the cursor I find it quicker to just hit Tab twice and look at the selection outline than processing the list with geometries AND the selection outlines (and the associated mouse movements).
...
Yes. That's what I thought as well when KiCAD was mentioned: the popup only helps when there is something meaningful to display. KiCAD can do that most of the time as objects in KiCAD usually have (signal) names which will help to identify what is what. With mechanical CAD model, you basically just have the choice between several (unnamed) curves/objects which doesn't help much and just highlighting the current selection is probably more helpful.
The point was how KiCAD does it and that when you don't want stacked coincidents you need to take extraordinary measures to get around it. Where if it was a list of what was within a click radius would make it pretty easy. (rolling over list could highlight the items).

The other new-ish thing that has been added is the selection of vertexes in the Combo view. It does allow ctrl clicking for multiple selections, but currently does not highlight correctly all vertexes selected. This functionality needs some expansion. @paddle @abdullah is there any plans for additional functionality on this? Just curious.
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
ngocminhdao88
Posts: 73
Joined: Wed Nov 11, 2020 10:43 am

Re: [Feature request] Selection behaviour - more advanced options

Post by ngocminhdao88 »

In RT version you can pickup elements under mouse cursor by pressing g,g.

The logic is there. Maybe some one with coding skill can port this function to vanilla FreeCAD
Attachments
freecad_rt_pick_elements.png
freecad_rt_pick_elements.png (27.15 KiB) Viewed 714 times
Hologram
Posts: 201
Joined: Thu Nov 03, 2022 3:05 pm

Re: [Feature request] Selection behaviour - more advanced options

Post by Hologram »

ngocminhdao88 wrote: Fri Feb 03, 2023 12:11 pm In RT version you can pickup elements under mouse cursor by pressing g,g.

The logic is there. Maybe some one with coding skill can port this function to vanilla FreeCAD
Or maybe @realthunder would be interested in submitting the feature to master?
Hologram
Posts: 201
Joined: Thu Nov 03, 2022 3:05 pm

Re: [Feature request] Selection behaviour - more advanced options

Post by Hologram »

Window selecting constraints would also help, where applicable. Imagine a constraint selection filter as opposed to looking for the constraints in the Comboview list > Constraints. Sometimes, the physical location of a constraint helps to be very specific on which ones you want to delete, while also being easy to perform.

E: The External Geometry tool in the sketcher workbench would really benefit form this. When I create sketches from Draft workbench curves and the draft workbench curves are still visible, the External Geometry tool won't accept my clicks unless I hide the Draft workbench curves.
Post Reply