Parametric Involute Bevel and Spur Gears
Description
Enhancements include the Bevel gear module, backlash settings, parameterised number of facets for the involute curve and whole of tooth generation to avoid some of the issues the original script had when mirroring a half tooth.
The STLs provided are not intended for direct use, but instead show examples of what can be done with the parametric script.
Parametric Involute Spur Gears take the following parameters:
number_of_teeth
circular_pitch or diametral_pitch: controls the size of the teeth (and hence the size of the gear).
pressure_angle: controls the shape of the teeth.
clearance: The gap between the root between teeth and the teeth point on a meshing gear.
gear_thickness: the thickness of the gear plate.
rim_thickness: the thickness of the gear at the rim (including the teeth).
rim_width: radial distance from the root of the teeth to the inside of the rim.
hub_thickness: the thickness of the section around the bore.
hub_diameter
bore_diameter: size of the hole in the middle
circles: the number of circular holes to cut in the gear plate.
backlash: the space between this the back of this gears teeth and the front of its meshing gear\'s teeth when the gear is correctly spaced from it.
twist: for making helical gears.
involute_facets: the number of facets in one side of the involute tooth shape. If this is omitted it will be 1/4 of $fn. If $fn is not set, it will be 5.
Parametric Involute Profile Bevel (Conical) Gears take the following parameters:
number_of_teeth
cone_distance: The distance from the pitch apex to the outside pitch diameter.
face_width: The length of the teeth.
outside_circular_pitch: The circular pitch at the outside pitch diameter.
pressure_angle: Defines the shape of the teeth.
clearance: Gap between the tip of the teeth on one gear and the root of the teeth on another meshing gear.
bore_diameter: The size of the hole in the middle.
gear_thickness: The thickness of the gear for bevel_gear_back_cone finish (see below).
backlash: Makes the tooth width smaller to make a gap between teeth of correctly spaced gears to allow for manufacturing tolerances.
involute_facets: As for spur gears.
finish: Specify either bevel_gear_flat(0) or bevel_gear_back_cone(1). If you don't specify this parameter you will get a flat gear for pitch angles less than 45 degrees and a back cone gear for pitch angles greater than 45 degrees. The example shows both with the small gear being the flat one.
Update: v5.0 Implements backlash for bevel gears (This was not working in v4.0).
Instructions
Bevel gears are more complicated. Meshing bevel gears have the same cone distance, circular pitch and pressure angle. The cone distance, circular pitch and number of teeth will define the pitch angle. The example provided shows how to calculate the parameters for two gears if you have a desired axis angle (the sum of the pitch angles for the two bevel gears).
You must be logged in to post a comment.
I'm a little confused by this line in the gear module
pitch_diameter = number_of_teeth * circular_pitch / 180;
Shouldn't this be
pitch_diameter = number_of_teeth * circular_pitch / pi;
Because of this, the gears generated by the script end up being way smaller than they should be.
How would one design off-center gears similar to those being used on emmet's heart and your own projects? I would like to produce my own kinetic sculpture that "explodes" when rotated. If you have any references I could research I'd greatly appreciate it. I'm sure I could construct on-center bevel gears similar to the first gear cubes but I'm having a hard time wrapping my head around 8 gears who's contact points constantly change.
after reading docs here and trying to create a 32DP (diametral pitch) gear model, I have determined that the units must be metric, so to use 32DP (32 teeth per inch diameter) the value entered for Diametral Pitch should be 32/25.4 hence the gear is
module testDPGear()
{
gear(number_of_teeth=127,
diametral_pitch=32/25.4,
pressure_angle=20);
}this is now working as I expected thank you Greg for a fantastic tool!
Is it possible to use this script to create racks? If so, what are the correct parameters to create a matching "normal" and rack gear?
When i try to generate a gear with my own parameters, i only get some sort of rod. My parameters: gear (circular_pitch=0.051181,
number_of_teeth = 20,
gear_thickness = 0.066929,
rim_thickness = 0.066929,
hub_thickness = 0.066929,
hub_diameter = 0,
bore_diameter = 0.086614,
twist = 0,
circles=0);
The gear is 1,68 mm thick. As far as i understand the programm takes imperial values so i´ve converted the values to inches.
Can anyone tell me what i´m doing wrong?
pro tip: wrap the actual operations of the teeth inside render(), that will significantly simplify the CSG trees (and thus make previews work better).
I have a license question. Are the gears made (the stls) also LGPL? Or can I consider them to be whatever license I wish, as it's *L* GPL, and not GPL, as long as I haven't changed your scad script, but I'm just using it? I'm asking as my thing where I included a gear made by your script was criticized for including your part on my page, since my thing has a different license. Now I've noted in the description that your part is LGPL, and hope this is ok, but it'd be good to get a clarification from you. My thing is on: http://www.thingiverse.com/thi... (And thanks for a great and very useful script, as well as all the other parts you've designed that I use frequently!)
who can help me!
i need 2 gears
1st - 108 thooth /modulus 1/ 3mm thick
2nd - 20 thooth / modulus 1 / 3mm thick
which settingsmust i use
further
a 20 thooth bevelgear / modulus 1
same question
rgrds
henk
I'm confused with one of the comments below, are the measurements in imperial or metric?
What is the unit for the parameter outside_circular_pitch?
You are calculating:
outside_pitch_radius1 = gear1_teeth * outside_circular_pitch / 360;
outside_pitch_radius2 = gear2_teeth * outside_circular_pitch / 360;
This looks somewhat like you are actually calculating some circumference instead of a radius
but I haven't yet found my way around the formul
as.
(In software development it's accepted and often even enforced practice
to have a comment in front of a method to document not only it's purpose
but it's parameters and their allowed values too.)
I could use some help.
Given a dedendum circle(and shaft)-Diameter of exactly 75,3(65,5mm) mm and something like 35(8mm)mm.
How do I calculate sensible parameters for bevel_gear_pair()? *DONT_KNOW*
Preferably with a 0.8/ 32 pitch. (An industry standard for the application I have in mind.)
Well, I'm trying to enter a pitch of 32 and doing a binary search to find the correct number of teeth to get my diameter.
Somehow this is extremely slow.
The first 2 runs took
&
gt; 2 minutes on a 2x2.8GHz with 8GB or Memory.
The third one is running for more then 15 MINUTES now. (parameter: 80, 20, , 32)
OpenSCAD is using 320MB of memory already and adding megabytes by the second.
Could there be a massive memory leak?
(I just don't like spending 30eur+80eur on two plastic gears that I could print myself.
This is great but I am having a little difficulty working with it. I need 2 spur gears that mesh together that have a 6:1 gear ratio. The largest gear can be no larger than 40.64 mm can someone help me set this up?
//6:1 is a pretty high ratio for such small gears:
large_gear_radius=40.64/2;
small_gear_teeth=7;
large_gear_teeth=6*small_gear_teeth;
circular_pitch=large_gear_radius/large_gear_teeth*360;
gear (circular_pitch=circular_pitch,
gear_thickness = 3,
rim_thickness = 4,
rim_width=3,
hub_thickness = 6,
number_of_teeth=large_gear_teeth,
circles=10
);
translate([large_gear_radius*(1+1/6),0,0])
gear (circular_pitch=circular_pitch,
gear_thickness = 3,
rim_thickness = 4,
hub_thickness = 0,
bore_diameter=3,
number_of_teeth=small_gear_teeth);
I was totally failing to generate an actual gear with my own numbers and then I realized that gears are typically imperial! Converted my metric to inches and bam! A gear with teeth! Doh.
Another little gotcha is when you load up the STL into ReplicatorG the gear will be TINY! I guess the STL file can specify a unit so you'll need to use the scale tool to go from inches to mm.
Made a pair of these, using the simple gear template. They meshed perfectly, rotated 1:2 like they should, and taught me something about why the teeth on gears aren't flat.
Entirely rad. Thanks.
I tried it, I printed some gears, but Im unable to create meshing inside gear and external gear.
Making a difference from a plain cylinder is not working. Some clearence needs to be adding.
Can you extend this script to have inside gears? They allow to create more compact design, and Im desperately looking for a solution.
I would like to have herringbone inside gear...
Laszlo
I've been working with internal gears for my gearbox.
I had to make some modifications to the library to get it to work. I added a way to adjust the addendum
&
amp; dedendum. The addendum is defined as 1/pitch_diametrical, I changed it so that you can set it to something like 1.25/pitch_diametrical so that you can make the tooth taller do so that when you subtract the gear from something it leaves more room, alternatively, you could have another clearance adjustment that increases the addendum instead of the dedendum. I also found some documentation on the net implying that the dedendum should be more like 1.4/pitch_diametrical for fine pitched gears but that adjustment can easily be made with the clearance parameter.
Can you post a pic of the gears you printed that don't mesh? I though internal gears were the made just as you suggest (i.e. the negative of an external gear), but I think there are some limitations on the teeth ratios. Have you tried using the backlash parameter? That will give some clearance between the teeth.
is it possible to make a bevel gear the same size as the large gear? i want to make a lens focus gear but i want to eliminate the 90
º junction box on most traditional designs. if i print it with a bevel gear that fits on the lens and another the same size but with a much smaller bore diameter that is attached to a knob will that work?
basically something like this with bevel gears
http://store.redrockmicro.com/...
llowFocusBundles15mm/microFollowFocusv2IndieBundle
That large gear is a bevel gear! It looks like a circular rack because of the combination of the teeth ratio and the axis angles. If either the axis angles were closer together or the second gear was much larger, it would be obvious that both gears are bevel gears.
This is an amazing script. There is so much functionality here that an instruction manual would be amazing. Nothing to fancy but a simple wiki page or something. I have the script running and am working my way through the commented code now.
Thanks for a great addition
josh
Amazing scad work! Such a useful library and good variety of gear types!!
I have made an update allowing a gear to be made 2D for exporting to a laser cutter. The update is here http://www.thingiverse.com/thi....
If you want to pull the changes into your code and release a new version/ add it to the next release that would be great :)
Thanks again for the good work!
w00t! Thanks for making everything work and awesome Greg! I didn't even realize this was based on my script until i checked GitHub today XP
The bevel gears are missing their teeth :)
For some reason, it sometimes renders without teeth using the F5 option. Using F6 takes a lot longer but always results in the teeth showing up. I just did this in a small script:
use
&
lt;parametric_involute_gear_v5.0.scad
&
gt;
bevel_gear();
F5 produced what you have shown. F6 rendered the gear properly. If you hit F12, you can see the component objects including the teeth. This must be some sort of limitation in the OpenCSG viewer.
that was from bevel_gear() with default parameters. Others seem to work great.
Could please licence this as "GPL 2 or later", to allow it to be properly included in the MCAD lib (http://github.com/elmom/MCAD). LGPL would work also.
Could you add inverted gears (think planetary) to your script. The sign of the radii/pitch parameters could act as the switch. You can take a look at http://www.swineworld.org/blen... which has a script for generating gears in blender. thing:505 has an example usage similar to what I'm planning (gearing for a gearbox for attaching to a drill chuck etc).
Flagging this as a derivative isn't obvious. The way I know how to do it is to press the "I made one!" on the thing to be derived and the form that opens has the option to add your changes. From there it uses the normal widget for thing editing.
would be super cool to have this type of scad libraries in some sort of svn/git ..
thanks for the superb work :) I'v bin trying to make script that does the same thing for few weeks and was not able to properly design involute shape in openscad.
Are you sure this isnt some sort of black magic?
WOW. This is greatness. Any gear, any size, any type. From my perspective, the single most useful thingiverse post yet.
License

Hello. I am very new to modeling and OpenSCAD. I am trying to model bevel gears. Can someone please tell me what all I must change in the downloaded code? A step-by-step guide? I would really appreciate it. I have my desired bevel gear dimensions with me. I just don't understand how much and where to enter it all..