Wish: Loose lock! Allow selecting of locked objects

I would love to see a new option in Rhino that lets me select or extract edges or surfaces from locked objects or objects of locked layers. This way, the original locked object will remain intact, but with the added benefit that the user could still use it as a reference to extract sub-object geometry or edges, or match its properties and transfer them to unlocked objects without the need to unlock it preliminary. Not to mention that this will heavily reduce the need to often reach the Layers panel to lock or unlock various objects in the scene.

In fact, any unnecessary unlocking of an important object potentially may lead to its accidental moving, scaling, rotating etc. Having a so-called “Loose lock” will bring the benefits from both Worlds.

Also, add another option to choose whether the “Isolate” command will hide the locked objects or not. Or, the user could take advantage of the “Loose lock” and select even locked objects that he or she wants to isolate, whereas the non-selected locked objects will be hidden during the isolation.

1 Like

How will a command know when you want to select something locked vs not locked? Like a new sub-object select control? A switch in the selection filter and hotkey like ctrl+shift+click to interact with locked objects?

BTW Bobi, I deal with this using a script that’s the reverse of Isolate. I make everything selectable (all layers on/unlocked, all objs show/unlocked), do the quick thing, and then restore back to the previous state. I can never remember if something is locked or hidden via the layer or command.

1 Like

I made a similar request in 2013. Freeze but Use Objects

@Pascal added a YouTrack item but it either was never made public or has been deleted. https://mcneel.myjetbrains.com/youtrack/issue/RH-21136


The idea is to be able to extract sub-objects from locked objects without affecting the position or the properties of the latter.

Imagine that I want to extract a surface which is part of a locked polysurface. I’m forced to figure out which layer I have to unlock (I often work with more than 100-300 layers and sub-layers), then click on the unlock icon, then extract a copy of the desired surface, then lock the layer again. This hassle could be avoided with a so-called “Loose lock” that will enable selecting of a locked object for a limited number of commands, such like: extract surface, offset surface, duplicate edge, offset curve, extrude, match properties, etc).

1 Like

Hi David -

I’ve made that public now. YT items don’t get deleted…

1 Like

+1, It definitely would be helpful.
Maybe a global toggle command where lock becomes “soft” or “full”, so we don’t introduce another type of lock, but rather change how the locked objects behave?



I think that a toggle (based on macro or a dedicated command placed in a button) between both modes would be best. Or at least an option similar to Rhino options > Modeling aids > Snap to locked objects.

By the way, I think that there must be a separate option “Snap to locked mesh objects”, because the performance of Rhino is really bad when the “Vertex” OSnap is active and there is a dense mesh from a 3d scanned object. Turning off the current “Snap to locked objects” option" eliminates the benefit to snap to locked NURBS models. 3d scan data is a whole different geometry type that has its own specifics. This is why it would be better to have a dedicated option for snapping to locked meshes. That will let the user snap to vertices of meshes that are not locked, whereas the locked meshes will be skipped by the OSnap.

1 Like

Having two methods (layer, command) to disable selection, times two types (lock and hide) can lead to a fair bit of frustration on complex files. At the same time, we’re locking and hiding stuff for a reason.

What about some commands that can be used mid command:

_OffserSrf _ShowAllAll...

It could turn on all layers and show all hidden objs (even on locked layers) for the current selection command, then restore the show/hide state.

Same for an UnlockAllAll command, plus a combo of both unlock and show.

That would help me @Rhino_Bulgaria. Does that line up with your needs/wants? I’m having trouble visualizing your proposed work flow, but I’m very interested.

1 Like

What I am proposing is not a definitive solution, but only a method that I use and that, in essence, does something similar to what you propose.
I use the “LayerStateManager” to divide the project into work parts that save me a lot of time, as I can partly avoid remembering which level or sublevel to unlock to work on an object.