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 ! _UnisolateLockSelectedcommand, which should let the user select certain objects to remove them from the existing IsolateLock selection. This could be somewhat emulated by running the! _IsolateLockcommand 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: