SCAD-Designs/Shot Dispenser/Shot Glas/Shot Glas.scad

87 lines
2.3 KiB
OpenSCAD
Raw Normal View History

2024-08-16 10:28:52 +02:00
module pentagram(r, w=1, d=1) {
linear_extrude(height=d) {
for(a=[0:+(360/5):360]) {
rotate([0, 0, a])
translate([-r, 0, 0]) rotate([0, 0, 18]) translate([w * 0.95, -0.5 * w]) square(size=[r, w]);
rotate([0, 0, a])
translate([-r, 0, 0]) rotate([0, 0, -1 * 18]) translate([w * 0.95, -0.5 * w]) square(size=[r, w]);
}
difference() {
circle(r=r);
circle(r=r-w);
}
}
}
2024-08-14 16:44:07 +02:00
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])
2024-08-16 10:28:52 +02:00
cylinder(h=Heigth+100, r1=radius * 0.25, r2=radius * 0.48, center = false, $fn = 23);
2024-08-14 16:44:07 +02:00
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);
}
2024-08-16 10:28:52 +02:00
DIAMETER = 200;
//translate([0,0,45]) pentagram((DIAMETER/2) - 1, 10, 12);
2024-08-14 16:44:07 +02:00
translate([0,0,40]) rotate([180,0,45]) cylinder(70, r1=50, r2=200, $fn=6);
}
2024-08-16 10:28:52 +02:00
rotate([81, 0, -45])
translate([0, 220, -250])
linear_extrude(84)
import("dog.svg", center=true);
2024-08-14 16:44:07 +02:00
}
2024-08-16 10:28:52 +02:00
ARC_ANGLE=120;
stext = ["P", "H", "I", "L"];
2024-08-14 16:44:07 +02:00
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)
2024-08-16 10:28:52 +02:00
text(stext[i],size=120,valign="center",halign="center");
2024-08-14 16:44:07 +02:00
}
}
}