15 diaglinewidth = linewidth * sqrt(1 + kdiag*kdiag);
20 module kay_leg (transamount, llen, mir) {
21 translate([0,transamount,0])
24 multmatrix([[1,kdiag,0,0],
28 cube([diaglinewidth, llen + 0.1, letterthick]);
33 cube([linewidth, letterheight, letterthick]);
34 kay_leg(letterheight*kprop, letterheight*(1-kprop), 0);
35 kay_leg(letterheight*kprop, letterheight*kprop, 1);
38 totalw = letterheight*kprop + diaglinewidth + xborder*2;
39 totalh = letterheight + yborder*2;
40 basez = -(basethick-0.1);
44 translate([-xborder, -yborder, basez])
45 cube([totalw, totalh, basethick]);
48 module ring (rad, extra) {
49 translate([totalw/2 - xborder, totalh - yborder, basez-extra])
50 cylinder(r=rad, h=basethick + extra*2, $fn=30);
56 ring(ringholerad + ringedgewidth/2, 0);