include module driveunit(pulley_height, pulley_dist, pulley_1_r, pulley_2_r, pulley_face_dist){ translate([0, 0, pulley_face_dist]){ color([0.8,1,1]){ difference(){ cylinder(h=pulley_height, r=pulley_1_r); cylinder(h=pulley_height*3, r=5, center=true); } } translate([pulley_dist, 0, 0]){ color([1,0.8,1]){ difference(){ cylinder(h=pulley_height, r=pulley_2_r); cylinder(h=pulley_height*3, r=2.5, center=true); } } translate([0, 0, -pulley_face_dist]){ color([0.7,0.7,1]){ nema17(); } } } color([0.2,0.2,0.2]){ difference(){ translate([0, 0, 3]){ hull(){ cylinder(h=6, r=pulley_1_r + 2); translate([pulley_dist, 0, 0]){ cylinder(h=6, r=pulley_2_r+2); } } } hull(){ cylinder(h=pulley_height*5, r=pulley_1_r, center=true); translate([pulley_dist, 0, 0]){ cylinder(h=pulley_height*5, r=pulley_2_r, center=true); } } } } } }