$fn = 12; offset = 1.0; r_inner = 0.2; r_outer = 0.5; rotate([0,0,180]) { hull() { // hull around the small base translate([offset, 0, 0]) sphere(r_inner); // and the thick head sphere(r_outer); } pipe_len=0.3; translate([offset, 0, 0]) { rotate([0,90,0]) cylinder(r=r_inner, pipe_len); } // fins w = 0.5; h = 0.8 * r_outer; difference() { // fin for (i=[0:4]) { rotate([i*90,0,0]) { translate([offset-w/2+pipe_len,0,-h/2]) { hull() { cube([w,0.05,0.01], center=true); rotate([0,-5,0]) { cube([w-0.2,0.05,h+0.15], center=true); } } } } } // cutout part near end of pipe //translate([pipe_len+offset,0,0]) sphere(0.25); } }