$fn=64; rpi_hole_x = 58; rpi_hole_y = 49; hex_hole_x = 69; hex_hole_y = 51; module corner_holes(x, y, diameter, height) { translate([ x/2, y/2, 0]) cylinder(d=diameter, h=height); translate([-x/2, y/2, 0]) cylinder(d=diameter, h=height); translate([ x/2, -y/2, 0]) cylinder(d=diameter, h=height); translate([-x/2, -y/2, 0]) cylinder(d=diameter, h=height); } difference() { union() { hull() { corner_holes(hex_hole_x, hex_hole_y, 6,3); } corner_holes(rpi_hole_x, rpi_hole_y, 5,6); } corner_holes(hex_hole_x, hex_hole_y, 3,6); corner_holes(rpi_hole_x, rpi_hole_y, 2.3,6); hull() { corner_holes(hex_hole_x - 9, rpi_hole_y - 9, 3, 6); } }