chiark / gitweb /
fairphone-case: TestFrameLidPrint: include a bit around led
[reprap-play.git] / fairphone-case.scad
index c22f1bcc27e9b42ebe9d0b70ac94a25dacdeadfa..097117757ccdee824a8de9147ec5459a196f5285 100644 (file)
@@ -25,6 +25,7 @@ initial_layer_width = 0.125; // ^ needed for mode 3 only
 multicolour_gap = 0.15; // each side
 
 phone_cnr_rad = 6.0;
+phone_rim_depth = 0.80; // includes allowance for a screen protector
 
 button_cutout_depth = 9;
 
@@ -196,7 +197,19 @@ kppa = [ kppb[0], kppf[1] ];
 lpp10 = [ epp5[0] + lid_gap_x, kppc[1] + lid_gap_z ];
 lpp11 = [ lpp10[0],            epp5[1] + lid_gap_z ];
 
-lp_r12 = case_th_lid - (lpp11[1] - lpp10[1]);
+lpp14 = lpp10 + [1,0] * keeper_inner_width;
+// exact x posn not very important; must extend past end of keeper
+
+lpp15 = [ lpp14[0],
+         epp0[1] - phone_rim_depth + 1/2.5 * case_th_lid ];
+// ^ beam theory says to maximise force before contact,
+//   the gap below the `beam' (the lid) must be 1/3
+//   the thickness (ie the lid thickness) if the beam
+//   is solid, or 1/2 if it has a top and bottom only.
+//   ours is mostly solid.
+
+lp_r12 = max(case_th_lid - (lpp11[1] - lpp15[1]),
+            case_th_lip);
 
 lpp12 = [ epp4[0] + lp_r12,    lpp11[1] ];
 lpp13 = [ lpp12[0],            lpp12[1] + lp_r12 ];
@@ -377,7 +390,9 @@ module LidEdgeProfile(){
            lpp12,
            lpp13,
            lpp13 + [10, 0],
-           lpp10 + [10, 0]
+           lpp15 + [10, 0],
+           lpp15,
+           lpp14,
            ]);
   intersection(){
     circleat(lpp12, r=lp_r12);
@@ -1144,6 +1159,8 @@ module TestSelectFrame(){
 
 module TestSelectLidFrame(){
   TestSelectFrame();
+  translate([led_pos[0], -led_pos[1], -50])
+    cylinder(r= nla_r2+2, h=100);
 }
 
 module TestFrameCase(){ ////toplevel