How do I change the working layer with Python? I need to delete some objects in a different layer.
hi
may be this can help you:
import bpy
#change for TRUE the layer (s) that you want activate
bpy.context.scene.layers[0] = False
bpy.context.scene.layers[1] = False
bpy.context.scene.layers[2] = False
bpy.context.scene.layers[3] = False
bpy.context.scene.layers[4] = False
bpy.context.scene.layers[5] = False
bpy.context.scene.layers[6] = False
bpy.context.scene.layers[7] = True
bpy.context.scene.layers[8] = False
bpy.context.scene.layers[9] = False
bpy.context.scene.layers[10] = False
bpy.context.scene.layers[11] = False
bpy.context.scene.layers[12] = False
bpy.context.scene.layers[13] = False
bpy.context.scene.layers[14] = False
bpy.context.scene.layers[15] = False
bpy.context.scene.layers[16] = False
bpy.context.scene.layers[17] = False
bpy.context.scene.layers[18] = False
bpy.context.scene.layers[19] = False
here for example the active layer is the #8 bpy.context.scene.layers[7] = True
best
Diego
Please don’t do it that way, you can do it smarter like this:
import bpy
l = [False] * 20
l[7] = True
bpy.context.scene.layers = l
YES, that is better
best
Thanks for the replies, I’ll check it when I can…
For future reference, bundled as a function is very practical:
def selectLayer(layer):
layers = [False] * 20
layers[layer - 1] = True
bpy.context.scene.layers = layers
And then call it like:
selectLayer(20) #or any other layer you want