/** * Laser cuttable template for building a subwoofer with * Wavecor SW270 driver and Monacor SAM-300D amplifier */ B = 19.05; // Bushing outer diameter M = 6.35; // Mill diameter J = 100; // Mill pad T = 21; // Material thickness I = 320; // Internal dimension A = 5; // Alignment pad size P = 17; // Alignment pad placement O = I + 2 * T; // Outer dimensions BD = B - M; // Bushing offset echo("Internal volume", I*I*I/1000000, "L"); module sam300d_flush_mount() { offset(r=BD) square([255, 188], center=true); } // Side panels translate([I+J/2, 0]) { difference() { square([I + J, I - BD], center=true); sam300d_flush_mount(); // Alignment squares translate([O/2,0]) rotate(45) square(A, center=true); translate([-O/2,0]) rotate(45) square(A, center=true); translate([0,I/2-P]) rotate(45) square(A, center=true); translate([0,-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); translate([-I/2,-I/2+P]) rotate(45) square(A, center=true); } } // Front face difference() { square([I - BD, I - BD], center=true); // Alignment squares translate([I/2-P,0]) rotate(45) square(A, center=true); translate([-I/2+P,0]) rotate(45) square(A, center=true); translate([0,I/2-P]) rotate(45) square(A, center=true); translate([0,-I/2+P]) rotate(45) square(A, center=true); circle(d=228+BD, $fn=100); for ( i = [0 : 60 : 360] ){ rotate(i) translate([259/2,0]) circle(d=4, $fn=30); } }