Gear Controling

Good morning

I’d like to set up an assembly to control several gears with an emty, but not with the trick to add an “copy rotation” or “transformation” - constraint to every gear, that is nice if you always have a gear ratio of 1, but I wanna use gears of different size, so the idea came up to freeze the location of every gear, and use the collision setup of Blender, if I rotate one cog wheel, the others should follow…so far the theory, but I hadn’t got any luck so far…
If I missed some adjustments, please let me know…

Greetings

Attachments


You’ll want to use drivers for this, forget about constraints and physics sims, they won’t work. Well, they may to some degree, but they aren’t as precise as drivers, down side is drivers can a be a bit of a bitch…

In the attached file, I didn’t get fancy, I created two cubes (instead of gears), one is twice the size of the other. If you open the file, and rotate the smaller cube 90 degrees, the 2x cube will rotate 45 degrees, as it would in real life if they were real gears. There is not a lot of information on how to set up drivers on the net, so briefly here’s how I set it up…

I selected the 2nd cube and in the object panel I hovered the mouse over the y-axis rotation value and right clicked, selecting the ‘add single driver’ option. Now switch a panel/editor in blender to be a f-curve editor, this will have a mode selector in the header bar set to f-curve editor, switch that to Drivers. To set up the driver, click on the name of it from the left side, it’s now the active curve/driver to be edited. N-key to open up the panel for the driver on the right side of the window. In this panel under drivers, set the type to averaged. Ob/Bone field is set to the name of the driving object, in this case it was ‘cube’. Set the next field to y-rotation. Now at this point, cube.001 should rotate as much as ‘cube’ when you rotate it on the y-axis. Scroll down a bit in the driver editor, and you will see there is a modifier there, editing the values there will control how ‘cube.001’ interacts with ‘cube’. For this example, I changed the curve from a y = 0 + 1 x curve to a y = 0 - .5 curve to reverse the direction and cut the rotation in half.

A bit tricky, but very powerful…

Randy

Attachments

simple_driver.blend (307 KB)

Powerful indeed…

Thank you very much !