Final version for Lia AMT
This commit is contained in:
parent
53d21ba181
commit
4c4ba2c08e
102
lia-amt.scad
102
lia-amt.scad
@ -22,19 +22,9 @@ module wf182() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module amt1i() {
|
|
||||||
offset(r=BD/2) square([AMT1I_WIDTH, AMT1I_HEIGHT], center=true);
|
|
||||||
}
|
|
||||||
|
|
||||||
R = 152.5; // WF182_HEIGHT/2 + 4 + AMT1I_HEIGHT/2;
|
R = 152.5; // WF182_HEIGHT/2 + 4 + AMT1I_HEIGHT/2;
|
||||||
|
|
||||||
module alignment() {
|
|
||||||
for (i=[25+AMT1I_HEIGHT/2, 0, -R, R]) {
|
|
||||||
translate([110, i]) rotate(45) square(A,center=true);
|
|
||||||
translate([0, i]) rotate(45) square(A,center=true);
|
|
||||||
translate([-110, i]) rotate(45) square(A,center=true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Side panel and tweeter alignment
|
// Side panel and tweeter alignment
|
||||||
difference() {
|
difference() {
|
||||||
@ -42,56 +32,73 @@ difference() {
|
|||||||
|
|
||||||
// Tweeter cutout
|
// Tweeter cutout
|
||||||
translate([0, 450/2-25-130/2]) {
|
translate([0, 450/2-25-130/2]) {
|
||||||
|
difference() {
|
||||||
offset(r=BD/2) square([AMT1I_WIDTH, AMT1I_HEIGHT], center=true);
|
offset(r=BD/2) square([AMT1I_WIDTH, AMT1I_HEIGHT], center=true);
|
||||||
translate([100, 0]) rotate(45) square(A,center=true);
|
|
||||||
translate([-100, 0]) rotate(45) square(A,center=true);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Tweeter flush mount
|
|
||||||
translate([0,-450/2+25+130/2]) {
|
|
||||||
offset(r=BD/2) square([AMT1I_WIDTH-20, AMT1I_HEIGHT-10], center=true);
|
offset(r=BD/2) square([AMT1I_WIDTH-20, AMT1I_HEIGHT-10], center=true);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Vertical tweeter alignment squares
|
||||||
translate([100, 0]) rotate(45) square(A,center=true);
|
translate([100, 0]) rotate(45) square(A,center=true);
|
||||||
translate([-100, 0]) rotate(45) square(A,center=true);
|
translate([-100, 0]) rotate(45) square(A,center=true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Edge alignment
|
||||||
translate([0, -450/2]) rotate(45) square(A,center=true);
|
translate([0, -450/2]) rotate(45) square(A,center=true);
|
||||||
translate([0, 450/2]) rotate(45) square(A,center=true);
|
translate([0, 450/2]) rotate(45) square(A,center=true);
|
||||||
|
|
||||||
|
// Center alignment
|
||||||
translate([100, 0]) rotate(45) square(A,center=true);
|
translate([100, 0]) rotate(45) square(A,center=true);
|
||||||
translate([-100, 0]) rotate(45) square(A,center=true);
|
translate([-100, 0]) rotate(45) square(A,center=true);
|
||||||
|
|
||||||
|
// Woofer alignment squares
|
||||||
|
translate([0, -450/2+207.5]) {
|
||||||
|
translate([100, 0]) rotate(45) square(A,center=true);
|
||||||
|
translate([-100, 0]) rotate(45) square(A,center=true);
|
||||||
|
}
|
||||||
|
|
||||||
rotate(45) square(A,center=true);
|
rotate(45) square(A,center=true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Front face flush mount and back tube cutout
|
// Flush mount to cutout adapter
|
||||||
|
translate([500,0]) {
|
||||||
|
difference() {
|
||||||
|
offset(r=BD/2) wf182();
|
||||||
|
circle(d=152+BD, $fn=100);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// WF182BD11 flush mount
|
||||||
translate([255,0])
|
translate([255,0])
|
||||||
difference() {
|
difference() {
|
||||||
square([250, 450], center=true);
|
square([250, 250], center=true);
|
||||||
|
|
||||||
|
|
||||||
translate([0, -450/2+207.5]) {
|
|
||||||
difference() {
|
difference() {
|
||||||
offset(r=BD/2) wf182();
|
offset(r=BD/2) wf182();
|
||||||
wf182();
|
wf182();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
circle(d=152+BD/2, $fn=100);
|
||||||
|
|
||||||
|
// Center alignment hole
|
||||||
rotate(45) square(3,center=true);
|
rotate(45) square(3,center=true);
|
||||||
translate([220/2, 0]) rotate(45) square(A,center=true);
|
|
||||||
translate([-220/2, 0]) rotate(45) square(A,center=true);
|
// Driver screw holes
|
||||||
for ( i = [0 : 60 : 360] ){
|
for ( i = [0 : 60 : 360] ){
|
||||||
rotate(i) translate([169.5/2,0]) circle(d=4, $fn=50);
|
rotate(i) translate([169.5/2,0]) circle(d=4, $fn=50);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Alignment holes on round edges
|
||||||
for ( i = [0,45,135,180,225] ){
|
for ( i = [0,45,135,180,225] ){
|
||||||
rotate(i) translate([182/2,0]) rotate(45) square(3,center=true);
|
rotate(i) translate([182/2,0]) rotate(45) square(3,center=true);
|
||||||
}
|
}
|
||||||
|
|
||||||
translate([0,165.5/2]) rotate(45) square(3,center=true);
|
|
||||||
translate([0,-165.5/2]) rotate(45) square(3,center=true);
|
|
||||||
|
|
||||||
}
|
// Alignment holes
|
||||||
translate([0, -420/2]) rotate(45) square(A,center=true);
|
translate([0, -110]) rotate(45) square(A,center=true);
|
||||||
translate([0, 420/2]) rotate(45) square(A,center=true);
|
translate([0, 110]) rotate(45) square(A,center=true);
|
||||||
translate([220/2, 0]) rotate(45) square(A,center=true);
|
translate([110, 0]) rotate(45) square(A,center=true);
|
||||||
translate([-220/2, 0]) rotate(45) square(A,center=true);
|
translate([-110, 0]) rotate(45) square(A,center=true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -100,41 +107,44 @@ translate([-255,0])
|
|||||||
difference() {
|
difference() {
|
||||||
square([250-20-20-BD, 450-20-20-BD], center=true);
|
square([250-20-20-BD, 450-20-20-BD], center=true);
|
||||||
|
|
||||||
// Woofer cutout
|
|
||||||
translate([0, -450/2+207.5]) {
|
|
||||||
circle(d=152+BD);
|
|
||||||
for ( i = [0 : 90 : 360] ){
|
|
||||||
rotate(i) translate([90,0]) rotate(45) square(A,center=true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
translate([0, -180]) rotate(45) square(A,center=true);
|
translate([0, -180]) rotate(45) square(A,center=true);
|
||||||
translate([0, 180]) rotate(45) square(A,center=true);
|
translate([0, 180]) 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([90,0]) rotate(45) square(A,center=true);
|
translate([90,0]) rotate(45) square(A,center=true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Back reflex tube and terminal cutout & groove
|
// Back reflex tube and terminal cutout & groove
|
||||||
translate([-500,0])
|
translate([-500,0])
|
||||||
difference() {
|
difference() {
|
||||||
square([250-20-20-BD, 450-20-20-BD], center=true);
|
square([220, 500], center=true);
|
||||||
|
|
||||||
// Terminal cutout
|
// Terminal cutout
|
||||||
translate([0, 450/2-(450-207.5)/ 2])
|
translate([0, 450/2-(450-207.5)/ 2])
|
||||||
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);
|
||||||
|
}
|
||||||
|
|
||||||
// Bass reflex tube
|
// Bass reflex tube
|
||||||
translate([0, -450/2+80]) {
|
translate([0, -450/2+80]) {
|
||||||
circle(d=97, $fn=100);
|
circle(d=97-0.4+BD, $fn=100);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Alignment
|
// Alignment
|
||||||
translate([0, -180]) rotate(45) square(A,center=true);
|
translate([0, -450/2]) rotate(45) square(A,center=true);
|
||||||
translate([0, 180]) rotate(45) square(A,center=true);
|
translate([0, 450/2]) rotate(45) square(A,center=true);
|
||||||
translate([-90,0]) rotate(45) square(A,center=true);
|
translate([-80,0]) rotate(45) square(A,center=true);
|
||||||
translate([90,0]) rotate(45) square(A,center=true);
|
translate([80,0]) rotate(45) square(A,center=true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
translate([-750, 0]) {
|
||||||
|
difference() {
|
||||||
|
offset(r=M/2, $fn=50) square([AMT1I_WIDTH-M, AMT1I_HEIGHT-M], center=true);
|
||||||
|
translate([-90/2, -120/2]) circle(d=4, $fn=50);
|
||||||
|
translate([90/2, -120/2]) circle(d=4, $fn=50);
|
||||||
|
translate([-90/2, 120/2]) circle(d=4, $fn=50);
|
||||||
|
translate([90/2, 120/2]) circle(d=4, $fn=50);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user