$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);
    }
}