$fn = 300; scale([1, 0.5, 1]) union() { translate([0, 0, 9.9]) scale([1, 1, 0.2]) rotate([0, 90, 0]) cylinder(h=13, d=1.35); difference() { translate([0, 0, -17.6]) rotate([45, 0, 0]) cube([13, 20, 20]); translate([-1, -5, 9.9]) cube([15, 10, 10]); translate([-1, -15, -30]) cube([15, 30, 30]); translate([-1, 6.5, 7]) rotate([42, 0, 0]) scale([1, 0.3, 1]) rotate([0, 90, 0]) cylinder(h=15, r=10); translate([-1, -6.5, 7]) rotate([-42, 0, 0]) scale([1, 0.3, 1]) rotate([0, 90, 0]) cylinder(h=15, r=10); } } difference() { union() { difference() { translate([13, 0.9, -0.3]) rotate([5, -2, 5]) cube([0.5, 5, 10]); translate([-1, 4.8, 5.5]) rotate([28, 0, 0]) scale([1, 0.3, 1]) rotate([0, 90, 0]) cylinder(h=15, r=10); } difference() { translate([11.6, -5.8, -0.3]) rotate([-5, -5, -8]) cube([1.5, 5, 10]); translate([-1, -4.8, 5.5]) rotate([-28, 0, 0]) scale([1, 0.3, 1]) rotate([0, 90, 0]) cylinder(h=15, r=10); } } translate([-1, -15, -30]) cube([15, 30, 30]); }