chiark / gitweb /
fairphone-case: adjust catch from v13
[reprap-play.git] / fairphone-case.scad
index 368b4659c81aa18c2fb5ebfcdf0127850950671b..13b26585a6f02da9ecf75056dff5be2b3888ec2f 100644 (file)
@@ -8,6 +8,8 @@ bumper = [ 0.250, -0.025 ];
 // ^ One side.  Overall size is increased by twice this.
 // If no bumpers, is the gap around the phone.
 
+enable_support = 1;
+
 phone_cnr_rad = 6.0;
 
 button_cutout_depth = 9;
@@ -20,20 +22,21 @@ phone_backside_slope_outer = 1.0; // larger means shallower
 camera_pos_tl = [  6.450, 12.750 ]; // measured from tl corner
 camera_pos_br = [ 22.300, 37.600 ]; // tl/br as seen from back
 
-jack_pos = [ 13.92, 7.96 ];
-jack_dia = 9.1 + .5; // some jack I had lying around
+jack_pos = [ 14.38, 7.96 ];
+jack_dia = 10.64 + .5; // some jack I had lying around
 
 noisecancelmic_pos = [ 19.54, 7.37 ];   // from rhs
-noisecancelmic_dia = 1.75;
+noisecancelmic_dia = 4.00;
 
-fingerpushhole_dias = [ 15, 18 ];
+//fingerpushhole_dias = [ 15, 18 ];
+fingerpushhole_dias = [];
 
 rearspeaker_pos_bl = [ 12.64, 18.72 ];
 rearspeaker_size   = [  3.76,  7.36 ];
 
 microusb_above = 3.27 - 0.25;
 microusb_below = 0.0;
-microusb_width = 16.12 + 0.25;
+microusb_width = 16.12 + 1.25;
 
 case_th_bottom = 2.5;
 case_th_lid = 2.5;
@@ -56,7 +59,7 @@ keeper_gap_z_bot = 0.75;
 keeper_gap_x     = 0.25;
 keeper_gap_x_holes = 0.75;
 
-keeper_side = 1; // 0 = lhs; 1 = rhs
+keeper_side = 0; // 0 = lhs; 1 = rhs
 
 case_lip = 1.25;
 
@@ -100,7 +103,7 @@ catch_width = 15;
 catch_thickness = 1.0;
 catch_side_gap = 0.75; // each side
 
-catch_depth = 1.25;
+catch_depth = 0.75;
 catch_height = 0.35;
 catch_finger_height = 1.5;
 catch_finger_depth = 2.5;
@@ -473,8 +476,9 @@ module OrdinaryRearApertures(){
               rearspeaker_size + rearspeaker_gap);
 
   // finger hole to remove phone
-  OrdinaryRearAperture(1,0, [ fingerpushhole_dias[0]/2 + epp2i[0],
-                             phone[1]/2 ])
+  if (len(fingerpushhole_dias))
+    OrdinaryRearAperture(1,0, [ fingerpushhole_dias[0]/2 + epp2i[0],
+                               phone[1]/2 ])
     scale(fingerpushhole_dias)
     circle(r= 0.5 );
 }
@@ -600,6 +604,7 @@ module Case(){ ////toplevel
     Buttons(){
       mirror([1,0,0])
        rotate([90,0,90]) {
+         if (!($button_leg_only && enable_support))
          intersection(){
            translate([0,0,-10])
              linear_extrude(height= 20)
@@ -607,7 +612,13 @@ module Case(){ ////toplevel
            if ($button_leg_only)
              rotate([-90,90,0])
                translate([phone_width/2, -400, kppe[1]])
-               mirror([1-abs($rhsflip - keeper_side),0,0]) cube([400, 800, 50]);
+               mirror([1-abs($rhsflip - keeper_side),0,0])
+               cube([400, 800, 50]);
+           if (enable_support)
+             rotate([-90,90,0])
+             translate([-400, -400, kppd[1]])
+               mirror([0,0,1])
+               cube([800,800,100]);
          }
          translate([0,0, -bppR[0]])
            linear_extrude(height= 20)
@@ -618,7 +629,7 @@ module Case(){ ////toplevel
     // apertures along top edge
     CaseAperture(jack_pos, jack_dia, 8);
     Flip_rhs(1)
-      CaseAperture(noisecancelmic_pos, noisecancelmic_dia, 20);
+      CaseAperture(noisecancelmic_pos, noisecancelmic_dia, 8);
 
     OrdinaryRearApertures();