From d55c83649d0bd6ca0b2ed42fa7a5e66d139ba1db Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 15 Sep 2012 19:00:32 +0100 Subject: [PATCH] tower-base reindent --- tower-base.scad | 167 ++++++++++++++++++++++++------------------------ 1 file changed, 84 insertions(+), 83 deletions(-) diff --git a/tower-base.scad b/tower-base.scad index 8c35367..378c84e 100644 --- a/tower-base.scad +++ b/tower-base.scad @@ -1,3 +1,4 @@ +/* -*- C -*- */ motorwidth=35.2; motorheight=36.5; @@ -23,98 +24,98 @@ mw2=motorwidth/2; include module corner() { - $fn=30; - frameheight= motorheight + frameextra; - slopeheight= totalheight - frameheight; - slopex = (mw2 + archoutwards - framesplayx)/slopeheight; - slopey = (mw2 + archoutwards - framesplayy)/slopeheight; - //echo(sqrt(2)*slope); + $fn=30; + frameheight= motorheight + frameextra; + slopeheight= totalheight - frameheight; + slopex = (mw2 + archoutwards - framesplayx)/slopeheight; + slopey = (mw2 + archoutwards - framesplayy)/slopeheight; + //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([d,d,-1]) - cube([mw2-1,mw2-1,frameheight+pillarthick+2]); - } - intersection(){ - multmatrix - ([ [ 1, 0, slopey, -archoutwards ], - [ 0, 1, slopex, -archoutwards ], - [ 0, 0, 1, frameheight ], - [ 0, 0, 0, 1 ]]) - translate([0,0,-frameextra]) - cylinder(r=archthick/2, - h=slopeheight+frameextra); - union() { - cylinder(r=pillarthick/2, h=frameheight); - translate([-100,-100,frameheight]) - cube([200,200,100]); - } - } - } + translate([-mw2,-mw2,0]) union(){ + 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 + ([ [ 1, 0, slopey, -archoutwards ], + [ 0, 1, slopex, -archoutwards ], + [ 0, 0, 1, frameheight ], + [ 0, 0, 0, 1 ]]) + translate([0,0,-frameextra]) + cylinder(r=archthick/2, + h=slopeheight+frameextra); + union() { + cylinder(r=pillarthick/2, h=frameheight); + translate([-100,-100,frameheight]) + cube([200,200,100]); + } + } + } } module halfside() { - spacesz = (motorwidth - pillarthick/2*2) / 4; - panelheight = spacesz + sidethick; - panelbasez = motorheight+pillarthick/4-panelheight; - translate([0,-mw2,0]) { - translate([-mw2,-sidethick,0]) - cube([motorwidth,sidethick,sidethick]); - difference(){ - translate([-mw2,-sidethick, panelbasez]) - cube([mw2,sidethick,panelheight]); - translate([-mw2+pillarthick/3, -sidethick, panelbasez]) - rotate([0,45,0]) - translate([0,-1,0]) - cube([spacesz * sqrt(2), - sidethick+2, - spacesz * sqrt(2)]); - } - intersection(){ - for (xz=[[-mw2+pillarthick/3-sidethick, 0, - panelbasez+sidethick], - [0, 0, panelbasez + sidethick/sqrt(2)]]) { - translate(xz) - translate([0,-sidethick,0]) - rotate([0,45,0]) - translate([0,0,-sidethick]) - cube([100, sidethick, sidethick]); - } - translate([-mw2,-sidethick,0]) - cube([motorwidth,sidethick, - motorheight+pillarthick]); - } - } + spacesz = (motorwidth - pillarthick/2*2) / 4; + panelheight = spacesz + sidethick; + panelbasez = motorheight+pillarthick/4-panelheight; + translate([0,-mw2,0]) { + translate([-mw2,-sidethick,0]) + cube([motorwidth,sidethick,sidethick]); + difference(){ + translate([-mw2,-sidethick, panelbasez]) + cube([mw2,sidethick,panelheight]); + translate([-mw2+pillarthick/3, -sidethick, panelbasez]) + rotate([0,45,0]) + translate([0,-1,0]) + cube([spacesz * sqrt(2), + sidethick+2, + spacesz * sqrt(2)]); + } + intersection(){ + for (xz=[[-mw2+pillarthick/3-sidethick, 0, + panelbasez+sidethick], + [0, 0, panelbasez + sidethick/sqrt(2)]]) { + translate(xz) + translate([0,-sidethick,0]) + rotate([0,45,0]) + translate([0,0,-sidethick]) + cube([100, sidethick, sidethick]); + } + translate([-mw2,-sidethick,0]) + cube([motorwidth,sidethick, + motorheight+pillarthick]); + } + } } module towerbase() { - difference(){ - union(){ - for (mirx=[0,1]) for (miry=[0,1]) - mirror([mirx,0,0]) mirror([0,miry,0]) corner(); - for (angle=[0,90,180]) { - rotate([0,0,angle]) halfside(); - 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]); - } - translate([0,-5.0,totalheight]) { - rotate([-90,0,0]) - DoveClipPair(h=10.1); - } + difference(){ + union(){ + for (mirx=[0,1]) for (miry=[0,1]) + mirror([mirx,0,0]) mirror([0,miry,0]) corner(); + for (angle=[0,90,180]) { + rotate([0,0,angle]) halfside(); + 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]); + } + translate([0,-5.0,totalheight]) { + rotate([-90,0,0]) + DoveClipPair(h=10.1); + } } //intersection(){ - towerbase(); +towerbase(); // translate([-100,-100,0]) cube([200,200,32]); //} -- 2.30.2