chiark / gitweb /
filamentspool hub long arms does not fit
[reprap-play.git] / tower-base.scad
index 378c84e80039f65c32e671fb2b010ad2c8370a9d..fe06db24003cfb8c8c9fde2b043be2d4f5e080ee 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,19 +109,40 @@ 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);
   }
 }
 
-//intersection(){
-towerbase();
-//     translate([-100,-100,0]) cube([200,200,32]);
-//}
+intersection(){
+ translate([0,0,-50]) towerbase();
+ translate([-100,-100,0]) cube([200,200,32]);
+}
+
+intersection(){
+ translate([40,0,-60]) towerbase();
+ translate([-100,-100,0]) cube([200,200,32]);
+}
+
+translate([60,-90,0]) {
+  DoveClipPairSane(h=clippairy, count=3);
+  mirror([1,0,0]) translate([DoveClip_depth()-0.1,0,0]) cube([20,8,6]);
+}
+
+for (x=[0,20,40]) {
+  translate([x,-50,0]) DoveClipPin(h=clippairy);
+  translate([x+10,-50,0]) DoveClipPin(h=clippairy/2);
+  translate([x+10,-30,0]) DoveClipPin(h=clippairy/2);
+}