Duplicating constraints along with bones?

Hi all,

Been a while since I posted here, but now I have a question for those more seasoned in rigging than I am:

Is it possible to duplicate part of an armature, and get any constraints to go along with them?

I’m working on an armature for an animation of some long cylinders. I want these to be able to curl up into spirals, among other things. I’ve been experimenting with different techniques to get the controls I want, and am now satisfied with the one segment I’ve done. It consists of around 20 bones with 9 IK chains and a few other constraints, a lot of locking and limiting, and custom draw types. Trouble is, I need to duplicate this segment 15 to 20 times to get the desired result.

When I duplicate the bones in edit mode, Blender keeps the hierarchy but doesn’t duplicate all the intricate constraints and locks / limits. What’s even worse, any bones that have custom draw types don’t even show up in edit mode and thus are not copied. Duplicate doesn’t work in pose mode. All the bones involved are copied.

So, basically, I’d have to reset the drawtypes, duplicate the bones a number of times, and then go through each segment adding the constraints and locks and setting the draw types.

Unless, that is, any of you know of a workaround or solution?

Any help greatly appreciated.

  1. You want to select the bone(s) you want the constraint(s) copied to.
  2. now select the bone with the constraints already applied you want to copy .
  3. press ctrl-C ; a menu will pop up with four choices loc, rot, scale, constraints
  4. make sure constraints is high lighted and left click .
  5. you’ve copied your constraints

Hopefully your rig is symmetrical and/or is somewhat based on an axis to make multiple copy/pastes . Otherwise it might be a bear to work on . I wish you had a choice when duplicating bones to keep constraints but because the pose mode (where constraints data is stored) is kept an edit mode (where you can add bones to your armature) are seperate data types (on a programming level) you can’t :frowning: (Ton apparently re-wrote the code for v2.40 - not that long ago) . hope this helps .

Thanks, vertex pusher.

I’ve started doing this, and your suggestion helps, but a few things are annoying me:

  • The locks & limits of a bone are not copied.
  • The constraints keep their old targets.
  • After doing four segments, the “clear rotation” and “clear location” commands in pose mode have stopped working.

This is so tedious that I’m actually looking at doing a small script. This presents problems in itself, of course.

Locks and limits are now able to be copied in next release (aka current cvs versions)


Good news!

For now I’ve kinda gotten into the Python approach, will post my script if I get it done and it’s not too messy.

You could just copy the armature in OBJECT mode. You’ll end up with sepearte armatures, which might be a bit more work to animate / manage (sperate actions for each aramture), but at least it’s quick to duplicate them.


Thanks for your input, everyone!

Here’s my script, posted in the Python forum: http://blenderartists.org/forum/showthread.php?t=83507

It will automate as much of the tedious work as I could manage.