5 nook_th = 12.41 + 0.50;
6 nook_w = 127.12 + 0.75;
7 nook_h = 123.44 + 21.88 + 21.05 + 0.75;
28 spp1 = spp0 + case_th * [-1,0];
29 spp9 = spp0 + ledge_h * [0,-1];
30 spp8 = spp9 + nook_th * [0,-1];
31 spp7 = spp8 + case_th * [-1,-1];
33 spp11y = spp1[1] - tape_th;
34 spp4y = 0.5 * (spp0[1] + spp7[1]);
35 spp3y = spp4y + tape_inside/2; spp5y = spp4y - tape_inside/2;
36 spp2y = spp3y + tape_th; spp6y = spp5y - tape_th;
38 spp20 = spp8 + nook_cnr_rad * [1,0];
42 tppB = spp1 + [0, gap[1]];
43 tppC = tppB + lid_th * [0,1];
44 tppD = [ spp20x, tppC[1] ];
45 tppE = [ spp20x, tppB[1] ];
46 tppF = tppA + ledge_w * [1,0];
47 tppG = tppF + ledge_h * [0,-1];
48 tppH = [ tppA[0], tppG[1] ];
50 tppJx = tppA[0] + tape_th;
52 module SideMainProfile() {
53 rectfromto(spp7, spp0);
54 rectfromto(spp7, spp20);
57 module TopTapeCutout() {
63 [ tppA[0], tppC[1]+1 ]]);
66 module TopMainProfile() {
67 l = [ tppA, tppB, tppC, tppD, tppE, tppF, tppG, tppH ];
72 module SideTapeCutout1(y0,y1) {
73 rectfromto([ spp7[0]-1, y0 ],
77 module SideTapeCutout() {
78 SideTapeCutout1(spp6y, spp5y);
79 SideTapeCutout1(spp3y, spp2y);
80 SideTapeCutout1(spp3y, spp2y);
81 SideTapeCutout1(spp11y, spp1[1] + 1);
84 module Demo(){ ////toplevel
85 translate([0,0,-2]) SideMainProfile();
86 translate([0,0,-2]) color("yellow") TopMainProfile();
87 color("red") difference(){
91 translate([0,0,0]) color("purple") difference(){
98 module FaceCore(y0,y1){
99 nom_cnr = 0.5 * [nook_w, nook_h, 0] - nook_cnr_rad * [1,1,0];
101 for (mx=[0,1]) mirror([mx,0,0]) {
102 for (my=[0,1]) mirror([0,my,0]) {
103 translate(-nom_cnr) {
104 rotate_extrude(angle=90, convexity=10)
105 translate(-[1,0,0] * nook_cnr_rad)
109 translate([nook_w/2, 0,0])
110 linextr_y_xz(-nom_cnr[1]-0.1, nom_cnr[1]+0.1)
113 for (my=[0,1]) mirror([0,my,0]) {
114 translate([0, -nook_h/2, 0])
115 linextr_x_yz(-nom_cnr[0]-0.1, nom_cnr[0]+0.1)
120 module Base(){ ////toplevel
125 module Top(){ ////toplevel
130 module TestExtrude(){
132 linextr_y_xz(-test_pillar, tape_w+test_pillar) children(0);
133 linextr_y_xz( 0, tape_w ) children(1);
137 module TestSide(){ ////toplevel
138 TestExtrude() { SideMainProfile(); SideTapeCutout(); }
141 module TestTop(){ ////toplevel
142 TestExtrude() { TopMainProfile(); TopTapeCutout(); }
144 module TestTopPrint(){ ////toplevel
145 rotate([180,0,0]) TestTop();