Simplify AMT Box design
This commit is contained in:
parent
db568eb30a
commit
bb2db1dec3
59
amt-box.scad
59
amt-box.scad
@ -3,15 +3,17 @@
|
|||||||
* Dynavox AMT-1 and Wavecor WF145WA05
|
* Dynavox AMT-1 and Wavecor WF145WA05
|
||||||
*/
|
*/
|
||||||
|
|
||||||
B = 12.7; // Bushing outer diameter
|
B1 = 19.05; // Bushing outer diameter
|
||||||
|
B2 = 12.7;
|
||||||
M = 6.35; // Mill diameter
|
M = 6.35; // Mill diameter
|
||||||
J = 100; // Mill pad
|
J = 100; // Mill pad
|
||||||
T = 21; // Material thickness
|
T = 21; // Material thickness
|
||||||
I = 320; // Internal dimension
|
I = 320; // Internal dimension
|
||||||
A = 5; // Alignment pad size
|
A = 5; // Alignment pad size
|
||||||
P = 17; // Alignment pad placement
|
P = 16; // Alignment pad placement
|
||||||
O = I + 2 * T; // Outer dimensions
|
O = I + 2 * T; // Outer dimensions
|
||||||
BD = B - M; // Bushing offset
|
BD = B1 - M; // Bushing offset
|
||||||
|
BD2 = B2 - M;
|
||||||
|
|
||||||
W = 200 - 40; // Internal width
|
W = 200 - 40; // Internal width
|
||||||
H = 350 - 40; // Internal height/depth
|
H = 350 - 40; // Internal height/depth
|
||||||
@ -23,57 +25,64 @@ module sam300d_flush_mount() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Side panels
|
// Side panels
|
||||||
translate([I+J/2, 0]) {
|
translate([250, 0]) {
|
||||||
difference() {
|
difference() {
|
||||||
square([H - BD, H + 100], center=true);
|
square([H - BD, H + 100], center=true);
|
||||||
translate([-H/2 + 100 , -H/2 + 60]) circle(d=100, $fn=100); // !!!
|
|
||||||
offset(r=BD/2) square([80+M,M], center=true);
|
// Bass reflex tube
|
||||||
|
translate([-H/2 + 100 , -350/2 + 80]) circle(d=69-0.4+BD, $fn=100);
|
||||||
|
translate([H/2 - 100 , -350/2 + 80]) circle(d=69-0.4+BD, $fn=100);
|
||||||
|
|
||||||
|
// Bracing tenon
|
||||||
|
translate([0, 350/2-200+6]) offset(r=BD/2) square([80+M,M], center=true);
|
||||||
|
|
||||||
|
|
||||||
// Alignment squares
|
// Alignment squares
|
||||||
translate([O/2,0]) rotate(45) square(A, center=true);
|
translate([H/2-P,0]) rotate(45) square(A, center=true);
|
||||||
translate([-O/2,0]) rotate(45) square(A, center=true);
|
translate([-H/2+P,0]) rotate(45) square(A, center=true);
|
||||||
translate([0,I/2-P]) rotate(45) square(A, center=true);
|
translate([0,H/2-P]) rotate(45) square(A, center=true);
|
||||||
translate([0,-I/2+P]) rotate(45) square(A, center=true);
|
translate([0,-H/2+P]) rotate(45) square(A, center=true);
|
||||||
translate([I/2,I/2-P]) rotate(45) square(A, center=true);
|
|
||||||
translate([I/2,-I/2+P]) rotate(45) square(A, center=true);
|
|
||||||
translate([-I/2,I/2-P]) rotate(45) square(A, center=true);
|
|
||||||
translate([-I/2,-I/2+P]) rotate(45) square(A, center=true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Back face + bottom/top cutout
|
// Back face + bottom/top cutout
|
||||||
translate([-I-J/2, 0])
|
translate([-170, 0])
|
||||||
difference() {
|
difference() {
|
||||||
square([W - BD, H + 100], center=true);
|
square([W - BD, H + 100], center=true);
|
||||||
offset(r=BD/2) square([93 - BD, 80 - BD], center=true);
|
difference() {
|
||||||
|
offset(r=BD/2) square([93, 80], center=true);
|
||||||
|
offset(r=BD/2) square([76, 56], center=true);
|
||||||
|
}
|
||||||
translate([0,H/2]) rotate(45) square(A, center=true);
|
translate([0,H/2]) rotate(45) square(A, center=true);
|
||||||
translate([0,-H/2]) rotate(45) square(A, center=true);
|
translate([0,-H/2]) rotate(45) square(A, center=true);
|
||||||
translate([-W/2+P,0]) rotate(45) square(A, center=true);
|
translate([-W/2+P,0]) rotate(45) square(A, center=true);
|
||||||
translate([W/2-P,0]) rotate(45) square(A, center=true);
|
translate([W/2-P,0]) rotate(45) square(A, center=true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mounting holes
|
// Front mounting holes
|
||||||
difference() {
|
difference() {
|
||||||
square([W, H], center=true);
|
square([W-BD2, H-BD2], center=true);
|
||||||
|
|
||||||
|
// Alignment squares
|
||||||
|
translate([0,H/2-P]) rotate(45) square(A, center=true);
|
||||||
|
translate([0,-H/2+P]) rotate(45) square(A, center=true);
|
||||||
|
translate([-W/2+P,0]) rotate(45) square(A, center=true);
|
||||||
|
translate([W/2-P,0]) rotate(45) square(A, center=true);
|
||||||
|
|
||||||
// Tweeter
|
// Tweeter
|
||||||
translate([0, H/2-80]) {
|
translate([0, 350/2-80]) {
|
||||||
circle(d=65 + BD, $fn=100);
|
circle(d=65 + BD2, $fn=100);
|
||||||
translate([-56/2,-56/2]) circle(d=4, $fn=30);
|
translate([-56/2,-56/2]) circle(d=4, $fn=30);
|
||||||
translate([56/2,-56/2]) circle(d=4, $fn=30);
|
translate([56/2,-56/2]) circle(d=4, $fn=30);
|
||||||
translate([-56/2,56/2]) circle(d=4, $fn=30);
|
translate([-56/2,56/2]) circle(d=4, $fn=30);
|
||||||
translate([56/2,56/2]) circle(d=4, $fn=30);
|
translate([56/2,56/2]) circle(d=4, $fn=30);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Woofer
|
// Woofer
|
||||||
translate([0, H/2-200]) {
|
translate([0, 350/2-200]) {
|
||||||
circle(d=118 + BD, $fn=100);
|
circle(d=118 + BD2, $fn=100);
|
||||||
for ( i = [45 : 90 : 360] ){
|
for ( i = [45 : 90 : 360] ){
|
||||||
rotate(i) translate([138/2,0]) circle(d=4, $fn=30);
|
rotate(i) translate([138/2,0]) circle(d=4, $fn=30);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user