Wish: Smart object selection

Proposal 1. “Compound region select” which either uses the pre-selected objects as limit for the subsequent selection, or lets the user draw a region (rectangular or circle) to select only certain area of the screen that consists object. Once one of those two actions is completed, the command asks for a subsequent selection which is limited to the pre-selected objects of the ones selected via the region selection. For example, if I have a bunch of objects of different type in some area, I want to be able to region select them and then Rhino will be waiting for a new selection command of my choice to be executed (like “Select by name”, “Select curves” etc).

This is NOT same as the existing ! _IsolateLock command, because the latter will not allow extra objects to be added to the selection once some other objects are already added to the list. Instead, it simply runs the command again to further limit the number of selectable objects from the already limited selected.

There is also no ! _UnisolateLockSelected command, which should let the user select certain objects to remove them from the existing IsolateLock selection. This could be somewhat emulated by running the ! _IsolateLock command again, then select the desired objects, then run the '_Invert command, but it’s more complicated. Of course, a custom made macro probably could be made to mitigate this lacking function in Rhino, but my point is that it’s not present in the program by default.

Another drawback of ! _IsolateLock is the forced use of ! _UnisolateLock after the selection of the necessary objects is completed, otherwise Rhino will not let the user choose any other objects in the scene. In contrast, “Compound region select” will turn off itself once the subsequent selection is completed, making it possible to select any non-locked object in the scene.


Proposal 2. “Filtered select by name” search box in the “Select name” panel ('_SelName) based on selecting all objects whose name consist certain characters. As the name suggests, its purpose is to show the results in the search box while typing, in a similar fashion like the Command line which suggests possible commands. However, it must be able to show results even when typing characters that are not initial. For example, when the user types “in”, Rhino must be smart enough to bring a list with the following names of objects in the scene (assuming they exist there): Rhino, Infrared, Minimal, Chain etc. That is a much needed feature.

I wonder if the developers of Rhino are not interested into making the user experience regarding selection of objects much better, or the aforementioned feature requests were simply ignored due to other reasons that remain a mystery? :slight_smile:

The current selection types are quite limiting and lack the convenience to select objects based on combining two criteria into the same selection command.

The lack of search box in the “Select name” panel is also a huge missing opportunity to make working with Rhino easier.

1 Like

It’s not a bad idea.
It’s up to the Rhino development team with user input to make a guess as to how many users would benefit from it, and how complicated the development effort would likely be.
You have to trust them to make the best decision with everything taken into account.

1 Like

you can select with asterix (placeholder) - this is super powerful:
-_selName *in*

just to link related topics:

This is nowhere as useful as a proper life search box inside the “Select name” pop-up window. The advantage of the former is that it let the user preview the selection in the vertical list of objects and do adjustments before hitting OK (such like adding or removing some objects from/to the selection). Also, the search box allows quick change of the characters included in the object names, hence the selection could vary accordingly depending on the written characters.

As I described in my original post, the main reason for the proposal is to make the object selection more powerful and user-friendly by giving the user convenient ways to select the desired objects from a temporary preliminary selection. Such like doing a region selection of multiple objects, followed by selecting only some of those pre-selected objects (ignoring the rest objects that were not part of the pre-selection) via a secondary criteria.

Maybe some clever macro with lots of _Pause or _Multipause commands inside could be made to run ! _IsolateLock as an initial command that awaits for a secondary type of objects selection (or allows mouse selection in the viewport), then the user selects the desired objects, then hitting the Enter key or the RMB should directly run ! _UnisolateLock to release the previously locked selection for further actions.

Proposal 3: After the primary pre-selection, allow a secondary excluding from the selection. This is the exact opposite of selecting by type, by name, or by any other criteria.

Proposal 4: This is an addition to Proposal 2 from the first post. Adding a dedicated “Invert selection” button inside the “Select name” panel. It will let the user select certain objects, then invert the selection before hitting “OK” to confirm the selection.

Proposal 5: Add a tickbox called “Add” (or “Add to selection”, though this is too long) inside the “Select name” panel. This should be on by default, but the user can turn it off during the selection process. The advantage of this approach is that the user can control whether the new selection will add those objects to an existing selection, or will replace the old selection with the new one.

Proposal 6: Allow right-click context menu (or an icon) to copy the object names marked in the list of objects inside the “Select name” window. It will also help to have a few more options, such like: Select all, Select none, Invert selection.

Example:

Note: To copy the names of already selected objects, simply run the '_SelName command, select all objects and choose “Copy object names”.


That particular feature was also requested in another topic:

I would love to see those 6 proposals becoming a real functionality in Rhino 9. Any intention by the developers to work on them? :slight_smile:

Hi @Rhino_Bulgaria,

I’ve logged some of the wishes, probably missed a few.

https://mcneel.myjetbrains.com/youtrack/issue/RH-82910

– Dale

1 Like

Thanks! Lets hope that these will be released in Rhino 9! :slight_smile:

While we are on this topic, I would like to add some more thoughts.


Being able to copy the name of the selected objects is essential for many industries. Especially if there is an option to store them in the clipboard either as a vertical list with one name per line or separated by commas. Example:

a) Vertical list:
Glass
Wood
Metal
Water
Stone

b) Horizontal list:
Glass, Wood, Metal, Water, Stone

The vertical list is more usable in Microsoft Excel tables or general use in forums, Notepad, Wordpad, Word, etc.

Optionally, the list may contain the number of objects with the same name placed in brackets:

c) Vertical list with object count:
Glass (x2)
Wood (x457)
Metal (x1)
Water (x98)
Stone (x4093)


In my opinion, Rhino should be able to remember the custom size of the “Select name” window during the whole session. It’s really annoying to expand the pop-up window manually every time I run the '_SelName command. I’m forced to repeat that hundreds of times per day, because for some reason it always opens as a short pop-up window that’s just about 1/3 of the actual height of my 4K screen.


There could be a toggle (or a tickbox) inside the “Select object” window named “Ignore Selection filter” that will temporarily ignore the active selection filter. Once the selection via the “Select object” list is made and the pop-up window is closed, the Selection filter returns to its previous state. For example, if I have the Selection filter set to “Curves” only, I would like to be still able to select all objects of certain names through the “Select object” list, including surfaces, polysurfaces, meshes, points etc.


There is a very helpful script that enables selecting of objects with the same name as the currently selected one(s). However, it would help many Rhino users if it becomes a standard RMB command for the '_SelName` icon.

SelSameName.rar (441 Bytes)

Tooltip:
Select objects with same name

Command:
_-RunPythonScript “Your directory\SelSameName.py”