# How to convert an object's location to another's rotation

I'm modelling a belt, where a motor rotates the belt, thus rotating a cylindrical object on the other end.

I did the belt with a simple plane segment with an array and a curve modifier. this way I could simply imitate the belt rotation by moving the plane's location, like this:

How can I make the cylindrical object rotate with the plane's location change, so that it looks like the belt actually rotates it?

• Animation Drivers; Add one to the rotation, and use the distance to the belt as the rotation. Oct 2 '14 at 14:55
• I'll add it has an answer later, once I get home. Oct 2 '14 at 15:47
• although one thing is not clear to me. I added the driver to the cylindrical object's Z axis and I had set up a variable with belt as an object with a variable type of X Location. that way 1 cm of movement on the X axis of the belt resulted in 0.573 degrees of rotation in the cylindrical object along its Z axis. I had to correct the variable by multiplying it with something like 16, so that it looks like the belt is in sync with the cylindrical object. but that was just guessing. how would I calculate that properly? Oct 2 '14 at 16:51

## 1 Answer

What you need to do is to copy the distance (or absolute position) of the "belt" to the cylinder's rotation, and if necessary, multiply by a factor. To achieve this you can use Animation Drivers.

To do this, select the object you want to rotate, press N and right click over the Z rotation filed and select Add Single Drivers (or if you want to select Add Drivers to add the drivers to the three of them).

Then, go to the Graph Editor (Ctrl + Left Arrow twice, from the default view), change the type to Drivers, like so:

Then select the Driver on the left, press N, scroll down and on the Drivers part, and use this settings:

Where the plane is the "belt"; If you need to, in the Expression field you can change the factor to suit your needs.