Parent location but not rotation

Ok, so I’m making a model of a six-piston three axis position table
like this thing,

I have my six pistons all put together and the piston parts tracking each other. Now I need to parent the top of the pistons to the moving ring/table
thingy. The idea is that if I move the top ring, all of the pistons will all
flex as if they were supporting the ring.

Each piston is composed of two parts. Each part has the mesh reference
at the center of the ball joint so each part rotates and tracks it’s sibling
piston part about it’s mesh reference. Each piston works fine by itself.

Now I need to attach each of the piston tops to the upper (moving) ring.
I need the reference points of the piston meshes to stay in the same place relative to the ring. When the ring moves, the pistons will rotate about the
reference point which also happens to be the center of a ball joint.

The problem is the straight “parent” function, <control>-P, resets both
the location of the center of the piston part and the rotation of the
piston part when I try to parent a piston-top mesh to the ring.

I need the piston part’s reference point to stay in the same place as it
is currently but move with the ring if the ring moves. I don’t want the
rotation touched at all: the <control>-T track function should be
in charge of pointing the top piston mesh and it’s bottom mesh.

So how do I do this?

Just do like you did, using parents, but make sure to either turn the PowerTrack option on for each piston (in the Animation Buttons window F7) or use Tracking constraints instead of just Ctrl-T.

It’s a known issue, will probably be fixed soon.


If I use parenting with the Powertrack option on it stil displaces my piston top a good distance. I don’t want it to move any distance unless the parent moves.

Will the tracking constraints cause the location of the tracking object to
change? I thought that would just affect the rotation.

The displacement when I engage parenting or …?

THere is a tutorial of mine for that (more or less)

Tutorials section


parenting shouldn’t move the child object, unless it is already parented to something… Try clearing the parent of the piston before parenting to the top. Alt-P and Keep Transform.

[quote=]Will the tracking constraints cause the location of the tracking object to
change? I thought that would just affect the rotation.[/quote]
Indeed, it only affects rotation, but the Track To constraint works a little better than just Ctrl-T, so you might want to use them anyway.

The problem with tracking objects that already have a rotation.


Yep, that was the problem. I wonder what the piston had been parented to beforehand.

I used your excellent tutorial to get me this far. My hydraulic lines don’t go into the cylinders at right angles yet but it’s good enough for the purpose

Ok, now the next problem. I need to spin-duplicate these motion platforms with all of the parenting/tracking intact. It seems that if I do a spin-dup on the vertice level I’m not making new objects that have the same parenting relations as the old ones. If I do a duplivert, I have to parent everything to a circle; won’t that destroy all of the inter-linking between objects?

Select all the motion platforums and do a Alt-D to create linked copies. Then place them where you need them. There’s no real way to automate that without having to recreate the parenting and tracking afterward.