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);
|
||||
}
|
||||
|
||||
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])
|
||||
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
|
||||
SupportWidth = RearWallZLedge-SKIN*2;
|
||||
// left
|
||||
@ -66,26 +56,3 @@ module makeRear()
|
||||
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
|
||||
module makeGlueHelper(Width)
|
||||
@ -47,6 +58,11 @@ module makeGlueMountingPoints()
|
||||
{
|
||||
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])
|
||||
{
|
||||
// right
|
||||
|
@ -23,6 +23,9 @@ IMPRINT = "MADE IN GERMANY"; // 30
|
||||
// Distance of the components (when showing 'exploded' elements)
|
||||
SEPARATION = 30; // [0: 1: 100]
|
||||
|
||||
// Add cable strain-relief to top shell
|
||||
STRAIN_RELIEF = "yes"; // [no:No,yes:Yes]
|
||||
|
||||
/* [Hidden] */
|
||||
// Use prototype cutouts to save filament?
|
||||
prototype = "no"; // [no:No,yes:Yes]
|
||||
|
Loading…
Reference in New Issue
Block a user