/* Linear units are mm */ ext_dia = 32.0; int_dia = 6.2; h = 10; mnth_dia = 3.2; mnth_ins_dia = 6.0; mnth_ins_h = 2.0; mnth_center_r = 12.0; mnth_num = 4; bearing_od = 19.0; bearing_h = 6.0; $fn = 64; translate([0, 0, h]) rotate(180, [0, 1, 0]) difference() { cylinder(d=ext_dia, h=h); cylinder(d=int_dia, h=h); for (alpha = [0 : 360/mnth_num : 359.9999]) { rotate(alpha, [0, 0, 1]) translate([-mnth_center_r, 0, 0]) union() { cylinder(d=mnth_dia, h=h); translate([0, 0, h-mnth_ins_h]) cylinder(d=mnth_ins_dia, h=mnth_ins_h); } } cylinder(d=bearing_od, h=bearing_h); }