Select from Selection (two criteria search)?

Hi to all,

I like to select elements with two criteria and I’m wondering is there a way to “add” new selection on already selected elements?
Any other way?

Appreciated any idea

I already made a similar request some time ago, but seems like the developers of Rhino are not interested…

Workaround is to use invert selection and lock.
Or isolate.
If the locked and hidden objects not allow the next workflow you can save the selection. .
And recall it.
But it s a workaround…

There is a huge problem once the “Isolate” is already in use and the user wants to select a bunch of objects based on two criteria. That makes the “Isolate” tool not usable, because repeating it will hide the rest isolated objects and then the “Unisolate” command will show all objects instead of the previously isolated ones.

As a (risky) workaround I use a secondary “Isolate” script, but there is a catch: If I happen to unisolate with the default “Unisolate” command of Rhino, it loses track which objects to show and literally deletes forever the visibility state of the entire scene. This is why it’s extremely important to remember whether that script is active when unisolating. In this case that must be done with its own “Unisolate” command instead of the default “Unisolate”.
An other problem with using that script is that it will not remember which objects were temporarily hidden during the isolation after the file is saved, closed and then opened again.

Isolate Selection:
_-Invert _-Hide _Pause "TempIsolate" _Enter

Unisolate Selection:
! _-Show "TempIsolate"

Isolate 16x16

Isolate 24x24

Isolate 32x32

IsolateX Rhino 6

Another alternative isolation:

IsolateX Rhino 6.rvb (5.4 KB)
Isolate.rvb (5.4 KB)
Isolate objects.txt (184 Bytes)

my wish - not sure if it fits to this topic or @Rhino_Bulgaria 's topic

I would love to have Namedselection s be more powerful and allow logic operations on selections:

  • remove current selection and select only the named selection.
  • add to current selection (logic or)
  • remove from current selection (logic not)
  • intersect with current (logic and)

this could be very easy implemented:
(double)-click = select only…
right mouse → submenu with all 5 options.

1 Like

I wonder if we could create AND, OR, and NOT commands that could be used to link selection commands together. This would work with all Sel*** commands.

[edit] thinking about this a bit more it might work to have our command parser support prefixing + and - on our Sel*** commands to specify if the commands are adding or removing from the existing set of selected objects.


AND, OR, NOT would be awesome…also adding some text Query Syntax for data based (not geometry) search/select elements (BIM workflows).

Definitely on my wish list:).

Actually, much of this stuff is scriptable, albeit with single-purpose scripts - you can have practically as granular a selection as you like. I have hundreds of such specific selection scripts.

It should even be possible to limit the selection to a specific boundary - although it’s pretty complex, as one needs to first use a SelBoundary type function to limit the objects that can be selected.

However, it would take a fair amount of effort to come up with an ETO dialog with checkboxes for all of the possible criteria…

First, let me say that Rhino has one of the most advanced and detailed way of selecting objects out there based on different criteria, which is really great! At the same time a bit odd that so far it has not been expanded by the ability to use these powerful tools to allow unselecting or selection intersection (sub-set). Currently it can be done manually with CTRL when selecting (deselection) or via scripting - not enough to take full advantage of the selection commands.

Here and there requests for this type of functionality pop up in the Forum (including a few of my own, a lot from @Rhino_Bulgaria, others), for specific tools like SelName, NamedSelections to have ability to add, subtract, intersect selections; same for layer palette to be able to unselect by Layer etc. All of them are valid, just seems like a lot to rework all over the place. While I think @stevebaer idea of extra command is interesting (AND/OR/NOT or ± prefixes) and can solve some or most of the issues, maybe there is an even simpler way?

What if we had two more “Selection” modes: _Unselect and _SelectSubset available as “transparent” commands - once in that mode, we could use all of the selection tools (either manual, commands, dialogs, scripting) until the “mode” was closed by ending the original command?
That could address all of the wishes and ideas at once I think, including ability to macro all of the selection/unselection/sel-intersection combinations and two+ criteria selections…

I made a scripted prototype of the above that I think works quite well and I’ve been using it for a while now, for anyone interested to try: Unselect.rhp (11.5 KB)

It adds the two above commands (Unselect, SelectSubset), and allows to unselect or sub-select objects from original selection with all possible modes, until ended with final “Enter”.

For example, you can do manual unselect/subselect, dialog-based or even have macros like this:

  • Unselect all objects from layers “Layer0” and “Layer1”:
    _Unselect _-SelLayer Layer0 -_SelLayer Layer1 _Enter

  • Unselect all PolySurfaces:
    _Unselect _SelPolysrf _Enter

  • Select only Red curves (2 criteria, can add more if needed):
    _SelCrv SelectSubset -_SelColor _RGBA 255 0 0 0 _Enter

  • Select closed curves on “Layer0”:
    -SelLayer Layer0 SelectSubset SelClosedCrv _Enter

  • Unselect objects by name, using the SelName dialog:
    _Unselect _SelName _Enter

It also makes it easy to enhance some of the selection toolbars by adding unselect/intersect to them, for example with Curves:

You can put this macro for the RMB-click to Unselect curves. The Unselect command also has added functionality that if you hold ALT with final Enter, it acts as SubsetSelect, so that way ALT+RMB-click on that icon will only keep curves from the current selection (I picked ALT since other key combos interact with icon editing)

Limitations of the scripted prototype? Not working with sub-objects and grips. Also no visual indication of the original selection - it is remembered but not highlighted while making the unselect or subset selection.

If this could work, I’d love for RMA to ‘steal’ this idea and implement it without the above limitations (if there was a way, I would keep the original selection as a separate customizable selection color) :slightly_smiling_face: