diff --git a/backpack-organization/main-box.scad b/backpack-organization/main-box.scad index 3f56fc8..67206b3 100644 --- a/backpack-organization/main-box.scad +++ b/backpack-organization/main-box.scad @@ -6,7 +6,7 @@ $fn=128; outerWall=4; innerWall=2; layerClearance = 0.5; -verStr="v11"; +verStr="v12"; font="Montserrat"; ep = 0.01; // smallest unit to ensure overlap between shapes @@ -77,6 +77,27 @@ module shellBottom(dims) { } */ + // ropeway + for (i = [1, 3]) { + for (j = [-1, 1]) { + /* Older, diagonal cut + translate([dims[0]/2 - j*dims[0]/2 + j*1.5, i*dims[1]/4, -1]) + rotate([0, 0, 45 + 90*j]) + cube([4, 4, bottomShellH + 8]); + */ + translate([dims[0]/2 - j*dims[0]/2 - 1.5, i*dims[1]/4 - 2.5, -1]) + chamferedCube([3, 5, bottomShellH + 8], chamfer=1.5); + } + + /* Older, diagonal cut + translate([-1, i*dims[1]/4, 1.5]) + rotate([-135, 0, 0]) + cube([dims[0] + 8, 4, 4]); + */ + translate([-1, i*dims[1]/4 - 2.5, -1.5]) + chamferedCube([dims[0] + 8, 5, 3], chamfer=1.5); + } + // version marker color("black") translate([0.6, 26, 8]) rotate([90, 0,-90]) @@ -132,11 +153,71 @@ module shellTop(dims) { } */ + // ropeway + for (i = [1, 3]) { + for (j = [-1, 1]) { + /* Older, diagonal cut + translate([dims[0]/2 - j*dims[0]/2 + j*1.5, i*dims[1]/4, -1]) + rotate([0, 0, 45 + 90*j]) + cube([4, 4, topShellH + 8]); + */ + translate([dims[0]/2 - j*dims[0]/2 - 1.5, i*dims[1]/4 - 2.5, -1]) + chamferedCube([3, 5, topShellH + 8], chamfer=1.5); + } + + /* Older, diagonal cut + translate([-1, i*dims[1]/4, 1.5]) + rotate([-135, 0, 0]) + cube([dims[0] + 8, 4, 4]); + */ + translate([-1, i*dims[1]/4 - 2.5, -1.5]) + chamferedCube([dims[0] + 8, 5, 3], chamfer=1.5); + } + // version marker color("black") translate([0.6, 26, 8]) rotate([90, 0,-90]) linear_extrude(0.61) text(text = verStr, font = font, size = 8); + } + + /* -45 = x + -y + * x = y - 45 + * + * 135 = x + y + * y = 135 - x + * y = 135 - (y - 45) + * y = 180 - y + * y = 90 + * + */ + + // tray indent location + // X: innerWall + iW/2 - audioTraySide/2 + // 2 + (innerBoxWidth - 2*layerClearance - 2*innerWall)/2 - 64/2 + // 2 + ((outerBoxWidth - 2*outerWall) - 2*0.5 - 2*2)/2 - 32 + // 2 + (154 - 8 - 1 - 4)/2 - 32 + // 40.5 + // + // Y: innerWall + iL - audioTraySide/2 - cableDia/2 - innerWall + // 2 + (innerBoxLength - 2*layerClearance - 2*innerWall) - 64/2 - 130/2 - 2 + // 2 + (outerBoxLength - 2*outerWall) - 2*0.5 - 2*2 - 32 - 65 - 2 + // 300 - 8 - 1 - 4 - 32 - 65 + // 190 + // + translate([ + 40.5 + outerWall + layerClearance, + 190 + outerWall + layerClearance, + 1]) + //(dims[0] - audioTraySide)/2, + //dims[1] - outerWall - innerWall - audioTraySide/2 - 130/2, + //1]) + roundedCube( + [ audioTraySide - 2*(innerWall + layerClearance), + audioTraySide - 2*(innerWall + layerClearance), + 4], + [1, 1, 1]); + } module layer1() { @@ -544,9 +625,8 @@ standoffX = outerBoxWidth + 10; standoffY = outerBoxLength + 10; // test-print the lip -shellBottom([20, 30, 30]); -translate([24, 0, 0]) shellTop([20, 30, 30]); -/* +// shellBottom([20, 30, 30]); +// translate([24, 0, 0]) shellTop([20, 30, 30]); shellBottom([outerBoxWidth, outerBoxLength, outerBoxHeight]); translate([0, standoffY, 0]) shellTop([outerBoxWidth, outerBoxLength, outerBoxHeight]); translate([standoffX, 0, 0]) layer1(); @@ -555,4 +635,3 @@ translate([2*standoffX, 0, 0]) audioJackTray(); translate([2*standoffX, 80, 0]) usbBitsTray(); translate([2*standoffX, 160, 0]) headphoneAmpTray(); translate([2*standoffX, 240, 0]) drumKeyTray(); -*/