X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ijackson/git?a=blobdiff_plain;f=th-10254%2Ftower-base.scad;h=a96143c39e7899485e4f94463aeab7880aa69b24;hb=c2a6af02b54ad03e56968837cd073421eeac32c6;hp=d3676bf343aec7ffe74028bc49cb699817b9f670;hpb=395689218a28a8585f35abbb116e7e897e3c2918;p=dl-things.git diff --git a/th-10254/tower-base.scad b/th-10254/tower-base.scad index d3676bf..a96143c 100644 --- a/th-10254/tower-base.scad +++ b/th-10254/tower-base.scad @@ -3,13 +3,20 @@ motorwidth=35.2; motorheight=36.5; totalheight=65; -pillarthick=9; -sidethick=3; -archthick=8; +pillarthick=8; +sidethick=2.5; +archthick=6.5; frameextra=3.5; framesplay=1; +botleftgap=4.5; +botleftstand=0.75; archoutwards=(pillarthick-archthick)/sqrt(8); +dovebasecutcylz=4; +dovebasecutcylr=10; + +d=0.01; + mw2=motorwidth/2; include // Libs.scad is @ http://www.thingiverse.com/thing:6021 @@ -22,12 +29,14 @@ module corner() { echo(sqrt(2)*slope); translate([-mw2,-mw2,0]) union(){ - difference(){ union(){ - cylinder(r=pillarthick/2, h=frameheight); - translate([0,0,frameheight]) sphere(r=pillarthick/2); - } - translate([0,0,-1]) - cube([mw2,mw2,frameheight+pillarthick+2]); + difference(){ + union(){ + cylinder(r=pillarthick/2, h=frameheight); + translate([0,0,frameheight]) + sphere(r=pillarthick/2); + } + translate([d,d,-1]) + cube([mw2-1,mw2-1,frameheight+pillarthick+2]); } intersection(){ multmatrix @@ -65,7 +74,8 @@ module halfside() { spacesz * sqrt(2)]); } intersection(){ - for (xz=[[-mw2+pillarthick/3, 0, panelbasez], + for (xz=[[-mw2+pillarthick/3-sidethick, 0, + panelbasez+sidethick], [0, 0, panelbasez + sidethick/sqrt(2)]]) { translate(xz) translate([0,-sidethick,0]) @@ -90,12 +100,22 @@ module towerbase() { rotate([0,0,angle]) mirror([1,0,0]) halfside(); } } - //translate([-mw2,-mw2,-1]) - // cube([motorwidth,motorwidth,motorheight]); + multmatrix([[ -1, 0, 0, -mw2 - botleftstand ], + [ 0, 1, 0, -100 ], + [ 1, 0, 1, -100 + botleftgap ], + [ 0, 0, 0, 1 ] ]) + cube([100,200,100]); } translate([0,0,totalheight]) rotate([0,-90,0]) - dovetail(height=10.1, male=true); + intersection(){ + dovetail(height=10.1, male=true); + translate([dovebasecutcylz,0,-100]) + cylinder(r=dovebasecutcylr,h=200); + }; } -towerbase(); +//intersection(){ + towerbase(); +// translate([-100,-100,0]) cube([200,200,32]); +//}