OpenSCAD Helical Gears

by catarina, published

OpenSCAD Helical Gears by catarina Nov 24, 2009

Featured Thing!

8 Share
Download All Files

Thing Apps Enabled

Open in Customizer Order This Printed View All Apps


Use This Project

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

64067Views 16907Downloads


This is the second half of my http://openscad.org gear sets.

I couldn't get the top and bottom parts of the double helical to union properly, so I ended up offsetting the bottom piece by 0.1mm :( It skeins and prints fine though.

This thing is part of a set:

UPDATE: I'm printing some gears and noticed a couple mistakes on the openSCAD script: the variable 'orientation' wasn't doing anything and the value 'extrudeInDiam' was in fact being used as radius. They're both fixed now and I uploaded a new version of the script.


The openSCAD file accepts parameters for height, pitch diameter, shaft diameter, double helical, teeth (number of teeth, addendum, dedendum, tooth width, angle, orientation), shape (solid, star, circles), extrude in and out (diameter, height), rome (pitch diameter, gear height, number of teeth, addendum, dedendum, tooth width, rotation).

All Apps

Customizer is the easiest way to take great 3D printable designs and make them your own. Make your OpenSCAD designs infinitely more valuable by empowering the community to customize them.

App Info Launch App
Customizer Thing App

3D Print your file with 3D Hubs, the world’s largest online marketplace for 3D printing services.

App Info Launch App

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

3D Print a wide range of designs with Treatstock. Easy to use tools to get the perfect result. The global 3D printing network that connects you with high-quality and fast working print services nea...

App Info Launch App

what are those green circles

Do your gears mesh properly? The teeth are just flat and this will cause lots of troubles, you may want to read more here: http://en.wikipedia.org/wiki/Involute_gearhttp://en.wikipedia.org/wiki/I...

Hi aguaviva. This is a very old script and the gears aren't involute. There are better and more recent scripts for gears on Thingiverse.

Hi Aguaviva. This is a very old scrip and the gears aren't involute. There are better and more recent scripts for gears on Thingiverse.

Nice gears! I'm creating a gear set to put some miniature gutter brooms in motion, 6 of them in the row of two each. I was curious if you think that your gears would work for my project. Thanks for your help!!!

Hi, thank you for your enthusiasm :) However, my gear designs are pretty old. There are much better and more advanced openSCAD gears in Thingiverse now, and I'd strongly recommend you base your design on those instead. Best of luck for your project!

Have you had any luck on making the internal gears? I am looking for a gear with both internal and external teeth. I need a small gear to drive the outer teeth of a the main ring with an array of smaller gears rotating inside it.

Hey WardElder. Have you checked the other gear openSCAD scripts on Thingiverse? There are some pretty good ones around and they might already have what you're looking for.

Try this site for doing the calculations. Makes using your SCAD file much easier.


Ooh, that's a great resource. Thanks!

Very cool. I made some slight modifications to get rid of the "skin" on the bottom of your model. It's the simple addition of a translate([0,0,-1]) and adding 1 or more to the height to the second item in your difference() sections. 8-)

I suggest the following modifications:

module circle() {
solid(gearHeight-0.1doubleHelical, pitchDiam);
for (c=[1:circleNum]){
(360/circleNum)) translate([0,rootRad/2, -gearHeightdoubleHelical]){
doubleHelical, circleDiam/2,
oval( circleDiam,circleDiam/2,gearHeight+gearHeight*doubleHelical);

Very cool, thanks!

your gears remind me of a toy i had as a child (born in 74) called spirograph. wonderful stuff. i'd love to have it again for me and my kids.

What a great idea! I'm working on some internal gears as well. If that design works maybe it'll allow us to print a spirograph set :)

Nice script. Making one for the rack would complete the set fully :)

I don't suppose there is any chance of a scad script for internal gears is there ??

The ones so far are pretty awesome

Being able to print out the parts for harmonic and planetary gearboxes would be unreal. 8-)

Yeah, I'd like to add internal, crown, and rack. It shouldn't be too hard to modify these scripts for that. Maybe I'll have the chance to do it at a hacking marathon this week :)

That would be really, really, cool.

If you take a planetary gear arrangement and split the annular gear (internal gear) around the middle but make one half have one less tooth than the other you can make the gear box behave like a cross between a harmonic and planetary gear arrangement and get very high reduction rations out of a si
ngle stage.

Most excellent for efficiency and keeping the number of parts low.

The clever bit is making two annular gears that are one tooth different but still mesh with the planet gears.

Consider if the two annular gears had 100 and 101 teeth respectively you could get a 100:1 reduction if one
of the annular gears was held stationary. That is 100 complete revolutions of the planet assembly would give one revolution of the non stationary annular gear.

Multiply this by the reduction of sun to planet gears and you get a very compact and efficient gear box. ;)

I guess doing this with planet
and sun gears made from your helical doubles would truly be poetry in motion. 8-)

I just imagine sort of robots using it

Love them! I take it the samples you've uploaded are all compatible with one another in terms of tooth size and gap?

Thanks :) The three large gear models do match in terms of tooth size and gap, but they also have a bunch of other characteristics (height, teeth orientation, double v. single helical, etc.) that make them incompatible. My idea was that you'd just use the openSCAD file to generate exactly what you need, and these samples were picked at random. However, if you don't want to work with the scad file, just let me know the characteristics of the models you need and I'll be happy to upload them here or send them out to you.

Wahey more gears!

I've been incorporating an "overlap" variable in my OpenSCAD code to get union and difference operations to cleanly merge and cut pieces. It extends the merging or cutting surface by a fixed amount at a known location.

See the openscad example I attached to my Lego Compatible Disc Buttons - http://www.thingiverse.com/thing:1005http://www.thingiverse.com/thi...

Lego Compatible Disc Buttons

Thanks! That's a great idea. I'll start using an overlap surface as well.

excellent prints! what printer did you use ?

I printed these on our MakerBot.

Nice results! Very solid faces, did you use the Diaphragm setting in Skeinforge or just lots of infill?

Well, we have a really good bot :) It has prototype makerbot microstepping drivers and Zach adjusted our skeinforge preferences so that everything runs smoothly.

I also learned from him to build large models from SDcard to avoid buffer issues. I noticed that it makes such a difference that now I build everything, even something as small as ring, from the card. Another thing I picked up from Zach is to pre-heat the extruder.

Finally, I look very, very closely at my skeinforge preview and keep making small adjustments to the model until the preview looks just right.

I guess that all these things added up result in some very nice prints :)

WOW. Words just fail here.

These are exquisite.