use $fn=30; /* translate([0, -40, -1]) difference() { union() { translate([0, -5, 0]) cube(size=[7, 50, 5], center = true); rotate([0, 90, 0]) translate([0, 20, 0]) cylinder(d = 5, h = 7, center = true); } translate([-4, 20, 0]) rotate([0, 90, 0]) cylinder(d = 3.5, h = 9); } */ union() { translate([0, -20, -1]) difference() { cube(size=[15, 8, 5], center = true); cube(size=[7, 8, 56], center = true); translate([-8, 0, 0]) rotate([0, 90, 0]) cylinder(d = 3.5, h = 18); } cube(size=[50, 34, 3], center = true); translate([ -22, 18.5, -6]) difference() { cylinder(d = 5, center = true, h = 15); cylinder(d = 3, center = true, h = 16); } translate([ 22, 18.5, -6]) difference() { cylinder(d = 5, center = true, h = 15); cylinder(d = 3, center = true, h = 16); } translate([ 0, -3.5, -6]) difference() { cylinder(d = 5, center = true, h = 15); cylinder(d = 3, center = true, h = 16); } }