87 lines
2.3 KiB
OpenSCAD
87 lines
2.3 KiB
OpenSCAD
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);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
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 = 23);
|
|
|
|
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);
|
|
}
|
|
DIAMETER = 200;
|
|
//translate([0,0,45]) pentagram((DIAMETER/2) - 1, 10, 12);
|
|
translate([0,0,40]) rotate([180,0,45]) cylinder(70, r1=50, r2=200, $fn=6);
|
|
}
|
|
|
|
rotate([81, 0, -45])
|
|
translate([0, 220, -250])
|
|
linear_extrude(84)
|
|
|
|
import("dog.svg", center=true);
|
|
|
|
}
|
|
|
|
|
|
|
|
ARC_ANGLE=120;
|
|
stext = ["P", "H", "I", "L"];
|
|
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=120,valign="center",halign="center");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|