25 spp1 = spp0 + case_th * [-1,0];
26 spp9 = spp0 + ledge_h * [0,-1];
27 spp8 = spp9 + nook_th * [0,-1];
28 spp7 = spp8 + case_th * [-1,-1];
30 spp11y = spp1[1] - tape_th;
31 spp4y = 0.5 * (spp0[1] + spp7[1]);
32 spp3y = spp4y + tape_inside/2; spp5y = spp4y - tape_inside/2;
33 spp2y = spp3y + tape_th; spp6y = spp5y - tape_th;
35 spp20 = spp8 + nook_cnr_rad * [1,0];
39 tppB = spp1 + [0, gap[1]];
40 tppC = tppB + lid_th * [0,1];
41 tppD = [ spp20x, tppC[1] ];
42 tppE = [ spp20x, tppB[1] ];
43 tppF = tppA + ledge_w * [1,0];
44 tppG = tppF + ledge_h * [0,-1];
45 tppH = [ tppA[0], tppG[1] ];
47 tppJx = tppA[0] + tape_th;
49 module SideMainProfile() {
50 rectfromto(spp7, spp0);
51 rectfromto(spp7, spp20);
54 module TopTapeCutout() {
60 [ tppA[0], tppC[1]+1 ]]);
63 module TopMainProfile() {
64 l = [ tppA, tppB, tppC, tppD, tppE, tppF, tppG, tppH ];
69 module SideTapeCutout1(y0,y1) {
70 rectfromto([ spp7[0]-1, y0 ],
74 module SideTapeCutout() {
75 SideTapeCutout1(spp6y, spp5y);
76 SideTapeCutout1(spp3y, spp2y);
77 SideTapeCutout1(spp3y, spp2y);
78 SideTapeCutout1(spp11y, spp1[1] + 1);
81 module Demo(){ ////toplevel
82 translate([0,0,-2]) SideMainProfile();
83 translate([0,0,-2]) color("yellow") TopMainProfile();
84 color("red") difference(){
88 translate([0,0,0]) color("purple") difference(){
97 linextr_y_xz(-test_pillar, tape_w+test_pillar) children(0);
98 linextr_y_xz( 0, tape_w ) children(1);
102 module TestSide(){ ////toplevel
103 TestExtrude() { SideMainProfile(); SideTapeCutout(); }
106 module TestTop(){ ////toplevel
107 TestExtrude() { TopMainProfile(); TopTapeCutout(); }
109 module TestTopPrint(){ ////toplevel
110 rotate([180,0,0]) TestTop();