+module Leg(){ ////toplevel
+ difference(){
+ union(){
+ hull(){
+ mirror([0,0,1])
+ cylinder(r= leg_big_dia/2, h=leg_top_flat_z, $fn=100);
+ translate([0,0, -leg_top_thick])
+ cylinder(r= leg_bot_dia/2, height=1, $fn=100);
+ }
+ if (!TEST)
+ translate([0,0,-leg_height])
+ cylinder(r= leg_bot_mid_dia/2, h=leg_bot_thick);
+ for (rot=[0: 360/leg_n_fins : 359]) 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= (!TEST ? leg_height+2 : leg_height/2),
+ $fn=30);
+ mirror([0,0,1]) translate([0,0,leg_top_thick - 0.1])
+ hull(){
+ cylinder(r= (!TEST ? leg_midspc_dia/2 : 0.1),
+ h= leg_height - leg_top_thick - leg_bot_thick + 0.2,
+ $fn=30);
+ if (TEST)
+ cylinder(r= leg_midspc_dia/2,
+ h= leg_height - leg_top_thick - leg_bot_thick
+ + (!TEST ? 0.2 : -leg_midspc_dia/2),
+ $fn=30);
+ }
+ if (!TEST)
+ for (rot=[45: 360/leg_n_tubules : 359]) rotate(rot) {
+ mirror([0,0,1]) translate([ leg_tubule_pos_rad, 0, -1])
+ cylinder(r= leg_tubule_dia/2, h=leg_height+2, $fn=20);
+ }
+ }
+}
+