From fb5150ed42c91f30f4c4d797dd60da92f53fbe70 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 2 Sep 2020 21:10:47 +0100 Subject: [PATCH] nook-case: wip, different L and R sides Main case parts remain unfixed and are now broken Signed-off-by: Ian Jackson --- nook-case.scad | 51 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 38 insertions(+), 13 deletions(-) diff --git a/nook-case.scad b/nook-case.scad index e814e91..fe55097 100644 --- a/nook-case.scad +++ b/nook-case.scad @@ -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(); -- 2.30.2