Beim Stöbern in den Beispielen der dotSCAD-Bibliothek fiel mir die Sierpinski-Pyramide auf. Statt eines mathematischen Demonstrationsobjekts entstand daraus die Idee einer kleinen Schmuckablage. Das Modell zeigt, dass sich ein Blick in die Beispielprogramme oft lohnt: Mit wenigen Änderungen kann aus einem Beispiel etwas völlig Neues werden.
Meine erste Idee war eine 3d Sierpinski Pyramide. Aber schon bei einer Größe von nur 10cm prognostizierte der slic3r eine Druckzeit von über 8 Stunden. Doch die einfachere Variante, das 2d Modell zu extrudieren, gefällt uns fast noch besser. Es ist eine dekorative Ablage für Ringe, Ohrringe und andere kleine Gegenstände geworden.
/*
Sierpinski Jewelry Tray
Copyright (C) 2026 bit-field.de
Inspired by the Sierpinski example from the dotSCAD library.
License: Gnu Lesser General Public License
*/
// $Id: sierpinski_triangle_2d_v1_1.scad 63 2026-06-08 16:09:39Z bernhard $
use <polyline_join.scad>;
use <turtle/t2d.scad>;
use <line2d.scad>
side_leng = 100;
min_leng = 40;
thickness = 1.0;
height = 30;
module base()
{
t=t2d(point=[0,0], angle=0);
t1 = t2d(t, "turn", angle = 0);
t2 = t2d(t1, "forward", leng = side_leng);
base = t2d( t, [
["forward", side_leng],
]);
line2d(
t2d(t, "point"),
t2d(t2, "point"),
2 * thickness,
p1Style = "CAP_ROUND",
p2Style = "CAP_ROUND"
);
}
linear_extrude(height)
{
union()
{
translate([0, sqrt(side_leng^2 - (side_leng/2)^2), 0])
rotate([180, 0, 0])
sierpinski_triangle(
t2d(point = [0, 0], angle = 0),
side_leng, min_leng, thickness, $fn = 3
);
base();
}
}
module triangle(t, side_leng, thickness) {
t2 = t2d(t, "forward", leng = side_leng);
t3 = t2d(t2, [
["turn", 120],
["forward", side_leng]
]);
polyline_join([for(turtle = [t, t2, t3, t]) t2d(turtle, "point")])
circle(thickness / 2);
}
module sierpinski_triangle(t, side_leng, min_leng, thickness) {
triangle(t, side_leng, thickness);
if(side_leng >= min_leng) {
half_leng = side_leng / 2;
t2 = t2d(t, "forward", leng = half_leng);
t3 = t2d(t, [
["turn", 60],
["forward", half_leng],
["turn", -60]
]);
for(turtle = [t, t2, t3]) {
sierpinski_triangle(turtle, half_leng, min_leng, thickness);
}
}
}
Die zugehörigen stl-Dateien findest Du hier
STL-Downloads – Sierpinski_1
Titelbildquelle: eigenes Bild
... because software matters