/* * Hole pattern is * 28.2x28.2, radius 40 * * L * X X * * * X X * * To prevent torque from twisting the tool it has two holes. * To allow for longer reach, there is an extra cylinder extension. */ render() difference() { cylinder(r=25, h=5); for (i=[0:3]) { rotate([0,0,90*i+45]) translate([0,20.1,-1]) cylinder(r=5/2, h=7, \$fs=1); } rotate([0,0,0]) translate([0,21,-1]) cylinder(r=6/2, h=7, \$fs=1); } render() difference() { union() { //translate([-8,0,22]) rotate([0,15,0]) cube([20,5,50], center=true); rotate([0,0,180]) translate([-8,0,22]) rotate([0,15,0]) cube([20,5,50], center=true); translate([-(25-12),0,50]) cube([24,24,100], center=true); cylinder(r1=12, r2=12, h=100); } translate([0,0,-25]) cube([50,50,50], center=true); translate([0,0,90]) rotate([0,90,0]) cylinder(r=8/2, h=82, center=true, \$fs=1); translate([0,0,70]) rotate([0,90,0]) cylinder(r=8/2, h=82, center=true, \$fs=1); } /* //translate([0,0,8]) rotate([0,90,0]) { //render() difference() { union() { translate([4,0,0]) cube([8,6*2,40], center=true); cylinder(r=6, h=40, center=true); } //cylinder(r=8/2, h=42, center=true, \$fs=1); //} //} */