visual feedback for multiple edge selection not working.

Here's the place for discussion related to CAM/CNC and the development of the Path module.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
freman
Veteran
Posts: 2214
Joined: Tue Nov 27, 2018 10:30 pm

visual feedback for multiple edge selection not working.

Post by freman »

Hi,

I've just updated to qt5 build of master from my old qt4 build that was a couple of months old. One of the first things I noticed is that multiple edge selection is not correctly shown in the 3D view.

For example with 'profile based on edges' tool or engraving tool, I am used to holding down cntl key and clicking on several edges to select them. Usually this shows them all in green as the group increases, with a hover colour of yellow. Now I only see the first one indicated in green.

They have been selected as I intended as I can see from the base geometry of the path tool, but visual feedback while selecting seems missing.

Selection in Sketcher seems normal , so I'm concluding this is Path issue.

Is this a known issue?



OS: Fedora 31 (Thirty One) (LXDE/LXDE)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.18504 (Git)
Build type: Release
Branch: (HEAD detached at origin/master)
Hash: f66023a646db4b2502bb3637897443b3525ca3c7
Python version: 3.7.5
Qt version: 5.12.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/United Kingdom (en_GB)


mlampert
Veteran
Posts: 1772
Joined: Fri Sep 16, 2016 9:28 pm

Re: visual feedback for multiple edge selection not working.

Post by mlampert »

Just tried and it works for me. I tried pre-selection and task-panel selection.

Code: Select all

OS: Debian GNU/Linux bullseye/sid (LXQt//usr/share/xsessions/lxqt)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.18733 (Git)
Build type: Debug
Branch: master
Hash: 2637280c1d2cb48e7cd946fa9f2484467edd8b0c
Python version: 3.7.5
Qt version: 5.12.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/Canada (en_CA)
User avatar
freman
Veteran
Posts: 2214
Joined: Tue Nov 27, 2018 10:30 pm

Re: visual feedback for multiple edge selection not working.

Post by freman »

thanks, what are you meaning by task-panel selection?
herbk
Veteran
Posts: 2660
Joined: Mon Nov 03, 2014 3:45 pm
Location: Windsbach, Bavarya (Germany)

Re: visual feedback for multiple edge selection not working.

Post by herbk »

Here it works to

OS: openSUSE Leap 15.1 (KDE//usr/share/xsessions/plasma5)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.18694 (Git) AppImage
Build type: Release
Branch: master
Hash: c3ba04183e016e15410d84bae4d00556d22c7da5
Python version: 3.7.3
Qt version: 5.12.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: German/Germany (de_DE)
Gruß Herbert
mlampert
Veteran
Posts: 1772
Joined: Fri Sep 16, 2016 9:28 pm

Re: visual feedback for multiple edge selection not working.

Post by mlampert »

freman wrote: Fri Nov 15, 2019 8:43 pm thanks, what are you meaning by task-panel selection?
I wasn't quite sure how to put that - I meant selecting edges while the ProfileEdge task panel is open.
User avatar
freman
Veteran
Posts: 2214
Joined: Tue Nov 27, 2018 10:30 pm

Re: visual feedback for multiple edge selection not working.

Post by freman »

mlampert wrote: Fri Nov 15, 2019 8:57 pm
freman wrote: Fri Nov 15, 2019 8:43 pm thanks, what are you meaning by task-panel selection?
I wasn't quite sure how to put that - I meant selecting edges while the ProfileEdge task panel is open.
OK, that seems like what I was referring to by " base geometry of the path tool " . The selection mechanism works once I hit the "Add" button, so I know the edges were selected as I intended. It's just that I only see the first edge selected in the 3D view as indicated by a colour change.

Since all three of us are using qt 5.12.5 it seems a little odd we are apparently seeing different results. I was getting normal selection indication in the 3Dview under qt4, so this is all a bit odd.
mlampert
Veteran
Posts: 1772
Joined: Fri Sep 16, 2016 9:28 pm

Re: visual feedback for multiple edge selection not working.

Post by mlampert »

I noticed that too - even weirder that it works in the sketcher. On top, Path doesn't actually interfere with the 3d view - unless you select a base geometry in which case it sets the selection in the 3d view, which doesn't seem the case for you.

The only theory I can come up with is that maybe your camera position hides the selection. Can you post your file and maybe note which edges you select in which order?
User avatar
freman
Veteran
Posts: 2214
Joined: Tue Nov 27, 2018 10:30 pm

Re: visual feedback for multiple edge selection not working.

Post by freman »

sure, I knocked up a trivial demo file of a block.
Take for example TOP view in 3D.
Once I hide Body and make Model-body visible in the combo-view, I see the selection problem. Select say, left edge, then hover top edge ( yellow ) , click top edge ( stays yellow ) take mouse away , goes black as an unselected edge is.

Contrariwise flip the visibilities and work on Body and the second and subsequent edges go green when selected.

Maybe I have false recollections of how qt4 was working or have an incorrect expectation. Maybe this will be a more concrete example to compare results.

thx.
Attachments
deburr-box.FCStd
(17.39 KiB) Downloaded 16 times
mlampert
Veteran
Posts: 1772
Joined: Fri Sep 16, 2016 9:28 pm

Re: visual feedback for multiple edge selection not working.

Post by mlampert »

freman wrote: Fri Nov 15, 2019 10:05 pm Maybe I have false recollections of how qt4 was working or have an incorrect expectation. Maybe this will be a more concrete example to compare results.
Finally remembered to look at your file, seems to be fine for my system:
deburr-box.gif
deburr-box.gif (154.95 KiB) Viewed 608 times
All I did was edit the Deburr op and remove all existing entries from "Base Geometry" before the recording. Then I'm pressing the left Ctrl key after selection of the first edge while selecting the remaining three edges.

Code: Select all

OS: Debian GNU/Linux bullseye/sid (LXQt//usr/share/xsessions/lxqt)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.18754 (Git)
Build type: Debug
Branch: master
Hash: a5019828cf263ccdec3b6885f845b1ab1c35ac11
Python version: 3.7.5
Qt version: 5.12.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: C/Default (C)
User avatar
freman
Veteran
Posts: 2214
Joined: Tue Nov 27, 2018 10:30 pm

Re: visual feedback for multiple edge selection not working.

Post by freman »

thanks. This is strange. I don't seem to be able to get the problem on this file any more. There must be some other factor involved which I'm missing.
However, if it go back to the real part where I originally had the problem it's still there.

New file attached.

If this opens in the same state as I saved it, it should be in PathWB and have Model-body selected in the combo-view and Top in the 3dView, with the part at 45 degrees.

If I try to selected any two edges with the mouse in the 3dView , only first one gets highlight in green. For the sake of a concrete example, try selecting the inner and outer edges of the chamfer on one of the holes.

Ah, I think I've got it. Going back to the rectangular block. I select model-body in combo view: this selects it in 3dView. Now, if I click the face in 3DView, it selects in green ( only the face, expected ). Now if I select one edge with mouse it gets selected and the face is deselected ( expected ). At this point I am unable to select a second edge using control key and mouse.

In fact , as initially reported, it is selected since if I apply a path the group of edges is used, and I can see in python console Gui.Selection.addSelection called on the relevent edges.

It is just visual indication of multiple selection which is not showing.

At this point I have both files ( and only these files ) open in FC. I flipped to the rectangular block and cleared the python console. Here is the console output of a series of operations which produces the error condition.

Python 3.7.5 (default, Oct 17 2019, 12:16:48)
[GCC 9.2.1 20190827 (Red Hat 9.2.1-1)] on linux
Type 'help', 'copyright', 'credits' or 'license' for more information.
>>> # Gui.Selection.clearSelection()
>>> # Gui.Selection.addSelection('deburr_box','Deburr')
>>> # Gui.Selection.clearSelection()
>>> # Gui.Selection.addSelection('deburr_box','Clone')
>>> # Gui.Selection.clearSelection()
>>> # Gui.Selection.addSelection('deburr_box','Clone','Edge7',-30,9.18058,0)
>>> # Gui.Selection.addSelection('deburr_box','Clone','Edge10',-21.0167,30,0)
>>>
Attachments
selection-problem-complex.FCStd
(272.55 KiB) Downloaded 15 times
Post Reply