module ButtonCoverProfile(){
intersection(){
polygon(concat([ bppM, bppP, bppO, bppJ ],
- (enable_support ? [ bppU, bppV, bppW ] : []),
+ (enable_support && !$button_suppress_over_keeper
+ ? [ bppU, bppV, bppW ] : []),
[ bppL, bppK ]));
hull(){
EdgeProfile();
h = 60);
}
-module SideButton(y, y_ref_sign, l){
+module SideButton(y, y_ref_sign, l, suppress_over_keeper=0){
// 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;
+ $button_suppress_over_keeper= suppress_over_keeper;
eff_y = y_ref_sign > 0 ? -bumper [1] -y -l/2 :
y_ref_sign < 0 ? (-phone -bumper)[1] +y +l/2 :
y;
}
module Buttons(){
- Flip_rhs(1) SideButton(15.580, +1, 8.9) children(); // power
- Flip_rhs(1) SideButton(48.700, -1, 8.920) children(); // camera
- Flip_rhs(0) SideButton(30.800, +1, 21.96) children(); // volume
+ Flip_rhs(1) SideButton(15.580, +1, 8.9 ) children(); // power
+ Flip_rhs(1) SideButton(48.700, -1, 8.920 ) children(); // camera
+ Flip_rhs(0) SideButton(30.800, +1, 21.96, 1) children(); // volume
Flip_rhs( ) LidButtonishLeg(14, -1) children();
// Flip_rhs(0) LidButtonishLeg(20, +1, 20) children();
}
translate([phone_width/2, -400, kppe[1]])
mirror([1-abs($rhsflip - keeper_side),0,0])
cube([400, 800, 50]);
- if (enable_support)
+ if (enable_support && !$button_suppress_over_keeper)
rotate([-90,90,0])
translate([-400, -400, kppd[1]])
mirror([0,0,1])
}
}
+module TestSelectTopApertures(){
+ translate([-100, -35, -100])
+ cube([400, 100, 200]);
+}
+
module TestTopApertures(){ ////toplevel
intersection(){
Case();
TestSelectFrame();
- translate([-100, -35, -100])
- cube([400, 100, 200]);
+ TestSelectTopApertures();
+ }
+}
+
+module TestLidTopAperturesPrint(){ ////toplevel
+ rotate([0,180,0]) intersection(){
+ Lid();
+ TestSelectTopApertures();
+ }
+}
+
+module TestLidWindowTopAperturesPrint(){ ////toplevel
+ rotate([0,180,0]) intersection(){
+ LidWindow();
+ TestSelectTopApertures();
}
}