gears
gears copied to clipboard
rack has incorrect pitch due to use of 'clearance'
The 'clearance', which didn't appear in the original library, causes the rack to mismatch a spur gear with the same module / modul. Removing the 'clearance' fixes this issues. Animating the example rack and pinion will show this.
module rack(modul, length, height, width, pressure_angle = 20, helix_angle = 0) {
// Dimension Calculations
modul=modul*(1-clearance);
...
fix: //modul=modul*(1-clearance);
...
Image showing rack with modul=modul*(1-clearance)
and black marks at correct pitch, rack mismatching pitch. Rack exactly matches spur gear pitch radius and should have the same number of teeth, it doesn't.
Image showing rack without clearance
, black marks at correct pitch, in line with rack.
![without-clearance](https://user-images.githubusercontent.com/10847477/101678149-7553f600-3a55-11eb-969e-19ea3a11f343.png)
Good
Can confirm that this issue exists. However, I can not confirm that removing clearance solves it. At least not for herringbone racks. Also: the clearance parameter did exist in the original lib. It is not newly introduced.
Just came across this same problem myself (though it took an embrassingly long time to discover: when my rack became unaligned I first began to doubt whether my maths was correct that it should move π * gear reference diameter with each revolultion - it should!).
I can't see any reason why that line exists to adjust the value of "module" in the rack() module - it's inevitably not going to pair correctly with the spur gear if you do (unless the spur gear is also meant to have modul=modul*(1-clearance);
? But then neither one is the size specified!)