Sternsternstern

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche
Stern mit Fingerringen

ein parametisierter dekorativer 3D-Druck Stern zum aufhängen mit einem kleinen Ring oder als Netz mit vielen Fingerringen. Wird flach mit wenigen Layern gedruckt und kann dann auseinandergezogen werden (PET Druck).



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