$fn=60; include include include ; base_l=190; base_e=3; b_height=5; module pilar() { difference() { zcyl(l=p_height, d=8, rounding1=-2); zcyl(l=p_height, d=3, rounding=-1); } } // holes_positions color("red") { translate([-60,0,b_height-.5]) ycyl(l=200, d=1); translate([60,0,b_height-.5]) ycyl(l=200, d=1); } // sample side attach difference() { translate([0, 0, 0]) zcyl(l=5, d=18, rounding2=1); nutcatch_parallel("M4", clh=0.1); translate([0,0,10]) hole_through(name="M4", l=10+5, cld=0.1, h=0, hcld=0.4); } // base plate !difference() { union() { rect_tube(b_height+1, base_l, wall=base_e, rounding=base_e, irounding=base_e/2, center=true) { attach(BOT) rect_tube(base_e, base_l, wall=base_e*4, rounding=base_e, irounding=base_e/2, center=true); } translate([60,-base_l/2,b_height-.5]) ycyl(l=5.5, d=18, rounding1=1); translate([-60,-base_l/2,b_height-.5]) ycyl(l=5.5, d=18, rounding1=1); translate([60,base_l/2,b_height-.5]) ycyl(l=5.5, d=18, rounding2=1); translate([-60,base_l/2,b_height-.5]) ycyl(l=5.5, d=18, rounding2=1); } union() { translate([60,-base_l/2,b_height-.5]) rotate([90,90,0]) { nutcatch_parallel("M4", clh=0.1); translate([0,0,10]) hole_through(name="M4", l=10+5, cld=0.1, h=0, hcld=0.4); } translate([-60,-base_l/2,b_height-.5]) rotate([90,90,0]) { nutcatch_parallel("M4", clh=0.1); translate([0,0,10]) hole_through(name="M4", l=10+5, cld=0.1, h=0, hcld=0.4); } translate([60,base_l/2,b_height-.5]) rotate([-90,90,0]) { nutcatch_parallel("M4", clh=0.1); translate([0,0,10]) hole_through(name="M4", l=10+5, cld=0.1, h=0, hcld=0.4); } translate([-60,base_l/2,b_height-.5]) rotate([-90,90,0]) { nutcatch_parallel("M5", clh=0.1); translate([0,0,10]) hole_through(name="M5", l=10+5, cld=0.1, h=0, hcld=0.4); } } }