$fn = 200; module shaft() { difference() { cylinder(h = 5, d = 6); translate([2, -2.5, 0]) cube(5); } translate([0, 0, -5]) cylinder(h = 5, d = 7); } difference() { cylinder(h = 16, d1 = 18, d2 = 15); translate([0, 0, 5]) shaft(); }