$fn=64; // --- Parameters --- panel_thickness = 5.0; // Thickness of the divider panels wall_thickness = 2.0; // Thickness of the connector walls arm_length = 30.0; // Length of each arm from the outer corner height = 20.0; // Total height of the connector base_thickness = 2.0; // Thickness of the floor/stop (set to 0 for a flow-through sleeve) // --- Derived Variables --- outer_width = panel_thickness + (wall_thickness * 2); // --- Main Geometry --- module corner_connector() { difference() { // Outer L-shape body union() { cube([arm_length, outer_width, height]); cube([outer_width, arm_length, height]); } // Inner L-shape slots (subtracted to create the channels) union() { // X-axis panel slot // Extended by 1mm in X and Z to ensure clean manifold cuts translate([wall_thickness, wall_thickness, base_thickness]) cube([arm_length + 1, panel_thickness, height + 1]); // Y-axis panel slot // Extended by 1mm in Y and Z to ensure clean manifold cuts translate([wall_thickness, wall_thickness, base_thickness]) cube([panel_thickness, arm_length + 1, height + 1]); } } } // --- Render --- corner_connector();