difference() { cube([15, 2, 17]); translate([10.5, -1, 8.5]) rotate([0, 90, 90]) cylinder(4, d=3.5, $fn=100); } cube([2, 24, 17]); translate([0, 17, 0]) cube([13, 2, 17]); translate([0, 23, 0]) rotate(5) cube([13, 2, 17]); intersection() { translate([-3, 0, 8]) rotate([0, 45, 0]) cube([6, 17, 6]); translate([0, 0, 4]) cube([6, 17, 8]); } intersection() { translate([1, -6, 0]) rotate(45) cube([9, 9, 17]); translate([0, 0, 0]) cube([9, 9, 17]); } intersection() { translate([1, 12, 0]) rotate(45) cube([9, 9, 17]); translate([0, 8, 0]) cube([9, 9, 17]); } intersection() { translate([1, 16, 0]) rotate(45) cube([4, 4, 17]); translate([0, 15, 0]) cube([9, 9, 17]); } intersection() { translate([1.5, 21, 0]) rotate(45) cube([4, 4, 17]); translate([0, 15, 0]) cube([9, 9, 17]); }