OrganicSupportMushroom: Unterschied zwischen den Versionen
Aus /dev/tal
Rono (Diskussion | Beiträge) |
Rono (Diskussion | Beiträge) |
||
Zeile 32: | Zeile 32: | ||
r_cap = 6; // Basisradius der Pilzhüte | r_cap = 6; // Basisradius der Pilzhüte | ||
n_cap = 50; // Anzahl der Pilzhüte | n_cap = 50; // Anzahl der Pilzhüte | ||
+ | s_cap = 0.5; // Wandstärke der Pilzhüte | ||
Zeile 47: | Zeile 48: | ||
cylinder(r = r, h = r); | cylinder(r = r, h = r); | ||
} | } | ||
− | sphere(r=r- | + | sphere(r=r - s_cap); |
} | } | ||
} | } | ||
Zeile 55: | Zeile 56: | ||
for(i=[0:n_cap-1]) { | for(i=[0:n_cap-1]) { | ||
translate([rand_x[i], rand_y[i], rand_z[i]]) | translate([rand_x[i], rand_y[i], rand_z[i]]) | ||
− | + | cap(scale_cap[i] * r_cap); | |
} | } | ||
− | cylinder(d = 20, h = 0.01); // notwendig, damit der Slicer weiß, wo die Höhe 0 ist | + | 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. |
</syntaxhighlight> | </syntaxhighlight> | ||
[[Kategorie:Projekt]] | [[Kategorie:Projekt]] |
Aktuelle Version vom 19. Dezember 2024, 14:13 Uhr
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.
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.
$fn = 30;
x_range = 50; // Ausdehnung in x
y_range = 50; // Ausdehnung in y
z_range = 80; // Ausdehnung in z
z_offset = 40; // unterste Höhe der Pilzhüte. Die Gesamthöhe ergibt sich aus z_offset + z_range
scale_range = 0.5; // Skalierung der Pilzhüte
r_cap = 6; // Basisradius der Pilzhüte
n_cap = 50; // Anzahl der Pilzhüte
s_cap = 0.5; // Wandstärke der Pilzhüte
// Größe und Position der Pilzhüte erzeugen:
rand_x = rands(-x_range/2,x_range/2,n_cap);
rand_y = rands(-y_range/2,y_range/2,n_cap);
rand_z = rands(z_offset,z_offset + z_range,n_cap);
scale_cap = rands(1-scale_range/2,1+scale_range/2,n_cap);
// Pilzhut zeichnen
module cap(r) {
difference(){
intersection(){
sphere(r=r);
cylinder(r = r, h = r);
}
sphere(r=r - s_cap);
}
}
//Pilzhüte anordnen
for(i=[0:n_cap-1]) {
translate([rand_x[i], rand_y[i], rand_z[i]])
cap(scale_cap[i] * r_cap);
}
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.