diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index ab84eea..0000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.gitignore b/.gitignore index 5587e0b..0f539c5 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,6 @@ !/stl/micro/ !/stl/nano/ -/assembly-guide/gifs/tmp \ No newline at end of file +/assembly-guide/gifs/tmp + +.DS_Store \ No newline at end of file diff --git a/README.md b/README.md index 51072c3..a62d044 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ - ***Mount Anything:*** Perfect for organizing SBCs, mini PCs, small switches, power hubs, etc. - ***Fully customizable:*** Fully written in OpenSCAD. Everything, from the dimensions of the rack, to the roundness of the corners, can be modified with a simple code change. - ***Printable from home:*** Designed to be printed with conventional FDM printers. Requires minimal supports when printing, and final assembly needs only a few easy-to-source parts. -- ***No cage nuts!*** Sliding hex nut design for the front rails allows one to easily mount items, without dealing with cage nuts. +- ***No cage nuts:*** Sliding hex nut design for the front rails allows one to easily mount items, without dealing with cage nuts. - ***Stackable:*** Individual racks can be easily stacked and fastened together. Mix and match different color and design combinations! ## Assembly diff --git a/TODO.md b/TODO.md index 4a4af66..4715d33 100644 --- a/TODO.md +++ b/TODO.md @@ -2,10 +2,11 @@ ### Actual TODO -- Finish refactoring files to use the application style, like in `yBar.scad` -- Figure out why sidewall build is so slow -- Clean up `sharedVariables.scad`!!! +- Finish refactoring files to use the application style, like in `yBar.scad`. +- Figure out why sidewall build is so slow. +- Clean up `sharedVariables.scad`. - Parallel builds with cli tool. +- Beef up rack-mount designs. ### Ideas - Start using matrices for transformations. Enforce strict local/global hierarchy of matrix transformations. diff --git a/rack/stackEnds.scad b/rack/stackEnds.scad index 598e21e..bab377e 100644 --- a/rack/stackEnds.scad +++ b/rack/stackEnds.scad @@ -63,6 +63,58 @@ module rackFeet() { } } -module stackConnectorHandle() { +rackTopHandle(); +module rackTopHandle() { + + + handleWidth = 20; + handleHeight = 50; + + handleTopThickness = 10; + handleBottomThickness = 10; + handleSideThickness = 10; + + handleR = baseRoundness; + + handleRing(); + + module handleRing() { + + w = handleWidth - 2*handleR; + st = max(eps,handleSideThickness - 2*handleR); + bt = max(eps,handleBottomThickness - 2*handleR); + tt = max(eps,handleTopThickness - 2*handleR); + + y =100; + + minkowski() { + + sphere(r=handleR); + + ringFourHull() { + cube(size = [w, st, bt]); + + translate(v = [0, y-handleSideThickness, 0]) + cube(size = [w, st, bt]); + + translate(v = [0, y-handleSideThickness, handleHeight-handleTopThickness]) + cube(size = [w, st, tt]); + + translate(v = [0, 0, handleHeight-handleTopThickness]) + cube(size = [w, st, tt]); + } + } + + } + + + module ringFourHull() { + union() { + hull() {children(0); children(1);} + hull() {children(1); children(2);} + hull() {children(2); children(3);} + hull() {children(3); children(0);} + } + } } \ No newline at end of file diff --git a/stl/mini/rack-mount/frontBoxHolder_P.stl b/stl/mini/rack-mount/frontBoxHolder_P.stl index caed6ef..4540e27 100644 Binary files a/stl/mini/rack-mount/frontBoxHolder_P.stl and b/stl/mini/rack-mount/frontBoxHolder_P.stl differ diff --git a/stl/mini/rack-mount/patchPanel_P.stl b/stl/mini/rack-mount/patchPanel_P.stl index 349cbfe..45d3c61 100644 Binary files a/stl/mini/rack-mount/patchPanel_P.stl and b/stl/mini/rack-mount/patchPanel_P.stl differ diff --git a/stl/mini/rack-mount/sideSupportRail_P1.stl b/stl/mini/rack-mount/sideSupportRail_P1.stl index 3abc646..853d38f 100644 Binary files a/stl/mini/rack-mount/sideSupportRail_P1.stl and b/stl/mini/rack-mount/sideSupportRail_P1.stl differ diff --git a/stl/mini/rack-mount/sideSupportRail_P2.stl b/stl/mini/rack-mount/sideSupportRail_P2.stl index 9e5fc32..aa22d76 100644 Binary files a/stl/mini/rack-mount/sideSupportRail_P2.stl and b/stl/mini/rack-mount/sideSupportRail_P2.stl differ diff --git a/stl/mini/rack-mount/tray_P.stl b/stl/mini/rack-mount/tray_P.stl index 193000a..c4e7922 100644 Binary files a/stl/mini/rack-mount/tray_P.stl and b/stl/mini/rack-mount/tray_P.stl differ diff --git a/stl/mini/rack/eval_P.stl b/stl/mini/rack/eval_P.stl index 9f9b2d2..74a2298 100644 Binary files a/stl/mini/rack/eval_P.stl and b/stl/mini/rack/eval_P.stl differ diff --git a/stl/mini/rack/hingeModule.stl b/stl/mini/rack/hingeModule.stl index 8d7197b..3fcb473 100644 Binary files a/stl/mini/rack/hingeModule.stl and b/stl/mini/rack/hingeModule.stl differ diff --git a/stl/mini/rack/magnetModuleLeft_P.stl b/stl/mini/rack/magnetModuleLeft_P.stl index 2bcff17..c749039 100644 Binary files a/stl/mini/rack/magnetModuleLeft_P.stl and b/stl/mini/rack/magnetModuleLeft_P.stl differ diff --git a/stl/mini/rack/magnetModuleRight_P.stl b/stl/mini/rack/magnetModuleRight_P.stl index 4cda9d4..dc49aa7 100644 Binary files a/stl/mini/rack/magnetModuleRight_P.stl and b/stl/mini/rack/magnetModuleRight_P.stl differ diff --git a/stl/mini/rack/mainRail_P.stl b/stl/mini/rack/mainRail_P.stl index a83b9ed..98a176e 100644 Binary files a/stl/mini/rack/mainRail_P.stl and b/stl/mini/rack/mainRail_P.stl differ diff --git a/stl/mini/rack/rackFeet_P.stl b/stl/mini/rack/rackFeet_P.stl new file mode 100644 index 0000000..39edc62 Binary files /dev/null and b/stl/mini/rack/rackFeet_P.stl differ diff --git a/stl/mini/rack/rackJoiner_P.stl b/stl/mini/rack/rackJoiner_P.stl new file mode 100644 index 0000000..0303008 Binary files /dev/null and b/stl/mini/rack/rackJoiner_P.stl differ diff --git a/stl/mini/rack/sideWallLeft_P.stl b/stl/mini/rack/sideWallLeft_P.stl index 54feb98..fe6bb71 100644 Binary files a/stl/mini/rack/sideWallLeft_P.stl and b/stl/mini/rack/sideWallLeft_P.stl differ diff --git a/stl/mini/rack/sideWallRight_P.stl b/stl/mini/rack/sideWallRight_P.stl index 3dd2b3d..f1dddac 100644 Binary files a/stl/mini/rack/sideWallRight_P.stl and b/stl/mini/rack/sideWallRight_P.stl differ diff --git a/stl/mini/rack/stackConnectorBottom_P.stl b/stl/mini/rack/stackConnectorBottom_P.stl index a3a3f2d..c7ceccf 100644 Binary files a/stl/mini/rack/stackConnectorBottom_P.stl and b/stl/mini/rack/stackConnectorBottom_P.stl differ diff --git a/stl/mini/rack/xBar_P.stl b/stl/mini/rack/xBar_P.stl index d64ca61..cb7ff74 100644 Binary files a/stl/mini/rack/xBar_P.stl and b/stl/mini/rack/xBar_P.stl differ diff --git a/stl/mini/rack/xyPlate_P.stl b/stl/mini/rack/xyPlate_P.stl index 9f48fd4..f8c53a2 100644 Binary files a/stl/mini/rack/xyPlate_P.stl and b/stl/mini/rack/xyPlate_P.stl differ diff --git a/stl/mini/rack/yBar_P.stl b/stl/mini/rack/yBar_P.stl index 29060cc..09ed634 100644 Binary files a/stl/mini/rack/yBar_P.stl and b/stl/mini/rack/yBar_P.stl differ diff --git a/stl/nano/rack-mount/patchPanel_P.stl b/stl/nano/rack-mount/patchPanel_P.stl index cad8836..78a7e4e 100644 Binary files a/stl/nano/rack-mount/patchPanel_P.stl and b/stl/nano/rack-mount/patchPanel_P.stl differ diff --git a/stl/nano/rack/eval_P.stl b/stl/nano/rack/eval_P.stl index f9a7873..0d1d9b4 100644 Binary files a/stl/nano/rack/eval_P.stl and b/stl/nano/rack/eval_P.stl differ diff --git a/stl/nano/rack/hingeModule.stl b/stl/nano/rack/hingeModule.stl index 4dd6db4..6ab267f 100644 Binary files a/stl/nano/rack/hingeModule.stl and b/stl/nano/rack/hingeModule.stl differ diff --git a/stl/nano/rack/magnetModuleLeft_P.stl b/stl/nano/rack/magnetModuleLeft_P.stl index b502aff..d8cc895 100644 Binary files a/stl/nano/rack/magnetModuleLeft_P.stl and b/stl/nano/rack/magnetModuleLeft_P.stl differ diff --git a/stl/nano/rack/magnetModuleRight_P.stl b/stl/nano/rack/magnetModuleRight_P.stl index 0be609d..b536085 100644 Binary files a/stl/nano/rack/magnetModuleRight_P.stl and b/stl/nano/rack/magnetModuleRight_P.stl differ diff --git a/stl/nano/rack/mainRail_P.stl b/stl/nano/rack/mainRail_P.stl index afa64ce..9eba666 100644 Binary files a/stl/nano/rack/mainRail_P.stl and b/stl/nano/rack/mainRail_P.stl differ diff --git a/stl/nano/rack/rackFeet_P.stl b/stl/nano/rack/rackFeet_P.stl new file mode 100644 index 0000000..7ee12b7 Binary files /dev/null and b/stl/nano/rack/rackFeet_P.stl differ diff --git a/stl/nano/rack/rackJoiner_P.stl b/stl/nano/rack/rackJoiner_P.stl new file mode 100644 index 0000000..8baebb6 Binary files /dev/null and b/stl/nano/rack/rackJoiner_P.stl differ diff --git a/stl/nano/rack/sideWallLeft_P.stl b/stl/nano/rack/sideWallLeft_P.stl index c12c447..bf4f8de 100644 Binary files a/stl/nano/rack/sideWallLeft_P.stl and b/stl/nano/rack/sideWallLeft_P.stl differ diff --git a/stl/nano/rack/sideWallRight_P.stl b/stl/nano/rack/sideWallRight_P.stl index d324ce3..7dde032 100644 Binary files a/stl/nano/rack/sideWallRight_P.stl and b/stl/nano/rack/sideWallRight_P.stl differ diff --git a/stl/nano/rack/xBar_P.stl b/stl/nano/rack/xBar_P.stl index 1ce11cc..90e5463 100644 Binary files a/stl/nano/rack/xBar_P.stl and b/stl/nano/rack/xBar_P.stl differ diff --git a/stl/nano/rack/xyPlate_P.stl b/stl/nano/rack/xyPlate_P.stl index da25cdc..ec2e1b4 100644 Binary files a/stl/nano/rack/xyPlate_P.stl and b/stl/nano/rack/xyPlate_P.stl differ diff --git a/stl/nano/rack/yBar_P.stl b/stl/nano/rack/yBar_P.stl index 3157c4d..d046041 100644 Binary files a/stl/nano/rack/yBar_P.stl and b/stl/nano/rack/yBar_P.stl differ