3
$\begingroup$

I have 10 layers all filled up, and i need content from layer 5-10 to be moved to layers 11-16, as i need more layers in-between.

Is there a shortcut or add-on for this or do i need to go through all layers and move the content one by one?

$\endgroup$
3
$\begingroup$

I don't know of any add-on that specifically has a bump up by n layers feature, Blender has a massive eco-system for add-ons. Sometimes it's easier to write a small script than to go looking for an add-on.

Here a small script that moves all items that appear in layers {5,6,7,8,9} up by 5 layers to {10,11,12,13,14} respectively. (I think you accidentally gave an example that is off by one)

enter image description here

You may want to test how this works in a small dummy .blend file, so you are confident using it in a production scenario.

paste this directly into the TextEditor and press Run.

import bpy

for obj in bpy.data.objects:

    # let's deal with a simple case: is it only on one layer?
    if obj.layers[:].count(True) == 1:
        found_index = obj.layers[:].index(True)
        if (5 <= found_index <= 9):
            new_index = found_index + 5
            obj.layers[:] = [i==new_index for i in range(20)]
$\endgroup$
2
$\begingroup$

Here is my version of a script to do this:

import bpy


def shift_layers(obj, src, dst):

    for i in range(len(obj.layers)-1, dst-1, -1):
        obj.layers[i] = obj.layers[i-dst+src]
    for i in range(src, dst):
        obj.layers[i] = False


for obj in bpy.data.objects:
    shift_layers(obj, 5, 10)
$\endgroup$
0
$\begingroup$

Since Blender allows objects to be in more than one layer, you could: 1) Activate just layer one 2) Type A (select all visible) 3) Shift right click the layer where you want to move stuff 4) Right click layer one, to remove selection from it.

Repeat steps to other layers...

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.