$fn=64; // --- Parameters --- // Thickness of the panels to be inserted panel_thickness = 3.0; // Thickness of the connector walls wall_thickness = 2.0; // Depth the panels insert into the connector insertion_depth = 15.0; // Overall height of the connector connector_height = 20.0; // --- Implementation --- // Small overlap to ensure manifold geometry eps = 0.01; difference() { // Outer Solid Body union() { // Main horizontal body translate([0, 0, connector_height/2]) cube([panel_thickness + 2*insertion_depth, panel_thickness + 2*wall_thickness, connector_height], center=true); // Perpendicular stem body (overlaps into the horizontal body for a manifold union) translate([0, panel_thickness/2 + (wall_thickness + insertion_depth)/2, connector_height/2]) cube([panel_thickness + 2*wall_thickness, insertion_depth + wall_thickness, connector_height], center=true); } // Inner Slots to Subtract union() { // Main horizontal slot (cuts through both ends) translate([0, 0, connector_height/2]) cube([panel_thickness + 2*insertion_depth + 2*eps, panel_thickness, connector_height + 2*eps], center=true); // Perpendicular stem slot (cuts through the front and overlaps into the horizontal slot) translate([0, panel_thickness/2 + (wall_thickness + insertion_depth)/2, connector_height/2]) cube([panel_thickness, insertion_depth + wall_thickness + 2*eps, connector_height + 2*eps], center=true); } }