I am a very regular user of both Rhino and Adobe Illustrator and I wish that group behaviour in Rhino could be more akin to that of Illustrator as it makes the Group function vastly more practical in use.
In Illustrator you can “jump into” a group by double clicking it, locking all other geometry in the file and making he group contents individually editable until you escape out of the group. This works with nested groups as well, showing a little row of button on the top left akin to a file path in Explorer, for example, to show you where in the “tree” you are. Double “Esc” returns one level up, triple “Esc” exits all. A Note here: In Illustrator you can isolate singular geometry like vertices as well, I don’t think that is needed in Rhino.
I often use groups as a way to have intricate geometries that would otherwise be a pain to select withing a bigger model/graphic be accessible without the need for a massive amount of layer-locking/hiding magic.
I created a crude workaround with aliases but that does not work with nested groups. For anyone that wants that function as well, feel free to use and/or improve upon it!
! _Ungroup _Multipause _IsolateLock (I use “GG” as a shortcut as in “GotoGroup”)
with a group selected to jump into that group and lock all other geometry
!_SelAll _Multipause _Group _UnisolateLock (“GGE” as in “GotoGroupExit”)
to return to the general workspace and re-apply the grouping command
In any case, thanks for all the work you do and providing the world with this marvel of a program and an open ear to the user community!
Hi Simon -
It sounds like access to groups in Illustrator works very similar to how blocks behave in Rhino. Have you tried that workflow?
Alternatively, I would suggest looking into named selections.
-wim
Blocks would be akin to “symbols” in Illustrator, i.e. that changing one of them would change all instances of them. The workflow works pretty well for what I have in mind with groups - double click to enter into it.
haven’t worked with named selections yet, i’ll give it a try.
But making Groups editable like Blocks would be amazing!
(I work in Architecture with a focus on heritage and conservation and I make models of old buildings for it; more often than not things are “similar” but not identical, so having groups behave like blocks - double click into them to work on the geometry without affecting similar looking geometry - would help me a lot without the need to create a block for each and every windowframe for example. I do concur that this might add some functional redundancy, but I think it would benefit many people’s workflow.)
This is a feature I would use as well. I think what your describing would be achievable by hiding or locking all other geometry in model space and then ungrouping the geometry to edit. This is quite a bit of work though just to edit a group cleanly. Seems like what you are describing would be easier for managing quick edits to a group.
You select the group you want to isolate and _IsolateLock actually locks everything but the selected stuff (just _Isolate does the same but with hiding). Then Ungroup, edit and so forth.
The second command selects all geometry that is now not locked (i.e. the former group), re-groups it and performs _UnisolateLock, which unlocks everything else again. The Beauty of these “isolate/unisolate” commands is that they do not unlock stuff that was locked before the isolation.
Feel free to snatch the two macros for yourself and try them out;
I select a group, press “GG” to enter into the group
then “GGE” to exit out of it.
The double-click method would let you be a bit more “careless”, as using GGE outside of a group does a bit of weird stuff and these macros do not work with nested groups sadly.
The principle is to lock objects outside groups. So if in the rhino parameters the locked objects are greyed out, the objects outside the groups will be greyed out.
It works with nested groups. It is possible to go back with the GroupOut script. And if you’ve opened lots of groups, you can go back to the beginning with the GroupOutAll script.