ein parametisierter dekorativer 3D-Druck Stern zum aufhängen mit einem kleinen Ring oder als Netz mit vielen Fingerringen.
openSCAD Code und Module
*Star(2,90,.7);//Ein Stern Beispiel
color([.5,.5,.5])rotate([0,0,0])for (i=[5:6:60])//Ineinanderliegende Sterne { Star(.45,i,0.7);//Höhe,Durchmesser,Randbreite } Fingerringe(0,31,5);//anzahl abstand größe
Verbindung(.3);//höhe der Verbindungen
module Verbindung(h)//Verbindungen für ineinanderliegende Sterne von 5-60mm { for (i=[0:60:120]) { rotate([0,0,i])union() { for (i=[-27.7:6:-2]) { translate([i,0,h/2])color("green")cube ([3,1,h],true); } for (i=[3.6:6:+32]) { translate([i,0,h/2])color("red")cube ([3,1,h],true); } } } for (i=[30:60:150]) { rotate([0,0,i])union() { for (i=[-14.7:3.46:-3]) { translate([i,0,h/2])color("blue")cube ([2.2,1,h],true); } for (i=[+4.2:3.45:+16]) { translate([i,0,h/2])color("yellow")cube ([2.2,1,h],true); } } } }
module Star(h,d,r) //d= Durchmesser r=breite Rand ecken gerundet h=höhe { linear_extrude(h) { difference() { offset(r=r/2,$fn=60)union() { rotate (60)circle(d=d,$fn=3); circle(d=d,$fn=3); } offset(r=-r/2,$fn=60)union() { rotate (60)circle(d=d,$fn=3); circle(d=d,$fn=3); } } } }
module Fingerringe(anzahl,r,d)//radius(abstand) durchmesser { for (i=[0:60:anzahl*60]) { rotate([0,0,i])translate([r,0,0]) difference() { cylinder(.3,d=d,$fn=60,center=false); cylinder(4,d=d-2,$fn=60,center=true); } } }