Improved Group restriction patch (previous Group as layers patch)

Groups in the outliner showing the restriction buttons

Hi all 🙂

If you remember the Group as Layer patch I did before it suffer from several small drawbacks, mainly in the GUI part and not in the conceptual level. Also I must confess that my previous patch was awfull to review and apply 😛
So I take some time to rewrite it from scratch and improve it a little. Now is much more functional and easy to apply/integrate than before!

This patch basically add the posibility to toggle visualization, selectability (freezing) and renderability of entire groups of objects , replicating the functionality of a layer manager because groups could be already renamed and managed in ways that a layer manager could not do, that´s why I called it Groups as Layers patch but its main intention is not that, just extend the functionality of groups in the outliner in a natural and very needed way:

If you want to be able to arrange your objects in logic ways, for example, the most basic realistic mechanic modeling could have hundreds of parts, then 20 layers is not enough, you want a layer named bolts, other named gears, and many more that soon will pass the 20 limit 😉

Here is the patch:

I have upload some videos showing the basic workflow:



Basic worflow:

hope you like it

Cheers Farsthary

Improved Group restriction patch (previous Group as layers patch)

20 thoughts on “Improved Group restriction patch (previous Group as layers patch)

  1. Simon says:

    Cool, here is a suggestion: make a “hide other” button, which hides all groups but the selected one. This gives very quick way to show only a group/”layer”. Keep up the good work!


  2. jendrzych says:

    What about the situation where one object belongs to several groups? How does the patch deal with visibility/selectability/renderability of such object? Is it predictable? Seems to me that effect could be quite messy – the object can be invisible, because one of groups it’s member of is hidden, while the other groups the very object belongs to are visible… Imagine more restrictions in any combination… Am I just grumbling?


  3. alalo says:

    Totally cool! 🙂 Hope it goes to trunk.

    I wonder if this would be extended to bones. If so, we shall say goodbye to the senseless “layers” system. :>



  4. farsthary says:


    Well, it gives you total freedom, so is up to the user to keep the groups in organized ways. If you have an object that belong to several groups it will behave as you command: I mean, no matter in what state are in the rest of the groups, if I want all the object on the current group visible, it will be visible.

    If I jump to other group and want all the objects of that group hidden, then it will be hidden. There will be no confussion. Every click will make sure that all the objects will have the state that you are commanding.

    There’s no such a thing like an object remain hidden when I click visible because it is already hidden in other group.


    1. jendrzych says:

      So, the only thing I can do now is to get the build with Your patch ant test it…
      Thanks a lot for Your hard work anyway.


  5. Blenderificus says:

    first off thank you for taking the time to rewrite the patch. This is a patch that i REALLY hope gets committed to trunk soon… I enjoyed your first patch a lot too!

    but only after the following(unless its already coded in):

    I almost ALWAYS have many items in a group disabled in the viewport, and only some items visible/selectable/renderable. So ifI have 30 items in a group I often only want to see 5 of them in the final render or the viewport. By default, I wouldnt want the other 25 items to be viewable in the viewport when I disable and reenable the visibility of the entire group, I would want only the previously enable 5 items in that group to be visible again. HOWEVER, I would like to be able to turn on or off a given toggle(camera/eye/mouse icon) for the entire group with a contrl+click, or a right click menu allowing me to do so, just not by default.

    I would definitely need this feature before I would want to see this great patch committed:
    when I turn a group on or off, I would want the previous state the object was in to be restored(select/visible/renderable). What I mean is that if I have a group of 20 objects and I only want 4 of them visible in the final render, I dont want all 20 objects to turn their visibility back on on a single mouse click of the “camera icon”. I would want to re enable only those that were enabled in the group when i click a given burron(the mouse arrow, the eye, the camera). I hope this is coming across clearly.

    But I would like the ability to turn them all back on with a control click, or a right click of the eye/camera/mouse-icon for the group. So in essence, I would REALLY need ONLY the previously enabled states of the items in the group to be stored then disabled/enabled on the clicking of the master group controls(eye/camera/mouse icons), so I dont have to go back each time and diable the visibility/renderability/selectability of the other 16 items in the (20 item)group each time I want to enable/disable using the group’s parent icons for doing so.

    I dont mean to sound critical, just listing a feature that would make my workflow go crazy if this want included.

    Thank for your hard work contributing to a tool many around the world enjoy(and great work on your sub-frame calc code, it fixed nearly everything with the fluids IMO !!!)


  6. farsthary says:


    Hi, Thanks a lot for your deep explanation 🙂
    while I understand your use case I don’t see that happening in a Layer manager system anyway unless there’s two levels of visibility (object and layer)
    if you have a group of 30 objects and want to switch the visibility of any subgroup of them, nothing stop you from creating a visibility subgroup.
    You could have any restriction level , from objects to groups and groups of groups ….

    Restriction groups give you total freedom and keeping their functionality atomic will allow to accomplish any user case.

    State memory is not a very desired feature: suppose you have a group A with 30 objects on it and only 5 objects visible as a starting state, in your regular workflow you switch it visible/hidden and when visible it will remain 5 visible and the rest hidden …. what happen if you need one of those hidden visible again, or the remaining 25 visible? then you will have to go object by object and turn them on … or code another option that “force” all the objects to be visible …. all of these leading to state confussion.
    In the current system you simply create a subgrup “A_most_used” with the 5 most visible objects and a group “A_less_used” with the rest hidden and everything is solved!
    Offcourse, there’s potentially unlimited use cases with any amout of complexity but I want to point out that with the current atomic patch you could solve all of them.


  7. 3pointedit says:

    +1 for a “solo” hide function (from Simon). Where clicking a group performs an inverse hide.

    ie. all groups except the one clicked become hidden.

    This way you dont have to click all the groups off. Or can you select all in view then hide them with one click?


  8. I’d really like to see a solo feature for too! Would be very helpful sometimes. I often find myself wishing this feature was available when working with a lot of objects. The group management + soloing would be molto buono!


    1. well first you need to download blender source code and be able to make your own build on whatever OS your using. If you can do that all you need to do is apply the patch before you do your next build (lots of info on how to apply patches if you google it). Otherwise just wait to a copy show up on or maybe in the blenderartists forums.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.