infty = 100; eps = 0.01; diameter = 20; thick = 2; d_minus = thick/2; // cca 45 deg center_hole_d = 3; side_holes = 5; side_hole_d = 5; module body() { cylinder(r1 = diameter/2, r2 = diameter/2-d_minus/2, h = thick/2 + eps); translate([0, 0, thick/2-eps]) cylinder(r2 = diameter/2, r1 = diameter/2-d_minus/2, h = thick/2 + eps); } difference() { body($fn = 128); translate([0, 0, -eps]) cylinder(r = center_hole_d/2, h = thick + 2*eps); if (side_holes > 0) for (angle = [0:360/side_holes:360]) rotate([0, 0, angle]) translate([diameter/4 - d_minus + center_hole_d/2, 0, -eps]) cylinder(r = side_hole_d/2, h = thick + 2*eps); }