mirror of
https://github.com/ThorstenBr/FloppyEmuDiskIIEnclosure.git
synced 2025-01-13 16:29:44 +00:00
Moved cable strain-relief from rear panel to top shell
which provides much better stability. The strain-relief is angled, so the bracket can still be attached and screwed when the top shell and base board are glued.
This commit is contained in:
parent
9008f6b74a
commit
4c5e315a05
Binary file not shown.
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 82 KiB |
Binary file not shown.
Before Width: | Height: | Size: 310 KiB After Width: | Height: | Size: 117 KiB |
@ -16,3 +16,26 @@ module button()
|
|||||||
rotate([0,180,0]) screwPost(ButtonPegDepth, ButtonPegDiameter+2, ButtonPegDiameter, ButtonPegDepth, 1);
|
rotate([0,180,0]) screwPost(ButtonPegDepth, ButtonPegDiameter+2, ButtonPegDiameter, ButtonPegDepth, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module makeCableStrainRelief()
|
||||||
|
{
|
||||||
|
StrainReliefHeight=4+SKIN;
|
||||||
|
|
||||||
|
difference()
|
||||||
|
{
|
||||||
|
union()
|
||||||
|
{
|
||||||
|
// cable strain relief
|
||||||
|
translate([ScrewPostDiameter, 0, 0])
|
||||||
|
rotate([180,0,0]) screwPost(StrainReliefHeight, ScrewPostDiameter, ScrewDiameter, StrainReliefHeight, 0);
|
||||||
|
translate([-RearWallCableGapWidth, 0, 0])
|
||||||
|
rotate([180,0,0]) screwPost(StrainReliefHeight, ScrewPostDiameter, ScrewDiameter, StrainReliefHeight, 0);
|
||||||
|
|
||||||
|
translate([-RearWallCableGapWidth+ScrewPostDiameter/3, -(StrainReliefHeight-SKIN)/2, -(StrainReliefHeight-SKIN)])
|
||||||
|
cube([RearWallCableGapWidth+1, (StrainReliefHeight-SKIN), StrainReliefHeight-SKIN]); // 0.5mm to allow a bit space for the cable
|
||||||
|
translate([-RearWallCableGapWidth,-ScrewPostDiameter/2,-SKIN])
|
||||||
|
cube([RearWallCableGapWidth+ScrewPostDiameter, ScrewPostDiameter, SKIN]);
|
||||||
|
}
|
||||||
|
translate([ScrewPostDiameter,0,-SKIN]) hole(ScrewDiameter, SKIN);
|
||||||
|
translate([-RearWallCableGapWidth,0,-SKIN]) hole(ScrewDiameter, SKIN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -43,16 +43,6 @@ module makeRear()
|
|||||||
translate([BoxX_Width-FrontGapX/2, SKIN , BoxZ_Depth-RearWallZOffset-RearWallZLedge/2]) rotate([270, 0, 0])
|
translate([BoxX_Width-FrontGapX/2, SKIN , BoxZ_Depth-RearWallZOffset-RearWallZLedge/2]) rotate([270, 0, 0])
|
||||||
screwPost(ScrewPostHeight, ScrewPostDiameter, ScrewDiameter, ScrewPostHeight, ScrewPostFillet);
|
screwPost(ScrewPostHeight, ScrewPostDiameter, ScrewDiameter, ScrewPostHeight, ScrewPostFillet);
|
||||||
|
|
||||||
// cable strain relief
|
|
||||||
translate([BoxX_Width-RearWallGap-RearWallCableGapXOffset+ScrewPostDiameter, BoxY_Height-CableStrainReliefYOffset, BoxZ_Depth-RearWallZOffset-SKIN])
|
|
||||||
rotate([180,0,0]) screwPost(ScrewPostHeight, ScrewPostDiameter, ScrewDiameter, ScrewPostHeight, ScrewPostFillet);
|
|
||||||
translate([BoxX_Width-RearWallGap-RearWallCableGapXOffset-RearWallCableGapWidth, BoxY_Height-CableStrainReliefYOffset, BoxZ_Depth-RearWallZOffset-SKIN])
|
|
||||||
rotate([180,0,0]) screwPost(ScrewPostHeight, ScrewPostDiameter, ScrewDiameter, ScrewPostHeight, ScrewPostFillet);
|
|
||||||
StrainReliefHeight=2;
|
|
||||||
CableThickness = 0;
|
|
||||||
translate([BoxX_Width-RearWallGap-RearWallCableGapXOffset-RearWallCableGapWidth+ScrewPostDiameter/2, BoxY_Height-CableStrainReliefYOffset-StrainReliefHeight/2, BoxZ_Depth-RearWallZOffset-SKIN-ScrewPostHeight+CableThickness])
|
|
||||||
cube([RearWallCableGapWidth, StrainReliefHeight, ScrewPostHeight-CableThickness]); // 0.5mm to allow a bit space for the cable
|
|
||||||
|
|
||||||
// support triangles for stability
|
// support triangles for stability
|
||||||
SupportWidth = RearWallZLedge-SKIN*2;
|
SupportWidth = RearWallZLedge-SKIN*2;
|
||||||
// left
|
// left
|
||||||
@ -66,26 +56,3 @@ module makeRear()
|
|||||||
rotate([270, 180, 0]) prism(SKIN, SupportWidth, SupportWidth);
|
rotate([270, 180, 0]) prism(SKIN, SupportWidth, SupportWidth);
|
||||||
}
|
}
|
||||||
|
|
||||||
module makeCableStrainRelief()
|
|
||||||
{
|
|
||||||
StrainReliefHeight=4+SKIN;
|
|
||||||
|
|
||||||
difference()
|
|
||||||
{
|
|
||||||
union()
|
|
||||||
{
|
|
||||||
// cable strain relief
|
|
||||||
translate([ScrewPostDiameter, 0, 0])
|
|
||||||
rotate([180,0,0]) screwPost(StrainReliefHeight, ScrewPostDiameter, ScrewDiameter, StrainReliefHeight, 0);
|
|
||||||
translate([-RearWallCableGapWidth, 0, 0])
|
|
||||||
rotate([180,0,0]) screwPost(StrainReliefHeight, ScrewPostDiameter, ScrewDiameter, StrainReliefHeight, 0);
|
|
||||||
|
|
||||||
translate([-RearWallCableGapWidth+ScrewPostDiameter/3, -(StrainReliefHeight-SKIN)/2, -(StrainReliefHeight-SKIN)])
|
|
||||||
cube([RearWallCableGapWidth+1, (StrainReliefHeight-SKIN), StrainReliefHeight-SKIN]); // 0.5mm to allow a bit space for the cable
|
|
||||||
translate([-RearWallCableGapWidth,-ScrewPostDiameter/2,-SKIN])
|
|
||||||
cube([RearWallCableGapWidth+ScrewPostDiameter, ScrewPostDiameter, SKIN]);
|
|
||||||
}
|
|
||||||
translate([ScrewPostDiameter,0,-SKIN]) hole(ScrewDiameter, SKIN);
|
|
||||||
translate([-RearWallCableGapWidth,0,-SKIN]) hole(ScrewDiameter, SKIN);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -12,6 +12,17 @@ module imprint(x,y,z)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// cable strain relief (attached to the top shell)
|
||||||
|
module makeTopCableStrainRelief(height)
|
||||||
|
{
|
||||||
|
translate([ScrewPostDiameter, 0, 0])
|
||||||
|
rotate([180,0,0]) screwPost(height, ScrewPostDiameter+1, ScrewDiameter, height, 0);
|
||||||
|
translate([-RearWallCableGapWidth, 0, 0])
|
||||||
|
rotate([180,0,0]) screwPost(height, ScrewPostDiameter+1, ScrewDiameter, height, 0);
|
||||||
|
StrainReliefWidth=3;
|
||||||
|
translate([-RearWallCableGapWidth+ScrewPostDiameter/2, -StrainReliefWidth/2, -height])
|
||||||
|
cube([RearWallCableGapWidth, StrainReliefWidth, height]);
|
||||||
|
}
|
||||||
|
|
||||||
// little mounting point, so the base plate does not drop when glueing to the top shell
|
// little mounting point, so the base plate does not drop when glueing to the top shell
|
||||||
module makeGlueHelper(Width)
|
module makeGlueHelper(Width)
|
||||||
@ -47,6 +58,11 @@ module makeGlueMountingPoints()
|
|||||||
{
|
{
|
||||||
union()
|
union()
|
||||||
{
|
{
|
||||||
|
// strain relief, attached to the top shell (which is the most rigid structure)
|
||||||
|
if (STRAIN_RELIEF == "yes")
|
||||||
|
translate([BoxX_Width-RearWallGap-RearWallCableGapXOffset-7, BoxY_Height, BoxZ_Depth-RearWallZLedge-RearWallZOffset])
|
||||||
|
rotate([65+180,0,0]) makeTopCableStrainRelief(7);
|
||||||
|
|
||||||
for (z=[FrontZ, RearZ, (FrontZ+RearZ)/2])
|
for (z=[FrontZ, RearZ, (FrontZ+RearZ)/2])
|
||||||
{
|
{
|
||||||
// right
|
// right
|
||||||
|
@ -23,6 +23,9 @@ IMPRINT = "MADE IN GERMANY"; // 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]
|
||||||
|
|
||||||
|
// Add cable strain-relief to top shell
|
||||||
|
STRAIN_RELIEF = "yes"; // [no:No,yes:Yes]
|
||||||
|
|
||||||
/* [Hidden] */
|
/* [Hidden] */
|
||||||
// Use prototype cutouts to save filament?
|
// Use prototype cutouts to save filament?
|
||||||
prototype = "no"; // [no:No,yes:Yes]
|
prototype = "no"; // [no:No,yes:Yes]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user