diff --git a/backpack-organization/main-box.scad b/backpack-organization/main-box.scad index c64e8bc..4bac4a1 100644 --- a/backpack-organization/main-box.scad +++ b/backpack-organization/main-box.scad @@ -5,7 +5,7 @@ $fn=128; outerWall=4; innerWall=2; layerClearance = 0.5; -verStr="v5"; +verStr="v6"; font="Montserrat"; // as a convention, outer dimensions refer to measurements from outside wall to @@ -48,13 +48,17 @@ module audioLayer() { translate([handleDia / 2, handleDia / 2, handleDia / 2]) cylinder(d=handleDia, h = handleDia / 2 + innerWall); + translate([(handleDia - 32) / 2, handleDia / 2, 7]) cube([32, 130 + handleDia/2, iH]); + // screw bits bitL = 112; - bitW = 20; + bitW = 22; translate([(handleDia - bitW) / 2, handleDia / 2, 0]) cube([bitW, bitL + handleDia/2, iH]); // release ramp - translate([(handleDia - bitW)/2, handleDia/2 + bitW + bitL + 1, 0]) + /* + translate([(handleDia - bitW)/2, handleDia/2 + 20 + bitL + 1, 0]) rotate([-45, 0, 0]) translate([0, -iH, 0]) cube([bitW, iH, iH*2]); + */ // lower-right cubby translate([handleDia + 2*innerWall, 0, 0]) @@ -70,11 +74,11 @@ module audioLayer() { //translate([innerWall, innerWall, innerWall]) cube([iW, iL, iH]); } - translate([handleDia*0.916, 69.5, -0.1]) - cylinder(d=15, iH - innerWall + 0.1); + translate([handleDia*0.988, 69.5, -0.1]) + cylinder(d=9, iH - innerWall + 0.1); - translate([handleDia*0.916, 105.5, -0.1]) - cylinder(d=15, iH - innerWall + 0.1); + translate([handleDia*0.988, 105.5, -0.1]) + cylinder(d=9, iH - innerWall + 0.1); translate([iW/2 - audioTraySide/2, iL - audioTraySide/2 - cableDia/2 - innerWall, 0]) difference() { @@ -100,8 +104,6 @@ module audioTrayBlank(s, h) { s - 2*(innerWall + layerClearance), h - 1], [1, 1, 1]); - - } // bottom edge chamfers @@ -138,7 +140,7 @@ module audioTrayBlank(s, h) { module audioTray1() { difference() { - audioTrayBlank(s = audioTraySide, h = 15); + audioTrayBlank(s = audioTraySide, h = audioTrayHeight); translate([2.5, innerWall, innerWall]) union() { @@ -236,7 +238,7 @@ module audioTray2() { module audioTray3() { difference() { - audioTrayBlank(s = audioTraySide, h = audioTrayHeight - 2); + audioTrayBlank(s = audioTraySide, h = audioTrayHeight - 1); translate([2*innerWall, (audioTrayIS - 43)/2, innerWall]) cube([43, 43, audioTrayIH]); @@ -249,8 +251,79 @@ module audioTray3() { } } +module usbBitsTray() { + difference() { + audioTrayBlank(s = audioTraySide, h = audioTrayHeight); + + translate([innerWall, innerWall, innerWall]) + union() { + + // right-angle connectors (1st variation) + translate([innerWall, innerWall, -1]) + for (i = [0, 1]) { + translate([33*i, 16*i, 0]) + rotate([0, 0, 180*i]) + union() { + // main body + cube([22, 7, 14]); + + // usb connector + // 1.64 to edge, 4.64 thick + translate([1.4, 0, 0]) cube([5.2, 16, 14]); + + // release wedge + translate([22, 0, 0]) + rotate([0, 15, 0]) + translate([-22, 0, 0]) + cube([22, 7, 14]); + + // fingerway + translate([-1, -1, 11]) + cube([36, 18, 3]); + } + } + + // right-angle connectors (2nd variation) + translate([innerWall, innerWall + 18, 5 + 0.1]) + for (i = [0, 1]) { + translate([30*i, 36*i, 0]) + rotate([0, 0, 180*i]) + union() { + // main body + cube([25, 13, 7]); + + // usb connector + // 10.32 wide, 0.73 to edge + cube([12, 22, 7]); + + translate([25, 6.5, 8]) sphere(d=13); + } + } + + // usb A-C converers + // 29 x 18 x 9 + translate([innerWall + 38, innerWall - 0.5, 5]) + for(i = [0,1]) { + translate([0, 28.5*2*i, 0]) + mirror([0, i, 0]) + union() { + // main body + cube([18, 29, 9]); + + // release wedge + //color("blue") + translate([0, 28.5, -4]) + rotate([-20, 0, 0]) + translate([0, -29, 0]) + cube([18, 29, 14]); + } + } + } + } +} //audioLayer(); -translate([outerBoxWidth + 10, 0, 0]) audioTray1(); -//translate([outerBoxWidth + 10, 80, 0]) audioTray2(); -//translate([outerBoxWidth + 10, 160, 0]) audioTray3(); +//translate([outerBoxWidth + 10, 0, 0]) audioTray1(); +translate([outerBoxWidth + 10, 80, 0]) usbBitsTray(); +translate([outerBoxWidth + 10, 160, 0]) audioTray3(); +//translate([outerBoxWidth + 10, 240, 0]) audioTray2();