chiark / gitweb /
fairphone-case: rework hingescrew parameters: rename hingescrew_nut_thick_real to...
[reprap-play.git] / fairphone-case.scad
index 392d88d28b4f0887f621c7dd4a18c0d0d160dde0..f248e538ea4e15b234976ef39c72bfd5fa969d58 100644 (file)
@@ -78,14 +78,17 @@ foldover_lever_gap = 0.50;
 
 hingescrew_shaft_dia = 2.0 + 0.25; // M2 x 12mm machine screw
 hingescrew_shaft_len = 12;
-hingescrew_nut_thick = 1.93 + 0.20; // incl. washer
-hingescrew_nut_dia = 4.72 + 0.50; // washer, actually
-hingescrew_nut_across = 3.92 + 0.25;
-hingescrew_nut_thick_real = 1.93;
+hingescrew_fasteners_extra_thick = 0.40;
+hingescrew_nut_access_dia = 4.72 + 0.50;
+// ^ washer is 4.72 dia
+//   also, want to get pliers or tiny spanner in to do up locknut
+hingescrew_nut_across = 3.92 + 0.25; // incl. slop around recess slop
+hingescrew_nut_thick = 1.93;
 hingescrew_head_th = 1.38 + 0.75;
 hingescrew_head_dia = 3.92;
 lever_cover_th = 0.75;
 hingemount_th = 2.5;
+hingemount_wd = 4.8725;
 
 hingescrew_nut_recess_portion = 2/3; // portion of nut in recess
 
@@ -198,7 +201,7 @@ bppV = lpp11;
 bppW = lpp10;
 
 // hinge plan
-hp_rn = hingescrew_nut_dia/2;
+hp_rn = hingescrew_nut_access_dia/2;
 hp_r2_min = hp_rn + lever_cover_th;
 hp_rs = hingescrew_shaft_dia/2;
 hp_r1_min = hp_rs + hingemount_th;
@@ -221,20 +224,28 @@ hppE = [ hppE_x, hppE_y ];
 
 // hinge elevation x coords
 
-hingescrew_portion_len =
-  0.5* (hingescrew_shaft_len - hingescrew_nut_thick - hinge_x_gap);
-
 hex20 = max(epp2o[0],
            phone_cnr_rad,
            kppd[0] + hingescrew_head_th + keeper_gap_x_holes);
-hex21 = hex20 + hingescrew_portion_len;
+hex21 = hex20 + hingemount_wd;
 hex22 = hex21 + hinge_x_gap;
-hex23 = hex22 + hingescrew_portion_len
-  - hingescrew_nut_thick; // bodge, need to divvy this up more sensibly
-hex26 = hex23 + hingescrew_nut_thick_real * 2/3;
-hex24 = hex20 + hingescrew_shaft_len + hinge_x_postscrew_gap;
-//echo(hex20, hex21, hex22, hex23, hex24);
-//echo(hingescrew_portion_len);
+hex27 = hex20 + hingescrew_shaft_len;
+hex24 = hex27 + hinge_x_postscrew_gap;
+hex23 = hex27 - (hingescrew_nut_thick*2
+                + hingescrew_fasteners_extra_thick);
+hex26 = hex23 + hingescrew_nut_thick * 2/3;
+
+echo(hex20, hex21, hex22, hex23, hex24);
+//  6, 10.8725, 10.9975, 13.74, 18.75
+module chk(act,exp) {
+  if (abs(act-exp) > 1e-9) echo("WRONG", act, exp);
+  else echo("ok", act);
+}
+chk(hex20, 6);
+chk(hex21, 10.8725);
+chk(hex22, 10.9975);
+chk(hex23, 13.74);
+chk(hex24, 18.75);
 
 // catch
 
@@ -1151,9 +1162,11 @@ module DemoHingedFrame(){ ///toplevel
 }
 
 module DemoHinge(){ ////toplevel
-  DemoFrame();
-  translate([0,0, -hp_k*3])
-    DemoHingedFrame();
+  translate([ -0.5*phone_width, phone_height, hp_k*3 ]) {
+    DemoFrame();
+    translate([0,0, -hp_k*3])
+      DemoHingedFrame();
+  }
 }
 
 module DemoProfiles(){ ////toplevel