chiark / gitweb /
doveclip introduce DoveClipPairSane
[reprap-play.git] / tower-base.scad
index 378c84e80039f65c32e671fb2b010ad2c8370a9d..c8ae268f029d049fe2c5d337fa967e316a65289a 100644 (file)
@@ -1,15 +1,15 @@
 /* -*- 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;
-framesplayy=5;
+framesplayx=5;
+framesplayy=1;
 botleftgap=4.5;
 botleftstand=0.75;
 archoutwards=(pillarthick-archthick)/sqrt(8);
@@ -29,7 +29,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 +82,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]);
       }
@@ -94,6 +94,12 @@ module halfside() {
 }
 
 module towerbase() {
+  topgluecubex=17;
+  topgluecubez=5;
+  clippairy=10;
+  clippairdz=-2.5;
+  topgluecubedy=1;
+
   difference(){
     union(){
       for (mirx=[0,1]) for (miry=[0,1])
@@ -103,15 +109,19 @@ 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]) rotate([-90,0,90])
+      DoveClipPair(h=clippairy);
   }
 }