Group lock command..?

I’d like to see an option to lock a group.

So once a series of entities was grouped, you’d optionally be able to call a command to lock them, so that to unlock them would require a specific command.

They don’t behave any differently than if they weren’t locked, except for this condition - ie they require a specific command to unlock them.

We already are able to ungroup the objects, so what is the point? Well what I find is that in a complex model where there are many groups, I often go to move or transform a group, and find it is broken into various parts.

Now how or why this happens I have no idea. Is is very possible that some actions I have taken during the build have caused this, some editing or un-grouping of other groups that are somehow co-related has caused it, or maybe there is ghost in the machine.
Certainly when this happens, there is no way I can trace back through the modeling steps, over weeks or even months to determine the cause.

Ok - so why not use blocks instead?
Well blocks are a more complex arrangement - you have to choose an origin, then there’s the layer the instance its on vs the original, and so on, and to be honest historically blocks have not been faultless in their implementation. I have used them in the past, where their unique properties can be very useful, but the current projects I’m working on do not require them.

Groups are a much more intuitive and easy way to quickly temporarily combine different entities into a convenient arrangement of parts, to be manipulated as one.

But I often want to keep the groups for the life of the project. For example I need a part like an axle, with a hub on one end.
Now to model this is easy from say four or five separate units.
To make these act as one, I’d have to edit or boolean the different entities into one, which is pointless since in the real world where I have to weld these up, they are actually separate parts, and I need to dimension them like that for cutting & fabrication. Or I’d have to make a block, which is too complex in its implementation here.

So how would one recognize these locked groups apart from the fact you couldn’t ungroup them by the existing command?
Well, either you couldn’t, in which case you’d have to check if they were locked by right clicking to see if an unlock command was available, or looking at the properties for the group,
or they would highlight a specific colour when selected, that flagged their locked state.

Not that its a reason for rhino to implement this, but can I just say that Sketchup has had this facility, (plus faultless blocks) for years, and when I was working with that software I found it extremely useful.


maybe named selections can help; they won’t prevent you messing up your model, but they allow handling arbitrary sets of objects together

that aside, this sounds like “named groups” – what if a tree gui could be provided, where you could see & select from within the hierarchy of groups; done right it could even allow to add/remove/edit items within any group

add a transform persistently associated with each group, and you are on your way to “lightweight” blocks – groups with names & local reference frames, and a simple gui to manage them, but not getting involved in the layer/material/etc complication of blocks

and sketchup’s groups are no different from its components – just that there is only one allowed to exist, and they live in a separate list from component definitions/instances

if Exporter.is_group_or_instance?(ent)
  @defn = ent.definition
  @ents = ent.definition.entities

so a similar thing could also be done here, by removing some capability from blocks

Yes, well I see that there exists the option to name groups, and to select the group by name from a drop down list.

The system is fairly rudimentary though; for example if you want to name a group (SetGroupName) the prompt is “select groups to name:”, but there is no list of the existing groups (even though rhino internally knows what they all are), so you need to pick them from the screen, which is a lot of work in a complex model that has many existing autonumbered groups.

Also, I have two objects grouped. I click on the group and properties tell me the object type is: “varies, grouped”. Immediately below that is a blank field called “name”. So I name it, but it seems to have nothing to do with groups, but something else I’m not familiar with…?

So it does seem there is a group sub-system already in place waiting for its day in the sun, which I’d suggest is about now.

And this would go a long way to helping.

Locking is however pretty simple - things should be as simple as possible, but no simpler or whatever it was that Einstein is supposed to have said…