// Snapmaker A350 Center 12-up // Provisional jig geometry. Confirm real dry fit before production. footprint_w = 320.000; footprint_h = 320.000; base_thickness = 4.000; rail_height = 10.000; rail_t = 1.600; slot_w = 72.000; slot_h = 28.000; stop_w = 3.000; stop_d = 5.000; stop_h = 12.000; module slot_rails(x, y) { translate([x, y, base_thickness]) cube([slot_w, rail_t, rail_height]); translate([x, y + slot_h - rail_t, base_thickness]) cube([slot_w, rail_t, rail_height]); translate([x, y, base_thickness]) cube([rail_t, slot_h, rail_height]); translate([x + slot_w - rail_t, y, base_thickness]) cube([rail_t, slot_h, rail_height]); translate([x + slot_w - stop_w, y + (slot_h - stop_d) / 2, base_thickness]) cube([stop_w, stop_d, stop_h]); } difference() { cube([footprint_w, footprint_h, base_thickness]); } // Slot A1 (bed origin offset 5 / 50) slot_rails(18.000, 44.000); // Slot A2 (bed origin offset 5 / 50) slot_rails(94.000, 44.000); // Slot A3 (bed origin offset 5 / 50) slot_rails(170.000, 44.000); // Slot A4 (bed origin offset 5 / 50) slot_rails(246.000, 44.000); // Slot B1 (bed origin offset 5 / 50) slot_rails(18.000, 146.000); // Slot B2 (bed origin offset 5 / 50) slot_rails(94.000, 146.000); // Slot B3 (bed origin offset 5 / 50) slot_rails(170.000, 146.000); // Slot B4 (bed origin offset 5 / 50) slot_rails(246.000, 146.000); // Slot C1 (bed origin offset 5 / 50) slot_rails(18.000, 248.000); // Slot C2 (bed origin offset 5 / 50) slot_rails(94.000, 248.000); // Slot C3 (bed origin offset 5 / 50) slot_rails(170.000, 248.000); // Slot C4 (bed origin offset 5 / 50) slot_rails(246.000, 248.000);