chiark / gitweb /
sleepphone-cable-box: support trick, print orientation
[reprap-play.git] / simplephone-case.scad
index f57a30eced1fe1c7a7438caf9008a1924cbe09d5..2cbc5ff1a3412606ef8b5d88e49d2394a1ba1901 100644 (file)
@@ -25,8 +25,8 @@ screen_sz = [ 35, 46 ];
 thumb_xbot = 90;
 thumb_dia = 25;
 
-vol_xbot = 87.4;
-vol_xtop = 106.7;
+vol_xbot = 86.5;
+vol_xtop = 107.5;
 vol_depth = 1.0;
 vol_zsz = 9;
 vol_zoff = 0;
@@ -34,9 +34,11 @@ vol_zoff = 0;
 rail_ysz = 2.5;
 rail_zsz = 2.5;
 
+stay_height = 1.49;
+
 case_x_less = 0; //case_x_less = 10;
 
-inner_cnr_rad = 3.0;
+inner_cnr_rad = 4.0;
 
 // calculated
 
@@ -71,6 +73,22 @@ module RoundedCube(sz, cnr_rad){
   }
 }
 
+module Stay(xbot, xtop, width, midgap_width) {
+  translate([ (xbot+xtop)/2, psz[1]/2, psz[2] ]){
+    difference(){
+      cube([ xtop-xbot, width, stay_height*2 ], center=true);
+      if (midgap_width > 0)
+       cube([ 200, midgap_width, 10 ], center=true);
+    }
+  }
+}
+
+module Stays(){
+  Stay(  76, 82, 10, 0);
+  Stay(-0.1, 55, 10, 0);
+  Stay( 113,125, 70, 15);
+}
+
 module Case(){
   difference(){
     mirror([1,0,0])
@@ -98,8 +116,8 @@ module Case(){
       mirror([1,0,0])
       translate([ screen_xbot,
                  (psz[1] - screen_sz[1])/2,
-                 psz[2]-1 ])
-      cube(concat(screen_sz, [ thick[2]+2 ]));
+                 psz[2]-3 ])
+      cube(concat(screen_sz, [ thick[2]+6 ]));
 
     hull(){
       for (x=[ thumb_xbot+thumb_dia/2, psz[0]+10 ])
@@ -125,6 +143,8 @@ module Case(){
        RoundedCube(psz + [1,0,0],
                    inner_cnr_rad);
 
+        Stays();
+
        if (0) for (m=[0,1]) {
          translate([0,ym,0]) mirror([0,m,0]) translate([0,-ym,0])
            translate([-1,-1, psz[2]-rail_zsz])