3
1
Back

- jackHoleColumns * jackHoleDiameter) / (jackHoleRows); horizontalJackHoleSpacing = (hp*panelHp - jackHoleColumns * jackHoleDiameter) / (jackHoleColumns + 1); for(verticalOffset = [panelInnerOffset + verticalJackHoleSpacing/2 + jackHoleDiameter/2 : verticalJackHoleSpacing + jackHoleDiameter : panelInnerHeight + jackHoleDiameter] for(horizontalOffset = [horizontalJackHoleSpacing + jackHoleDiameter / 2 + 3 + tolerance*8; echo("Left panel:", left_panel_width, " with spacing ", left_panel_spacing); right_panel_width = width_mm - thickness*2.5 - tolerance*6; out_row_1 = v_margin+12; row_2 = row_1 + v_margin + 12; //knob_radius top_row = height - v_margin; working_increment = working_height / 6; // generally-useful spacing amount for vertical columns of stuff col_left = h_margin; col_right = width_mm - hole_dist_side, hole_dist_top); echo("Putting a hole with radius: ", hole_r , " at ", width_mm - thickness*2.2; left_rib_x = 0; // [0:No, 1:Yes] ////////////////////////// ////////////////////////// RingThickness = 5*1; DivotDepth = 1.5*1; MarkingWidth = 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; 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/Knurls)] rotate([0, TaperAngle, 0]) rotate([0, 0, 90]) // To align a face with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER DEALINGS IN THE SOFTWARE.

New Pull Request