phone_height = 146.5 - .80;
phone_width = 76.75;
-phone_cnr_rad = 4.0;
+phone_cnr_rad = 6.0;
phone_edge_thick = 9.0;
phone_total_thick = 12.0;
keeper_inner_height = 1.75;
keeper_gap_z_top = 0.25;
-keeper_gap_z_bot = 0.25;
+keeper_gap_z_bot = 0.75;
keeper_gap_x = 0.25;
keeper_gap_x_holes = 0.75;
module Case(){ ////toplevel
difference(){
- CaseBase();
+ union(){
+ CaseBase();
- // slots for keeper
- CaseBase_rhsflip()
+ // ledge (fixed keeper)
+ intersection(){
+ rotate([90, 0, 0])
+ linear_extrude(height = phone_height + phone_cnr_rad * 2)
+ KeeperProfile();
+
+ // outline of the whole case, to stop it protruding
+ translate([0,0, -25])
+ linear_extrude(height = 50)
+ hull()
+ // CaseBase_rhsflip() // actually, we only care about the LH
+ CaseBase_botflip()
+ circleat([+1,-1] * phone_cnr_rad, phone_cnr_rad + case_th_side/2);
+ }
+ }
+
+ // slot for keeper
+ CaseBase_rhsflip(1)
translate([0, -phone_cnr_rad, 0])
rotate([90, 0, 0])
linear_extrude(height = phone_height + phone_cnr_rad * 2)