chiark / gitweb /
nook-case: wip, different L and R sides
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 2 Sep 2020 20:10:47 +0000 (21:10 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 2 Sep 2020 20:10:47 +0000 (21:10 +0100)
Main case parts remain unfixed and are now broken

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
nook-case.scad

index e814e912d72e2e21be5a9760f966ed206b38b4eb..fe55097be3fd1c644a1509999b5508e08c328bfa 100644 (file)
@@ -19,6 +19,8 @@ tape_w = 15;
 
 test_pillar = 4;
 
+$test = false;
+
 // calculated
 
 ledge_h = case_th;
@@ -49,26 +51,43 @@ tppH = [ tppA[0], tppG[1] ];
 
 tppJx = tppA[0] + tape_th;
 
-module SideMainProfile() {
+tppK = [ tppC[0], tppG[1] ];
+spp31 = tppK - [0, gap[1]];
+spp30 = [ spp8[0], spp31[1] ];
+
+nom_cnr = 0.5 * [nook_w, nook_h, 0] - nook_cnr_rad * [1,1,0];
+
+module RightSideMainProfile() {
   rectfromto(spp7, spp0);
   rectfromto(spp7, spp20);
 }
 
+module LeftSideMainProfile() {
+  rectfromto(spp7, spp30);
+  rectfromto(spp7, spp20);
+}
+
 module TopTapeCutout() {
   polygon([ tppA,
-           tppA + [-1,-1],
-           tppH + [-1,-1],
+           tppA + [-40, 0],
+           tppG + [-40,-1],
            [ tppJx, tppH[1]-1 ],
            [ tppJx, tppC[1]+1 ],
            [ tppA[0], tppC[1]+1 ]]);
 }
 
-module TopMainProfile() {
+module RightTopMainProfile() {
   l = [ tppA, tppB, tppC, tppD, tppE, tppF, tppG, tppH ];
   echo(l);
   polygon(l);
 }
 
+module LeftTopMainProfile() {
+  l = [ tppC, tppD, tppE, tppF, tppG, tppK ];
+  echo(l);
+  polygon(l);
+}
+
 module SideTapeCutout1(y0,y1) {
   rectfromto([ spp7[0]-1, y0 ],
             [ spp8[0]+1, y1 ]);
@@ -82,22 +101,24 @@ module SideTapeCutout() {
 }
 
 module Demo(){ ////toplevel
-  translate([0,0,-2]) SideMainProfile(); 
-  translate([0,0,-2]) color("yellow") TopMainProfile();
+  translate([0,0,-2]) LeftSideMainProfile(); 
+  translate([0,0,-2]) color("yellow") LeftTopMainProfile();
   color("red") difference(){
-    SideMainProfile();
+    LeftSideMainProfile();
     SideTapeCutout();
   }
   translate([0,0,0]) color("purple") difference(){
-    TopMainProfile();
+    LeftTopMainProfile();
     TopTapeCutout();
   }
+  translate([nook_cnr_rad*2 + 5, 0,0]) mirror([1,0,0]) {
+    color("red") RightSideMainProfile();
+    color("purple") RightTopMainProfile();
+  }
   //%SideTapeCutout();
 }
 
-module FaceCore(y0,y1){
-  nom_cnr = 0.5 * [nook_w, nook_h, 0] - nook_cnr_rad * [1,1,0];
-
+module FaceCore(z0,z1){
   for (mx=[0,1]) mirror([mx,0,0]) {
       for (my=[0,1]) mirror([0,my,0]) {
          translate(-nom_cnr) {
@@ -115,6 +136,10 @@ module FaceCore(y0,y1){
        linextr_x_yz(-nom_cnr[0]-0.1, nom_cnr[0]+0.1)
        children(0);
     }
+  if (!$test) {
+    linextr(z0,z1)
+      rectfromto(-nom_cnr, nom_cnr);
+  }
 }
 
 module Base(){ ////toplevel
@@ -135,11 +160,11 @@ module TestExtrude(){
 }
 
 module TestSide(){ ////toplevel
-  TestExtrude() { SideMainProfile(); SideTapeCutout(); }
+  TestExtrude() { LeftSideMainProfile(); SideTapeCutout(); }
 }
 
 module TestTop(){ ////toplevel
-  TestExtrude() { TopMainProfile(); TopTapeCutout(); }
+  TestExtrude() { LeftTopMainProfile(); TopTapeCutout(); }
 }
 module TestTopPrint(){ ////toplevel
   rotate([180,0,0]) TestTop();