3
1
Back

5*1; DivotDepth = 1.5*1; MarkingWidth = 1.5*1; DistanceBetweenKnurls = 3*1; TimerKnobConst = 1.8*1; PI=3.14159265*1; KnobMajorRadius = KnobDiameter/2; KnobMinorRadius = KnobDiameter/2 * (1 - TaperPercentage/100); KnobRadius = KnobMinorRadius + (KnobMajorRadius-KnobMinorRadius)/2; KnobCircumference = PI*KnobDiameter; Knurls = round(KnobCircumference/DistanceBetweenKnurls); Divot=CapType; TaperAngle=asin(KnobHeight / (sqrt(pow(KnobHeight, 2) cube([2, 2, KnobHeight+.001], center=true); if (RingWidth>0 cylinder(r1=KnobMajorRadius + RingWidth, r2=KnobMinorRadius, h=RingThickness, $fn=50, center=true); if (style == "nut"){ } module cherry_mx_button() { union(){ cube([14,14,thickness]); // 1HP = 1/5" = 5.08mm function units_mm(u) = u * U; // h[p] function hp_mm(h.

New Pull Request