chrisspen / gears

OpenSCAD gear generator.
Other
290 stars 68 forks source link

Herringbone Gear and Rack don't mesh #16

Open BonyJordan opened 1 year ago

BonyJordan commented 1 year ago

In particular line 120 inside module rack(): mx = modul/cos(helix_angle); // Module Shift by Helix Angle in the X-Direction

causes the rack version to increase the tooth size whereas the gear version doesn't have the equivalent line. Which is correct?

david-venancio commented 1 year ago

Hi ! what do you mean by "Gear and Rack don't mesh" ?

david-venancio commented 1 year ago

Hmm ok I understand. Here's how I reproduced the problem : translate([0, -20, -10 ]) herringbone_rack(modul=1, length=60, height=5, width=20, pressure_angle=20, helix_angle=30); translate([0, 0, -20/2 ]) herringbone_gear (modul=1, tooth_number=30, width=20, bore=4, pressure_angle=20, helix_angle=30, optimized=true);

Not a simple problem indeed. Herringbone_Gear_and_Rack_don-t_mesh

david-venancio commented 1 year ago

I forgot a 180 degrees rotation on one of them. But we can see that the gear has rounded teeths and the rack doesn't... I bet that setup wouldn't function IRL obviously. Maybe it deserves a special case for this pairing ?

david-venancio commented 1 year ago

Here's how to look at the problem:

rotate([0,180,0])
    translate([0, -20, -10 ])
        herringbone_rack(modul=1, length=60, height=5, width=20, pressure_angle=20, helix_angle=30);
translate([0, 0, -20/2 ])
    herringbone_gear (modul=1, tooth_number=30, width=20, bore=4, pressure_angle=20, helix_angle=30, optimized=true);

Herringbone_Gear_and_Rack_don-t_mesh2

david-venancio commented 1 year ago

(I use those gears on my reprap. Thanks again!)