module rounded_cube(dim, radius) { range_y = [radius, dim[1]-radius]; range_z = [radius, dim[2]-radius]; height = dim[0]; hull() { for (y=range_y, z=range_z) { translate([0,y,z]) rotate([0,90,0]) cylinder(r=radius, h=height, $fn=30); } } }