welcome: please sign in

Adventskalender

Gedängelt wurde ein Adventskalender aus im 3D Druck erstellten Boxen, die exakt an den Inhalt angepasst sind und die man auf einer Schnur aufhängt. Der Erfahrungsbericht und die angehängten Dateien zeigen auch, wie man parametrisierbare Modelle mit OpenScad erstellt.

Was gebaut werden sollte

Jede Box sollte eine Öse zum Aufhängen, eine Tür mit Nägeln als Scharniere und eine Nagel zum Verschließen haben. Die Zahl sollte erhaben auf der Tür sein. Insgesamt wurden 24 Boxen angefertigt.

Parametrisierbares Design mit OpenScad

In OpenSCAD werden 3D Modelle wie mit Programmcode beschrieben. Pro Teil der Box (Grundkörper mit Öse, Tür mit Schrift, beide Clipstücke) wurde ein Modul geschrieben, bei dessen Instantiierung auch wirklich der 3D Körper angelegt wird. Der Teil, in den der Türgriff einhakt heißt Clip, weil ursprünglich ein Verschlussclip geplant war, der aber zu leicht abbrach. Die Modularisierung macht das Design auch einfach: Um die Fassung für den Clip zu zeichnen, musste man nur einen Klotz zeichnen und den Türgriff abziehen. Leider sind alle Variablen in der Einheit Centimeter, obwohl der Slicer Millimeter erwartet. Deswegen wird das instantiierte Modul nochmal um Faktor 10 in jede Richtung hochskaliert. Nächstes Mal verwende ich einfach Fuß als Einheit.

Der Durchmesser der Löcher für die Nägel wurden mit einem Probedruck (ein Balken mit Löchern, Modul "test") erprobt. Dabei war wichtig, dass die Löcher auch die gleiche Richtung wie im späteren Druck hatten. Ein Loch in x oder y Richtung ist so genau, wie der Extruder vom Drucker verfahren werden kann, was verdammt genau ist. Aber ein Loch in z Richtung (senkrecht) braucht erstens Supportstrukturen und kann zweitens nur einen Durchmesser in vielfachen der gewählten Schichtdicke des Druckes haben. Löcher in z Richtung werden ungenauer. Bei diesem Druck wurde aber diese Richtung gewählt, weil dann das Innere der Box und insbesondere die Schrift keine Supportstrukturen brauchen, was schlecht aussehen würde.

OpenSCAD unterstützt das Anlegen von parametrisierbaren Modellen: Man kann Variablen mit gültigen Werten einführen und sehr einfach Schieberegler, Textfelder und Checkboxen anlegen, mit denen man dann in OpenSCAD den Wert einer Variable verändern kann und das Ergebnis sofort sieht. Das war praktisch für die 24 Boxen: Die Box wurde ein Mal parametrisierbar gezeichnet (Calender.scad) und dann wurde für jeden der 24 Tage ein Parametersatz angelegt, der die Zahl auf der Tür und die Boxgröße ändert (Calender.json). Die Datei mit den Parametersätzen kann auch in einem Texteditor bearbeitet werden. Das Skript (export.sh) ruft dann für jeden Parametersatz OpenSCAD zum Rendern auf, was für jeden der 24 Tage eine .stl Datei erzeugt.

Zwei Parameter veränder die Darstellung der Boxmodule: Eine Checkbox (production) steuert, ob die Box wie später zusammengebaut sichtbar ist, oder ob sie so gerendert wird, wie sie gedruckt werden soll. Ein zweiter Parameter (doorangle) steuert den Öffnungswinkel der Tür in der ersten Ansicht, damit man das Modell besser optisch prüfen kann.

Production.png

Die Teile in druckbarer Position

Assembled.png

Ansicht der fertig zusammengesetzten Box mit im 30° Winkel geöffneten Tür

Der Druck

Ein feines Profil mit Supportstrukturen wurde gewählt. Pro Druck konnten ca. 5 Boxen gedruckt werden. Es wird erst die erste Lage aller 5 Boxen gedruckt, dann die zweite von allen Boxen etc. Alternativ könnte man erst Box 1 fertig drucken, dann Box 2 erst anfangen und so weiter. Nachteil davon: Es besteht die Gefahr, dass der Extruder ein bereits gedrucktes Teil umschubst, während er das nächste Teil druckt. Vorteil: Der Extruder müsste nicht so oft zwischen Objekten springen. Dabei kann er bereits fertige Oberflächen ankratzen, was er zu verhindern versucht indem er vor solchen Bewegungen hochfährt (z-Hop) oder bereits fertige Elemente umfährt (prevent z-Hop). Trotzdem zieht der Extruder einen Plastikfaden hinter sich her, wenn er sich von der bereits gedruckten Oberfläche loslöst. Das kann man etwas verhindern, indem man den Extruder das Filament zurückziehen lässt, bevor er große Strecken zurücklegt (retract filament).

Retraction_Problem.jpg

Trotz Retraction kann man anhand der Fäden stellenweise sehen, wie der Extruder zwischen den Boxen gesprungen ist.

Nach dem Druck

After_Print.jpg

Boxen direkt nach dem Druck mit dem Brim, der Tür und Box verbindet. In die 12 kommt Tabasco. Einfach so.

Vom fertig gedruckten Teil muss der Brim (dünne Grundfolie, die für besseren Halt zuerst gedruckt wird) entfernt werden. Den hätte man hier auch weglassen können, weil die gedruckten Teile ohnehin glatt auf der Platte aufliegen. Außerdem hätte man die Genauigkeit senken können: Die Boxen sind rechteckig geformt und Schrift und Tür brauchen nur in x und y Richtung genaue Maße, weil sie liegend gedruckt werden. Eine gröbere Druckeinstellung mit größerer Schichtdicke hätte die Druckgeschwindigkeit erhöht, ohne das Ergebnis zu verschlechtern. Das sollte man im Kopf behalten. Nur weil man "coarse" auswählt, hält man nachher nicht gleich einen Pferdeapfel aus Plastik in der Hand, außer man braucht die genaue Auflösung in z Richtung. Bei einem stehenden Zylinder wäre das egal, aber bei einem liegenden Zylinder oder einer Kugel würde man den Unterschied sehen.

Außerdem ist die infill density von 20% schon recht robust, die Hälfte hätte wahrscheinlich auch funktioniert. Hinterher ist man immer schlauer :D

Resultat

100 Meter Filament später war das Projekt (am 4. Dezember, aber man kann nicht alles haben :D) fertig. Der Verschluss ist etwas schwergängig, aber die Toleranzen passen und die Box lässt sich gut öffnen und schließen.

Finished.jpg

Der fertige Adventskalender