chiark / gitweb /
nook-case: open_recess_2
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 3 Sep 2020 17:03:16 +0000 (18:03 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 3 Sep 2020 17:03:16 +0000 (18:03 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
nook-case.scad

index 62f954c555898a58f7b29f2c74d3215c605f787c..0789033178e2a35ff87ba924eb107411964cb604 100644 (file)
@@ -16,6 +16,9 @@ usb_below = 1.5;
 open_recess_w = 12.5;
 open_recess_h = 2.5;
 
+open_recess_2_len = 15;
+open_recess_2_d_tooth = 30;
+
 nook_cnr_rad = 10;
 
 case_th = 2.5;
@@ -34,7 +37,6 @@ engage_l1 = 10;
 engage_l2 = 3;
 
 tooth_inward = gap[0] * 1.0;
-tooth_x = nook_w * 1/6;
 tooth_w = 15;
 
 $test = false;
@@ -80,6 +82,8 @@ spp30 = [ spp8[0], spp31[1] ];
 
 nom_cnr = 0.5 * [nook_w, nook_h, 0] - nook_cnr_rad * [1,1,0];
 
+tooth_y = nom_cnr[1] - tooth_w/2;
+
 etxa = nom_cnr[0] - engage_l2;
 etxb = etxa - engage_l1;
 etxc = -(nom_cnr[0] - engage_l2);
@@ -90,6 +94,9 @@ tapb = tapa - tape_w;
 opra = nom_cnr[1] - engage_l2;
 oprb = opra - open_recess_w;
 
+opqa = tooth_y - open_recess_2_d_tooth + open_recess_2_len/2;
+opqb = opqa - open_recess_2_len;
+
 tppS = tppB + [-gap[0], 0];
 tppP = [ tppS[0] - tooth_th, tppC[1] ];
 tppQ = tppP + tooth_height * [0,-1] + tooth_inward * [1,0];
@@ -260,14 +267,18 @@ module Base(){ ////toplevel
 }
 
 module Top(){ ////toplevel
-  FaceCore(tppE[1],tppD[1], -gap[0], gap[0] + 0.3) {
-    LeftTopMainProfile();
-    RightTopMainProfile();
-    TopTapeCutout();
+  difference(){
+    FaceCore(tppE[1],tppD[1], -gap[0], gap[0] + 0.3) {
+      LeftTopMainProfile();
+      RightTopMainProfile();
+      TopTapeCutout();
+    }
+    translate([nook_w/2, 0,0])
+      linextr_y_xz(opqb, opqa)
+      rectfromto(spp8, tppC + [-1,1]);
   }
-  translate([tooth_x, nook_h/2, 0])
-    linextr_x_yz(-tooth_w/2, +tooth_w/2)
-    mirror([1,0])
+  translate([nook_w/2, tooth_y, 0])
+    linextr_y_xz(-tooth_w/2, +tooth_w/2)
     ToothProfile();
 }
 module TopPrint(){ ////toplevel