This is the Python version (RhinoScript included too) of the original GearGen script.
Direct Link (most recent) --> GearGen.zip (inside the zip file look for "GearFromCircle.py")
Github Link (If you want to use the Github ecosystem) --> GitHub-GearGen
If you use it in a Rhino Alias, it will behave like a native Rhino command. It 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.
This script doe NOT handle gear teeth undercutting. So, the minimum number of teeth is limited such that undercutting doesn't occur.
The script will ask you the following options for: "Teeth, Module, Pitch, PressureAngle, BevelAngle, Accuracy"
-If in the process of setting up your gear the pitch circle is forced to change, the script will show you the new pitch circle.
-The minimum number of teeth is dependend on pressure angle and relates to tooth strength.
-The maximum number of teeth is (arbittrarily) capped to 1000, to prevent causing Rhino to compute accidentally (or unreasonably) dense gears.
-Excellent step by step instructions by: Varvara Toulkeridou
Caution: For internal gears, the ring gear is drawn like a regular gear (with the same module as the internal gear) but the pitch circle of the ring gear should not touch the pitch circle of the internal gear. It should be scaled by some factor to avoid interference.
Note: Script calculations were informed by: Technical Drawing With Engineering Graphics 14edition (Giesecke, Mitchell, Spencer, Hill, Dygdon, Novak, Lockhart)
Note: You may modify and reuse the code under the MIT license (attribution)
- Place the "GearFromCircle.py" in a directory on your hard drive
- In Rhino options --> Aliases --> create a new alias (eg: GearFromCircle: !_-RunPythonScript "C:\................\GearFromCircle.py"