Valid way to use multiple constraints?

I’ve been doing some more tests in preparation for other rig and constraint elements of a project I’m early in the modelling phase of. I think I’ve found a way for a really simple action, turning the empty called “controls” on it’s local y axis, to make a complex cycle of motions occur in the object I’ve called “slave”.

Is it valid to stack up constraints the way I’ve done to the “slave” object here, it has three different transformation constraints on it, one for the initial turning one way, one for the translation then one for the final piece of reversed turning. I was thinking this would be a really good trick to be able to animate repetitive but complex mechanical systems by setting up constraints, then when you want a cycle of actions to occur just turn the “control” empty handle object and let the complex stuff obey the constraint without needing to be animated every time. But I’d just like to check whether there is anything corrupt or circularly dependent about this sort of multiple constraint rigging. Or anything that might cause issues when loading this type of constraint in versions of blender newer than the one in which the constraints were set up.


P.S. when setting this up I found that the destination angle (0 min -120 max) on the bottom-most constraint seem to be relative to the position the slave object fins itself in AFTER the actions caused by the prior two constraints have been applied. Is this what is supposed to happen or is there any way to make it possible to define the min and max destination values in the frame of the slave object before the turning begins?

P.P.S. Also I know I’ve used some cases where the min value on the desitnation is actually more than the max value, but I guess this is valid in cases where you want things to turn the opposite way to the target object (“controls” empty)? I guess it is also necessary if you want to have something like a pair of sliding double doors which move opposite ways when an empty is turned one way. I assume there is no rule about the min or max setting actually needing to be lesser or greater, they just match up with what you’ve defined as the min and max for the target?

constraint_rig_test.blend (416 KB)

Short answer - constraints are actioned in the order they are in the list - bottom one auctioned last and will override everything before it, except IK on bones they override everything else, irrespective of where they are in the list.

Cheers, Clock.