[phone_width, -phone_height] + [-1,+1] * phone_cnr_rad);
}
+module SideButton(y,l){
+ $button_l= l;
+ translate([0, -y, 0])
+ mirror([1,0,0])
+ rotate([90,0,90])
+ children();
+}
+
+module Buttons(){
+ CaseBase_rhsflip([1]) SideButton(20.6, 8.8) children(); // power
+}
+
module Struts(x_start, z_min, th){
// if th is negative, starts at z_min and works towards -ve z
// and object should then be printed other way up
z_min])
mirror([0,0, th<0 ? 1 : 0])
translate([0,
- -phone_height * i / (case_struts_count+1),
- case_struts_solid_below])
+ -phone_height * i / (case_struts_count+1),
+ case_struts_solid_below])
linear_extrude(height= abs(th)
-(case_struts_solid_below+case_struts_solid_above))
rectfromto([ x_start, -0.5 * case_struts_width ],
// struts (invisible, because they're buried in the case)
Struts(epp2i[0], epp2i[1] - case_th_bottom, case_th_bottom);
+
+ Buttons(){
+ translate([0,0,-10])
+ linear_extrude(height= 20)
+ ButtonPlan($button_l, 0,1);
+ translate([0,0, -bppR[0]])
+ linear_extrude(height= 20)
+ ButtonPlan($button_l, 1,1);
+ }
}
}
module Lid(){ ////toplevel
difference(){
union(){
- %AroundEdges(lpp10[1], lpp13[1] - lpp10[1], 0)
+ AroundEdges(lpp10[1], lpp13[1] - lpp10[1], 0)
LidEdgeProfile();
}
Struts(lpp10[0] + strut_min_at_end, lpp13[1], -case_th_lid);