From 220060f6f92cf8139523f6b0d176e9061af9b0ae Mon Sep 17 00:00:00 2001 From: zhao Date: Fri, 27 Jan 2023 23:47:31 -0500 Subject: [PATCH] wip on sideWallConnector --- rack/sharedVariables.scad | 3 ++ rack/sideWall.scad | 14 +++++++-- rack/sideWallConnector.scad | 61 +++++++++++++++++++++++++++++++++---- rack/yBar.scad | 1 - 4 files changed, 70 insertions(+), 9 deletions(-) create mode 100644 rack/sharedVariables.scad diff --git a/rack/sharedVariables.scad b/rack/sharedVariables.scad new file mode 100644 index 0000000..9d16d6e --- /dev/null +++ b/rack/sharedVariables.scad @@ -0,0 +1,3 @@ +sideWallThickness = 2.5; + +sideWallSlotToOuterYEdge = 3; diff --git a/rack/sideWall.scad b/rack/sideWall.scad index 1ccb777..8435684 100644 --- a/rack/sideWall.scad +++ b/rack/sideWall.scad @@ -4,15 +4,17 @@ include <../misc/magnet.scad> include <./config.scad> include <./yBar.scad> include <./sideWallConnector.scad> +include <./sharedVariables.scad> sideWallZ = 110; sideWallY = 110; sideWallX = 12; -sideWallThickness = 2.5; + module sideWall() { + applyMagnetConnector() sideWallBase(); @@ -33,6 +35,7 @@ module sideWall() { translate(v=[sideWallThickness, sideWallThickness,0]) roundThingHelper(sideWallX,sideWallY - 2*sideWallThickness,sideWallZ, baseRoundness); } + halfspace(vpos=[-1,0,0], p=[sideWallX,0,0]); halfspace(vpos=[0,0,-1], p=[0,0,sideWallZ]); halfspace(vpos=[0,0,1], p=[0,0,0]); @@ -45,7 +48,14 @@ module sideWall() { } module applyMagnetConnector() { + apply_p() { + translate(v=[sideWallThickness,10,10]) + rotate(a=[0,90,0]) + sideWallConnectorMagnetSide(); + + children(0); + } } module applyEpicVentilation() { @@ -53,4 +63,4 @@ module sideWall() { } } -*sideWall(); \ No newline at end of file +sideWall(); \ No newline at end of file diff --git a/rack/sideWallConnector.scad b/rack/sideWallConnector.scad index 6e2ef09..ff9376d 100644 --- a/rack/sideWallConnector.scad +++ b/rack/sideWallConnector.scad @@ -2,6 +2,7 @@ include <./config.scad> include <../helper/screws.scad> include <../helper/halfspace.scad> include <../misc/magnet.scad> +include <./sharedVariables.scad> sideWallConnectorSlotWidth = 7; @@ -14,10 +15,16 @@ yBarScrewHoleToOuterYEdge = 3.5; yBarScrewHoleToFrontXEdge = 16; magnetFaceToSideWallConnOuterYEdge = 2; -magnetCenterToSideWallConnOuterXYFace = magnetRSlacked + 1; - magnetMountExtraRadius = magnetRSlacked + 1; +innerSideWallToYBarMagnetConn = magnetFaceToSideWallConnOuterYEdge + sideWallSlotToOuterYEdge - sideWallThickness; + +hingePoleR = 2.5; +hingePoleH = 3; +hingeHoleR = hingePoleR + 0.5; + +hingePoleToConnectorOuterYZFace = hingePoleR/2; + module sideWallConnector_N() { translate(v = [0, 0, -sideWallConnLugDepression]) cube(size = [sideWallConnW, sideWallConnD, sideWallConnLugDepression]); @@ -79,15 +86,57 @@ module sideWallConnectorMagnet() { module sideWallConnectorHinge() { -} + applyHingePole() + applyYBarScrewMount() + base(); -module sideWallConnectorHinge_N() { + module base() { + intersection() { + cube(size = [sideWallConnW, sideWallConnD, sideWallConnLugDepression]); + // TODO: pattern for this? beef up mirror4XY? + cVal = 0.5; + halfspace(p=[0,cVal,0], vpos=[0,1,1]); + halfspace(p=[cVal,0,0], vpos=[1,0,1]); + halfspace(p=[sideWallConnW-cVal,0,0], vpos=[-1,0,1]); + halfspace(p=[0,sideWallConnD-cVal,0], vpos=[0,-1,1]); + } + } + + module applyHingePole() { + apply_p() { + translate(v = [sideWallConnW-hingePoleR, hingePoleR, sideWallConnH]) + cylinder(r = hingePoleR, h = hingePoleH); + + children(0); + } + } + + + module applyYBarScrewMount() { + apply_n() { + translate(v = [yBarScrewHoleToOuterYEdge, yBarScrewHoleToFrontXEdge, sideWallConnLugDepression]) + counterSunkHead_N(rackFrameScrewType, headExtension = eps, screwExtension = inf10); + + children(0); + } + } } +// TODO: better naming +module sideWallConnectorMagnetSide() { + // oriented so that the xy face is the side wall's inner face + difference() { + cylinder(r1=magnetMountExtraRadius+2 ,r2 = magnetMountExtraRadius, h = innerSideWallToYBarMagnetConn); + + translate(v=[0, 0, innerSideWallToYBarMagnetConn-magnetHSlacked]) + cylinder(r = magnetRSlacked, h = magnetHSlacked); + } +} *sideWallConnector_N(); - -sideWallConnectorMagnet(); +*sideWallConnectorMagnet(); +*sideWallConnectorMagnetSide(); +sideWallConnectorHinge(); //counterSunkHead_N(rackFrameScrewType,screwExtension=10); diff --git a/rack/yBar.scad b/rack/yBar.scad index 1a7e56b..cea6e58 100644 --- a/rack/yBar.scad +++ b/rack/yBar.scad @@ -16,7 +16,6 @@ include <./yBarBasePlateConnector.scad> railSlotToInnerYEdge = 2; railSlotToXZ = 3; railSlotToSideWallSlot = 2; -sideWallSlotToOuterYEdge = 3; sideWallSlotToXZ = 3; yBarDepth = maxUnitDepth + 2*railSlotToInnerYEdge;