Layer Management Script - Version 1.2

Layer Manager version 1.3…

New UI design proposal in post #29. Feedback requested. Thank you for your attention.

—Version 1.1 Announcement —
FourMadMen Layer Manager script Version 1.1 is now available. If you want to know about what this script does please visit the Layer Manager Homepage.

Download Script

I’m writing a Layer script and would like input on what people think would be useful to them. Basically just gathering requirements at the moment but I do envision persisting this information in a seperate file so the settings can be re-used.

At this time the skeleton is written which does what the layer buttons do. So if you have anything you’d like to see in a script like this please speak up.


Here is where it is so far.

Next step is serializing the dictionary that is used to store the information. After that I’ll be adding Layer Groups.

Nice :o) named layers… mmm…

The ability to assign layer names to them.
Colour codes for related layers or the ability to group layers.
Locking layers
Only visibility for layers user created. In case you only need a few layers.
Which also means the option to remove layers.
What if you need more then 20 layers?
Don’t know if a preview is possible but if you could, WOW.(think Photoshop)

When I first stated I had to decide whether or not I wanted the GUI to be Photoshop like (i.e. list based with add and remove) or 20 controls like the current layer buttons. I choose the latter of those two.

Please visit the script index page for more information on what has been done and was is being done (and a few screenshots too). However since some suggestions have been made let me address them:

The ability to assign layer names to them.
That’s requrement #1 for me and already does this.

Colour codes for related layers or the ability to group layers.
Layer groups are also planned.

Locking layers
I’m pretty sure I know what you mean by locking but can you give a specific example of how that would be used? Locked, I assume, as in always visible no matter what else is selected/deselected. Yes?

Only visibility for layers user created. In case you only need a few layers.
Which also means the option to remove layers.

I like that idea so much I’ve already coded it (and have a screenshot of the results of hiding several layers). Thanks!

What if you need more then 20 layers?
Believe me, I’ve considered it, but to do you you’d have to have a setup step where you defined which objects are in which “virtual” layer. After that however it’s simply a case of moving the from layer to layer as needed/required. But for now I’ll just call that one food for thought.

Don’t know if a preview is possible but if you could, WOW.(think Photoshop)
Now that would be very nice. Worth looking into.

I’m really not sure… but I think I rememer a “layer window” with a lot of this functionality in an “orange build”?

I’d check on that before spending a lot of time coding… but remember… I’m not sure at all. :wink:

Well I looked and did not see anything. Either way it’s a good learning excersice as I’ve not done all that much Python coding.


The code for version 1.0 is ready, I just need to workup some documentation and then I’ll be ready to release:

Version 1.0 released. See first post for links.

Just tried this out and it looks like a great script! This will be very helpful organizing objects in larger projects and scenes. The only things I could possibly think of adding would be the ‘locked layer’ feature vliegtuig mentioned (the ability to lock layers with objects that remain visible without being able to select, modify, or move the items on those layers) and a ‘layer by color’ feature where layers could be assigned colors. Ideally, the layer color would be the wireframe color for the objects on that layer. Many CAD programs use these tools for organizing items in models/drawings.

Very cool script… many thanks for all your work!



I hope your layer system will be implemented or at least be an inspiration for the ones who are developing it.

Thanks guys, I hope it’s helpful to you. Both excellent features. I’ve just written my first spacehandler script as a test but it doesn’t play nice with “Undo” (crashes Blender).

Update to the script, now on Version 1.0a. I removed exit on ESC key (Q key and Exit button remain) and since Undo “kills” the running GUI scripts I have added an autoload feature that will load the most recent file on startup if it exists).

Layer Manager Homepage

Version 1.0b is out. Autoload was not refreshing the visible layer list after loading.

Version 1.1 now released. This is probably the last in the flurry of releases for awhile. It adds 3 new buttons and fixes an issue with CTRL+Click. See Layer Manager Homepage for full description of changes.

Great work!

Thanks, having fun and learning a thing or two about Python (and the Blender API).

After using the script more and more I was finding it difficult (or atleast not fun) to move objects from layer to layer. After the second time of having to “translate” the Script Later dispaly to the Blender layer buttons I said…

Time for Version 1.2. Updated the page with expanded docs, notes, and keyboard shortcuts. Enjoy.

Can now move selected objects to selected layers from the script GUI. Also have the start of layer locking, but am not happy at how the event/redraw system is working so that function is not quite what I’d like it to be.

Hi FourMadMen,

This would be a script that would be on all the time right? Well then I would not create two columns of layer buttons, but put them in one column. That saves a lot of space and you could have it as a nice side bar.


Nice work, good luck on the locking layers.
Another maybe nice feature: a small overview of what is in the layers next to the buttons (for those messy people like me who tend to forget where they put stuff 8) ) like this

(button) (button) (…) (1Camera, 4cubes, 8lights)
(button)(button) (…) (7 bones, 2 planes)

It’s just a suggestion, like you could tell me just to name my layers correctly :wink:

“Lazyness is just another form of efficiency”

The first time I heard about layers in animation was when I opened the Flash 2D Application.

They have a nice layer system. You can open as many layers you want (although I think 20 is enough to be organized). Suppose you just need 2 layers in your project, you do not need to show 20 layers in the Menu as Blender 3d default works. The best in Flash layers is the way they manage the status of the layers. They have some little bottons beside each layer where you can just click to chose if the layer is locked, visible etc … If a developer analised the Flash layer system i think he could extract many ideas to Blender 3D become better in this tool.

I think it sounds a good idea improve the Blender 3D layers layout to something like Flash layers structure, but I do not know if it is totaly applicable.


Tio Ilmo

I don’t know if my idea is feasible or not, but it would be nice to be able to affect the alpha transparency of a selected layer, for animations where objects fade in/out. Just a thought…

Sorry for the delay in getting back to respond but I’ve been sick the past week or so. Thanks for the suggestions everyone. I’m finalizing some research into coding the next version and will make an announcement here in the next few days. Stay tuned…