$fn=64; // --- Parameters --- holder_width = 120; front_depth = 30; back_depth = 30; front_height = 15; back_height = 30; // Hex bit settings (sized for standard 1/4" / 6.35mm bits) hex_hole_dia = 7.2; hex_hole_depth = 11; hex_holes_per_row = 10; // Small tool settings (for screwdrivers, tweezers, etc.) tool_hole_dia = 12.5; tool_hole_depth = 25; tool_holes_per_row = 6; // --- Geometry --- difference() { // Main stepped body union() { // Base spanning the whole depth cube([holder_width, front_depth + back_depth, front_height]); // Raised back tier translate([0, front_depth, 0]) cube([holder_width, back_depth, back_height]); } // Front row: Hex bits for (i = [0 : hex_holes_per_row - 1]) { translate([ (holder_width / hex_holes_per_row) * (i + 0.5), front_depth * 0.30, front_height - hex_hole_depth ]) cylinder(h = hex_hole_depth + 1, d = hex_hole_dia); } // Middle row: Hex bits for (i = [0 : hex_holes_per_row - 1]) { translate([ (holder_width / hex_holes_per_row) * (i + 0.5), front_depth * 0.75, front_height - hex_hole_depth ]) cylinder(h = hex_hole_depth + 1, d = hex_hole_dia); } // Back row: Small tools for (i = [0 : tool_holes_per_row - 1]) { translate([ (holder_width / tool_holes_per_row) * (i + 0.5), front_depth + (back_depth * 0.5), back_height - tool_hole_depth ]) cylinder(h = tool_hole_depth + 1, d = tool_hole_dia); } }