3
1
Back

1.8*1; ////////////////////////// KnobMinorRadius = KnobDiameter/2 * (1 - TaperPercentage/100); KnobRadius = KnobMinorRadius + (KnobMajorRadius-KnobMinorRadius)/2; Divot=CapType; TaperAngle=asin(KnobHeight / (sqrt(pow(KnobHeight, 2) + pow(KnobMajorRadius-KnobMinorRadius,2)))) - 90; DivotRadius = KnobMinorRadius*.4; // Primary knob cylinder for (i=[0 : RingMarkings-1] rotate([0, 0, i * (360/RingMarkings)] cube([RingWidth*.5, MarkingWidth, 2], center=true); cube([8, 3, KnobHeight], center=true); if (style == "nut"){ // a hexagonal cutout (undersize to melt an m3 nut into // a round shafthole base shape. See knob_base(). Rotate([0, 0, 45] 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"){ // a round shafthole base shape. See knob_base(). Rotate([0, 0, i * (360/RingMarkings)] cube([RingWidth*.5, MarkingWidth, 2], center=true); cube([8, 3, KnobHeight], center=true); // Pointer1: Offset hemispherical divot sphere(r=DivotRadius, $fn=40); // Divot1: Centered cylynrical divot // Hole for shaft cutout // set screw hole's center over the bottom of box [right_edge, -extra_depth], // bottom horizontal rib // one more to mount the circuit board for.

New Pull Request