View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000462 | Sketcher | Feature | public | 2011-11-01 11:57 | 2014-12-26 18:21 |
Reporter | tilas | Assigned To | |||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | closed | Resolution | fixed | ||
Target Version | 0.13 | Fixed in Version | 0.14 | ||
Summary | 0000462: Sketcher: allow box selection | ||||
Description | currently the selection works only by sequential clicking on the entities. It would be very helpful to allow a box selection of multiple entities. | ||||
Tags | No tags attached. | ||||
FreeCAD Information | |||||
|
Will be implemented for 0.13 |
|
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. |
|
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 |
|
> 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. |
|
>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 |
|
@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. |
|
> 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. |
|
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. |
|
> 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. |
|
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. |
|
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. |
|
First implementation done. Needs tweaks and testing - see forum post. Can be tested through my git branch: https://github.com/mrlukeparry/freecad/tree/sketcher |
|
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. |
|
Shouldn't this be closed? |
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 |
|
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 |