|
|
@@ -21,9 +21,16 @@ module PopufareHousingSideRightPlate() {
|
|
|
dh = POPUFARE_HOUSING_HEIGHT - POPUFARE_FRONT_HEIGHT;
|
|
|
alen = dh*sqrt(2.0);
|
|
|
w_right = w - dh;
|
|
|
+
|
|
|
+ spkr_dw = POPUFARE_SPEAKER_HOLE_WIDTH;
|
|
|
+
|
|
|
+ lip = _MATERIAL_THICKNESS + 0.125;
|
|
|
|
|
|
difference() {
|
|
|
- square([w,h], center=true);
|
|
|
+ union() {
|
|
|
+ square([w,h], center=true);
|
|
|
+ translate([0,-(h/2 + lip/2)]) square([w,lip], center=true);
|
|
|
+ }
|
|
|
|
|
|
// chop off angle
|
|
|
//
|
|
|
@@ -53,6 +60,28 @@ module PopufareHousingSideRightPlate() {
|
|
|
|
|
|
// no back bracket
|
|
|
//
|
|
|
+
|
|
|
+ // ...
|
|
|
+ spkr_cx = -30;
|
|
|
+ spkr_cy = 0;
|
|
|
+ spkr_r = 2*spkr_dw/6;
|
|
|
+ offset_x = 4.5;
|
|
|
+ _w = 2.5;
|
|
|
+ translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) rounded_rect(_w,2*spkr_r, _w/2);
|
|
|
+ translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - offset_x*offset_x), _w/2);
|
|
|
+ translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([2*offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - (2*2*offset_x*offset_x)), _w/2);
|
|
|
+ translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([3*offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - (3*3*offset_x*offset_x)), _w/2);
|
|
|
+
|
|
|
+ //translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([4*offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - (4*4*offset_x*offset_x)), _w/2);
|
|
|
+ //translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([5*offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - (5*5*offset_x*offset_x)), _w/2);
|
|
|
+
|
|
|
+ translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([-offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - offset_x*offset_x), _w/2);
|
|
|
+ translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([-2*offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - (2*2*offset_x*offset_x)), _w/2);
|
|
|
+ translate([spkr_cx,spkr_cy]) rotate(45, [0,0,1]) translate([-3*offset_x,0]) rounded_rect(_w,2*sqrt(spkr_r*spkr_r - (3*3*offset_x*offset_x)), _w/2);
|
|
|
+
|
|
|
+ translate([spkr_cx - spkr_dw/2,spkr_cy]) circle(POPUFARE_SPAKER_HOLE_R);
|
|
|
+ translate([spkr_cx + spkr_dw/2,spkr_cy]) circle(POPUFARE_SPAKER_HOLE_R);
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|