$fn = 10; module shaft() { $fn = 200; difference() { cylinder(h = 5, d = 6); translate([2, -3, 0]) cube(6); } translate([0, 0, -5]) cylinder(h = 5, d = 8); } difference() { cylinder(h = 14, d1 = 18, d2 = 16); translate([0, 0, 5]) shaft(); } translate([0, 0, 14]) cylinder(h = 2, d1 = 16, d2 = 12);