Creating a Circular Rack and Pinion Gear

I have the following parameters for a circular rack and pinion gear pairL

Distance between centers of rotation
Pitch Radius
Number of Teeth

Does any know of any sources of forumulae or online calculators that will generate a gear pair from those parameters? I have found a few calculators on line and referred to in this forum but none that uses these parameters (e.g., they calculate the distance between centers when I need that to be an input parameter).

Hi @miano,

Could you provide a sketch of what you are talking about? I’m not clear for example about the orientation of the rack teeth in relation to the rack circle.


I think this would normally be referred to in English as an internal/external gear set. A rack is straight. I mention this in case it helps in your searches.

1 Like

This is my working diagram showing the relative sizes and positions of the gear. The small pinion drives the circular “rack”.

First thoughts:

Rack and pinion must both have an integer number of teeth (a partial tooth won’t mesh…).
Rack and pinion must have the same tooth module.

Module = Pitch Circle Diameter (PCD) divided by No. of Teeth (T)
So if the rack is r and the pinion is p:
M = PCDr / Tr = PCDp / Tp
and therefore:
Tp = Tr * PCDp / PCDr
PCDp = PCDr * Tp / Tr

And this, combined with the integer teeth requirement, means that the distance between centres has to be “sympathetic” - only certain values will give a solution and you may have to settle for an approximation to your target distance. Increasing the number of teeth will allow a closer approximation, but that may be mechanically undesirable.


Yes, the module is the same: 1.711
If circles are drawn at the specified offsets using the specified circle pitch diameter, they intersect at a single point.
The number of teeth is 12 and 210.

The Rhinogears plugin ( allows you to draw the gear profiles using the command InvoluteGear:

You can take advantage of Rhino’s acceptance of simple arithmetical expressions in the command line; so to enter the Module value, type 5.375*2/210, for example.


Tried that but did not see how to do the circular rack. What do you use?

I used the InvoluteGear command for both parts

Incidentally, Cesar Vandevelde , the author of RhinoGears, pointed out that for a gear with a pressure angle of 20 the minimum number of teeth before you get interference is 17. Less than that and you have to undercut the teeth. The plug-in doesn’t handle that so your 12 tooth pinion created with the plugin will likely need some manual adjustment.

To be a “rack” the diameter (gear) ratio would need to be so large that the internal gear could be considered in a practical sense to be straight. The tooth profile for a rack is different from a round gear. I’m not sure whether the Rhinogears plugin algorithms can handle an “infinite” diameter. Perhaps a rack tooth profile is one of it’s options, but thats not what you would need. On the other hand if you just need something that does a pretty good job of looking like a gear, perhaps I’m just nitpicking.

You can try following script
Gear Generator - Involute Gear Generator

This is a RhinoScript that creates involute gear tooth-profiles (including bevel gears) around any circle in any viewport and any orientation. It will treat the circle you pick as the ‘pitch circle’ and it will draw the gear teeth around it. You can specify the gear either by number of teeth, or by its module

I thank you all for your help. I now have some things to try. I hope I can report back soon.

My report so far:

I am on a mac so I cannot run the rhinoscript.

The critical issue I have to Rhinogears is that the teeth come out too deep for my purposes. The teeth in my circular “rack” are so long that they run into another part.

Is there some way to control the tooth depth?

Try this Online tool

Only by changing the number of teeth and adjusting the module to compensate (i.e. doubling the teeth and halving the module give you the same PCD but teeth are half the height).

I believe the profile is a function of the way one gear rolls around the other so you can’t just change height without compensating in PCD and/or module - that’s a function of the gear and not a limitation of the tool.


n.b. Don’t forget that the height change is split 50/50 between the part inside the PCD and the part outside, so what ever clearance increase you are looking for will require double the change overall.

I suspect the problem is that need a different process for creating the inward facing gear. The script generates a deeper cut than an outward tooth.

That site requires one to pay. Don’t know if its is a scam or even whether the data is valid.

That which has worked out best so far is the web site OTVINTA.COM .The site generates a script blender. That can be exported as a 3DF file. That can be imported into Rhino.