chiark / gitweb /
nook-case: wip
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 1 Sep 2020 22:09:20 +0000 (23:09 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 1 Sep 2020 22:09:20 +0000 (23:09 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
nook-case.scad [new file with mode: 0644]

diff --git a/nook-case.scad b/nook-case.scad
new file mode 100644 (file)
index 0000000..be1d060
--- /dev/null
@@ -0,0 +1,54 @@
+// -*- C -*-
+
+include <utils.scad>
+
+nook_th = 8; // xxx
+nook_cnr_rad = 10;
+
+case_th = 2.5;
+ledge_w = 4;
+tape_th = 1.5;
+tape_inside = 2.0;
+
+// calculated
+
+ledge_h = case_th;
+
+spp0 = [0,0];
+spp1 = spp0 + case_th * [-1,0];
+spp9 = spp0 + ledge_h * [0,-1];
+spp8 = spp9 + nook_th * [0,-1];
+spp7 = spp8 + case_th * [-1,-1];
+
+spp11y = spp1[1] - tape_th;
+spp4y  = 0.5 * (spp0[1] + spp8[1]);
+spp3y = spp4y + tape_inside/2;  spp5y = spp4y - tape_inside/2;
+spp2y = spp3y + tape_th;        spp6y = spp5y - tape_th;
+
+module SideMainProfile() {
+  rectfromto(spp7, spp0);
+  rectfromto(spp7, spp8 + nook_cnr_rad * [1,0]);
+}
+
+module SideTapeCutout1(y0,y1) {
+  rectfromto([ spp7[0]-1, y0 ],
+            [ spp8[0]+1, y1 ]);
+}
+
+module SideTapeCutout() {
+  SideTapeCutout1(spp6y, spp5y);
+  SideTapeCutout1(spp3y, spp2y);
+  SideTapeCutout1(spp3y, spp2y);
+  SideTapeCutout1(spp11y, spp1[1] + 1);
+}
+
+module Demo(){
+  translate([0,0,-2]) color("red") SideMainProfile();
+  difference(){
+    SideMainProfile();
+    SideTapeCutout();
+  }
+  //%SideTapeCutout();
+}
+
+Demo();