Backpack Organizer v12: adjust ropeways, top layer alignment square.
This commit is contained in:
@@ -6,7 +6,7 @@ $fn=128;
|
|||||||
outerWall=4;
|
outerWall=4;
|
||||||
innerWall=2;
|
innerWall=2;
|
||||||
layerClearance = 0.5;
|
layerClearance = 0.5;
|
||||||
verStr="v11";
|
verStr="v12";
|
||||||
font="Montserrat";
|
font="Montserrat";
|
||||||
ep = 0.01; // smallest unit to ensure overlap between shapes
|
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
|
// version marker
|
||||||
color("black")
|
color("black")
|
||||||
translate([0.6, 26, 8]) rotate([90, 0,-90])
|
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
|
// version marker
|
||||||
color("black")
|
color("black")
|
||||||
translate([0.6, 26, 8]) rotate([90, 0,-90])
|
translate([0.6, 26, 8]) rotate([90, 0,-90])
|
||||||
linear_extrude(0.61) text(text = verStr, font = font, size = 8);
|
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() {
|
module layer1() {
|
||||||
@@ -544,9 +625,8 @@ standoffX = outerBoxWidth + 10;
|
|||||||
standoffY = outerBoxLength + 10;
|
standoffY = outerBoxLength + 10;
|
||||||
|
|
||||||
// test-print the lip
|
// test-print the lip
|
||||||
shellBottom([20, 30, 30]);
|
// shellBottom([20, 30, 30]);
|
||||||
translate([24, 0, 0]) shellTop([20, 30, 30]);
|
// translate([24, 0, 0]) shellTop([20, 30, 30]);
|
||||||
/*
|
|
||||||
shellBottom([outerBoxWidth, outerBoxLength, outerBoxHeight]);
|
shellBottom([outerBoxWidth, outerBoxLength, outerBoxHeight]);
|
||||||
translate([0, standoffY, 0]) shellTop([outerBoxWidth, outerBoxLength, outerBoxHeight]);
|
translate([0, standoffY, 0]) shellTop([outerBoxWidth, outerBoxLength, outerBoxHeight]);
|
||||||
translate([standoffX, 0, 0]) layer1();
|
translate([standoffX, 0, 0]) layer1();
|
||||||
@@ -555,4 +635,3 @@ translate([2*standoffX, 0, 0]) audioJackTray();
|
|||||||
translate([2*standoffX, 80, 0]) usbBitsTray();
|
translate([2*standoffX, 80, 0]) usbBitsTray();
|
||||||
translate([2*standoffX, 160, 0]) headphoneAmpTray();
|
translate([2*standoffX, 160, 0]) headphoneAmpTray();
|
||||||
translate([2*standoffX, 240, 0]) drumKeyTray();
|
translate([2*standoffX, 240, 0]) drumKeyTray();
|
||||||
*/
|
|
||||||
|
|||||||
Reference in New Issue
Block a user