scale([1/10, 1/10, 1/10]) union() { Heigth = 560; radius = 540; difference() { color("blue") rotate([0,0,45+180]) difference() { cylinder(h=Heigth, r1=radius * 0.37, r2=radius * 0.5, center = false, $fn = 128); translate([0,0,50]) cylinder(h=Heigth+100, r1=radius * 0.25, r2=radius * 0.48, center = false, $fn = 30); translate([0, 300, 320]) rotate([-10, 0, 0]) union() { sphere(100, $fn = 128); rotate([180,0,0]) cylinder(280, r=100, $fn=128); } translate([300, 0, 320]) rotate([0, 10, 0]) union() { sphere(100, $fn = 128); rotate([180,0,0]) cylinder(280, r=100, $fn=128); } translate([0, -300, 320]) rotate([10, 0, 0]) union() { sphere(100, $fn = 128); rotate([180,0,0]) cylinder(280, r=100, $fn=128); } translate([0,0,40]) rotate([180,0,45]) cylinder(70, r1=50, r2=200, $fn=6); } rotate([80, 0, -45]) translate([0, 250, -200]) linear_extrude(30) import("communism.svg", center=true); } ARC_ANGLE=100; stext = ["C", "A", "L", "V", "I", "N"]; chars = len( stext ); color("red") translate([0, 0, 400]) for(i=[0:1:chars]){ rotate([0,5,i*ARC_ANGLE/chars]){ translate( [Heigth*0.4,0,0]) rotate([90,0,90]) linear_extrude(30) text(stext[i],size=75,valign="center",halign="center"); } } }