diff --git a/scad/components/buttons.scad b/scad/components/buttons.scad index c033794..eed0ca7 100644 --- a/scad/components/buttons.scad +++ b/scad/components/buttons.scad @@ -16,6 +16,22 @@ module button() rotate([0,180,0]) screwPost(ButtonPegDepth, ButtonPegDiameter+2, ButtonPegDiameter, ButtonPegDepth, 1); } +// single round/reset button +module resetButton() +{ + $fn = 30; + + // front part of the button + translate([0, 0, 0]) + cylinder(r=(ButtonXWidth-3)/2, ButonZDepth); + + // slightly larger frame around the buttons rear, to keep the button from falling through the panel + cylinder(r=(ButtonXWidth-3+ButtonLedgeWidth)/2, SKIN); + + // connector for the button's peg + rotate([0,180,0]) screwPost(ButtonPegDepth, ButtonPegDiameter+2, ButtonPegDiameter, ButtonPegDepth, 1); +} + module makeCableStrainRelief() { StrainReliefHeight=4+SKIN; diff --git a/scad/components/front.scad b/scad/components/front.scad index acbbe82..57f7ad5 100644 --- a/scad/components/front.scad +++ b/scad/components/front.scad @@ -13,6 +13,16 @@ module buttonCutout() roundedCube(buttonXWidth, buttonYHeight, SKIN, ButtonCorners); } +// front panel hole for a round button +module resetButtonCutout() +{ + // add 1mm spacing, so the button moves freely (results in 0.5mm clearance on each side) + buttonWidth = ButtonXWidth-3+0.5; + + $fn = 20; + cylinder(r=buttonWidth/2, SKIN); +} + // test / unused module buttonFrame() { @@ -56,7 +66,7 @@ module panelCutouts() { translate([ButtonXOfs+ButtonXWidth/2+(ButtonXSpacing)*x, BoxY_Height-ButtonYHeight/2-ButtonYOfs-(ButtonYSpacing)*y, 0]) - buttonCutout(); + resetButtonCutout(); } } diff --git a/scad/components/main.scad b/scad/components/main.scad index f46d4dd..323ac09 100644 --- a/scad/components/main.scad +++ b/scad/components/main.scad @@ -10,13 +10,13 @@ SKIN = 1.0; // [1: 0.1: 5] /* [Hidden] */ // Width (X) of the box -BoxX_Width = 155*ScalingFactor; // [60: 145] +BoxX_Width = 155.5*ScalingFactor; // [60: 145] // Height (Y) of the box -BoxY_Height = 90*ScalingFactor; // [10: 100] +BoxY_Height = 91*ScalingFactor; // [10: 100] // Depth (Z) of the box -BoxZ_Depth = 210*ScalingFactor; // [10: 200] +BoxZ_Depth = 219*ScalingFactor; // [10: 200] // Width of the ventilation cut VentilationWidth = 4*ScalingFactor; @@ -146,7 +146,10 @@ module main() { for (x = [0,1]) for (y = [0,1]) - translate([x*ButtonXSpacing, y*ButtonYSpacing, -ButonZDepth]) button(); + if ((x!=0)||(y!=0)) + translate([x*ButtonXSpacing, y*ButtonYSpacing, -ButonZDepth]) button(); + else + translate([x*ButtonXSpacing, y*ButtonYSpacing, -ButonZDepth]) resetButton(); translate([-15, 20, 0]) rotate([0,0,90]) makeCableStrainRelief(); translate([30, -15, 0]) makeRearPcbFeet(); } diff --git a/scad/disk_II.scad b/scad/disk_II.scad index 32373b3..fa729f9 100644 --- a/scad/disk_II.scad +++ b/scad/disk_II.scad @@ -18,7 +18,7 @@ LEDs = "one"; // [one:One / Activity LED,two:Both / Activity and Power LEDs] /* [Internals] */ // Base board imprint -IMPRINT = "MADE IN GERMANY"; // 30 +IMPRINT = "TCB 9/2023"; // 30 // Distance of the components (when showing 'exploded' elements) SEPARATION = 30; // [0: 1: 100] diff --git a/stl/Small/DiskII_BasePlate_Small.stl b/stl/Small/DiskII_BasePlate_Small.stl index 4abd189..96dc719 100644 Binary files a/stl/Small/DiskII_BasePlate_Small.stl and b/stl/Small/DiskII_BasePlate_Small.stl differ diff --git a/stl/Small/DiskII_ButtonsBrackets_Small.stl b/stl/Small/DiskII_ButtonsBrackets_Small.stl index cebbc6b..fe59e6b 100644 Binary files a/stl/Small/DiskII_ButtonsBrackets_Small.stl and b/stl/Small/DiskII_ButtonsBrackets_Small.stl differ diff --git a/stl/Small/DiskII_FrontPanel_Small.stl b/stl/Small/DiskII_FrontPanel_Small.stl index bbf5a44..3027b46 100644 Binary files a/stl/Small/DiskII_FrontPanel_Small.stl and b/stl/Small/DiskII_FrontPanel_Small.stl differ diff --git a/stl/Small/DiskII_RearPanel_Small.stl b/stl/Small/DiskII_RearPanel_Small.stl index e71d532..143e5b8 100644 Binary files a/stl/Small/DiskII_RearPanel_Small.stl and b/stl/Small/DiskII_RearPanel_Small.stl differ diff --git a/stl/Small/DiskII_TopShell_Small.stl b/stl/Small/DiskII_TopShell_Small.stl index abd8f4e..4abad0d 100644 Binary files a/stl/Small/DiskII_TopShell_Small.stl and b/stl/Small/DiskII_TopShell_Small.stl differ