X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=keyring-kay.scad;h=9ebb34ad7faa16df290b1ef44b88cb1f3f95b794;hp=0fb83abcb8379ae8cfb12cebde2cfeab65f43962;hb=5852f089c7768a4920a6de27fbc40c7d9fb3eb9e;hpb=412d9d9ab6bcd96c3525f15de98c54eede169d64 diff --git a/keyring-kay.scad b/keyring-kay.scad index 0fb83ab..9ebb34a 100644 --- a/keyring-kay.scad +++ b/keyring-kay.scad @@ -4,9 +4,19 @@ letterheight = 25; 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]) @@ -15,8 +25,7 @@ module kay_leg (transamount, llen, mir) { [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 () { @@ -26,4 +35,25 @@ 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); +}