include union() { // Center Piece translate([0, -base_size_y/2 + plate_size_y/2, 0]) difference() { // Base cube([base_size_x + 2 * base_wall_size, base_size_y + 2 * base_wall_size, base_size_z], center = true); // Hollow cube([base_size_x, base_size_y, base_size_z + 1], center = true); // Cut USB translate([-usb_dist_x, base_size_y/2 + base_wall_size/2, base_size_z/2]) cube([usb_size_x, base_wall_size + 1, usb_size_z * 2], center = true); } // Side Pieces for (x = [-1:2:1]) { translate([x * (base_size_x/2 + base_wall_size + side_size_x/2), 0, 0]) difference() { // Main Block cube([side_size_x, side_size_y, base_size_z], center = true); // Cut Screw translate([0, 0, base_size_z/2]) cylinder(h = base_size_z, d = screw_dia, $fn = seg, center = true); // Cut Screw Head translate([0, 0, -screw_dia/4]) cylinder(h = screw_dia/2, d1 = screw_dia * 2, d2 = screw_dia, $fn = seg, center = true); // Cut Screw Head Extension translate([0, 0, -base_size_z/2 - screw_dia/2]) cylinder(h = base_size_z, d = screw_dia * 2, $fn = seg, center = true); } } }