The code I had cobbled together was a combination of a part that I had made to replace rollers on my nieces futon and a 'sheriff's badge' I had found on Thingiverse. It got it started, and with enough tinkering, it probably could have been made to work, but I figured there had to be a better way to do it.]]>

I prefer diameters vs radius, and for holes I use a trick that doubles the height and lowers it by half the height. No need to randomly add heights

OutsideDiameter = 89 * 2; InsideDiameter = 19 *2; height = 10; HoleOD = 9*2; NumberOfHoles = 6; HoleDisatnceFromCenter = 37; $fn=128; difference () { cylinder(d=OutsideDiameter,h=height); translate([0,0,-height/2]) cylinder(d=InsideDiameter,h=height*2); for (i = [0:1:NumberOfHoles-1]) { rotate([0,0,i*360/NumberOfHoles]) translate([HoleDisatnceFromCenter,0,-height/2]) cylinder(d=HoleOD, h=height*2); } }]]>

$fn=128; difference () { for(i=[0:2]) cylinder(r=89,h=10); for(i=[0:2]) translate([0,0,-1]) cylinder(r=19,h=12); translate([37,0,-1]) cylinder(r=9, h=12); translate([-37,0,-1]) cylinder(r=9, h=12); translate([-19,33,-1]) cylinder(r=9, h=12); translate([19,33,-1]) cylinder(r=9, h=12); translate([-19,-33,-1]) cylinder(r=9, h=12); translate([19,-33,-1]) cylinder(r=9, h=12); }]]>