[phone_width, -phone_height] + [-1,+1] * phone_cnr_rad);
}
-module SideButton(y,l){
+module SideButton(y, y_ref_sign, l){
+ // y_ref_sign:
+ // +1 measured from top of actual phone to top of button
+ // -1 measured from bottom of actual phone to bottom of button
+ // 0 y is centre of button in coordinate system
$button_l= l;
- eff_y = -y;
+ eff_y = y_ref_sign > 0 ? -bumper [1] -y -l/2 :
+ y_ref_sign < 0 ? (-phone +bumper)[1] +y +l/2 :
+ -y;
echo(eff_y);
translate([0, eff_y, 0])
children();
}
module Buttons(){
- CaseBase_rhsflip([1]) SideButton(19.650, 8.9) children(); // power
+ CaseBase_rhsflip([1]) SideButton(14.950, +1, 8.9) children(); // power
}
module Struts(x_start, z_min, th){