chiark / gitweb /
fairphone-case: led window: opening in lid
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 30 Jan 2018 13:56:50 +0000 (13:56 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 30 Jan 2018 13:56:53 +0000 (13:56 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
fairphone-case.scad

index 0e1e58e404e952d5220baabba61bf7c11ec02abf..1990985baf0e6deb27ae8bd496e590f2b53387b5 100644 (file)
@@ -14,6 +14,15 @@ bumper = [ 0.250, -0.025 ];
 
 enable_support = 1;
 
+led_window_style = 3;
+// 0: no window
+// 1: simply an opening
+// 2: opening with separate cover model, for printing in clear (two colour)
+// 3: like 2 but one-layer window for ad-hoc multi-colour
+
+initial_layer_thick = 0.400; // ^ needed for mode 3 only
+multicolour_gap = 0.15; // each side
+
 phone_cnr_rad = 6.0;
 
 button_cutout_depth = 9;
@@ -29,6 +38,10 @@ camera_pos_br = [ 22.300, 37.600 ]; // tl/br as seen from back
 jack_pos = [ 13.83, 8.485 ];
 jack_dia = 10.64 + .5; // some jack I had lying around
 
+led_pos = [ 12.50, 8.00 ];
+led_aperture = 5;
+led_windowledge = 0.75; // each side
+
 noisecancelmic_pos = [ 19.54, 7.37 ];   // from rhs
 noisecancelmic_dia = 4.00;
 
@@ -204,6 +217,16 @@ bppU = [ bppJ[0], lpp12[1] ];
 bppV = lpp11;
 bppW = lpp10;
 
+// notification led aperture
+
+nla_r0 = led_aperture/2;
+nla_r1 = nla_r0 + led_windowledge;
+nla_r2 = nla_r1 + multicolour_gap;
+nla_t =
+  led_window_style >= 3 ? initial_layer_thick :
+  led_window_style >= 2 ? led_window_ledge : 0;
+
+
 // hinge plan
 hp_rn = hingescrew_nut_access_dia/2;
 hp_r2_min = hp_rn + lever_cover_th;
@@ -908,6 +931,16 @@ module Lid(){ ////toplevel
       hull()
       for (pa = prop_angles)
        PropProfile(pa, 1,1);
+
+    // notification led aperture
+    if (led_window_style)
+      translate([led_pos[0], -led_pos[1], lpp13[1]]) {
+       translate([0,0,-10])
+         cylinder(r=nla_r0, h=20);
+       if (led_window_style >= 2)
+         translate([0,0, -nla_t])
+           cylinder(r=nla_r2, height=20);
+      }
   }
 }