Helical Gear tutorial?


Is anyone aware of a guide for creating helical gears?


Can you just show us a precise picture of what you want to achieve ?

This first pic shows a fancier gear than I need but it appears to have been done in Rhino.

This second example is what I am trying to do.


You could probably just extrude the gear profile straight, then sub-object select one face and rotate it around center the desired number of degrees…

Not sure it creates the exact helical gear profile, but it looks OK and sure is quick…

Otherwise you can copy the gear profile up the width of the gear, rotate the desired angle relative to the original, and Loft between the two profiles; Cap to make solid and then add details like center bore, etc.


nope… the faces of the teeth are twisted like that because the profiles should be perpendicular to tooth perimeter or whatever you call that.

i think if one extrudes one of those teeth up and simply shears it then using ArrayCrv along a circle then array and extrude the circle and boolean union them together… here a less fancy try out.

And here is the question do you want bevel one or spiral ?

From picture i assume it is just skewed bevel one - is it ?

It’s my day for reviving ancient threads. This one asks if there’s a tutorial for creating a helical gear in Rhino. As far as I’m aware, there still is not. Mitch above suggested a simple twist of one end of a straight-extruded gear with respect to the other would suffice. What that produces is “straight teeth set on an angle” – which is not a true screw form, as is required. Its teeth are not radially symmetric to the rotational axis. So here’s the tutorial for making a true helical gear, 2 years late.

A better way is to use this old patternmaker’s trick to create a true helical gear, inspired by Joseph Horner’s “Helical Gears: a practical treatise” of 1893. He says: “Mark straight diagonal lines, representing the tooth-points, on a strip of paper, and glue this around the face of the prepared block. The bending of the paper to the curvature of the block will develop the helical form from the straight lines.”. We can do this in Rhino very easily.

  1. Create your gear profile - the best is Rainer Hessmer’s Involute Spur Gear Builder, or Doug Roger’s standalone app based on the Hessmer algorithm, GearBakery.
  1. Extrude over this a cylinder equal to the OD of the gear wheel.

  2. Use “UnrollSrf” command on the cylinder to make the “strip of paper”, which will presently be wrapped again around the cylinder.

  3. Draw onto the “paper strip” the lines of the tooth points at the correct bevel angle. Actually, you only need to draw one of them.

  4. Use command “FlowAlongSrf” to wrap the line on the “paper strip” (Rhino calls it the “base surface”), back around the cylinder.

  5. Execute command “Sweep 2 Rails” – one curve is the axial centreline, the other curve is the tooth-point line you drew. The cross-section is the gear wheel profile.

  6. “Cap” to make solid. All done, voila!


Should the tooth profile be oriented so that it is perpendicular to the helix curve? Along the lines of circle around curve, then making a planar surface from the circle, untrimming it and then orienting the tooth profile to it.

That’s true Matt. The tooth profiles should be normal to the helix angle.

If I get your idea, you would draw a circle normal to the helix angle and extrude that to use as the target for the FlowAroundSrf command? I’m not sure that the geometry would work out there either – if I’ve got your idea right.

I’m thinking that actually, step 6 should be done on a single tooth profile that has been rotated to the normal of the bevel angle. Then there’d be steps 7 polar array and step 8, join. And since the initial “gear blank” cylinder needs to be higher to account for the ragged tooth ends that result from these operations, a trim at both ends before finally capping.
I’ll try it out a bit later.

I haven’t actually waded through the various over-long Youtube vids of helix gear-making in Solidworks, Catia, etc, but looking at the search engine images of them, I suspect many of them are merely variations of Mitch’s ‘twist’ technique. If so, this one – once these modifications are down pat – will be more accurate as an actual working gear.

Yes, I too am thinking that it the ‘normal to helix’ orientation should be applied to only one tooth. Even that would need to be scrutinised, so as to establish a limit of the extent of the profile that’s acceptable. Think of a small PCD gear with only a few teeth.

I’ve done quite a lot of work in the past on handrails and scrolled newel posts for helical staircases. Very similar issues arise.

For the gear, I can’t see that merely shearing one side of the gear relative to the other is going to give a workable solution. It would be interesting to 3D print a pair of gears modelled in this way, to see if they mesh.

The modelling of a helical tooth profile is an interesting puzzle. The acting directions of the pressure angles is making my brain hurt! :thinking:

Freecad has the FC Gear workbench with many types of profiles. The Freecad forums provide very complete and usually rapid solutions to questions, like these Rhino forums do.

1 Like

I tried FreeCAD, or more specifically loaded the FCGear Workbench add-on and tried that. Initially I was confused that it gave an unexpected pitch diameter on the finished gear, but eventually realised you must keep in mind, it is asking for the normal module rather than the tranverse module. It does well other than that.

Alternatively, I found that Rush Gears lets you make custom helical gears and download them as STP files, etc. This approach too requires you input either normal module or normal diametral pitch (not transverse).

With the FreeCAD add-in and on Rush Gears models, pitch diameter stays constant as you alter the helix angle, but the outside diameter does not: it decreases with increasing helix angle. To see this effect more easily, try the helical gear calculator at Engineer’s Edge.

The approach I gave above is probably as good as any, and has the advantage that you can control the outside diameter, if that is important (e.g. when documenting historical machinery in 3D). If using the 7-step approach above, and want the tooth profile to be normal to the helix angle (a more realistic shape), I found that you need to create a closed polycurve, and sweep that along the 2 curves as described in step 6. This swept curve is then capped, polar-arrayed and unioned with a cylinder equal to the root diameter. If it won’t union, make the 2D tooth profile ‘key into’ the body of the gear more, before making the closed polycurve, rotating it and sweeping it.

None of these approaches probably give a truly accurate result for manufacture of highly-loaded gears. Loganvsky and Khmarova 2016 “3D Model of Geometrically Accurate Helical-Gear Set” Procedia Engineering 150:734-741 (pdf available on Researchgate) show step-by-step how they produced in SolidWorks a high-tolerance helical gear, and it was not a trivial task. Maybe someday someone will translate L & K’s SolidWorks approach into Rhino commands. I can’t, because I don’t know SW well enough to do the translation. Meanwhile, we have to accept that other approaches may ‘look the part’ on-screen, but have their inaccuracies.

1 Like

Nice summary Ian, thank you

Dear Ian,

I have tried to interpret your tutorial in grasshopper. see attached gh file. I did sweep all teeth at once, instead of only one tooth you suggested.
As you mention this skew method is the official way and is seems better than the twist alternative. I also included the twisted method in the gh file. The below picture shows the difference between the methods. The twist method shows some small but wrong differences.
@DavidRutten is it possible to add this ‘skewed method’ in grasshopper as this skewed method seems much better for gears than the twist-gh-function? Or is this skew method already in gh and that I still have to learn this function?

HerringBoneGearsV1.gh (83.4 KB)

There’s always the option to download the CAD model from McMaster or another source. These gears are premade to the correct specifications. Even if this will end up being a custom machined gear, the tooth profiles would be correct.

I agree, but my goal is that Rhino gets better.

Hi Bas. I am not sure that I can comment actually. Short answer is, in the end I used the suggestion of @swade above, and modeled my helical gears in FreeCAD, the open-source nurbs modeler.

If you get into it, the problem is around getting the tooth profile right – it is at the normal to the angle of the tooth. So Mitch’s method, i.e. taking a 2D involute gear profile, copying it say 1-inch above, rotating that top one a bit and lofting the result, won’t make a good meshing gear.

I did try to follow the theory of helical gears, but I concluded that for me, to really understand it was a deep project that I could not pursue. The main online resource though is:
SDP/SI 2019, Elements of Metric Gear Technology.

Beyond that, Radzevich 2012, Dudley’s Handbook of Practical Gear Design and Manufacture seems to be floating around the web as a pdf (just saying), and Google Books has large parts of Maitra 1994 Handbook of Gear Design, 2nd ed. I also found a good online method screed by one Ross Korsky, who wrote a helical gear script for Autodesk Fusion – Helical Gear Generator.

But as I say, I was impressed by the FreeCAD ‘Gear Workbench’. This is the work of a fellow named ‘looo’, who has a Github page for the script: https://github.com/looooo/freecad.gears
He has the maths under control, and the gears are theoretically accurate, i.e. should print good 3D gears. He’s also responsive if you ask him anything, either on Github or the FreeCAD forum.

If you want to improve Rhino’s ability in this area, by writing a script, these resources above would be the starting point. You could probably use a lot of looos’ script for the maths side of it.

As to using FreeCAD just to get a one-off job done (make in FC Gear Workbench, export to Step, then into Rhino), I made myself a note on how to make the helical gear (because I am not a regular FreeCAD user, so will forget how I did it). Here’s my ‘note to myself’:

How to make helical gears in FreeCAD:
Select on toolbar ‘create involute Gear’

beta = helix angle
module = 1 / normal diametral pitch
(but note that module defaults to ‘thousandths’ so need to multiply by 1000)
(e.g. Normal Diametral Pitch of 6 is module 0.166667)


PS, if you make your Grasshopper gear also in FC, and export to Rhino, you can compare the FC version with your GH version and see where the geometry diverges. I would trust looo. I’d be interested to hear how it goes for you.

Hi Ian,

I made a tutorial for bevel gears: Is there a better way to draw a bevel gear?
Can you have a look as I am not sure if it is okay?

I need to create some very small helical gears., probably a mod 3 or 3.5. However no small cutters or hobs are available ‘off the shelf.’ I was wondering if anyone has created a 3D printed gear that works? I would use the printed gears as masters and cast copies in either epoxy, urethane, or brass. I experimented with Rhino Gears back when I was running v5, but never made a physical gear. I may have to load v5 back up if it doesn’t work in v7.

I have made a new version of the herringbone gear grasshopper file. See attached.HerringBoneGearsV1.1_WIP.gh (125.3 KB)

The gear design contains a drain for oil in the middle.