View Issue Details

IDProjectCategoryView StatusLast Update
0000462SketcherFeaturepublic2014-12-26 18:21
ReportertilasAssigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Product Version 
Target Version0.13Fixed in Version0.14 
Summary0000462: Sketcher: allow box selection
Descriptioncurrently the selection works only by sequential clicking on the entities. It would be very helpful to allow a box selection of multiple entities.
TagsNo tags attached.

Relationships

has duplicate 0001206 closed FreeCAD Sketcher select tool (hand with pointing finger) 
child of 0000353 closedJriegel FreeCAD Graphical selection 

Activities

wmayer

2011-11-01 13:03

administrator   ~0001207

Will be implemented for 0.13

mrlukeparry

2012-06-12 21:45

developer   ~0002190

Seems like a nice feature. I'm just wondering if anyone has any ideas on implementing this?

Also what behaviour would people expect?

I was thinking that possibly SoExtSelection can be used with a mouse selection.

pperisin

2012-06-13 05:51

reporter   ~0002192

Small comment:

1 - usually other tools have box selection in a way - when you do it from left to right, it takes only objects fully inside box. If you do it from right to left, it selects all objects touching the box.

2 - maybe there should be selection checkboxes for this - ability to select only geometry and only constraints, or both - they can be in the tasks panel - filtering for selection.

Regards
Petar

wmayer

2012-06-13 07:21

administrator   ~0002193

> 1 - usually other tools have box selection in a way - when you do it from left to right, it takes only objects fully inside box. If you do it from right to left, it selects all objects touching the box.

I'm not a friend of such hidden functionalities and I don't think that this is a common way across many CAD applications. It's definitely better to offer a check-box.

> I was thinking that possibly SoExtSelection can be used with a mouse selection.
Please do not use this SoExtSelection class. It has a major drawback that for every little mouse move it forces to redraw the whole scene. Even for rather small scenes you'll notice a certain slow-down.

In FreeCAD we have a much more effective way of doing this. There is already a general box selection command (StdBoxSelection) and you can copy most of the code there. You only have to adjust the callback function to your needs.

pperisin

2012-06-13 08:05

reporter   ~0002194

>I'm not a friend of such hidden functionalities and I don't think that this is a common way across many CAD applications. It's definitely better to offer a check-box.

Personally, I do not like them either. But, when I work, sometimes I want selection only objects within box, and sometimes all touching it. I do not know about a lot of 3D tools and how do they do it, but if it is made CB, IMO it could not be in preferences or some hidden dialog, since this is changed a lot.

Also, when working with tools that left-righ & right-left - sometimes i did not like it either - sometimes I wanted to do selection left-right - but to include all objects touching box, and it could not be done.

So maybe one more suggestion - currently CTRL is used to select multiple geometries together. I do not see what shift is used for? maybe Shift+box can select all objects touching the box, and regular box would select all objects fully within it (or vice-versa). I know this is still little bit "hidden", but it is a compromise since IMO it allows easier use.

Regards,
Petar

mrlukeparry

2012-06-13 08:58

developer   ~0002195

@wmayer that's really useful.

I am still unsure of the behaviour. Should the user click a toolbar button to initialise the selection or can I assume the standard behaviour where if you click and drag on the background the selection box will be created using parameters or probably better having a short cut key like CTRL / SHIFT. I think having a toolbar button slows workflow.

wmayer

2012-06-13 12:59

administrator   ~0002197

> Personally, I do not like them either. But, when I work, sometimes I want selection only objects within box, and sometimes all touching it. I do not know about a lot of 3D tools and how do they do it, but if it is made CB, IMO it could not be in preferences or some hidden dialog, since this is changed a lot.

When we're in box-selection mode we can also offer a short text (and an image) in the task panel what the modes are doing. At least we have to make it obvious to the user how things are working.

> I am still unsure of the behaviour. Should the user click a toolbar button to initialise the selection or can I assume the standard behaviour where if you click and drag on the background the selection box will be created using parameters or probably better having a short cut key like CTRL / SHIFT. I think having a toolbar button slows workflow.

From user point of view it's faster and nicer to do box-selection automatically. But you have to be aware when doing the box-selection, e.g:
1. if you click on an item and drag it you should do no box-selection
2. if an item is selected and the user clicks on an empty space to unselect everything you shouldn't do a box-selection either.
There might be other cases, too.

pperisin

2012-06-14 19:33

reporter   ~0002201

Last edited: 2012-06-14 19:35

but those two things you are talking about, can they be solved in this way:

if user presses LMB and releases it, while cursor is not moves, selection (cursor on object) or unselection (cursor on empty space) is executed.

if user presses LMB and keeps it pressed, mouse move executes box selection, and LMB release - releases it. I did not work with a lot of tools, but those that I have usually worked this way.

Regards
Petar

EDIT: Of course, this would work only for CAD navigation. other navigations systems can not work this way, but probably something can be thought for them. I can try to think of something for others.

wmayer

2012-06-15 06:57

administrator   ~0002203

> if user presses LMB and keeps it pressed, mouse move executes box selection, and LMB release - releases it. I did not work with a lot of tools, but those that I have usually worked this way.
No, that's not fully correct because it hurts 1.) because a user might want to drag an item. So, box-selection should only be done if the mouse press doesn't pick an item.

pperisin

2012-06-15 07:34

reporter   ~0002204

I did not know you can move parts like that. I tried now and failed. Is this to-be-implemented, or is it something bad on my PC? Only movement I can do is from combo view, and in draft WB using draft move.

faosf

2012-06-17 17:40

reporter   ~0002214

In AutoCAD if the selection box is drawed from the upper left to the lower right only entities which are fully within the box are selected. When the selection box is drawed from the lower right to the upper left all entities within and which just "touches" the selection box are selected.

This is a very useful feature, I would like to see this also in FreeCAD.

mrlukeparry

2012-06-23 05:38

developer   ~0002234

First implementation done. Needs tweaks and testing - see forum post.

Can be tested through my git branch:
https://github.com/mrlukeparry/freecad/tree/sketcher

wmayer

2013-04-27 16:49

administrator   ~0003117

Original box selection has been implemented with this commit: http://sourceforge.net/p/free-cad/code/ci/e7ca7631fec82e481c94190d4474d757d04edeb5/

This implementation causes a lot of flickering and makes the selection very slow because of a redraw for every mouse move.

https://sourceforge.net/p/free-cad/code/ci/9f0b1ac66e6a91964848d81b1c8db5c7779349f2/
improves performance a lot by avoiding the complete scene redraws. Instead for every mouse move the old rectangle is overpainted before painting the new one.

normandc

2014-02-09 16:28

manager   ~0004176

Shouldn't this be closed?

Issue History

Date Modified Username Field Change
2011-11-01 11:57 tilas New Issue
2011-11-01 13:03 wmayer Note Added: 0001207
2011-11-01 20:33 yorik Relationship added child of 0000353
2011-11-03 17:12 logari81 Summary allow box selection in sketcher => Sketcher: allow box selection
2011-11-05 23:02 wmayer Target Version => 0.13
2011-11-21 09:18 Jriegel Status new => acknowledged
2012-05-05 18:31 yorik Project FreeCAD => Sketcher
2012-06-12 21:45 mrlukeparry Note Added: 0002190
2012-06-13 05:51 pperisin Note Added: 0002192
2012-06-13 07:21 wmayer Note Added: 0002193
2012-06-13 08:05 pperisin Note Added: 0002194
2012-06-13 08:58 mrlukeparry Note Added: 0002195
2012-06-13 12:59 wmayer Note Added: 0002197
2012-06-14 19:33 pperisin Note Added: 0002201
2012-06-14 19:35 pperisin Note Edited: 0002201
2012-06-15 06:57 wmayer Note Added: 0002203
2012-06-15 07:34 pperisin Note Added: 0002204
2012-06-17 17:40 faosf Note Added: 0002214
2012-06-23 05:38 mrlukeparry Note Added: 0002234
2013-04-27 16:49 wmayer Note Added: 0003117
2013-09-21 11:18 wmayer Relationship added has duplicate 0001206
2014-02-09 16:28 normandc Note Added: 0004176
2014-12-26 18:21 normandc Status acknowledged => closed
2014-12-26 18:21 normandc Resolution open => fixed
2014-12-26 18:21 normandc Fixed in Version => 0.14