chiark / gitweb /
tower-base move some params to global
[reprap-play.git] / tower-base.scad
index 378c84e..1404365 100644 (file)
@@ -1,19 +1,25 @@
 /* -*- 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;
+framesplayx=5;
 framesplayy=5;
 botleftgap=4.5;
 botleftstand=0.75;
 archoutwards=(pillarthick-archthick)/sqrt(8);
 
+topgluecubex=18;
+topgluecubez=5;
+clippairy=16;
+clippairdz=-2.5;
+topgluecubedy=1;
+
 dovebasecutcylz=4;
 dovebasecutcylr=10;
 
@@ -29,7 +35,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 +88,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]);
       }
@@ -103,15 +109,20 @@ 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+DoveClip_depth()]) rotate([0,-90,0])
+//      DoveClipPair(h=clippairy);
+      DoveClipPairSane(h=clippairy, count=3);
   }
 }