Backpack Organizer v8: layer 2, tweak SD card holder.

This commit is contained in:
2025-12-30 22:57:18 -06:00
parent be16bda8ee
commit 330998483a
+77 -18
View File
@@ -6,7 +6,7 @@ $fn=128;
outerWall=4; outerWall=4;
innerWall=2; innerWall=2;
layerClearance = 0.5; layerClearance = 0.5;
verStr="v7"; verStr="v8";
font="Montserrat"; font="Montserrat";
// as a convention, outer dimensions refer to measurements from outside wall to // as a convention, outer dimensions refer to measurements from outside wall to
@@ -18,7 +18,6 @@ outerBoxWidth = 154;
innerBoxLength = outerBoxLength - 2*outerWall; innerBoxLength = outerBoxLength - 2*outerWall;
innerBoxWidth = outerBoxWidth - 2*outerWall; innerBoxWidth = outerBoxWidth - 2*outerWall;
innerBoxHeight = 44;
audioTraySide = 64; audioTraySide = 64;
audioTrayHeight = 15; audioTrayHeight = 15;
@@ -26,8 +25,8 @@ audioTrayIS = audioTraySide - 2*innerWall;
audioTrayIH = audioTrayHeight - innerWall; audioTrayIH = audioTrayHeight - innerWall;
module audioLayer() { module layer1() {
oH = innerBoxHeight; oH = 44;
oL = innerBoxLength - 2*layerClearance; // outer length oL = innerBoxLength - 2*layerClearance; // outer length
oW = innerBoxWidth - 2*layerClearance; // outer width oW = innerBoxWidth - 2*layerClearance; // outer width
iL = oL - 2*innerWall; // inner length iL = oL - 2*innerWall; // inner length
@@ -53,7 +52,13 @@ module audioLayer() {
translate([handleDia / 2, handleDia / 2, handleDia / 2]) translate([handleDia / 2, handleDia / 2, handleDia / 2])
cylinder(d=handleDia, h = handleDia / 2 + innerWall); cylinder(d=handleDia, h = handleDia / 2 + innerWall);
translate([(handleDia - 32) / 2, handleDia / 2, 7]) cube([32, 102 - handleDia/2, oH]); translate([handleDia / 2, handleDia / 2 + 3, handleDia / 2])
sphere(d=handleDia);
translate([handleDia / 2, handleDia / 2 + 3, handleDia / 2])
cylinder(d=handleDia, h = handleDia / 2 + innerWall);
translate([(handleDia - 32) / 2, handleDia / 2, 7]) cube([32, 103 - handleDia/2, oH]);
// screw bits // screw bits
bitL = 112; bitL = 112;
@@ -98,19 +103,23 @@ module audioLayer() {
// SD-card adapter + SIM removal tool // SD-card adapter + SIM removal tool
union() { union() {
translate([iW - 26, 278, 9.5]) translate([iW - 27, 278, 9.5])
rotate([0, 0, -45]) rotate([0, 0, -45])
cube([24.5, 2, 33]); cube([25, 2.5, 33]);
translate([iW - 8, 280, 4.5]) translate([iW - 8, 280, 4.5])
rotate([0, 0, -135]) rotate([0, 0, -135])
cube([8.5, 1, 38]); cube([8.75, 1.5, 38]);
// fingerway // fingerway
translate([iW - 16, 271, iH + 15]) translate([iW - 16, 271, iH + 15])
sphere(d=46); sphere(d=46);
} }
// version marker
color("black")
translate([-innerWall + 0.6, 20, 4]) rotate([90, 0,-90])
linear_extrude(0.61) text(text = verStr, font = font, size = 8);
} }
translate([handleDia*0.988, 77.5, -0.1]) translate([handleDia*0.988, 77.5, -0.1])
@@ -129,6 +138,57 @@ module audioLayer() {
} }
} }
module layer2() {
oH = 40;
oL = innerBoxLength - 2*layerClearance; // outer length
oW = innerBoxWidth - 2*layerClearance; // outer width
iL = oL - 2*innerWall; // inner length
iW = oW - 2*innerWall; // inner width
iH = oH - innerWall; // inner height
union() {
difference() {
roundedCube([oW, oL, oH], [1, 1, 1]);
translate([innerWall, innerWall, innerWall])
union() {
// HDD
translate([(iW - 131)/2, 0, 0])
cube([131, 83, oH]);
// Tekton tool kit
translate([2, 103 + innerWall, 0])
cube([105.5, 57, oH]);
// Slice knife
translate([114, 103 + innerWall, 0])
cube([22.5, 153, oH]);
// cables
translate([56, 224, 0])
cylinder(d=110, h=oH);
// fingerways
translate([30, 80, 0])
cube([36, 30, oH]);
translate([105, 126, 0])
cube([12, 36, oH]);
}
// version marker
color("black")
translate([0.6, 20 + innerWall, 4]) rotate([90, 0,-90])
linear_extrude(0.61) text(text = verStr, font = font, size = 8);
}
translate([32, 96, 0]) scale([6, 22, 1]) cylinder(d=1, h=oH);
translate([68, 96, 0]) scale([6, 22, 1]) cylinder(d=1, h=oH);
translate([112.75, 128, 0]) scale([6.5, 6, 1]) cylinder(d=1, h=oH);
}
}
module audioTrayBlank(s, h) { module audioTrayBlank(s, h) {
difference() { difference() {
union() { union() {
@@ -177,7 +237,7 @@ module audioTrayBlank(s, h) {
} }
} }
module audioTray1() { module audioJackTray() {
difference() { difference() {
audioTrayBlank(s = audioTraySide, h = audioTrayHeight); audioTrayBlank(s = audioTraySide, h = audioTrayHeight);
@@ -241,7 +301,7 @@ module audioTray1() {
} }
} }
module audioTray2() { module drumKeyTray() {
difference() { difference() {
audioTrayBlank(s = audioTraySide, h = audioTrayHeight); audioTrayBlank(s = audioTraySide, h = audioTrayHeight);
@@ -275,7 +335,7 @@ module audioTray2() {
} }
} }
module audioTray3() { module headphoneAmpTray() {
difference() { difference() {
audioTrayBlank(s = audioTraySide, h = audioTrayHeight - 1); audioTrayBlank(s = audioTraySide, h = audioTrayHeight - 1);
@@ -336,7 +396,6 @@ module usbBitsTray() {
cube([12, 22, 7]); cube([12, 22, 7]);
// release wedge // release wedge
//color("blue")
translate([17, 0, 0]) translate([17, 0, 0])
rotate([0, 30, 0]) rotate([0, 30, 0])
cube([8, 13, 7]); cube([8, 13, 7]);
@@ -357,7 +416,6 @@ module usbBitsTray() {
cube([18, 29, 10]); cube([18, 29, 10]);
// release wedge // release wedge
//color("blue")
translate([0, 28.5, -4]) translate([0, 28.5, -4])
rotate([-20, 0, 0]) rotate([-20, 0, 0])
translate([0, -29, 0]) translate([0, -29, 0])
@@ -368,8 +426,9 @@ module usbBitsTray() {
} }
} }
//audioLayer(); layer1();
//translate([outerBoxWidth + 10, 0, 0]) audioTray1(); //layer2();
translate([outerBoxWidth + 10, 80, 0]) usbBitsTray(); //translate([outerBoxWidth + 10, 0, 0]) audioJackTray();
//translate([outerBoxWidth + 10, 160, 0]) audioTray3(); //translate([outerBoxWidth + 10, 80, 0]) usbBitsTray();
//translate([outerBoxWidth + 10, 240, 0]) audioTray2(); //translate([outerBoxWidth + 10, 160, 0]) headphoneAmpTray();
//translate([outerBoxWidth + 10, 240, 0]) drumKeyTray();