I'm designing a set of beveled gears where the input and output are oblique. It's simple to design a single pinion connecting them, two isn't hard, and I can model three as pitch cones, but getting a solution for three that works with real gears (re:integer tooth counts) is proving to be quite complex.
Below is my modelling approach. The gear module is 1 ($toothCount = diameter$) for the sake of calculations.
The diameter of the pinion and input/output gears are arbitrary integers. The angle between the input and output has some flexibility.
The plane's Z-axis rotation is arbitrary. The green pinion diameter is a driven value which must be an integer.
This smaller pinion is mirrored on the other side for a total of three pinions connecting the main gears.
These two arc lengths are the last driven values that need to be integers. Since the gear module is 1, the arc length can be evaluated by $smallPinionRadius * arcAngle / 180$.
In summary: the four chosen parameters are input/output angle, input/output diameter, large pinion diameter, and small pinion angle about the Z-axis. Critical driven values that need to be integers are the small pinion diameter, and the small pinion arc lengths between contact points on the input/output gears.
I was able to experimentally get a configuration that is only a few percent off from being true (used in the images), which is probably good enough for my application, but is there a formulaic way to find true solutions?