module servo(w=20,s=40.3,lenght=43,axe=3){ resolutionCercle=50; visDist=7.6; rotate([0,180,0]) translate([0,0,-lenght/2]) color("gray"){ difference(){ union(){ cube(size=[w,s,lenght],center=true); translate([0,s/2,-lenght/2+lenght/20]) cube(size=[w/2,s/4,lenght/10],center=true); translate([0,0,lenght/2-8]) cube(size=[w-0.2,s+visDist*2,2.5],center=true); translate([0,s/4,lenght/2+4]){ cylinder(r=axe,$fn=resolutionCercle,h=8,center=true); } translate([0,s/4,lenght/2+1]){ cylinder(d=w-1,$fn=resolutionCercle,h=2,center=true); } } union(){ for(i = [[w/2-5,visDist/2+lenght/2,lenght/2-3],[-w/2+5,+visDist/2+lenght/2,,lenght/2-3],[w/2-5,-visDist/2-lenght/2,lenght/2-3],[-w/2+5,-visDist/2-lenght/2,lenght/2-3]]){ translate(i){ cylinder(r = 2.5,$fn=resolutionCercle, h = lenght/2, center = true); } } } } } translate([0,10,-10]) children(); } servo();