linewidth = 3.5;
letterthick = 2.5;
+basethick = 2.5;
+
+xborder = 5;
+yborder = 5;
+
kdiag = 1;
kprop = 0.50;
+diaglinewidth = linewidth * sqrt(1 + kdiag*kdiag);
+
+ringholerad = 2.5;
+ringedgewidth = 3;
+
module kay_leg (transamount, llen, mir) {
translate([0,transamount,0])
mirror([0,mir,0])
[0,1,0,0],
[0,0,1,0],
[0,0,0,1]])
- cube([linewidth * sqrt(1 + kdiag*kdiag),
- llen + 0.1, letterthick]);
+ cube([diaglinewidth, llen + 0.1, letterthick]);
}
module kay () {
kay_leg(letterheight*kprop, letterheight*kprop, 1);
}
-kay();
+totalw = letterheight*kprop + diaglinewidth + xborder*2;
+totalh = letterheight + yborder*2;
+basez = -(basethick-0.1);
+
+module main () {
+ kay();
+ translate([-xborder, -yborder, basez])
+ cube([totalw, totalh, basethick]);
+}
+
+module ring (rad, extra) {
+ translate([totalw/2 - xborder, totalh - yborder, basez-extra])
+ cylinder(r=rad, h=basethick + extra*2, $fn=30);
+}
+
+difference(){
+ union() {
+ main();
+ ring(ringholerad + ringedgewidth/2, 0);
+ }
+ ring(ringholerad, 1);
+}