Sternsternstern

Aus Hackerspace Ffm
Version vom 16. Dezember 2016, 16:52 Uhr von Ubaer (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
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);
            } 
       }
   }