OpenSCAD-Render einer facettierten Vase mit breitem Fuß

Vase zum Muttertag

Eine bewusst vieleckige Vase als Muttertagsgeschenk — mit niedrigem $fn-Wert für den Facetten-Look und einem Sockel aus der Hülle zweier Zylinder. Plus: wasserdicht drucken.

Beitrag komplett (.zip)

„Beitrag komplett“ liefert den OpenSCAD-Quelltext als fertige .scad-Dateien plus eine druckbare Kopie — ein Vorteil für CARECOM.united-Mitglieder. Die Mitgliedschaft ist kostenlos und unverbindlich. Zur Mitgliedschaft →

OpenSCAD-Render der Vase

Eine bewusst kantige Vase — und ein gutes Beispiel dafür, wie wenige OpenSCAD-Eigenheiten ein eigenständiges Teil ergeben.

Die Tricks dahinter

  • Variablen statt fester Zahlen: af oben legen die Maße fest; c = a - b*2 rechnet den Innendurchmesser aus Außendurchmesser minus zweimal Wandstärke. Eine Deklaration ist in OpenSCAD nicht nötig.
  • $fn als Gestaltungsmittel: Normalerweise stellt man $fn hoch, um Rundkörper glatt zu bekommen. Hier ist es absichtlich klein ($fn=10) — so wird die Vase vieleckig statt rund. Eine niedrige Auflösung ist nicht immer ein Fehler, manchmal ist sie der Look.
  • hull() für den Fuß: Der Sockel ist die Hülle (hull()) zweier Zylinder — ein schmaler oben, ein breiter unten. hull() spannt eine konvexe Außenhaut um beliebige Objekte; ideal für weiche Übergänge.

Wasserdicht drucken

Eine gedruckte Vase ist nicht automatisch dicht: Zwischen den Wänden und im schichtweisen Aufbau bleiben feine Kanäle. Geholfen hat, im Slicer die Zahl der Wandlinien zu erhöhen und mehr Material zu geben (alternativ tut es ein wasserfester Innenbeutel). Das ist kein OpenSCAD-, sondern ein Druck-Thema — aber gut zu wissen, bevor das erste Mal Wasser eingefüllt wird.

// Außendurchmesser oberer Zylinder
a = 30;

// Wanddicke oberer Zylinder
b = 3;

// Innendurchmesser oberer Zylinder
c = a - b * 2;

// Höhe oberer Zylinder
d = 70;

// Max. Durchmesser Fuß
e = 60;

// Höhe Fuß
f = 20;

$fn=10;

difference() {
    cylinder(d=a, h=d);
    cylinder(d=c, h=d);
}

hull() {
    translate([0,0, -2])
    cylinder(d=a, h =2);

    translate([0, 0, -f-2])
    cylinder(d=e, h = 2);
}
Es ist ein Fehler aufgetreten. Neu laden 🗙

Verbindung wird wiederhergestellt …

Wieder­verbindung fehl­geschlagen – nächster Versuch in Sekunden.

Wieder­verbindung fehl­geschlagen.
Bitte erneut versuchen oder die Seite neu laden.

Die Sitzung wurde vom Server pausiert.

Sitzung konnte nicht fort­gesetzt werden.
Bitte erneut versuchen oder die Seite neu laden.