From 8a88c244eb707459d4d440cfcfac6cb97fe10423 Mon Sep 17 00:00:00 2001 From: zhao Date: Sun, 12 Mar 2023 00:27:13 -0500 Subject: [PATCH] finish up side wall and hinge --- rack/print/sideWallLeft_P.scad | 2 +- rack/print/sideWallRight_P.scad | 2 +- rack/side/hingeModule.scad | 2 +- rack/side/magnetModule.scad | 2 +- rack/side/sideWallBase.scad | 18 +++++++++++++++++- rack/side/sideWallLeft.scad | 17 +++++++++++++++-- rack/side/sideWallRight.scad | 15 ++++++++++++++- rack/side/sideWallVariables.scad | 4 ++-- 8 files changed, 52 insertions(+), 10 deletions(-) diff --git a/rack/print/sideWallLeft_P.scad b/rack/print/sideWallLeft_P.scad index 71e751d..b74183d 100644 --- a/rack/print/sideWallLeft_P.scad +++ b/rack/print/sideWallLeft_P.scad @@ -1,5 +1,5 @@ include <../side/sideWallLeft.scad> // Oriented for 3d printing. -// Supports generally not required (? need to print to test) +// Supports generally not required (? need to print to test), but a brim is recommended sideWallLeft(); \ No newline at end of file diff --git a/rack/print/sideWallRight_P.scad b/rack/print/sideWallRight_P.scad index 1d589a9..f8660b3 100644 --- a/rack/print/sideWallRight_P.scad +++ b/rack/print/sideWallRight_P.scad @@ -1,5 +1,5 @@ include <../side/sideWallRight.scad> // Oriented for 3d printing. -// Supports generally not required (? need to print to test) +// Supports generally not required (? need to print to test), but a brim is recommended sideWallRight(); \ No newline at end of file diff --git a/rack/side/hingeModule.scad b/rack/side/hingeModule.scad index 17f2503..b99bce1 100644 --- a/rack/side/hingeModule.scad +++ b/rack/side/hingeModule.scad @@ -13,7 +13,7 @@ module hingeModule() { applyYBarScrewMount() base(); - connSlack = 0.1; + connSlack = 0.05; connW = sideWallConnW - connSlack; connD = sideWallConnD - connSlack; diff --git a/rack/side/magnetModule.scad b/rack/side/magnetModule.scad index fad0cc6..b58df42 100644 --- a/rack/side/magnetModule.scad +++ b/rack/side/magnetModule.scad @@ -15,7 +15,7 @@ module magnetModule() { applyMagnetMount() base(); - connSlack = 0.1; + connSlack = 0.05; connW = sideWallConnW - connSlack; connD = sideWallConnD - connSlack; diff --git a/rack/side/sideWallBase.scad b/rack/side/sideWallBase.scad index 91edc9b..9565f28 100644 --- a/rack/side/sideWallBase.scad +++ b/rack/side/sideWallBase.scad @@ -109,6 +109,22 @@ module sideWallBase() { } module applyHandle() { - children(0); + + handleWidth = 8; + handleLength = 60; + handleRoundness = 7; + widthOffset = 3; + + apply_n() { + + minkowski() { + sphere(r=handleRoundness); + + translate(v = [sideWallX -(handleWidth-handleRoundness) + widthOffset, 0, (sideWallZ-handleLength)/2]) + cube(size = [handleWidth-handleRoundness, sideWallThickness, handleLength-handleRoundness]); + } + + children(0); + } } } diff --git a/rack/side/sideWallLeft.scad b/rack/side/sideWallLeft.scad index 73d84a4..a7d4979 100644 --- a/rack/side/sideWallLeft.scad +++ b/rack/side/sideWallLeft.scad @@ -1,7 +1,7 @@ include <./sideWallBase.scad> -*sideWallLeft(); +sideWallLeft(); module sideWallLeft() { @@ -9,7 +9,20 @@ module sideWallLeft() { sideWallBase(); module applyEpicVentilation() { - children(0); + + apply_n() { + + for (i = [1:8]) { + translate(v = [0, 35, i * 10 + 8]) + minkowski() { + sphere(r=1); + cube(size = [10, 40, 3]); + } + } + + children(0); + } + } } diff --git a/rack/side/sideWallRight.scad b/rack/side/sideWallRight.scad index cf110ff..afe0e16 100644 --- a/rack/side/sideWallRight.scad +++ b/rack/side/sideWallRight.scad @@ -9,7 +9,20 @@ module sideWallRight() { sideWallBase(); module applyEpicVentilation() { - children(0); + + apply_n() { + + for (i = [1:8]) { + translate(v = [-10, 35, i * 10 + 8]) + minkowski() { + sphere(r=1); + cube(size = [10, 40, 3]); + } + } + + children(0); + } + } } diff --git a/rack/side/sideWallVariables.scad b/rack/side/sideWallVariables.scad index 9044e22..82c136c 100644 --- a/rack/side/sideWallVariables.scad +++ b/rack/side/sideWallVariables.scad @@ -22,8 +22,8 @@ hingeHoleR = hingePoleR + 0.2; sideWallZHingeSlack = 0.3; -sideWallZGapClearance = 1.0; -sideWallZHingeTotalClearance = sideWallZHingeSlack + sideWallZGapClearance; +sideWallZGapClearance = 0.5; +sideWallZHingeTotalClearance = sideWallZHingeSlack + sideWallZGapClearance; // only for one edge sideWallZ = (railTotalHeight - 2*railFootThickness) - 2*sideWallZHingeTotalClearance; sideWallY = yBarDepth;