Proposal: Selection filter

A subforum for research and development of the user interface of FreeCAD

Moderator: agryson

drei
Posts: 464
Joined: Sun May 11, 2014 7:47 pm
Location: Mexico
Contact:

Proposal: Selection filter

Postby drei » Tue Feb 14, 2017 7:00 am

Hi guys,

Explanation:
I've noticed that for complex FreeCAD projects, sometimes selecting a specific object "type" can be quite tricky. For reference Siemens NX (Unigraphics) has the option to only allow certain objects to be selected, which makes life so much easier.

Proposal:
The general idea is to have an unobtrusive dropdown menu with options to pick between:
  • No filter
  • Planes
  • Curves
  • Solid bodies
  • Facet Bodies
  • Faces
  • Edges
  • Points

Image

At this stage, my proposal is shameless ripoff from what I am familiar with. Perhaps someone might come up with a better integration to the current FreeCAD UX.


https://docs.plm.automation.siemens.com/tdoc/nx/10/nx_help#uid:index_selecting_objects:id1271085:selection_bar

https://docs.plm.automation.siemens.com/tdoc/nx/10/nx_help/#uid:selecting_selection_filter_ht
Need help? Feel free to ask, but please read the guidelines first
User avatar
agryson
Posts: 444
Joined: Wed Nov 23, 2016 8:30 am
Location: Paris, France
Contact:

Re: Proposal: Selection filter

Postby agryson » Tue Feb 14, 2017 7:08 am

Photoshop does something similar, allowing one to filter between layers, groups, etc.

I think your suggested list might be a bit too granular, but the idea remains.

Would you or anyone else have the ability/motivation to do this?
drei
Posts: 464
Joined: Sun May 11, 2014 7:47 pm
Location: Mexico
Contact:

Re: Proposal: Selection filter

Postby drei » Tue Feb 14, 2017 7:16 am

I might pick this idea up later in the year (Currently engaged in a couple of activities related to my real life).
I was thinking of implementing a menu with python, and attempt to get some code running with regards to the item selection functions.

If anyone would be willing to start this project before me, feel free to do so.

agryson wrote:I think your suggested list might be a bit too granular, but the idea remains.

By granular do you mean too detailed? I'm not familiar with the expression. Ideally, the dropdown list is dynamic and lists only available filter objects.
For example: in a new document you don't have any filter options, if you create a line in draft WB then you have the option to select points and curves, if you make a block then you can select edges, faces, solids and points.
Need help? Feel free to ask, but please read the guidelines first
User avatar
agryson
Posts: 444
Joined: Wed Nov 23, 2016 8:30 am
Location: Paris, France
Contact:

Re: Proposal: Selection filter

Postby agryson » Tue Feb 14, 2017 7:38 am

drei wrote:By granular do you mean too detailed? I'm not familiar with the expression. Ideally, the dropdown list is dynamic and lists only available filter objects.
Yes, it means too much detail, too low-level. The dynamic list would resolve much of that problem though, I like that approach.
User avatar
microelly2
Posts: 2363
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Proposal: Selection filter

Postby microelly2 » Tue Feb 14, 2017 8:08 am

drei wrote:I might pick this idea up later in the year (Currently engaged in a couple of activities related to my real life).
I was thinking of implementing a menu with python, and attempt to get some code running with regards to the item selection functions.

If anyone would be willing to start this project before me, feel free to do so.


I have worked some time ago in this direction.
The idea was to show/hide prefiltered objects or objects with a common context.
There was a comformtable search dialog too.
I will look for the scripts and post a link. ;)
https://youtu.be/BA8INQ3900A
jnxd
Posts: 116
Joined: Mon Mar 30, 2015 2:30 pm

Re: Proposal: Selection filter

Postby jnxd » Tue Feb 14, 2017 6:38 pm

I have implemented the relevent filters while making the continuous constraint modes, at least at the c++level. Its defined in the Sketchergui namespace so should be usable here too.