color("green") union() { translate([0,0,-2]) cylinder(h = 4, r=30, center = false, $fs=.01, $fn=100); difference() { cylinder(h = 18, r=9, center = false, $fs=.01, $fn=100); translate([-2.5,-3,0.1]) cube([5, 12.1, 18]); translate([0,0,-1]) cylinder(h = 20, r=7.1, center = false, $fs=.01, $fn=100); } } difference() { cylinder(h = 18, r=30, center = false, $fs=.01, $fn=100); cylinder(h = 19, r=28, center = false, $fs=.01, $fn=100); } color("red") translate([65,0,0]) union() { difference() { translate([0,0,-2]) cylinder(h = 4, r=30, center = false, $fs=.01, $fn=100); for (i = [0:60:360]) { rotate([0,0,i]) translate([-2.5,13,-2.75]) cube([5, 12, 5]); } translate([0,0,6]) { for (i = [0:60:360]) { rotate([0,0,i]) translate([-33,0,0]) rotate([0,66,0]) cylinder(h = 10, r=8, center = false, $fs=.01, $fn=100); } } } difference() { union() { cylinder(h = 18, r=6.75, center = false, $fs=.01, $fn=100); difference() { cylinder(h = 18, r=12.25, center = false, $fs=.01, $fn=100); cylinder(h = 19, r=10.25, center = false, $fs=.01, $fn=100); } } translate([-1.5,-3,0.1]) cube([3, 16.1, 18]); } }