How to join / merge two armatures

Hi,

Was trying to figure this out. It would be easier to build some part of armature as separate piece, then scale it, and then join several armatures together.

However, I haven’t yet found a way to join armatures, and I don’t seem to get any hits with google.

Thanks to @batFINGER 's post in stack…

This pretty much explains it.

I have no idea, why it is so convoluted, and what exactly happens, but hey, it works!

obs = [bpy.data.objects['Armature'], bpy.data.objects['a2'], bpy.data.objects['a3']]

c = {}
c["object"] = bpy.data.objects['Armature']
c["active_object"] = bpy.data.objects['Armature']
c["selected_objects"] = obs
c["selected_editable_objects"] = obs

bpy.ops.object.join(c)
3 Likes

This answer saved my soul. I was trying to figure out why I get message that active object is not selected. Those extra values “object” and “selected_editable_objects” are needed for script to work.