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

index 6199cdeb7cd1cbdf3cceae7ec88a56e19e106142..bc86efce15d114914b3d2eae418613df78e69382 100644 (file)
@@ -3,6 +3,7 @@ motorwidth=35.2;
 motorheight=36.5;
 
 pillarthick=8;
+sidethick=3;
 
 mw2=motorwidth/2;
 
@@ -14,11 +15,53 @@ module corner() {
        }
 }
 
+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(){
+                       union(){
+                               translate([-mw2+pillarthick/3,
+                                          -sidethick, panelbasez])
+                                       rotate([0,45,0])
+                                       translate([0,0,-sidethick])
+                                       cube([100, sidethick, sidethick]);
+                               translate([0,
+                                          -sidethick,
+                                          panelbasez + sidethick/sqrt(2)])
+                                       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 (angle=[0,90,180,270])
                                rotate([0,0,angle]) corner();
+                       for (angle=[0,90,180]) {
+                               rotate([0,0,angle]) halfside();
+                               rotate([0,0,angle]) mirror([1,0,0]) halfside();
+                       }
                }
                translate([-mw2,-mw2,-1])
                        cube([motorwidth,motorwidth,motorheight]);