0
$\begingroup$

I did this geneva drive but I don't know how to animate it image

Simply dividing by 6 don't work because the second gear should only moves at a certain time. I already tried some equations but none of them worked.

The file: https://1drv.ms/u/s!ApEztyCWw8odpHHmdlx7qbN6Rf9v

edit: It is going to be part of a big gear system, so the second gear's rotation cannot reset, it needs to increase continuously.

$\endgroup$
4
  • $\begingroup$ Here you have the curves for the rotation function and below that the equations: commons.wikimedia.org/wiki/… $\endgroup$ Nov 18, 2018 at 21:21
  • 1
    $\begingroup$ Suggestion: how about uploading Blend file? With your objects, somebody will have an answer for you. $\endgroup$ Nov 18, 2018 at 22:21
  • $\begingroup$ I tried using the wikipedia function but it didn't work. $\endgroup$ Nov 19, 2018 at 0:43
  • $\begingroup$ This geneva drive reminds me of a Youtuber called Thang01046. He is highly prolific with his videos on mechanical engineering. On average, he puts out one or two works a day. youtube.com/user/thang010146 $\endgroup$ Nov 21, 2018 at 22:11

2 Answers 2

5
$\begingroup$

Here my solution:

enter image description here

  1. First, I use modulo to get 360-rotation cycle.
  2. Next I divide degrees to get 0-1 range.
  3. When I use Curve interpolation to mach each cycle with rotation of secondary object. (Curve is drawn by hand)
  4. Finally, get back to degrees with some scale (6 times smaller)

enter image description here

Note, that i'm don't care about real 360-degree rotation of secondary shape. It rotates in 0-60 degree range. If you want to get real rotation, you need to add each cycle to the result.

UPD:

It works for this example where there is only those two gears, but not for what I need because it will control a whole clock gear system, so the second gear can't have its rotation being reseted

As I noted, If you want to get real rotation, you need to add each cycle to the result:

enter image description here

To get cycle number you need to divide rotation by 360, and convert result to integer using Floor function. When just multiply it by same number, -60 and add it to rotation

$\endgroup$
1
  • $\begingroup$ It works for this example where there is only those two gears, but not for what I need because it will control a whole clock gear system, so the second gear can't have its rotation being reseted. $\endgroup$ Nov 19, 2018 at 15:30
1
$\begingroup$

So, I found a way to do it.

First of all you create a reference object where you are going to add a Fcurve. It can be a bone or an empty.

Then insert keyframes in the rotation of one of the axes. It will probably create keyframes in all axes, so just delete 2 of them.

After you need to insert keyframes in the frames -5,35 and 55 with the last with -60° value and then add a cycles modifies.

You will get something like this: image after all process

In the end you just need to make this setup here: node setup

If you want to make it and the gear has more or less steps, you just need to change the Fcurve scale.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .