From fd84afa58249341881c346002eaa40a521a0d6c9 Mon Sep 17 00:00:00 2001 From: zhao Date: Sun, 5 Mar 2023 12:24:59 -0500 Subject: [PATCH] add/fixup hinge clearance --- helper/common.scad | 2 +- rack/side/hingeModule.scad | 11 ++++++++++- rack/side/magnetModule.scad | 4 +++- rack/side/sideWallBase.scad | 6 +++--- rack/side/sideWallMagnetMount.scad | 2 +- rack/side/sideWallVariables.scad | 12 +++++++----- 6 files changed, 25 insertions(+), 12 deletions(-) diff --git a/helper/common.scad b/helper/common.scad index 7c9714d..97d399a 100644 --- a/helper/common.scad +++ b/helper/common.scad @@ -4,7 +4,7 @@ $fn=64; // TODO move these to math -eps=0.00000001; +eps=0.00001; inf10 = 10; inf50 = 50; diff --git a/rack/side/hingeModule.scad b/rack/side/hingeModule.scad index 694dd3a..3bc7277 100644 --- a/rack/side/hingeModule.scad +++ b/rack/side/hingeModule.scad @@ -4,6 +4,8 @@ include <../sharedVariables.scad> include <../../helper/halfspace.scad> include <../../helper/screws.scad> +translate(v=[10,20,-2 - sideWallZHingeTotalClearance]) +*hingeModule(); module hingeModule() { @@ -13,7 +15,14 @@ module hingeModule() { module base() { intersection() { - cube(size = [sideWallConnW, sideWallConnD, sideWallConnLugDepression]); + + union() { + cube(size = [sideWallConnW, sideWallConnD, sideWallConnLugDepression]); + + // Riser to enforce side wall hinge clearance + translate(v = [0, 0, sideWallConnLugDepression]) + cube(size = [sideWallConnW, sideWallConnD - 12, sideWallZGapClearance]); + } // TODO: pattern for this? beef up mirror4XY? cVal = 0.5; diff --git a/rack/side/magnetModule.scad b/rack/side/magnetModule.scad index 03bd007..5a2ce92 100644 --- a/rack/side/magnetModule.scad +++ b/rack/side/magnetModule.scad @@ -6,6 +6,9 @@ include <../../helper/halfspace.scad> include <../../misc/magnet.scad> include <../../helper/screws.scad> +translate(v=[10,-5,-(2+sideWallZHingeTotalClearance)]) +*magnetModule(); + module magnetModule() { applyYBarScrewMount() @@ -66,5 +69,4 @@ module magnetModule() { } } - } diff --git a/rack/side/sideWallBase.scad b/rack/side/sideWallBase.scad index 112b91c..4851867 100644 --- a/rack/side/sideWallBase.scad +++ b/rack/side/sideWallBase.scad @@ -37,7 +37,7 @@ module sideWallBase() { roundThingHelper(sideWallX,sideWallY,sideWallZ, baseRoundness); translate(v=[sideWallThickness, sideWallThickness,0]) - roundThingHelper(sideWallX,sideWallY - 2*sideWallThickness,sideWallZ, baseRoundness); + roundThingHelper(sideWallX,sideWallY - 2*sideWallThickness, sideWallZ, baseRoundness); } halfspace(vpos=[-1,0,0], p=[sideWallX,0,0]); @@ -87,10 +87,10 @@ module sideWallBase() { module applyMagnetConnector() { apply_p() { union() { - translate(v = [sideWallThickness, magnetMountToYBarFront, magnetMountToYBarTop]) + translate(v = [sideWallThickness, magnetMountToYBarFront, magnetMountToYBarTop - sideWallZHingeTotalClearance]) sideWallMagnetMountRotated(); - translate(v = [sideWallThickness, magnetMountToYBarFront, sideWallZ - magnetMountToYBarTop]) + translate(v = [sideWallThickness, magnetMountToYBarFront, sideWallZ - (magnetMountToYBarTop- sideWallZHingeTotalClearance)]) sideWallMagnetMountRotated(); } diff --git a/rack/side/sideWallMagnetMount.scad b/rack/side/sideWallMagnetMount.scad index a750fae..370eb9a 100644 --- a/rack/side/sideWallMagnetMount.scad +++ b/rack/side/sideWallMagnetMount.scad @@ -8,7 +8,7 @@ include <../../misc/magnet.scad> module sideWallMagnetMount() { // oriented so that the xy face is the side wall's inner face difference() { - cylinder(r1 = magnetMountShellRadius+0.5, r2 = magnetMountShellRadius, h = innerSideWallToYBarMagnetConn); + cylinder(r1 = magnetMountShellRadius+1, r2 = magnetMountShellRadius, h = innerSideWallToYBarMagnetConn); translate(v=[0, 0, innerSideWallToYBarMagnetConn-magnetHSlacked]) cylinder(r = magnetRSlacked, h = magnetHSlacked); diff --git a/rack/side/sideWallVariables.scad b/rack/side/sideWallVariables.scad index bc27d93..9dbc9cd 100644 --- a/rack/side/sideWallVariables.scad +++ b/rack/side/sideWallVariables.scad @@ -16,9 +16,6 @@ magnetMountShellRadius = magnetRSlacked + 1; innerSideWallToYBarMagnetConn = magnetFaceToSideWallConnOuterYEdge + sideWallSlotToOuterYEdge - sideWallThickness; -magnetMountToYBarTop = magnetMountShellRadius + 1; -magnetMountToYBarFront = magnetMountShellRadius + sideWallSlotToXZ + 2; - hingePoleR = 2; hingePoleH = 5; hingeHoleR = hingePoleR + 0.2; @@ -26,11 +23,16 @@ hingeHoleR = hingePoleR + 0.2; hingePoleToConnectorOuterYZFace = hingePoleR/2; hingePoleToConnectorOuterXZFace = hingePoleR/2; -sideWallZGapClearance = 0.2; -sideWallZ = railTotalHeight - 2*(railFootThickness + sideWallZGapClearance); +sideWallZHingeSlack = 0.3; +sideWallZGapClearance = 1.0; +sideWallZHingeTotalClearance = sideWallZHingeSlack + sideWallZGapClearance; +sideWallZ = (railTotalHeight - 2*railFootThickness) - 2*sideWallZHingeTotalClearance; sideWallY = yBarDepth; +magnetMountToYBarTop = magnetMountShellRadius + sideWallZHingeTotalClearance + 1; +magnetMountToYBarFront = magnetMountShellRadius + sideWallSlotToXZ + 2; + sideWallXGapClearance = 0.2; sideWallX = (yBarWidth-(railTotalWidth+railSlotToInnerYEdge)) - sideWallXGapClearance;