chiark / gitweb /
10254 our tower-base wip
[dl-things.git] / th-10254 / tower-base.scad
index ef751ef749093c4b41ca069bc9f426a07c76ce9a..7063b87f324f80e83dacac901fec1f1b45549eb9 100644 (file)
@@ -3,9 +3,13 @@ motorwidth=35.2;
 motorheight=36.5;
 totalheight=65;
 
-pillarthick=8;
+pillarthick=9;
 sidethick=3;
-archthick=6;
+archthick=8;
+frameextra=3.5;
+framesplay=1;
+botleftgap=4.5;
+botleftstand=0.75;
 archoutwards=(pillarthick-archthick)/sqrt(8);
 
 mw2=motorwidth/2;
@@ -14,21 +18,34 @@ include <Libs.scad> //  Libs.scad is @ http://www.thingiverse.com/thing:6021
 
 module corner() {
        $fn=30;
-       slopeheight= totalheight - motorheight;
-       slope = (mw2 + archoutwards)/slopeheight;
+       frameheight= motorheight + frameextra;
+       slopeheight= totalheight - frameheight;
+       slope = (mw2 + archoutwards - framesplay)/slopeheight;
+       echo(sqrt(2)*slope);
+
        translate([-mw2,-mw2,0]) union(){
                difference(){ union(){
-                       cylinder(r=pillarthick/2, h=motorheight);
-                       translate([0,0,motorheight]) sphere(r=pillarthick/2);
+                       cylinder(r=pillarthick/2, h=frameheight);
+                       translate([0,0,frameheight]) sphere(r=pillarthick/2);
                }
                        translate([0,0,-1])
-                               cube([mw2,mw2,motorheight+pillarthick+2]);
+                               cube([mw2,mw2,frameheight+pillarthick+2]);
                }
-               multmatrix([    [       1,      0,      slope,  -archoutwards ],
+               intersection(){
+                       multmatrix
+                          ([   [       1,      0,      slope,  -archoutwards ],
                                [       0,      1,      slope,  -archoutwards ],
-                               [       0,      0,      1, motorheight  ],
+                               [       0,      0,      1, frameheight  ],
                                [       0,      0,      0,      1       ]])
-                       cylinder(r=archthick/2, h=slopeheight);
+                               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]);
+                       }
+               }
        }
 }
 
@@ -75,8 +92,11 @@ 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])