X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=tower-base.scad;h=0e097e95c81d9711687ffb88389a64879ccb8e6a;hp=378c84e80039f65c32e671fb2b010ad2c8370a9d;hb=786d945b418b1fb369f8457732149569ff5ee866;hpb=d55c83649d0bd6ca0b2ed42fa7a5e66d139ba1db diff --git a/tower-base.scad b/tower-base.scad index 378c84e..0e097e9 100644 --- a/tower-base.scad +++ b/tower-base.scad @@ -1,19 +1,25 @@ /* -*- C -*- */ -motorwidth=35.2; -motorheight=36.5; -totalheight=65; +motorwidth=35.7; +motorheight=34.5; +totalheight=58; pillarthick=8; sidethick=2.5; archthick=6.5; frameextra=3.5; -framesplayx=1; +framesplayx=5; framesplayy=5; botleftgap=4.5; botleftstand=0.75; archoutwards=(pillarthick-archthick)/sqrt(8); +topgluecubex=18; +topgluecubez=5; +clippairy=16; +clippairdz=-2.5; +topgluecubedy=1; + dovebasecutcylz=4; dovebasecutcylr=10; @@ -29,7 +35,7 @@ module corner() { slopeheight= totalheight - frameheight; slopex = (mw2 + archoutwards - framesplayx)/slopeheight; slopey = (mw2 + archoutwards - framesplayy)/slopeheight; - //echo(sqrt(2)*slope); + echo(sqrt(slopex*slopex + slopey*slopey)); translate([-mw2,-mw2,0]) union(){ difference(){ @@ -82,7 +88,7 @@ module halfside() { [0, 0, panelbasez + sidethick/sqrt(2)]]) { translate(xz) translate([0,-sidethick,0]) - rotate([0,45,0]) + rotate([0,55,0]) translate([0,0,-sidethick]) cube([100, sidethick, sidethick]); } @@ -103,19 +109,44 @@ module towerbase() { rotate([0,0,angle]) mirror([1,0,0]) halfside(); } } - multmatrix([[ -1, 0, 0, -mw2 - botleftstand ], - [ 0, 1, 0, -100 ], - [ 1, 0, 1, -100 + botleftgap ], - [ 0, 0, 0, 1 ] ]) - cube([100,200,100]); +// 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,-5.0,totalheight]) { - rotate([-90,0,0]) - DoveClipPair(h=10.1); + translate([clippairy/2,0,totalheight]) { + difference(){ + translate([-clippairy+topgluecubedy/2,-topgluecubex/2,0]) + cube([clippairy-topgluecubedy,topgluecubex,topgluecubez]); + } + translate([0,0,topgluecubez+clippairdz+DoveClip_depth()]) rotate([0,-90,0]) +// DoveClipPair(h=clippairy); + DoveClipPairSane(h=clippairy, count=3); } } -//intersection(){ -towerbase(); -// translate([-100,-100,0]) cube([200,200,32]); -//} +if (towerbase_demo) { + intersection(){ + translate([0,0,-50]) towerbase(); + translate([-100,-100,0]) cube([200,200,32]); + } + + intersection(){ + translate([40,0,-60]) towerbase(); + translate([-100,-100,0]) cube([200,200,32]); + } + + translate([60,-90,0]) { + DoveClipPairSane(h=clippairy, count=3); + mirror([1,0,0]) translate([DoveClip_depth()-0.1,0,0]) cube([20,8,6]); + } + + for (x=[0,20,40]) { + translate([x,-50,0]) DoveClipPin(h=clippairy); + translate([x+10,-50,0]) DoveClipPin(h=clippairy/2); + translate([x+10,-30,0]) DoveClipPin(h=clippairy/2); + } +} else { + towerbase(); +}