q = 100; hole_angle = 27; inner_height = 18; difference(){ union(){ linear_extrude(height=2.5){ difference(){ circle(d=25, $fn=q); circle(d=12.5, $fn=q); }; } // linear_extrude(height=18){ linear_extrude(height=inner_height){ difference(){ circle(d=20, $fn=q); circle(d=14.5, $fn=6); }; } } rotate([0, 90, hole_angle]){ translate([-5,0,-12.5]){ cylinder(25, 5/2, 5/2, $fn=q); } } }