include module hdd_connector(w,h,d) { difference() { cube([w, d, h]); translate([1, 2, 1]) cube([w - 2, d, h - 2]); } } // board module backplane_pcb() { color("sienna") cube([backplane_width, backplane_thickness, backplane_height]); } module backplane_populated() { backplane_pcb(); // front connector (power + data) color("darkgrey") translate([backplane_con_hoffset, 0, backplane_con_voffset]) mirror([0, 1, 0]) { hdd_connector(backplane_con_width/ 3 * 2 + 1, backplane_con_height, backplane_con_depth); translate([backplane_con_width / 3 * 2, 0, 0]) hdd_connector(backplane_con_width / 3 * 1, backplane_con_height, backplane_con_depth); } // back connector (data) translate([backplane_con_hoffset + backplane_con_width / 3 * 2, backplane_thickness, backplane_con_voffset]) mirror([0, 1, 0]) rotate([90, 0, 0]) hdd_connector(backplane_con_width / 3 * 1, backplane_con_height, backplane_con_depth); } backplane_populated();