Add oranje speaker
This commit is contained in:
parent
71853c208c
commit
7875008fe5
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
*.dxf
|
||||
*.stl
|
154
oranje.scad
Normal file
154
oranje.scad
Normal file
@ -0,0 +1,154 @@
|
||||
B = 19.05;
|
||||
M = 6.35;
|
||||
|
||||
A = 5; // Alignment pad size
|
||||
|
||||
BD = B - M;
|
||||
|
||||
WF152_HEIGHT = 136.5;
|
||||
WF152_DIAMETER = 152;
|
||||
AMT2I_WIDTH = 91;
|
||||
AMT2I_HEIGHT = 72;
|
||||
|
||||
WOOFER_OFFSET = 300-183+1;
|
||||
PORT_OFFSET = 300-60;
|
||||
|
||||
// Side panel and tweeter alignment
|
||||
difference() {
|
||||
square([162-BD, 600], center=true);
|
||||
|
||||
// Tweeter cutout
|
||||
difference() {
|
||||
offset(r=BD/2) square([AMT2I_HEIGHT, AMT2I_WIDTH], center=true);
|
||||
offset(r=BD/2) square([65, 65], center=true);
|
||||
}
|
||||
|
||||
// Vertical tweeter alignment squares
|
||||
translate([100, 0]) rotate(45) square(A,center=true);
|
||||
translate([-100, 0]) rotate(45) square(A,center=true);
|
||||
|
||||
// Edge alignment
|
||||
translate([0, -290]) rotate(45) square(A,center=true);
|
||||
translate([0, 290]) rotate(45) square(A,center=true);
|
||||
|
||||
// Woofer alignment
|
||||
translate([0, -290]) rotate(45) square(A,center=true);
|
||||
translate([0, 290]) rotate(45) square(A,center=true);
|
||||
|
||||
translate([0, WOOFER_OFFSET]) {
|
||||
difference() {
|
||||
offset(r=BD/2) square([AMT2I_HEIGHT, AMT2I_WIDTH], center=true);
|
||||
square([65, 65], center=true);
|
||||
}
|
||||
|
||||
// woofer alignment
|
||||
translate([60, 0]) rotate(45) square(A,center=true);
|
||||
translate([-60, 0]) rotate(45) square(A,center=true);
|
||||
}
|
||||
|
||||
// woofer #2 alignemnt
|
||||
translate([0, -WOOFER_OFFSET]) {
|
||||
difference() {
|
||||
offset(r=BD/2) circle(d=69);
|
||||
circle(d=69);
|
||||
}
|
||||
|
||||
// woofer alignment
|
||||
translate([60, 0]) rotate(45) square(A,center=true);
|
||||
translate([-60, 0]) rotate(45) square(A,center=true);
|
||||
}
|
||||
|
||||
// Center alignment
|
||||
translate([60, 0]) rotate(45) square(A,center=true);
|
||||
translate([-60, 0]) rotate(45) square(A,center=true);
|
||||
|
||||
// Bass reflex port
|
||||
translate([0, PORT_OFFSET]) offset(r=BD/2) circle(d=69);
|
||||
translate([0, -PORT_OFFSET]) offset(r=BD/2) circle(d=69);
|
||||
}
|
||||
|
||||
// WF152BD11 flush mount
|
||||
module wf152() {
|
||||
intersection() {
|
||||
circle(d=WF152_DIAMETER , $fn=100);
|
||||
square([WF152_DIAMETER ,WF152_HEIGHT], center=true);
|
||||
}
|
||||
}
|
||||
|
||||
module j() {
|
||||
difference() {
|
||||
offset(r=BD/2) wf152();
|
||||
offset(r=BD/2) circle(d=126, $fn=100);
|
||||
}
|
||||
|
||||
|
||||
// Center alignment hole
|
||||
rotate(45) square(3, center=true);
|
||||
|
||||
// Alignment holes
|
||||
translate([0, -90]) rotate(45) square(A,center=true);
|
||||
translate([0, 90]) rotate(45) square(A,center=true);
|
||||
translate([90, 0]) rotate(45) square(A,center=true);
|
||||
translate([-90, 0]) rotate(45) square(A,center=true);
|
||||
}
|
||||
|
||||
translate([255,0])
|
||||
difference() {
|
||||
square([300-19-19-BD, 600-19-19-BD], center=true);
|
||||
|
||||
translate([90, 0]) rotate(45) square(A,center=true);
|
||||
translate([-90, 0]) rotate(45) square(A,center=true);
|
||||
translate([0, -260]) rotate(45) square(A,center=true);
|
||||
translate([0, 260]) rotate(45) square(A,center=true);
|
||||
|
||||
translate([0, WOOFER_OFFSET]) j();
|
||||
|
||||
translate([0, -WOOFER_OFFSET]) {
|
||||
|
||||
// Alignment holes
|
||||
translate([0, -90]) rotate(45) square(A,center=true);
|
||||
translate([0, 90]) rotate(45) square(A,center=true);
|
||||
translate([90, 0]) rotate(45) square(A,center=true);
|
||||
translate([-90, 0]) rotate(45) square(A,center=true);
|
||||
|
||||
difference() {
|
||||
offset(r=BD/2) wf152();
|
||||
|
||||
difference() {
|
||||
wf152();
|
||||
// Driver screw holes
|
||||
for ( i = [45 : 90 : 360] ){
|
||||
rotate(i) translate([140/2,0]) circle(d=4, $fn=50);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Back terminal cutout & back-front cutout groove
|
||||
translate([-250,0])
|
||||
difference() {
|
||||
square([162-BD, 600-19-19-BD], center=true);
|
||||
|
||||
// Terminal cutout
|
||||
difference() {
|
||||
offset(r=BD/2) square([80, 93], center=true);
|
||||
offset(r=BD/2) square([56, 76], center=true);
|
||||
}
|
||||
|
||||
// Alignment
|
||||
translate([0, -520/2]) rotate(45) square(A,center=true);
|
||||
translate([0, 520/2]) rotate(45) square(A,center=true);
|
||||
translate([-60,0]) rotate(45) square(A,center=true);
|
||||
translate([60,0]) rotate(45) square(A,center=true);
|
||||
|
||||
translate([0, 130]) {
|
||||
difference() {
|
||||
offset(r=M/2, $fn=50) square([AMT2I_HEIGHT-M, AMT2I_WIDTH-M], center=true);
|
||||
translate([-AMT2I_HEIGHT/2+5, -AMT2I_WIDTH/2+5]) circle(d=4, $fn=50);
|
||||
translate([-AMT2I_HEIGHT/2+5, AMT2I_WIDTH/2-5]) circle(d=4, $fn=50);
|
||||
translate([AMT2I_HEIGHT/2-5, -AMT2I_WIDTH/2+5]) circle(d=4, $fn=50);
|
||||
translate([AMT2I_HEIGHT/2-5, AMT2I_WIDTH/2-5]) circle(d=4, $fn=50);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user