From d8b3ff980be7ecd6d8dfd10b01b6387d073c500b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lauri=20V=C3=B5sandi?= Date: Sat, 17 Jul 2021 09:45:06 +0300 Subject: [PATCH] Add SW270 based subwoofer template --- sw270.scad | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 sw270.scad diff --git a/sw270.scad b/sw270.scad new file mode 100644 index 0000000..2f8bc30 --- /dev/null +++ b/sw270.scad @@ -0,0 +1,54 @@ +/** + * 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); + } +} \ No newline at end of file