Backpack Organizer v12: adjust ropeways, top layer alignment square.
This commit is contained in:
@@ -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();
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user