speakers/kormoran.scad

86 lines
2.0 KiB
OpenSCAD

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 = 150; // Internal width
H = 280; // Internal height
D = 240; // Internal depth
// Tweeter mounting hole alignment
translate([-400, 0]) {
difference() {
circle(d=90, $fn=100);
for ( i = [0 : 90 : 360] ){
rotate(i) {
translate([82/2,0]) circle(d=4, $fn=30);
translate([90/2,0]) rotate(45) square(1,center=true);
}
}
}
}
// Woofer mounting hole alignment
translate([-600, 0]) {
difference() {
circle(d=146, $fn=100);
for ( i = [0 : 45 : 360] ){
rotate(i) {
translate([138/2,0]) circle(d=4, $fn=30);
translate([146/2,0]) rotate(45) square(1,center=true);
}
}
}
}
// Front/back groove
translate([-200, 0]) {
difference() {
square([W-BD, H-BD], center=true);
translate([60,0]) rotate(45) square(A, center=true);
translate([-60,0]) rotate(45) square(A, center=true);
translate([0,120]) rotate(45) square(A, center=true);
translate([0,-120]) rotate(45) square(A, center=true);
}
}
module alignment() {
translate([95,0]) rotate(45) square(A, center=true);
translate([-95,0]) rotate(45) square(A, center=true);
}
difference() {
square([D-BD, H+100], center=true);
// Horiz align
translate([0,170]) rotate(45) square(A, center=true);
translate([0,-170]) rotate(45) square(A, center=true);
// Tweeter
translate([0,15]) {
alignment();
translate([-182/2+117, +312/2-82]) {
translate([0,-60]) rotate(45) square(A, center=true);
translate([0,60]) rotate(45) square(A, center=true);
difference() {
circle(d=90+BD, $fn=100);
circle(d=65+BD, $fn=100);
}
}
}
// Woofer
translate([0,-15]) {
alignment();
translate([0, -312/2+110])
difference() {
circle(d=146+BD, $fn=100);
circle(d=119+BD, $fn=100);
}
}
}