11 basex = holedia + sidewidth*2;
12 basey = holedia + tapewidth*2;
16 bevely = bevelz * bevelslope;
28 module sheared_cube(sz, xperz, yperz) {
29 multmatrix([[1,0,xperz,0],
39 for (mir=[0,1]) mirror([0,mir,0]) {
40 translate([0, basey/2 - sidewallt, 0])
41 sheared_cube([basex, sidewallt, bevelz], 0, bevelslope);
42 cube([basex, basey/2, basebaset]);
45 translate([basex/2, 0, -1])
46 cylinder(r=holedia/2, h=bevelz+2);
49 for (mir=[0,1]) mirror([0,mir,0]) {
51 linear_extrude(height=endwallt)
54 [basey/2 + bevely, bevelz],
55 [basey/2 + bevely, innerz],
62 lidx = basex + endslop + endwallt;
63 for (mir=[0,1]) mirror([0,mir,0]) {
64 translate([0, basey/2 + sideslop, 0])
65 sheared_cube([lidx, sidewallt, bevelz], 0, bevelslope);
66 translate([0, basey/2 + sideslop + bevely, -tapethick])
67 cube([lidx, sidewallt, innerz + tapethick + lidt + zslop]);
68 translate([0, -1, innerz + zslop])
69 cube([lidx, 1 + basey/2 + sideslop + bevely + sidewallt, lidt]);
70 translate([basex + endslop, -1, -tapethick])
71 cube([endwallt, 1 + basey/2 + sideslop + bevely + sidewallt,
72 tapethick + innerz + zslop + 0.1]);