$fn = 25; table_thickness = 38; holder_width = 50; grabber_length = 40; thickness = 4; hole_diameter = 21; hole_depth = 30; cube([holder_width, thickness, table_thickness + thickness*2]); cube([holder_width, grabber_length + thickness, thickness]); translate([0, 0, table_thickness + thickness]) { cube([holder_width, grabber_length + thickness, thickness]); } // Hole // Honestly not sure where some of these values come from translate([holder_width / 2, -(hole_diameter + thickness) / 2, table_thickness - hole_depth/2 + 2*thickness]) { difference() { group() { cylinder(d = hole_diameter + thickness, h = hole_depth, center = true); translate([-(hole_diameter + thickness) / 2, 0, -hole_depth / 2]) { cube([hole_diameter + thickness, hole_diameter / 2 + thickness + 0.5, hole_depth]); } } translate([0, 0, thickness]) { cylinder(d = hole_diameter, h = hole_depth, center = true); } } }