// 2600 Box End Caps $fn = 50; // Acrylic size box_x = 150.5; box_y = 107; // Insert size insert_x = 132; insert_y = 90; // Void offset void_offset = 25; // Thickness wall_thick = 3; bottom_thick = 2; // Outside dimensions base_x = (box_x + (wall_thick * 2)); base_y = (box_y + (wall_thick * 2)); base_z = 15; // Modules module roundedplate(x, y, z, dia) { // Calculate corners corner_x = ((x / 2) - (dia / 2)); corner_y = ((y / 2) - (dia / 2)); hull() { translate([corner_x, corner_y, 0]) cylinder(h=z, d=dia, center=true); translate([corner_x, -corner_y, 0]) cylinder(h=z, d=dia, center=true); translate([-corner_x, corner_y, 0]) cylinder(h=z, d=dia, center=true); translate([-corner_x, -corner_y, 0]) cylinder(h=z, d=dia, center=true); } } // Render difference() { roundedplate(base_x, base_y, base_z, 4); translate([0, 0, 3.5]) cube([box_x, box_y, base_z], center=true); translate([0, 0, 2]) cube([(box_x - 15), (box_y - 15), base_z], center=true); translate([0, 0, -1]) roundedplate((box_x - void_offset), (box_y - void_offset), base_z, 4); } // EOF