chiark / gitweb /
nook-case: wip, top
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 1 Sep 2020 22:23:40 +0000 (23:23 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 1 Sep 2020 22:23:40 +0000 (23:23 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
nook-case.scad

index e38e70227d9911bb590ea758207ef0651b3eef4b..db73ee714f237fdf5ffb5c562bd6c1c12e5c18a8 100644 (file)
@@ -10,9 +10,12 @@ ledge_w = 4;
 tape_th = 1.5;
 tape_inside = 2.0;
 
+gap = 0.5 * [1,1];
+
 // calculated
 
 ledge_h = case_th;
+lid_th = case_th;
 
 spp0 = [0,0];
 spp1 = spp0 + case_th * [-1,0];
@@ -28,11 +31,37 @@ spp2y = spp3y + tape_th;        spp6y = spp5y - tape_th;
 spp20 = spp8 + nook_cnr_rad * [1,0];
 spp20x = spp20[0];
 
+tppA = spp0 + gap;
+tppB = spp1 + [0, gap[1]];
+tppC = tppB + lid_th * [0,1];
+tppD = [ spp20x, tppC[1] ];
+tppE = [ spp20x, tppB[1] ];
+tppF = tppA + ledge_w * [1,0];
+tppG = tppF + ledge_h * [0,-1];
+tppH = [ tppA[0], tppG[1] ];
+
+tppJx = tppA[0] + tape_th;
+
 module SideMainProfile() {
   rectfromto(spp7, spp0);
   rectfromto(spp7, spp20);
 }
 
+module TopTapeCutout() {
+  polygon([ tppA,
+           tppA + [-1,-1],
+           tppH + [-1,-1],
+           [ tppJx, tppH[1]-1 ],
+           [ tppJx, tppC[1]+1 ],
+           [ tppA[0], tppC[1]+1 ]]);
+}
+
+module TopMainProfile() {
+  l = [ tppA, tppB, tppC, tppD, tppE, tppF, tppG, tppH ];
+  echo(l);
+  polygon(l);
+}
+
 module SideTapeCutout1(y0,y1) {
   rectfromto([ spp7[0]-1, y0 ],
             [ spp8[0]+1, y1 ]);
@@ -46,11 +75,16 @@ module SideTapeCutout() {
 }
 
 module Demo(){
-  translate([0,0,-2]) color("red") SideMainProfile();
+  translate([0,0,-2]) color("red") SideMainProfile(); 
+  translate([0,0,-2]) color("purple") TopMainProfile();
   difference(){
     SideMainProfile();
     SideTapeCutout();
   }
+  translate([0,0,0]) color("yellow") difference(){
+    TopMainProfile();
+    TopTapeCutout();
+  }
   //%SideTapeCutout();
 }