chiark / gitweb /
sleepphone-cable-box: wip, keeper, etc.
[reprap-play.git] / sewing-table.scad.m4
index cd994635c377a4a4282f3789fe1df4b44436eb39..b71e04110cc327b69d281f314d33d066402a0221 100644 (file)
@@ -14,7 +14,7 @@ post_dia = 8;
 
 post_shorter = 1;
 
-$screw_dia = 3.168;
+$screw_dia = 3.2;
 screw_big_dia = 3.6;
 screw_big_len = 4.0;
 
@@ -51,6 +51,12 @@ leg_n_fins = 4;
 leg_n_tubules = 4;
 leg_tubule_dia = 4;
 
+// spacer
+
+spacer_ext_slop = 0.25;
+spacer_int_slop = 0.25;
+spacer_height = 10;
+
 // cutout
 
 machine_rear_to_front = 84 + 0.25 - 1.4;
@@ -495,14 +501,18 @@ module PostTestPiece(){ ////toplevel
     union(){
       TileBase(corners[0], corners[2]);
       RoundEdge(corners[0], corners[1]);
-      InterlockEdge(corners[3], corners[0], 0, nlobes=1);
       for (i= [ 0: nholes-1 ]) {
        $screw_dia = hole_sizes[ floor(i/2) ];
-       translate(stride * [ (i % nrows),
+       translate(stride * [ (nrows-1) - (i % nrows),
                             floor(i / nrows),
                             0
-                            ])
+                            ]) {
          Posts([[0,0]]);
+         color("blue")
+           mirror([0,0,1])
+           translate([post_dia/2, -post_dia/2, 1])
+           cube([1, post_dia * (i / nholes), tile_th]);
+       }
       }
     }
   }
@@ -698,6 +708,17 @@ module TestStrapPeg_Long(){ ////toplevel
   TestStrapPeg_any(60);
 }
 
+module PostSpacer(){ ////toplevel
+  $fn = 50;
+  difference(){
+    cylinder(r= ply_hole_dia_real/2 - spacer_ext_slop,
+            h= spacer_height);
+    translate([0,0,-1])
+      cylinder(r= post_dia/2 + spacer_int_slop,
+              h= ply_th + 2);
+  }
+}
+
 module Machine(){ ////toplevel
   Machine_NewArm();
   Machine_Curves();
@@ -759,6 +780,16 @@ module Leg(){ ////toplevel
                      + (!TEST ? 0.2 : -leg_midspc_dia/2),
                   $fn=30);
       }
+    cid_shear = (leg_fin_bot_w - leg_fin_top_w)/2 /
+                 (leg_height -leg_fin_bot_flat_z);
+    multmatrix([[ 1, 0, 0, leg_midspc_dia/2 ],
+                 [ 0, cid_shear,
+                         1, -leg_fin_bot_w/2 ],
+                 [ 0, 1, 0, -leg_height + leg_fin_bot_flat_z ],
+                 [ 0, 0, 0, 1 ]])
+      Commitid_BestCount([ leg_big_dia/2 - leg_midspc_dia/2,
+                            leg_height - leg_fin_bot_flat_z
+                             - leg_top_thick ]);
     if (!TEST)
       for (rot=[45: 360/leg_n_tubules : 359]) rotate(rot) {
          mirror([0,0,1]) translate([ leg_tubule_pos_rad, 0, -1])