From 966d639730e18ac03f00afcf679d8de0b63530eb Mon Sep 17 00:00:00 2001 From: zhao Date: Fri, 7 Apr 2023 23:58:32 -0400 Subject: [PATCH] add side wall ribs --- rack/side/sideWallBase.scad | 42 +++++++++++++++++++++++++----------- rack/side/sideWallLeft.scad | 18 ++++++++++++---- rack/side/sideWallRight.scad | 14 ++++++++++++ 3 files changed, 58 insertions(+), 16 deletions(-) diff --git a/rack/side/sideWallBase.scad b/rack/side/sideWallBase.scad index 9529fc6..c729b95 100644 --- a/rack/side/sideWallBase.scad +++ b/rack/side/sideWallBase.scad @@ -16,7 +16,7 @@ echo("Side Wall Depth", sideWallY); //translate(v = [hingePoleDx ,hingePoleDy, 10]) //rotate(a=[0,0,-120]) //translate(v = [-hingePoleDx ,-hingePoleDy, 0]) -sideWallBase(); +*sideWallBase(); module sideWallBase() { @@ -27,25 +27,24 @@ module sideWallBase() { module sideWallBase() { - module sideWallShellHelper(x,y,z,r) { - translate(v=[r, r, 0]) + module sideWallShellHelper(x, y, z, r) { + translate(v = [r, r, 0]) minkowski() { - cube(size = [x-r, y - 2*r, z]); + cube(size = [x-r, y-2*r, z]); sphere(r = r); } } intersection() { difference() { - sideWallShellHelper(sideWallX,sideWallY,sideWallZ, baseRoundness); - - translate(v=[sideWallThickness, sideWallThickness,0]) - sideWallShellHelper(sideWallX,sideWallY - 2*sideWallThickness, sideWallZ, baseRoundness - sideWallThickness); + sideWallShellHelper(sideWallX, sideWallY, sideWallZ, baseRoundness); + translate(v = [sideWallThickness, sideWallThickness, 0]) + sideWallShellHelper(sideWallX, sideWallY-2*sideWallThickness, sideWallZ, baseRoundness-sideWallThickness); } - - 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]); + 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]); + halfspace(vpos = [1, 0, 0], p = [0, 0, 0]); } } @@ -128,3 +127,22 @@ module sideWallBase() { } } } + +module sideWallVerticalRibs(numRibs, ribZ, ribYDiff, ribR=1, ribExtrusion=1) { + + intersection() { + for (i = [0:numRibs-1]) { + translate(v = [sideWallThickness, i*ribYDiff, (sideWallZ-ribZ)/2]) + + translate(v = [ribExtrusion-ribR, 0, 0]) + hull() { + translate(v = [0, 0, ribZ-ribR]) + sphere(r = ribR); + translate(v = [0, 0, ribR]) + sphere(r = ribR); + } + } + + halfspace(vpos=[1,0,0], p=[0,0,0]); + } +} \ No newline at end of file diff --git a/rack/side/sideWallLeft.scad b/rack/side/sideWallLeft.scad index a7d4979..d7363af 100644 --- a/rack/side/sideWallLeft.scad +++ b/rack/side/sideWallLeft.scad @@ -1,17 +1,16 @@ include <./sideWallBase.scad> -sideWallLeft(); +*sideWallLeft(); module sideWallLeft() { applyEpicVentilation() + applySideWallVerticalRibs() sideWallBase(); module applyEpicVentilation() { - apply_n() { - for (i = [1:8]) { translate(v = [0, 35, i * 10 + 8]) minkowski() { @@ -19,10 +18,21 @@ module sideWallLeft() { cube(size = [10, 40, 3]); } } - children(0); } + } + module applySideWallVerticalRibs() { + apply_p() { + union() { + translate(v = [0, 82, 0]) + sideWallVerticalRibs(numRibs = 2, ribZ = sideWallZ-20, ribYDiff = 8, ribR = 3, ribExtrusion = 1.5); + + translate(v = [0, 12, 0]) + sideWallVerticalRibs(numRibs = 3, ribZ = sideWallZ-20, ribYDiff = 8, ribR = 3, ribExtrusion = 1.5); + } + children(0); + } } } diff --git a/rack/side/sideWallRight.scad b/rack/side/sideWallRight.scad index afe0e16..d2689d0 100644 --- a/rack/side/sideWallRight.scad +++ b/rack/side/sideWallRight.scad @@ -6,6 +6,7 @@ module sideWallRight() { applyEpicVentilation() mirror(v=[1,0,0]) + applySideWallVerticalRibs() sideWallBase(); module applyEpicVentilation() { @@ -24,5 +25,18 @@ module sideWallRight() { } } + + module applySideWallVerticalRibs() { + apply_p() { + union() { + translate(v = [0, 82, 0]) + sideWallVerticalRibs(numRibs = 2, ribZ = sideWallZ-20, ribYDiff = 8, ribR = 3, ribExtrusion = 1.5); + + translate(v = [0, 12, 0]) + sideWallVerticalRibs(numRibs = 3, ribZ = sideWallZ-20, ribYDiff = 8, ribR = 3, ribExtrusion = 1.5); + } + children(0); + } + } }