Allgemein_Header_6

 

Parametrische Box

In diesem Projekt habe ich mich mal wieder auf Neuland vorgearbeitet.

Für ein Steckschlüsselset von Wiha (Wiha 333-91) brauchte ich eine passende Hülle, da die Originalschachtel eine schnöde Kiste aus Pappkarton ist, die in meinen Augen bestenfalls als Versandumverpackung durchgeht.

Wiha Steckschlüsselset

Auf der Suche nach eventuell passenden Boxen stieß ich auf das Design von Walter Hsiao auf Thingiverse. Er hat das Problem “den passenden Kasten für Irgendetwas drucken” fast perfekt gelöst. Über die Eingabe von Maßen für Breite, Tiefe und Höhe der zu druckenden Box und ein paar weiteren Parametern, wird das 3D-Modell mathematisch berechnet. Man spricht von einem parametrischen Design (engl. parametric). Klasse!

Um aus dem Programmcode eine fertige 3D-Konstruktion zu erhalten, benötigt man OpenSCAD. Das Programm hat einen integrierten Editor mit Syntaxcoloring, man kann aber genauso seinen Lieblingseditor verwenden. Die Syntax ist stark an C++ angelehnt, stellt man den Editor auf diese Sprache ein, passt das Coloring auch für z.B. Notepad++.

Als Neueinsteiger in Sachen OpenSCAD hatte ich ein kleine Lernkurve zu durchlaufen, aber nach Analyse von Walters Code und ein paar Kapiteln OpenSCAD Handbuch war der Rest gut machbar. Ein kleines Hindernis vor dem Erfolg ist für den geneigten C-Programmierer die Tatsache, dass OpenSCAD Codeblöcke mit geschweiften Klammern als in sich geschlossene Einheit betrachtet und Änderungen an einer Variablen innerhalb der Klammern nicht nach außen durchdringen. Es ist also beispielsweise nicht möglich, eine bereits definierte Variable in einer if()-Abfrage zu verändern und anschließend außerhalb der Klammern weiter zu verwenden. Daher musste ich für die beiden Zweige “Innenmaße” bzw. “Außenmaße” die Berechnungen doppelt ins Programm aufnehmen. Das schaut im Editor etwas sperrig aus, ist aber wohl nicht zu ändern.

Im Customizer von OpenSCAD können die gewünschten Parameter in diesem Formular eingegeben werden:

Customizer Formular in OpenSCAD

In der GUI wird das Design nach dem Rendern dargestellt, hier das Unterteil ohne Deckel:

In OpenSCAD gerendertes Design


Die Box besteht aus einem Unterteil und einem getrennten Deckel. Beide Teile halten durch Minimagnete zusammen, die Magnete dienen sowohl als Verschluss als auch als Scharnier, wobei die Scharnierfunktion wohl eher für kleine bis sehr kleine Boxen gedacht ist, denn mit übersichtlich kleinen Magneten, hier zwei Stück 3x2 mm je Aufnahme im Deckel und im Unterteil, ist deren Kraft zu klein, um den aufgeklappten Deckel als Lager in Schräglage zu fixieren. Der von mir angedachte Ersatz der hinteren Magnete durch M3 Schrauben erschien mir aber zu gefährlich, denn bei geöffnetem Deckel wirken große Hebel auf die Verbindung zwischen Deckel und Unterteil. Die Chance, dass die dünnen Wände um die Scharniere herum ausbrechen, ist groß. Also hat die Box jetzt einen abnehmbaren Deckel mit magnetischer Fixierung im geschlossenen Zustand wie von Walter vorgesehen.

Das Design wurde bereits von mehreren zehntausend Anwendern verwendet, um Boxen für die eigene Anwendung zu drucken, Hunderte davon sind als sogenannter Remix auf Thingiverse veröffentlicht. Natürlich passt keine der von mir daraufhin überprüften Boxen zu meinen Anforderungen, also ist selber parametrieren angesagt.

Der Wermutstropfen in meinem Fall: Ich habe lediglich die notwendigen Innenmaße für die gesuchte Box, das Programm von Walter benötigt aber die Außenabmessungen.

Durch Eingabe von meinen Werten und anschließende Messung des Ergebnisses im Slicer, konnte ich die zu berücksichtigende Differenz ermitteln und die Parameter für die Eingabemaske entsprechend anpassen. Das klappte nicht aufs Zehntel, da die entsprechenden Eingabemasken im Original keine Nachkommastellen akzeptierten, aber die Abweichung von Optimal war mit 0,6 mm in der Tiefe tragbar :)

Da mir der Weg über Generierung in OpenSCAD und anschließende Messung im Slicer aber zu umständlich erschien und mit dem Code von Walter bereits ein passendes Grundgerüst vorhanden ist, habe ich den Code so erweitert, dass man auswählen kann, ob die Innen- oder Außenabmessungen als Parameter zu berücksichtigen sind. Hier konnte ich dann die Parametereingabe auch auf eine Nachkommastelle einstellen.

Ich habe das erweiterte Programm als Remix auf Thingiverse hinterlegt, so dass potentielle Anwender mit dem gleichen Problem jetzt eine einfach anzuwendende Lösung an der Hand haben.


Das Resultat der Bemühungen im Slicer:

Box Bottom+Lid

Im richtigen Leben stellt sich die Box so dar:

Ansicht von oben

Die Strukturierung von Deckel und Boden kommt vom Druckbett des Ankermake M5C. Sieht sehr schick aus, wie ich finde :)

Scharnier oder Verschluss

Sitz des Magneten


Danke Walter für die exzellente Vorarbeit mit dem parametrischen Design!

 


Beim Aufruf dieser Funktion werden Daten an Google in USA übermittelt. Neben Ihrer IP-Adresse wird auch die URL der besuchten Seite übertragen.
Besucherzaehler

Besucher seit
25.11.2000