Zuletzt geändert am 16. Dezember 2016 um 16:52

Sternsternstern

Stern mit Fingerringen

ein parametisierter dekorativer Stern zum aufhängen mit einem kleinen Ring oder als Netz mit vielen Fingerringen, einzeln oder verbunden, klein oder groß. Wird flach mit wenigen Layern gedruckt und kann dann auseinandergezogen werden (PET 3D-Druck). Alternativ als 2D Vektor gelasert.



STL Sternsternstern zum aufhängen mit einem kleinen Ring(im zip container)

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