chiark / gitweb /
fairphone-case: one keeper
[reprap-play.git] / fairphone-case.scad
index 1dd97a0c0bbd6a3387a19efe03e72ea946729cc8..c0aae507e7a8a0cdd8cbe28e03fb50d3e9364eac 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C -*-
 
-phone_height = 146.5;
+phone_height = 146.5 - .80;
 phone_width = 76.75;
 
 phone_cnr_rad = 4.0;
@@ -9,7 +9,7 @@ phone_edge_thick = 9.0;
 phone_total_thick = 12.0;
 phone_backside_slope = 1.0; // larger means shallower
 
-camera_pos_tl = [  7.5, 13.5 ]; // measured from tl corner
+camera_pos_tl = [  7.0, 13.0 ]; // measured from tl corner
 camera_pos_br = [ 24.0, 39.5 ]; // tl/br as seen from back
 
 case_th_bottom = 2;
@@ -23,7 +23,7 @@ keeper_inner_width = 1.75;
 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;
 
@@ -166,10 +166,19 @@ module CaseBase(){
 
 module Case(){ ////toplevel
   difference(){
-    CaseBase();
+    union(){
+      CaseBase();
+      intersection(){
+       rotate([90, 0, 0])
+         linear_extrude(height = phone_height + phone_cnr_rad * 2)
+         KeeperProfile();
+       hull()
+         CaseBase();
+      }
+    }
 
-    // slots for keeper
-    CaseBase_rhsflip()
+    // 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)
@@ -188,6 +197,11 @@ module Case(){ ////toplevel
   }
 }
 
+module Lid(){ ////toplevel
+  AroundEdges(lpp10[1], lpp13[1] - lpp10[1], 0)
+    LidEdgeProfile();
+}
+
 module TestLength(){ ////toplevel
   intersection(){
     Case();