OrganicSupportMushroom

Aus /dev/tal
Wechseln zu: Navigation, Suche
 
Organic Support Mushroom

Release status: stable [box doku]

Description Creepy Pilze drucken
Author(s)  rono



„User:rono|rono“ kann nicht als Seitenname in diesem Wiki verwendet werden.
„{{{username}}}“ kann nicht als Seitenname in diesem Wiki verwendet werden.




Supports im 3D-Druck landen immer im Müll. Aber die organischen Stützen sehen doch auch gar nicht so schlecht aus. Also warum nicht mal ein bisschen damit spielen? Hier erstellen wir damit herrlich gruselig aussehende Pilzstrukturen.

Mushroom openscad.png
Mushroom slicer.png

Mit einem OpenSCAD-Script (s.u.) wird zunächst eine zufällige Anordnung von "Pilzhüten" erstellt. Dann ab damit in den Slicer und mit organischen Supports gesliced. Bei den Einstellungen muss etwas rumexperimentiert werden bis besonders hübsche Strukturen erzeugt werden.



  1. $fn = 30;
  2. x_range = 50; // Ausdehnung in x
  3. y_range = 50; // Ausdehnung in y
  4. z_range = 80; // Ausdehnung in z
  5. z_offset = 40; // unterste Höhe der Pilzhüte. Die Gesamthöhe ergibt sich aus z_offset + z_range
  6. scale_range = 0.5; // Skalierung der Pilzhüte
  7. r_cap = 6; // Basisradius der Pilzhüte
  8. n_cap = 50; // Anzahl der Pilzhüte
  9. s_cap = 0.5; // Wandstärke der Pilzhüte
  10.  
  11.  
  12. // Größe und Position der Pilzhüte erzeugen:
  13. rand_x = rands(-x_range/2,x_range/2,n_cap);
  14. rand_y = rands(-y_range/2,y_range/2,n_cap);
  15. rand_z = rands(z_offset,z_offset + z_range,n_cap);
  16. scale_cap = rands(1-scale_range/2,1+scale_range/2,n_cap);
  17.  
  18. // Pilzhut zeichnen
  19. module cap(r) {
  20.     difference(){
  21.         intersection(){
  22.             sphere(r=r);
  23.             cylinder(r = r, h = r);
  24.         }
  25.         sphere(r=r - s_cap);
  26.     }
  27. }
  28.  
  29.  
  30. //Pilzhüte anordnen
  31. for(i=[0:n_cap-1]) {
  32.     translate([rand_x[i], rand_y[i], rand_z[i]])
  33.         cap(scale_cap[i] * r_cap);
  34. }
  35. cylinder(d = 20, h = 0.01); // notwendig, damit der Slicer weiß, wo die Höhe 0 ist. Aufgrund der geringen Höhe wird dieses Objekt beim slicen übergangen.