Helical Gear tutorial?

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?


Cheers,
Bas
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:
File>New
View>Workbench>Gear
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)

Cheers
Ian

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?
Cheers,
Bas

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.

3 Likes

See my post : Helical Gear tutorial?
I suggest to use the filament of Igus like iglidur i150 or i180. See https://www.igus.eu/info/3d-printing.

To be continued on:

I want to share this script by Seghier in this post:

I hope someone takes the effort to improve your script for gears with different number of teeth, and an option for external gear; a rack; and internal gear. My skills in Python are not so good.

Ian, did you mean “at the correct helix angle”?

Oh, yes, sorry, that was a slip-up. Just to say though, I ended up confused about the geometry. Others with more ability than me (I’m referring especially to the helical gear macro within the “Gear Workbench” by “Looo” in FreeCAD) produce a helical gear that does not agree with the olden days method above; but when Looo’s gear is compared to a commercially created 3D-model, such as by Rush Gears, theirs do agree. So I abandoned the paper strip method and myself just went and used the Gear Workbench within FreeCAD. Maybe one day, someone with the skills can import Looo’s open source macro into a Rhino version.

https://wiki.freecadweb.org/FCGear_Workbench

1 Like

I’ve copied and pasted the code for Scripted gears from the Github link into a python 3.2 script and when run it reports: “ImportError: No module named FreeCAD”. Where can I find the FreeCAD module? Thanks.

I thought I’d found it but was mistaken. Still searching the web for clues on how to make this work on Win 10
Thanks.
Edit: I was trying to run just a piece of the gears script from PyScripter, an external Python IDE. On the FreeCAD forum I was finally given the entire script and told you have to run the script from inside FreeCAD in the Macro console. What an awesome tool!

1 Like

The FreeCAD is standalone parametric CAD software.

Sorry, I entirely missed this post of yours. Apologies.

Anyhow, it seems you did eventually work it out – that the Gear Workbench module of FreeCAD, runs inside the FreeCAD 3D nurbs modelling app, a free download at https://www.freecadweb.org.

But for the benefit of others who may come across this thread, here’s a note on usage. Once you have installed FreeCAD, you make helical gears by the following steps:
File>New
View>Workbench>Gear
Select on toolbar ‘create involute Gear’
Where:
beta = helix angle
module = 1 / normal diametral pitch

Apologies for the tardy reply.
Here’s the Python code for the macro you need to create in FreeCAD.
Be sure that you change the path to reflect your FreeCAD installation…
begin copy code below

MODULE_PATH = ‘C:\Users\sauce\AppData\Local\FreeCAD 0.19\bin’ # correct location?

DBG_LOAD = True

if not MODULE_PATH in sys.path:
if DBG_LOAD is True:
print(“no module path”)
sys.path.insert(-1,MODULE_PATH)
else:
if DBG_LOAD is True:
print(“module path is present”)

if DBG_LOAD is True:
print(sys.path)

import FreeCAD
import freecad.gears.commands

FreeCAD.newDocument(“new_doc”)

gear = freecad.gears.commands.CreateInvoluteGear.create()
gear.teeth = 134
gear.beta = 15
gear.height = 10
gear.double_helix = False

FreeCAD.ActiveDocument.recompute()
FreeCADGui.SendMsgToActiveView(“ViewFit”)

end copy code above
Search the forum for help on using FreeCAD.
https://forum.freecadweb.org/

Arraypolar the negative object around the cylinder then Booleandifference those obects to cut them away.

Got lost from point 4 to point 6. Can you place a few images for expanding the info?

I eventually moved away from the method that I explained above in September 2020. As I noted in my post of November 2020 above, I later favoured use of the module called “Gear Workbench” in FreeCAD, which provides a nice nurbs model. The reason I switched over is that the earlier method did not seem to be geometrically accurate.

This topic does seem to attract a fair bit of interest. It really needs someone with better math and scripting skills than mine to perhaps write a Rhino script. @Bas_Goris made one for Grasshopper, and I would leave it to him to vouch for the mathematical foundation of his approach and its accuracy. What I can say is that in the posts above, there are links to a good number of strong reference materials to look at.

One approach to creating a Rhino script, that would include a number of gear types, would be to begin with the “Gear Workbench” script for FreeCAD written by “looo” on Github (see my post of Nov 20 above for link).If someone were to replicate the FC Gear Workbench for the entire suite of gear types, as a Rhino script, note that for bevel gears there was a small shortcoming of Loos’s approach, a departure he made from standard bevel gear design technique, in that the pitch circle ought to be at the wide end of the gear – for the full explanation see the post, at FreeCAD forum – FC Gear Workbench bevel gear strange result – 28/Oct/2020