X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=nook-case.scad;h=62f954c555898a58f7b29f2c74d3215c605f787c;hb=e39d790116ffb7a984c219927cf33c7258d98627;hp=87343e8edac6ac6474b01f78637aa796b8bb653d;hpb=765e9420edc7b55675986b2c5ffc9a885f9acc57;p=reprap-play.git diff --git a/nook-case.scad b/nook-case.scad index 87343e8..62f954c 100644 --- a/nook-case.scad +++ b/nook-case.scad @@ -6,6 +6,10 @@ nook_th = 12.41 + 0.50 - 1.50; nook_w = 127.12 + 0.75 - .95; nook_h = 123.44 + 21.88 + 21.05 + 0.75 - 1.90; +edge_ledge_w = 9.60; +edge_ledge_h = 2.44; +edge_ledge_inc_ang = 10; // degrees + usb_w = 14.5; usb_below = 1.5; @@ -92,14 +96,35 @@ tppQ = tppP + tooth_height * [0,-1] + tooth_inward * [1,0]; tppR = [ tppS[0] + tooth_inward, tppQ[1] ]; tppM = (tppQ + tppR) * 0.5 + tooth_th * 0.5 * [0,1]; +edge_ledge_rad = edge_ledge_h; + module RightSideMainProfile() { rectfromto(spp7, spp0); rectfromto(spp7, spp20); + EdgeLedgeProfile(); } module LeftSideMainProfile() { rectfromto(spp7, spp30); rectfromto(spp7, spp20); + EdgeLedgeProfile(); +} + +module EdgeLedgeProfile() { + intersection(){ + hull(){ + for (t=[[0,0], [-20,0], [0,-10]]) { + translate(spp8 + + [edge_ledge_w, edge_ledge_h] + + edge_ledge_rad * [ -sin(edge_ledge_inc_ang), + -cos(edge_ledge_inc_ang) ] + + t) + circle(edge_ledge_rad); + } + } + translate(spp7) + square(30); + } } module TopTapeCutout() { @@ -156,6 +181,12 @@ module Demo(){ ////toplevel LeftSideMainProfile(); SideTapeCutout(); } + translate([0,0,-4]) color("brown") EdgeLedgeProfile(); + translate(concat(spp8 + [edge_ledge_w, edge_ledge_h], [2])) + rotate(-edge_ledge_inc_ang) { + color("blue") square(3); + color("lightblue") mirror([1,0]) square(3); + } } translate([0,0,0]) color("purple") difference(){ LeftTopMainProfile(); @@ -174,9 +205,13 @@ module FaceCore(z0,z1, extra_left, extra_right){ for (mx=[0,1]) mirror([mx,0,0]) { for (my=[0,1]) mirror([0,my,0]) { translate(-nom_cnr) { - rotate_extrude(angle=90, convexity=10) - translate(-[1,0,0] * nook_cnr_rad) - children(mx); + rotate_extrude(angle=90, convexity=10) { + intersection(){ + translate(-[1,0,0] * nook_cnr_rad) + children(mx); + rectfromto([-100,-100], [0,100]); + } + } } } translate([nook_w/2, 0,0]) @@ -215,10 +250,12 @@ module Base(){ ////toplevel mirror([0,1,0]) linextr_x_yz(-usb_w/2, usb_w/2) rectfromto(spp8 + [-40, usb_below], [40, 40]); +/* translate([nook_w/2, 0, 0]) linextr_y_xz(oprb, opra) translate(spp0) rectfromto([-40, -open_recess_h], [40, 1]); +*/ } }