Index: work/openscad/smd_leg.fawk =================================================================== --- work/openscad/smd_leg.fawk (revision 38312) +++ work/openscad/smd_leg.fawk (revision 38313) @@ -11,13 +11,14 @@ function knee_arc(outer_dia, thickness, width, sweep) { return - intersection( + difference( + intersection( translate(0,-outer_dia,-width/3,cube(outer_dia, outer_dia, width*3)), - difference(cylinder(outer_dia,width), - translate(0,0,-width/2,cylinder(outer_dia-thickness*2,width*2))), - #translate(0,-outer_dia,-width/3,cube(outer_dia, outer_dia, width*3)), + cylinder(outer_dia,width), rotate(0,0,-sweep, translate(-outer_dia,-outer_dia*2,-width,cube(outer_dia*3,outer_dia*2,width*4))) - ); + ), + translate(0,0,-width/2,cylinder(outer_dia-thickness*2,width*2)) + ); } @@ -29,7 +30,7 @@ outer_dia = "0.8"; height = "1.0"; width = "0.4"; -bend_angle = "25.0"; +bend_angle = "15.0"; bend_start = "0.75"; leg1 = translate(0,0,0,cube(bend_start,thickness,width)); @@ -44,5 +45,5 @@ knee1 = translate(bend_start,outer_dia/2,0,knee_arc(outer_dia, thickness, width, bend_angle)); knee2 = translate(length_total-bend_start+bend_shift,height-outer_dia/2,0,rotate(0,0,180, knee_arc(outer_dia, thickness, width, bend_angle))); -commit(o_fn(30,rough_tin(union(leg1, knee1, leg2, knee2, leg3)))); +commit(color(1, 0, 0, o_fn(30,rough_tin(union(leg1, knee1, leg2, knee2, leg3))))); }