Backpack Organizer v6: USB Bits Tray

This commit is contained in:
2025-12-30 08:53:04 -06:00
parent 0a44ab7907
commit 77daf344b7
+87 -14
View File
@@ -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();