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]);
44 linear_extrude(height=endwallt)
47 [basey/2 + bevely, bevelz],
48 [basey/2 + bevely, innerz],
52 translate([basex/2, 0, -1])
53 cylinder(r=holedia/2, h=bevelz+2);
58 lidx = basex + endslop + endwallt;
59 for (mir=[0,1]) mirror([0,mir,0]) {
60 translate([0, basey/2 + sideslop, 0])
61 sheared_cube([lidx, sidewallt, bevelz], 0, bevelslope);
62 translate([0, basey/2 + sideslop + bevely, -tapethick])
63 cube([lidx, sidewallt, innerz + tapethick + lidt + zslop]);
64 translate([0, -1, innerz + zslop])
65 cube([lidx, 1 + basey/2 + sideslop + bevely + sidewallt, lidt]);
66 translate([basex + endslop, -1, -tapethick])
67 cube([endwallt, 1 + basey/2 + sideslop + bevely + sidewallt,
68 tapethick + innerz + zslop + 0.1]);