difference() { union() { // base object cube([40, 28, 1]){} // four corner nubbins translate([5, 0, 0]){ cylinder(1, 5, 5){} } translate([5, 28, 0]){ cylinder(1, 5, 5){} } translate([35, 0, 0]){ cylinder(1, 5, 5){} } translate([35, 28, 0]){ cylinder(1, 5, 5){} } } // ring hook hole translate([5.5, 14, -1]){ cylinder(3, 4, 4){} } // thread catchers translate([0, 2, -1]) { rotate([0, 0, 35]){ cube([10, .25, 3]){} } } translate([8.25, 20, -1]) { rotate([0, 0, 145]){ cube([10, .25, 3]){} } } translate([40.25, 2, -1]) { rotate([0, 0, 145]){ cube([10, .25, 3]){} } } translate([32.25, 20, -1]) { rotate([0, 0, 35]){ cube([10, .25, 3]){} } } }