diff --git a/rack2/connectingBar.scad b/rack2/connectingBar.scad index 2394974..fcef11f 100644 --- a/rack2/connectingBar.scad +++ b/rack2/connectingBar.scad @@ -5,8 +5,11 @@ include <./mainRail.scad> include <./helper/sphericalFilet.scad> include <./helper/cylindricalFilet.scad> +// TODO remove support requirements +// TODO add slack to top slots +// TODO clean up // TODO: How do I nicely explain this? -railSlotSpacing = 2; +railSlotSpacing = 3; sideSpacing = 12; barDepth = maxUnitDepth + 2*railSlotSpacing; @@ -39,56 +42,77 @@ module connectingBar() { cylinder(r=2, h=2); } + // TODO move this to custom file // negatives on the y-z plane to be imprinted on the side of the main - module sideConnector_N() { + module frontBarConnector_N() { - zOffset = 7.5; - y1 = 5; + y1 = 6; y2 = 27; + z = 6; - translate(v=[ - m3HeatSetInsertSlotHeightSlacked, y1, zOffset]) - rotate(a=[0,90,0]) + translate(v = [-m3HeatSetInsertSlotHeightSlacked, y1, z]) + rotate(a = [0, 90, 0]) heatSetInsertSlot_N(rackFrameScrewType); - translate(v=[ - m3HeatSetInsertSlotHeightSlacked, y2, zOffset]) - rotate(a=[0,90,0]) + translate(v = [-m3HeatSetInsertSlotHeightSlacked, y2, z]) + rotate(a = [0, 90, 0]) heatSetInsertSlot_N(rackFrameScrewType); - translate(v=[-1, y1 + (y2 - y1)/2, zOffset]) + // TODO fix this up, no center=true + translate(v=[-1, y1 + (y2 - y1)/2, 0]) cube(size=[2,10,5], center=true); } - module railConnector_N() { + // TODO move this in custom file, like for railFeetSlot_N + module sideWallConnector_N() { + lugW = 7; + lugD = 20; + lugH = 2; + + insertDw = lugW/2; + + insertDd = lugD - 4; + + translate(v=[0,0, -lugH]) + cube(size=[lugW, lugD, lugH]); + + translate(v=[insertDw, insertDd, -(m3HeatSetInsertSlotHeightSlacked + lugH)]) + heatSetInsertSlot_N(rackFrameScrewType); } - module test() { + + module singleCorner_N() { + union() { + translate(v=[5,5,0]) + stackConn_N(); + + translate(v=[barWidth - (railTotalWidth + railSlotSpacing), railSlotSpacing, barHeight - railFootThickness]) + railFeetSlot_N(); + + translate(v=[barWidth + eps, 0,0]) + frontBarConnector_N(); + + + translate(v=[barWidth - (railTotalWidth + railSlotSpacing) - 9, railSlotSpacing, barHeight]) + sideWallConnector_N(); + } + } + + module connectingBar() { difference() { positive(); - union() { - translate(v=[5,5,0]) - stackConn_N(); + singleCorner_N(); - translate(v=[barWidth - (railTotalWidth + railSlotSpacing), railSlotSpacing, barHeight - railFootThickness]) - railFeetSlot_N(); - - translate(v=[barWidth + eps, 0,0]) - sideConnector_N(); - - // TODO change this - translate(v=[barWidth - (railTotalWidth + railSlotSpacing) - 7, railSlotSpacing, barHeight-2]) - cube(size=[5,13,2]); + translate(v=[0,barDepth,0]) + mirror(v=[0,1,0]) { + singleCorner_N(); } } } - test(); + connectingBar(); } connectingBar(); -*intersection() { - connectingBar(); - - cube(size=[21,100,100]); -} diff --git a/rack2/connectingBar.stl b/rack2/connectingBar.stl index d01bacf..07fd803 100644 Binary files a/rack2/connectingBar.stl and b/rack2/connectingBar.stl differ diff --git a/rack2/mainRail.scad b/rack2/mainRail.scad index ee5b851..51b0190 100644 --- a/rack2/mainRail.scad +++ b/rack2/mainRail.scad @@ -90,12 +90,8 @@ module mainRail() { difference() { cube(size = [frontFaceWidth - railSideMountThickness, sideSupportDepth, railFootThickness]); - translate(v = [6, 4, 0]) + translate(v = [5, 4, 0]) cylinder(r = screwRadiusSlacked(rackFrameScrewType), h = inf10, $fn = 32); - - translate(v = [6, 12, 0]) - cylinder(r = screwRadiusSlacked(rackFrameScrewType), h = inf10, $fn = 32); - } } } @@ -105,10 +101,7 @@ module railFeetSlot_N() { union() { cube(size = [railTotalWidth, railTotalDepth, railFootThickness]); - translate(v = [railSideMountThickness + 6, railFrontThickness + 4, -m3HeatSetInsertSlotHeightSlacked]) - heatSetInsertSlot_N(rackFrameScrewType); - - translate(v = [railSideMountThickness + 6, railFrontThickness + 12, -m3HeatSetInsertSlotHeightSlacked]) + translate(v = [railSideMountThickness + 5, railFrontThickness + 4, -m3HeatSetInsertSlotHeightSlacked]) heatSetInsertSlot_N(rackFrameScrewType); } } diff --git a/rack2/screws.scad b/rack2/screws.scad index bb51c50..4e54d5b 100644 --- a/rack2/screws.scad +++ b/rack2/screws.scad @@ -5,7 +5,7 @@ include <../common.scad> /********************************************************************************/ // M3 dimensions -m3HoleRadiusSlack = 0.15; +m3HoleRadiusSlack = 0.3; m3Diameter = 3.0; m3Radius = m3Diameter / 2.0; m3RadiusSlacked = m3Radius + m3HoleRadiusSlack; @@ -14,7 +14,7 @@ m3HexNutWidthAcrossFlats = 5.41; m3HexNutWidthAcrossCorners = FtoG(m3HexNutWidthAcrossFlats); m3HexNutThickness = 2.18; -m3HeatSetInsertSlotRadiusSlack = 0.0; +m3HeatSetInsertSlotRadiusSlack = -0.1; m3HeatSetInsertSlotHeightSlack = 0.5; m3HeatSetInsertSlotRadius = 2.5;