3
1
Back

PI*KnobDiameter; Knurls = round(KnobCircumference/DistanceBetweenKnurls); Divot=CapType; TaperAngle=asin(KnobHeight / (sqrt(pow(KnobHeight, 2) + pow(KnobMajorRadius-KnobMinorRadius,2)))) - 90; if (NotchedShaft==1) { cube([HoleDiameter/2, ShaftDiameter*2, ShaftLength], center=true); } // https://cdn.sparkfun.com/datasheets/Components/Switches/MX%20Series.pdf module cherry_mx_button() { union(){ cube([14,14,thickness]); // u[nits] function units_mm(u) = u * U; // h[p] if (style == "nut"){ } module knurled_cyl(chg, cod, cwd, csh, cdp, fsh, smt) { cord=(cod+cdp+cdp*smt/100)/2; cird=cord-cdp; cfn=round(2*cird*PI/cwd); clf=360/cfn; crn=ceil(chg/csh); echo("knurled cylinder max.

New Pull Request