chiark / gitweb /
sewing-table: Leg: nearly done
[reprap-play.git] / sewing-table.scad.m4
index 6362f4e6581c6ffd211408e65b5526129800eb68..399c9ed01c5195c2e80db6e6c9ea8650e8bf9c7d 100644 (file)
@@ -32,10 +32,16 @@ demo_slop = 0.1;
 
 leg_height = 50;
 
+leg_hole_dia = 5 + 0.75;
 leg_big_dia = 37;
 leg_bot_dia = 15;
 leg_top_flat_z = 5;
 
+leg_fin_top_w = 5;
+leg_fin_bot_w = 5;
+leg_fin_bot_rad = 30;
+leg_fin_bot_flat_z = 5;
+
 // cutout
 
 machine_rear_to_front = 84 + 0.25 - 1.4;
@@ -121,6 +127,9 @@ interlock_negative_rad = interlock_rad + 0.125;
 
 interlock_sq_adj = 0.2; // arbitrary
 
+leg_fin_top_rad = sqrt( pow(leg_big_dia/2,2) -
+                       pow(leg_fin_top_w/2,2) );
+
 m4_define(`POST_TCROSSSZ',
           `2*( tile_hard_edge_hole_dist - test_edge + 1 )')
 
@@ -682,7 +691,22 @@ module Leg(){ ////toplevel
        translate([0,0, -leg_height])
          cylinder(r= leg_bot_dia/2, height=1, $fn=100);
       }
+      for (rot=[0:90:270]) rotate(rot) {
+         hull(){
+           mirror([0,0,1]) translate([0, -leg_fin_top_w/2, 0])
+             cube([ leg_fin_top_rad - 0.1,
+                    leg_fin_top_w,
+                    1 ])
+             ;
+           translate([0, -leg_fin_bot_w/2, -leg_height])
+             cube([ leg_fin_bot_rad,
+                    leg_fin_bot_w,
+                    leg_fin_bot_flat_z ]);
+         }
+       }
     }
+    mirror([0,0,1]) translate([0,0,-1])
+      cylinder(r= leg_hole_dia/2, h=leg_height+2, $fn=30);
   }
 }