mirror of
https://github.com/ThorstenBr/FloppyEmuDiskIIEnclosure.git
synced 2024-11-24 10:30:53 +00:00
Several minor improvements:
- Changed "reset button" to a small round button, while the three control buttons keep their larger/rectangular shape. The reset button is barely needed. The round shape avoids confusion when operating the device. - Minor correction of the proportions of the outer shell - to match the real Disk II more closely.
This commit is contained in:
parent
33743cd6f7
commit
93cf68a780
@ -16,6 +16,22 @@ module button()
|
|||||||
rotate([0,180,0]) screwPost(ButtonPegDepth, ButtonPegDiameter+2, ButtonPegDiameter, ButtonPegDepth, 1);
|
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()
|
module makeCableStrainRelief()
|
||||||
{
|
{
|
||||||
StrainReliefHeight=4+SKIN;
|
StrainReliefHeight=4+SKIN;
|
||||||
|
@ -13,6 +13,16 @@ module buttonCutout()
|
|||||||
roundedCube(buttonXWidth, buttonYHeight, SKIN, ButtonCorners);
|
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
|
// test / unused
|
||||||
module buttonFrame()
|
module buttonFrame()
|
||||||
{
|
{
|
||||||
@ -56,7 +66,7 @@ module panelCutouts()
|
|||||||
{
|
{
|
||||||
translate([ButtonXOfs+ButtonXWidth/2+(ButtonXSpacing)*x,
|
translate([ButtonXOfs+ButtonXWidth/2+(ButtonXSpacing)*x,
|
||||||
BoxY_Height-ButtonYHeight/2-ButtonYOfs-(ButtonYSpacing)*y, 0])
|
BoxY_Height-ButtonYHeight/2-ButtonYOfs-(ButtonYSpacing)*y, 0])
|
||||||
buttonCutout();
|
resetButtonCutout();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,13 +10,13 @@ SKIN = 1.0; // [1: 0.1: 5]
|
|||||||
/* [Hidden] */
|
/* [Hidden] */
|
||||||
|
|
||||||
// Width (X) of the box
|
// Width (X) of the box
|
||||||
BoxX_Width = 155*ScalingFactor; // [60: 145]
|
BoxX_Width = 155.5*ScalingFactor; // [60: 145]
|
||||||
|
|
||||||
// Height (Y) of the box
|
// Height (Y) of the box
|
||||||
BoxY_Height = 90*ScalingFactor; // [10: 100]
|
BoxY_Height = 91*ScalingFactor; // [10: 100]
|
||||||
|
|
||||||
// Depth (Z) of the box
|
// Depth (Z) of the box
|
||||||
BoxZ_Depth = 210*ScalingFactor; // [10: 200]
|
BoxZ_Depth = 219*ScalingFactor; // [10: 200]
|
||||||
|
|
||||||
// Width of the ventilation cut
|
// Width of the ventilation cut
|
||||||
VentilationWidth = 4*ScalingFactor;
|
VentilationWidth = 4*ScalingFactor;
|
||||||
@ -146,7 +146,10 @@ module main()
|
|||||||
{
|
{
|
||||||
for (x = [0,1])
|
for (x = [0,1])
|
||||||
for (y = [0,1])
|
for (y = [0,1])
|
||||||
|
if ((x!=0)||(y!=0))
|
||||||
translate([x*ButtonXSpacing, y*ButtonYSpacing, -ButonZDepth]) button();
|
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([-15, 20, 0]) rotate([0,0,90]) makeCableStrainRelief();
|
||||||
translate([30, -15, 0]) makeRearPcbFeet();
|
translate([30, -15, 0]) makeRearPcbFeet();
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ LEDs = "one"; // [one:One / Activity LED,two:Both / Activity and Power LEDs]
|
|||||||
|
|
||||||
/* [Internals] */
|
/* [Internals] */
|
||||||
// Base board imprint
|
// Base board imprint
|
||||||
IMPRINT = "MADE IN GERMANY"; // 30
|
IMPRINT = "TCB 9/2023"; // 30
|
||||||
|
|
||||||
// Distance of the components (when showing 'exploded' elements)
|
// Distance of the components (when showing 'exploded' elements)
|
||||||
SEPARATION = 30; // [0: 1: 100]
|
SEPARATION = 30; // [0: 1: 100]
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user