chiark / gitweb /
fairphone4-case: keeper fix (from v2)
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 28 Feb 2022 19:02:52 +0000 (19:02 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 28 Feb 2022 19:02:52 +0000 (19:02 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
fairphone4-case.scad

index a12b832cf23b92e777d59babfc453a3905c86396..db570e33d744a027d6d59f35dec12633fe4931e8 100644 (file)
@@ -208,7 +208,8 @@ keeper_gap_z_top = 0.25;
 keeper_gap_z_bot = 0.75;
 keeper_gap_x     = 0.25;
 keeper_gap_x_holes = 0.75;
-keeper_fatter = 1.20; // todo: use proper size as determined
+keeper_fatter = 0.30;
+keeper_fatter_hole = 1.20;
 
 keeper_side = 0; // 0 = lhs; 1 = rhs
 
@@ -504,14 +505,14 @@ module AdhocMultiprintFrame(phase, z0, zs) {
     }
 }
 
-module KeeperProfile(slant=0){
+module KeeperProfile(fatter, slant=0){
   use_e = kppe + [0,-1] * slant * keeper_inner_width / keeper_slant_slope;
-  polygon([use_e + [+1,-1] * keeper_fatter,
-          kppd  + [ 0,-1] * keeper_fatter,
+  polygon([use_e + [+1,-1] * fatter,
+          kppd  + [ 0,-1] * fatter,
           kppc,
           kppb,
           kppa,
-          kppf  + [+1, 0] * keeper_fatter
+          kppf  + [+1, 0] * fatter
           ]);
 }
 
@@ -1129,7 +1130,7 @@ module Case(){ ////toplevel
       Flip_rhs(1-keeper_side) intersection(){
        rotate([90, 0, 0])
          linear_extrude(height = phone_height + phone_cnr_rad * 2)
-         KeeperProfile(1);
+         KeeperProfile(fatter=0, slant=1);
 
        // outline of the whole case, to stop it protruding
        translate([0,0, -25])
@@ -1159,7 +1160,7 @@ module Case(){ ////toplevel
       rotate([90, 0, 0])
       linear_extrude(height = phone_height + phone_cnr_rad * 2)
       minkowski(){
-        KeeperProfile();
+        KeeperProfile(fatter=keeper_fatter_hole);
        rectfromto([ -keeper_gap_x,    -keeper_gap_z_bot ],
                   [ keeper_gap_x_holes,    +keeper_gap_z_top ]);
       }
@@ -1498,7 +1499,7 @@ module OneKeeper(){ ////toplevel
   translate([0, -phone_cnr_rad, 0])
     rotate([90, 0, 0])
     linear_extrude(height = phone_height - phone_cnr_rad * 2)
-    KeeperProfile();
+    KeeperProfile(fatter=keeper_fatter);
 }
 
 module OneKeeperPrint(){ ////toplevel