How to improve duplicating hierarchies


I am new to Blender, but experienced with 3D packages in general (mostly Maya).

I have a hierarchy of objects parented under an empty. What I would like to do is repeatedly duplicate the empty (in place) and have it also duplicate the children along with it. I will be doing this over and over.

Searching these forums it appears that this isn’t really possible as a 1 or 2 step process. Specifically, as far as I can tell I need to do this:

  1. Select the top-most item (in this case, the empty).
  2. Hit shift-G to bring up a menu of selection options.
  3. Select “Children” to select the actual children.
  4. Hit shift-D to duplicate the selected items.
  5. Hit enter to prevent them from translating to an unknown location (i.e. don’t move the mouse before hitting enter).
  6. Unparent the objects by selecting the menu item Object -> Parent -> Clear Parent.
  7. Create a new empty by clicking on Add -> Empty -> Plain Axis
  8. Selecting my newly unparented objects in the outliner as well as my new empty (selecting the empty last)
  9. Hit shift-P to parent the objects under the empty (though in my case that isn’t working so maybe I misunderstand parenting still - I have just been manually dragging objects to parent them)
  10. Select the new empty and move to move it to where the original empty was.
  • Can someone tell me if I have this correct?

  • If not, is there a more efficient way to do this?

  • Finally, if this (or something near it) is the best/only way to accomplish what I am trying to do, is there a way to automate the process? I am fairly proficient in python programming and so if this seems like the kind of thing that could be automated, I would be willing to take a stab at it. If so, could someone point me to the correct terminology of what I am trying to do so that I can start researching it? (i.e. is it called scripting, macros, automation, plug-ins, add-ons? Something else?)

Thanks! I am eagerly trying to learn Blender and don’t want to sound like I am whining just because it is different from what I am used to.

the way I do what you’re doing (as far as I can tell) is;

select the parent and all of its children,

shift+D, rightclick… rinse and repeat. (shift +D will not only duplicate the objects, it duplicates the parent child relationships those objects have, not to the original parent, but to the newly created duplicate)


That works! Thanks so much. I knew there had to be a better way.

I’m trying to learn how to use python to script Blender. Hopefully I can figure out how to automate this even further.

Thanks again for the help.

You could also select all the objects, hierarchy or not and press CTRL-G. This will group them. Then you can add as many copies of the group as you want to the scene. This is more memory efficient if you know instances are ok. Use the above technique if you want your duplicates to be unique objects.

Thanks for the tip. That sounds like it might work if I can assign a unique texture per instance. If not, I will stick to the first plan.

I have managed to write a small python script that does the duplication for me. But it needs a bit of refinement (right now it only works if there are children one level deep, and only if they are at the root level… though it will work on multiple parent objects.) and I need to finish learning how to actually integrate it into Blender (right now I just run it from the text editor).

To use unique materials with an instance, you have to change the material link type of the object hosting the instance from Data (i.e. the instance data) to Object. Then the object can use an instanced mesh but still have a unique material. This is all located under the Materials TAB.

Sorry for the delay in getting back to you. You rock. Thank you so much.