include use use use use module back_connector_half( border_side = false, border_top = false, border_bottom = false ) difference() { connector_half(border_side, border_top, border_bottom); if (!border_side) translate([tray_width/2 - bar_thickness, 0, tray_height - bar_thickness/2]) rotate([-90, 0, 0]) screw_hole(nut_depth = 1.1 * nut_height); } module back_connector( border_left = false, border_right = false, border_top = false, border_bottom = false ) { difference() { connector(border_left, border_right, border_top, border_bottom) { mirror() back_connector_half(border_left, border_top, border_bottom); back_connector_half(border_right, border_top, border_bottom); } // screw holes for PCB screws for (h = [bar_thickness/2, tray_height - bar_thickness/2]) translate([0, 0, h]) rotate([-90, 0, 0]) screw_hole(nut_depth = 1.1 * nut_height); } } back_connector(); echo("MODEL INFO: tray height = ", tray_height); echo("MODEL INFO: tray width = ", tray_width);