58 lines
1.6 KiB
OpenSCAD
58 lines
1.6 KiB
OpenSCAD
|
/**
|
||
|
* Laser cuttable template for building a shelf speaker with
|
||
|
* Visaton B100
|
||
|
*/
|
||
|
|
||
|
B = 19.05; // Bushing outer diameter
|
||
|
M = 6.35; // Mill diameter
|
||
|
J = 100; // Mill pad
|
||
|
A = 5; // Alignment pad size
|
||
|
P = 17; // Alignment pad placement
|
||
|
BD = B - M; // Bushing offset
|
||
|
|
||
|
W = 160 - 40; // Internal width
|
||
|
H = 320 - 40; // Internal height
|
||
|
D = 200; // Internal depth
|
||
|
|
||
|
// Side panels & mounting holes
|
||
|
translate([D, 0]) {
|
||
|
difference() {
|
||
|
square([D - BD, H + J], center=true);
|
||
|
|
||
|
// Driver flush mount, mounting hole alignment
|
||
|
translate([0, 320/2 - 80]) {
|
||
|
difference() {
|
||
|
circle(d=122 + BD, $fn=100);
|
||
|
circle(d=122, $fn=100);
|
||
|
}
|
||
|
for ( i = [0 : 45 : 360] ){
|
||
|
rotate(i) {
|
||
|
translate([111/2,0]) circle(d=4, $fn=30);
|
||
|
translate([122/2,0]) rotate(45) square(2, center=true);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Alignment squares
|
||
|
translate([D/2-P,0]) rotate(45) square(A, center=true);
|
||
|
translate([-D/2+P,0]) rotate(45) square(A, center=true);
|
||
|
}
|
||
|
translate([0, -320/2 + 60]) circle(d=34 + BD, $fn=100);
|
||
|
|
||
|
// Alignment squares
|
||
|
translate([D/2-P,0]) rotate(45) square(A, center=true);
|
||
|
translate([-D/2+P,0]) rotate(45) square(A, center=true);
|
||
|
translate([0,H/2+50-P]) rotate(45) square(A, center=true);
|
||
|
translate([0,-H/2-50+P]) rotate(45) square(A, center=true);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Front/back groove
|
||
|
difference() {
|
||
|
square([W - BD, H - BD], 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);
|
||
|
}
|