$fn = 64; // --- Parameters --- // Distance from center to the inner corner of the hex bin bin_radius = 30; // Total height of the divider divider_height = 25; // Thickness of the divider walls wall_thickness = 1.6; // Extra protrusion for the snap-in friction bump snap_bump = 0.6; module hex_divider_3way() { union() { // Central hub for strength and clean intersection cylinder(r = wall_thickness, h = divider_height); // 3 dividing walls at 120 degree intervals for (angle = [0, 120, 240]) { rotate([0, 0, angle]) { // Main arm body translate([0, -wall_thickness/2, 0]) cube([bin_radius - wall_thickness/2, wall_thickness, divider_height]); // Snap/friction bump at the outer edge // The rounded end helps it slide into place translate([bin_radius - wall_thickness/2, 0, 0]) cylinder(r = (wall_thickness/2) + snap_bump, h = divider_height); } } } } // Render the model hex_divider_3way();