chiark / gitweb /
10254 our tower-base wip
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 23 Aug 2012 13:28:35 +0000 (14:28 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 23 Aug 2012 13:28:35 +0000 (14:28 +0100)
th-10254/tower-base.scad

index 0d8406c9dcf98a9efecc7e16ef1f284f7fa7d8c1..ef751ef749093c4b41ca069bc9f426a07c76ce9a 100644 (file)
@@ -1,17 +1,34 @@
 
 motorwidth=35.2;
 motorheight=36.5;
+totalheight=65;
 
 pillarthick=8;
 sidethick=3;
+archthick=6;
+archoutwards=(pillarthick-archthick)/sqrt(8);
 
 mw2=motorwidth/2;
 
+include <Libs.scad> //  Libs.scad is @ http://www.thingiverse.com/thing:6021
+
 module corner() {
        $fn=30;
+       slopeheight= totalheight - motorheight;
+       slope = (mw2 + archoutwards)/slopeheight;
        translate([-mw2,-mw2,0]) union(){
-               cylinder(r=pillarthick/2, h=motorheight);
-               translate([0,0,motorheight]) sphere(r=pillarthick/2);
+               difference(){ union(){
+                       cylinder(r=pillarthick/2, h=motorheight);
+                       translate([0,0,motorheight]) sphere(r=pillarthick/2);
+               }
+                       translate([0,0,-1])
+                               cube([mw2,mw2,motorheight+pillarthick+2]);
+               }
+               multmatrix([    [       1,      0,      slope,  -archoutwards ],
+                               [       0,      1,      slope,  -archoutwards ],
+                               [       0,      0,      1, motorheight  ],
+                               [       0,      0,      0,      1       ]])
+                       cylinder(r=archthick/2, h=slopeheight);
        }
 }
 
@@ -58,9 +75,12 @@ module towerbase() {
                                rotate([0,0,angle]) mirror([1,0,0]) halfside();
                        }
                }
-               translate([-mw2,-mw2,-1])
-                       cube([motorwidth,motorwidth,motorheight]);
+               //translate([-mw2,-mw2,-1])
+               //      cube([motorwidth,motorwidth,motorheight]);
        }
+       translate([0,0,totalheight])
+               rotate([0,-90,0])
+               dovetail(height=10.1, male=true);
 }
 
 towerbase();