Layer Management Script - Version 1.2

Got well fast, get even better soon. (My wish to you).

Back from the land of the sick…

hoxolotl: Thanks, I am feeling better now. And yes, name those layers properly! :slight_smile:

roofoo: Can you describe in more detail how this feature would work?

The next version of Layer Manager will include:

  1. Refactored drawing code to allow for single column (n-column really) layout
  2. New per layer icons for Layer Info and “Lock/Unlock”

I have an idea for simulating more than 20 layers but I’m not sure if I have the GUI features necessary to easily support it. We’ll see.

Also, the investigation on an effective lock/unlock mechanism continues. Would be nice to have the concept included in Blender so I could just hook into it.

Great script, thanks!! I’m starting to learn a little python due to Blender, and layer features was one of the things that got me interested. Nowhere near the ability to implement, however, so …
Any chance this could be made a space handler script so it could pop-up over the interface and be minimized, etc. I’d also like to add my interest in mesh-color-by-layer as well. That would be too awesome.
Again, thanks!! Keep it up.

what would be nice if this could be intergrated with the blender append feature. I have a low poly model library that was posted in the Game Engine forum. The only problem is that the meshes are on different layers. I haver remaned the some of the meshes in the blend so that they are more descriptive when I append. BUT when I do append to a new blend file the mesh does not appear. I deduced that was because my 3d window was on layer 1. So when I append I have to know which layer the mesh is in. As I said there are various meshes in the blend. It would be nice to tell during the append process what layer the mesh is on an append it to whichever layer you wanted.

Back again from the land of the sick, but feeling better since the doc cut out all the bad parts (hopefully). Anyway, I have not lost the interest or intent on making the changes I need to make but please just give me a little more time to get to it.

If Blender supported different mesh wire colors it would likely be in the script by now. But when Blender does I’ll be sure and take advantage of that feature.

I’ve always wanted to make this a spacehandler script and have experimented with those for another thing I think everyone would like. Unfortunately at the moment (v2.41) the spacehandler scripts don’t play nice with the undo system (causes a crash on undo). I’m hoping this will be fixed soon as I’ve a ton of ideas of things to do with them. Things like measurments, snaps, macros the list is really endless.

Does this script create the ability to have an infinite number of layers or can this be added to Blender?

At present it works with the 20 layers as they exist in Blender. I’ve put quite abit of thought into having this feature. Right now without monkeying with object names I see no easy way of doing it. If, however, the objects in Blender allowed for user (via Python) definable attributes then a system that fakes “infinite” layers could be accomplished rather easily (assuming the UI could be created properly). The main wrinkle for a system like that would be lamps that have the “Layer” setting turned on. Not impossible to deal with, just something that would have to taken into account.

–Double post removed–

I’m in the design stage for Layer Manager version 1.3. This version will feature a new UI design and much of the existing code will be refactored. I’ve recieved alot of comments and e-mails over this script (and the BlenderNation article was quite nice too) so I’d like to get feedback on the new design proposal before moving forward with it.

For those not familar with this script please see the current version page.

Here’s the design proposal:

As you can see the list is now a single column by default. And reading this from left to right and top to bottom, here is how it works:

1 - Main Menu - Several of the buttons have been moved to a drop down list (Save, Load, New, Help, Exit).
2 - ? - This is a quick button for menu item “Help”
3 - S - This is a quick button for menu item “Save”

Next the layer group controls have been re-arranged:
4 - Group selection (use this to open the drop down to select Layer Group)
5 - Group Name
6 - + - Add Group (formerly “Add”)
7 - X - Delete Group (formerly “Delete”)
8 - Assign - Assign selected layers to current group
9 - Select - Select layers in current group
10 - View - Make layers in current group visible
11 - Remove - Remove selected layers from current group
12 - Deselect - Deselected layers in current group
13 - View Grp. - View ONLY the layers in current group

And now, onto the controls that operate on the selected and/or visible layers.
14 - V -> S (NEW) - Select visible layers
15 - Hide - Hide selected Layers
16 - Merge (NEW) - Merge selected layers (objects in selected layers moved to a single layer. The exact layer (by name) is selected via a popup selection containing the list of selected layers)
17 - Move To - Move selected objects to selected layers
18 - Minus sign (NEW) - Invert visible layer selection
19 - Minus sign - Invert selected layer selection (formerly “Select Swap”)
20 - Reveal - Reveal hidden layers
21 - Flatten (NEW) - Flatten selected layers (object in selected layers are moved to a single layer and the newly empty layers are hidden)
22 - Obj. Info. (NEW) - Popup information on the selected object (Exact info to be determined but will include number of verts and faces)

Next are the layer specific controls (20 each) **Note: Hidden layers will not show in the UI until using the “Reveal” button.
23 - Layer Visible - Toggles layer visibility
24 - Layer Selected - Toggles layer selection (Lock layers show “L” )
25 - Layer Name
26 - i (NEW) - Popup information on the selected layer (Exact info to be determined)
27 - Red Box (NEW) - Shows active layer

Just a bump for a friend who needs to find this script.

Is 1.3 going to be released?

Bumped for curiosity… Any word on 1.3??

As a matter of fact yes, version 1.3 is in pre-development phase and I will begin coding shortly.

One major change at this point is that the layer info will be stored in the blend file so no need to save using a seperate file (unless you want to save a default file or export/import from one .blend to another).

looking great,
have you tested this with the Named Layers patch?
it would be interesting as a cross reference for functions also.

I didn’t know that existed. I had a look at the site pages for it though since reading your post. Is this something that is likely to be put in anytime soon I wonder?

And if the layers UI of Blender is getting a makeover is it still worthwhile to continue the Layer script work? That last I’m sure hinges on what the plans are for internal changes and timeline.

If the planned features are less than the script I also wonder what the plans are for adding any required hooks into the Python API.

hi, as the named layers patch has been shelved for now,
it would be a great addition to have a portable Named Layers system.
this could be very useful for use until 2.5 is finished.

A little bird e-mailed me and got me motivated. I started the recode a few days ago anyway, but managed to finalize the UI re-code tonight.

There are three ways of generating the layers controls now.

Layers as a single column (i.e. vertical)
Layers in two columns
Layers in four columns but with the other options to the left instead of on top (i.e. horizontal)

Since user changes will be written live to a properties “block”, the Layer Groups section has been greatly simplified.

See my previous UI post for a description of the other UI elements. Once change is that the layer info button (just after the layer name) will now display the number of objects on that layer, or the button will be blank of no objects are present.

** EDIT **

I just noticed I used a toggle for the layer info button. Oops. And fixed.

Hi FourMadMen,
I’m glad to hear your still working on this.
I like the Horizontal & Vertical versions best.
Do you plan to make a toggle switch to change between views?
I have seen this in the Tesselate script by JMS.
Your feature set looks well thought out, very handy.
The best portable layer manager yet.

To go off on a tangent slightly,
This is something I would like to access a lot & quickly.
Have you considered making it a space handler script.
it is possible to add an icon to the 3d view as a space handler.
(top or bottom right corners are free)
so upon running the script,
then, view/Space Handler Script/Event:Layer manager,
the icon appears in the 3d view.
pressing the icon opens the script.
ease of access.
the good thing about this spacehandlers is once installed,
press ctl/u & they are there each time you open Blender.
an example of this is the 3d view hotspots script.
(it is slightly broken but the spacehandler & icon/3dview drawing functions work.)

Anyway, something to think on,
in preference i would set up a window layout to suit this script when managing layers.
To be able to access it at all times would be a bonus & greatly speed workflow.

Thanks for your great work again.

Let us know when you release 1.3! I have had 1.2 for ever (2 years now) and it works great. I just wish the layer names could be saved inside the .blend for ease of use, and as MA said, make it a spacehandler script. The new swing-type library would make it a floating panel as well.

this would be a very useful script, looking forward to this, can’t blender integrate this to their release?