thickness = 2; toprad = 15; bottomrad = 10; radius = 25; height = 30; inside_height = 15; cube_size = 10; module holder_round(){ rotate_extrude(angle=360, $fn=360){ polygon([ [toprad, 0], [bottomrad, inside_height], [bottomrad+thickness, inside_height], [toprad+thickness,thickness], [radius-thickness,thickness], [radius-thickness,height], [radius, height], [radius,0], [toprad,0]] ); } } module cube_cut(){ translate([5,-cube_size/2, thickness]){ cube([2*cube_size, cube_size, 100]); } } cube_size = 10; difference(){ holder_round(); for(i=[0:3]){ rotate(90*i, [0,0,1]){ cube_cut(); } } }