$fn = 36; difference() { linear_extrude(height=5) { translate([2.5, 0]) __radius_cutout(10); translate([-2.5, 17.5]) rotate([0, 0, 180]) __radius_cutout(10); translate([-2.5, 7.5]) square([5, 2.5]); translate([10, -7.5]) square([2.5, 7.5]); } translate([10, -6, 2.5]) rotate([90, 0, 90]) cylinder(h=2.5, d=2); translate([10, -2, 2.5]) rotate([90, 0, 90]) cylinder(h=2.5, d=2);} /* * Helper function for round edges */ module __radius_cutout(radius) { difference() { intersection() { translate([radius/2, radius/2, 0]) square(radius, center=true); circle(radius); } circle(radius-2.5); } }