n = 8; // Number of Poles h = 60; // Height r = 20; // Radius union () { difference () { difference () { cylinder(2, r, r,$fn=30, center =true); cylinder(3, r-3, r-3, $fn=30, center = true); } for (i=[1:n]) { translate([(r-1.5)*cos(i*(360/n)),(r-1.5)*sin(i*(360/n)),0]) cylinder(5, 0.03*r, 0.03*r, $fn=30, center = true); } } difference () { difference () { translate ([0,0,h]) cylinder(2, r, r, $fn=20, center =true); translate ([0,0,h]) cylinder(3, r-3, r-3, $fn=20, center = true); } for (i=[1:n]) { translate([0,0,h]) translate([(r-1.5)*cos(i*(360/n)),(r-1.5)*sin(i*(360/n)),0]) cylinder(5, 0.03*r, 0.03*r, $fn=30, center = true); } } for (i=[1:n]) { translate([0,0,(h/2)]) translate([(r-1.5)*cos(i*(360/n)),(r-1.5)*sin(i*(360/n)),0]) cylinder(h+2, 0.028*r, 0.028*r, $fn=30, center = true); } }