SCAD-Designs/Shot Dispenser/Shot Glas/Shot Glas.scad
2024-08-14 16:44:07 +02:00

67 lines
1.7 KiB
OpenSCAD

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");
}
}
}