chiark / gitweb /
fairphone4-case: apertures
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 17 Feb 2022 21:14:25 +0000 (21:14 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 17 Feb 2022 21:14:25 +0000 (21:14 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
fairphone4-case.scad

index 2c32d0442fd4ff2f57a2553246af2826b4cbcf07..08a6e2e8feb3265b76217ae33638c9b52aa64297 100644 (file)
@@ -176,6 +176,9 @@ lanyard_channel_len = 8;
 rearspeaker_pos_bl = [ 12.64, 18.72 ];
 rearspeaker_size   = [  3.76,  7.36 ];
 
+bottomspeaker_size = [ 11.35, 1.40 ] + [1,1] * 1.0;
+bottomspeaker_pos = [ 19.45, 4.82 ];
+
 microusb_above = 1.64 - 0.25;
 microusb_below = 2.42;
 microusb_width = 12.16 + 2.0 + 1.25;
@@ -857,7 +860,7 @@ module OrdinaryRearAperture(rhs,bot, pos){
     children();
 }
 
-module MicroUSB(){
+module MicroUSBEtc(){
   Flip_bot(1){
     rotate([90,0,0])
       mirror([0,0,1])
@@ -866,6 +869,17 @@ module MicroUSB(){
       rectfromto([-microusb_width/2, epp2i[1] + microusb_below],
                 [+microusb_width/2, epp0[1] + -microusb_above]);
   }
+  Flip_bot(1) Flip_rhs(1) {
+    linextr_y_xz(-epp2i[0], 60)
+      hull()
+      for (x= [-1,+1]) {
+       translate([ -bottomspeaker_pos[0], -bottomspeaker_pos[1] ] +
+                 [ 0.5 * x * bottomspeaker_size[0] - bottomspeaker_size[1],
+                   0 ])
+         rotate(360/16)
+         circle(r = bottomspeaker_size[1], $fn = 8);
+      }
+  }
 }
 
 module OrdinaryRearApertures(){
@@ -1170,7 +1184,7 @@ module Case(){ ////toplevel
 
     OrdinaryRearApertures();
 
-    MicroUSB();
+    MicroUSBEtc();
 
     // gaps for the lid's hinge arms
     HingePortion(hex20 - hinge_x_arms_gap,
@@ -1311,8 +1325,8 @@ module HingeLever(){ ////toplevel
     HingeScrews();
 
     // space for the charging cable
-    MicroUSB();
-    Flip_hinge() MicroUSB();
+    MicroUSBEtc();
+    Flip_hinge() MicroUSBEtc();
   }
 }