21 spp1 = spp0 + case_th * [-1,0];
22 spp9 = spp0 + ledge_h * [0,-1];
23 spp8 = spp9 + nook_th * [0,-1];
24 spp7 = spp8 + case_th * [-1,-1];
26 spp11y = spp1[1] - tape_th;
27 spp4y = 0.5 * (spp0[1] + spp7[1]);
28 spp3y = spp4y + tape_inside/2; spp5y = spp4y - tape_inside/2;
29 spp2y = spp3y + tape_th; spp6y = spp5y - tape_th;
31 spp20 = spp8 + nook_cnr_rad * [1,0];
35 tppB = spp1 + [0, gap[1]];
36 tppC = tppB + lid_th * [0,1];
37 tppD = [ spp20x, tppC[1] ];
38 tppE = [ spp20x, tppB[1] ];
39 tppF = tppA + ledge_w * [1,0];
40 tppG = tppF + ledge_h * [0,-1];
41 tppH = [ tppA[0], tppG[1] ];
43 tppJx = tppA[0] + tape_th;
45 module SideMainProfile() {
46 rectfromto(spp7, spp0);
47 rectfromto(spp7, spp20);
50 module TopTapeCutout() {
56 [ tppA[0], tppC[1]+1 ]]);
59 module TopMainProfile() {
60 l = [ tppA, tppB, tppC, tppD, tppE, tppF, tppG, tppH ];
65 module SideTapeCutout1(y0,y1) {
66 rectfromto([ spp7[0]-1, y0 ],
70 module SideTapeCutout() {
71 SideTapeCutout1(spp6y, spp5y);
72 SideTapeCutout1(spp3y, spp2y);
73 SideTapeCutout1(spp3y, spp2y);
74 SideTapeCutout1(spp11y, spp1[1] + 1);
78 translate([0,0,-2]) SideMainProfile();
79 translate([0,0,-2]) color("yellow") TopMainProfile();
80 color("red") difference(){
84 translate([0,0,0]) color("purple") difference(){