rearspeaker_pos_bl = [ 12.64, 18.72 ];
rearspeaker_size = [ 3.76, 7.36 ];
+bottomspeaker_size = [ 11.35, 1.40 ] + [1,1] * 1.0;
+bottomspeaker_pos = [ 19.45, 4.82 ];
+
microusb_above = 1.64 - 0.25;
microusb_below = 2.42;
microusb_width = 12.16 + 2.0 + 1.25;
children();
}
-module MicroUSB(){
+module MicroUSBEtc(){
Flip_bot(1){
rotate([90,0,0])
mirror([0,0,1])
rectfromto([-microusb_width/2, epp2i[1] + microusb_below],
[+microusb_width/2, epp0[1] + -microusb_above]);
}
+ Flip_bot(1) Flip_rhs(1) {
+ linextr_y_xz(-epp2i[0], 60)
+ hull()
+ for (x= [-1,+1]) {
+ translate([ -bottomspeaker_pos[0], -bottomspeaker_pos[1] ] +
+ [ 0.5 * x * bottomspeaker_size[0] - bottomspeaker_size[1],
+ 0 ])
+ rotate(360/16)
+ circle(r = bottomspeaker_size[1], $fn = 8);
+ }
+ }
}
module OrdinaryRearApertures(){
OrdinaryRearApertures();
- MicroUSB();
+ MicroUSBEtc();
// gaps for the lid's hinge arms
HingePortion(hex20 - hinge_x_arms_gap,
HingeScrews();
// space for the charging cable
- MicroUSB();
- Flip_hinge() MicroUSB();
+ MicroUSBEtc();
+ Flip_hinge() MicroUSBEtc();
}
}