chiark / gitweb /
sewing-table: InterlockEdgePlan: edge nearly there
[reprap-play.git] / keyring-kay.scad
index f5b4e771849777e8c685f695af731f064f2e66fd..9ebb34ad7faa16df290b1ef44b88cb1f3f95b794 100644 (file)
@@ -14,6 +14,9 @@ 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])
@@ -32,8 +35,25 @@ module kay () {
   kay_leg(letterheight*kprop, letterheight*kprop, 1);
 }
 
-kay();
-translate([-xborder, -yborder, -(basethick-0.1)])
-  cube([letterheight*kprop + diaglinewidth + xborder*2,
-       letterheight + yborder*2,
-       basethick]);
+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);
+}