thick = 1.5; size_x = 35; size_y = 57.5; size_z = 5; size_pcb = 1; top_y = 20; bot_y = 17.5; mount_x_dist = 7.5; mount_y_dist = -5.5; mount_hole = 1.5; difference() { union() { difference() { // Main Block cube([size_x, size_y, size_z], center = true); // Hollow translate([0, 0, thick]) { cube([size_x - 2 * thick, size_y - 2 * thick, size_z], center = true); } } // Mounts for (x = [-1:2:1]) { translate([x * mount_x_dist, mount_y_dist, -size_pcb/2]) { cylinder(size_z - size_pcb, mount_hole + 1, mount_hole + 1, $fn = 360, center = true); } } // Top Y translate([0, size_y/2 - top_y, -size_pcb/2]) { cube([size_x, thick, size_z - size_pcb], center = true); } // Bot Y translate([0, -(size_y/2 - bot_y), -size_pcb/2]) { cube([size_x, thick, size_z - size_pcb], center = true); } } // Mount Holes for (x = [-1:2:1]) { translate([x * mount_x_dist, mount_y_dist, -size_pcb/2]) { cylinder(size_z + 1, mount_hole, mount_hole, $fn = 360, center = true); } } }