radius = 8.25; wall = 5; len = 30; difference() { union() { hull() { rotate([0,0,30]) translate([wall,0,0]) rotate([0,90,0]) cylinder(r=radius+wall,h=len+wall*2); rotate([0,0,-30]) translate([wall,0,0]) rotate([0,90,0]) cylinder(r=radius+wall,h=len+wall*2); translate([0,0,-radius/2-wall]) cylinder(r=radius+wall,h=radius+wall*2); } cylinder(r=radius+wall,h=len); } rotate([0,0,30]) translate([wall*2.4,0,0]) rotate([0,90,0]) cylinder(r=radius,h=len+wall*2); rotate([0,0,-30]) translate([wall*2.4,0,0]) rotate([0,90,0]) cylinder(r=radius,h=len+wall*2); translate([0,0,-radius/2]) cylinder(r=radius,h=len+wall*2); }