Wenn Sie beim Gedanken an 3D-Modellierung sofort Bilder von komplizierten Klick-Orgien
in teueren CAD-Programmen vor Augen haben, dann aufgepasst: Es geht auch anders – und das sogar
ganz ohne Mausakrobatik! Willkommen bei OpenSCAD, der Programmiersprache für alle, die lieber
tippen als zeichnen. Mit OpenSCAD verwandeln Sie Codezeilen in präzise 3D-Modelle, die sich auf
Knopfdruck in STL exportieren und dann auf Ihrem 3D-Drucker drucken lassen. Klingt nerdy?
Mag sein. Aber auch ziemlich genial, vor allem, wenn man bedenkt, dass die Möglichkeiten fast
grenzenlos sind und das Programm kostenlos. In diesem Artikel werfen wir einen Blick darauf,
warum OpenSCAD der Geheimtipp für 3D-Druck-Enthusiasten ist und wie Sie damit im Handumdrehen
kreative, funktionale und perfekt angepasste Designs erstellen können.
Legen wir los.
Installation
Für die Installation von OpenSCAD
gibt es je nach Betriebssystem unterschiedliche Methoden:
Windows: Die einfachste Methode ist das Herunterladen der Installationsdatei von der offiziellen OpenSCAD-Website
. Alternativ kann man OpenSCAD auch über die Microsoft Store App installieren, was die zukünftigen Updates vereinfacht.
macOS: Auch hier lässt sich OpenSCAD direkt von der Website
laden. Das DMG-Paket wird heruntergeladen und kann durch einfaches Ziehen der App ins Anwendungen-Verzeichnis installiert werden. Alternativ steht auch ein Homebrew-Cask zur Verfügung, das die Installation per brew install openscad ermöglicht.
Linux: Für Debian- und Ubuntu-basierte Systeme
ist die Installation über den Paketmanager am einfachsten: sudo apt install openscad. Auf Fedora-basierten Systemen funktioniert sudo yum install openscad. Alternativ kann man OpenSCAD über Snap oder Flatpak installieren, was auf vielen Distributionen funktioniert und Versionen bereitstellt, die oft schneller aktualisiert werden.
OpenSCAD kann auch als AppImage für Linux heruntergeladen werden, was eine plattformunabhängige Möglichkeit bietet. Diese Datei wird heruntergeladen, ausführbar gemacht (chmod u+x ) und direkt gestartet. Für alle Installationsvarianten und Abhängigkeiten, die je nach System benötigt werden, lohnt sich ein Blick in die offizielle Dokumentation
.
Erste Schritte
Nachdem OpenSCAD erfolgreich installiert wurde, kann man direkt mit dem Programmieren von
3D-Modellen beginnen. Anders als in herkömmlichen CAD-Programmen wird hier kein Design gezeichnet,
sondern durch Code in einem Editor-Fenster beschrieben. Das Ergebnis des Codes wird in einem
Vorschaufenster in Echtzeit angezeigt, was die Arbeit besonders effizient und präzise macht.
Oberfläche kennenlernen: Nach dem Start von OpenSCAD sieht man die wichtigsten Bereiche des Programms.
Editorfenster: Hier wird der Code geschrieben, der das Modell beschreibt.
3D-Ansichtsfenster: Eine Vorschau des Modells, die durch die Taste F5 aktualisiert wird.
Konsole: Zeigt Fehler und Rückmeldungen zur Code-Ausführung an, was bei der Fehlersuche hilft.
Ein einfaches Objekt erstellen: Man kann beispielsweise mit einem einfachen Befehl wie cube([10, 10, 10]); beginnen.
Dieser Code erzeugt einen Würfel mit einer Kantenlänge von 10 Einheiten in den X-, Y- und Z-Richtungen. Mit F5 wird der
Code ausgeführt und das Ergebnis im Vorschaubereich angezeigt.
Transformationen anwenden: OpenSCAD bietet verschiedene Möglichkeiten, Objekte zu manipulieren. Der Befehl translate([20, 0, 0])
verschiebt das nachfolgende Objekt um 20 Einheiten entlang der X-Achse:
translate([20, 0, 0]) {
cube([10, 10, 10]);
}
Kombinieren von Objekten: Für komplexere Modelle kann man Objekte kombinieren. Die Funktionen union(), difference() und intersection() erlauben es,
mehrere Teile zu vereinen, voneinander abzuziehen oder die Schnittmenge zu bilden. Zum Beispiel kann eine Kugel und ein Würfel kombiniert werden:
Parameter nutzen: OpenSCAD erlaubt die Nutzung von Variablen, um Größe und Position der Objekte flexibel zu gestalten,
was bei der Erstellung parametrischer Modelle hilfreich ist:
Mit diesen Grundlagen kann man sofort loslegen und einfache 3D-Modelle erstellen.
Das OpenSCAD-Tutorial
auf Wikibooks ist eine umfangreiche Einführung für Einsteiger und Fortgeschrittene.
Es behandelt die grundlegenden Prinzipien der Programmierung von 3D-Modellen in OpenSCAD und bietet
Schritt-für-Schritt-Anleitungen zu den wichtigsten Befehlen und Funktionen.
Praxis
Im vorliegenden Praxisbeispiel wollte ich einen einfachen Standfuß für eine Plexiglasplatte konstruieren.
Ein Ansatz für die Konstruktion ist, ein Polygon mit dem Schnitt des Fußes zu erstellen und dieses dann
zu extrudieren. Das ganze sollte gleich von Anfang an parametrisch sein, um es später einfach anpassen
zu können.
Eine weitere Möglichkeit besteht darin, die Grundform des Fußes zu erzeugen und danach die Nut
durch Differenzenbildung zu erzeugen. Dieser Ansatz ist etwas einfacher zu verstehen und zu
modifizieren, da die Nut als eigenständiges Objekt betrachtet wird.
Allerdings sehen wir im Code einen kleinen Trick, um die Nut auch wirklich durchgehend auszuschneiden:
wir führen ein epsilon ein, das die Differenzbildung sicherstellt, indem es die Nut minimal über die
Oberfläche hinausragen lässt. Dieser Trick ist notwendig, da OpenSCAD bei “zu exakten” Schnitten Probleme
mit geometrischen Unklarheiten hat.
Rendering und Export
Nachdem das Modell erstellt wurde, kann es gerendert und exportiert werden. Der Rendering-Prozess
erzeugt das Modell in hoher Qualität und zeigt es in der Vorschau an. Der Export erfolgt in das
STL-Format, das von den meisten 3D-Druckern unterstützt wird.
Mit der STL-Datei kann das Modell mit Cura oder einem anderen Slicer in gcode für den 3D-Drucker umgewandelt werden.
Und am Ende haben wir das gewünschte Ergebnis dann in der Hand:
With a little help from AI…
Und es wird noch besser: Da das Modell nun mit Code erstellt wird, kann uns KI, z.B. ChatGPT, dabei helfen,
diesen Code für unser Modell aus einer Beschreibung in natürlicher Sprache zu generieren!
Hier ein Beispiel: für eine 16x16 Neopixel LED-Anzeige benötigen wir ein Gitter, das die einzelnen
LEDs voneinander trennt, damit auf der mattierten Plexiglas-Oberfläche die einzelnen LEDs besser
sichtbar sind. Wir könnten unsere Anforderung dafür so beschreiben:
Für eine 16x16 LED Anzeige benötige ich ein Gitter, das die LEDs voneinander trennt.
Erstelle den OpenSCAD-Code für ein 16x16-Gitter, bestehend aus 16x16 ausgesparten Zellen,
die von Stegen voneinander getrennt sind. Das Gitter soll 5 mm hoch sein, die Innenabmessungen
jeder Zelle 10 mm x 10 mm, die Stege zwischen den Zellen sollen 0,5 mm breit sein.
Der Rahmen außen soll 3 mm stark sein.
Bitte parametrisiere die jeweiligen Werte per Variablen, so dass sie leicht änderbar sind.
Nutze den Espilon-Trick um sicherzustellen, dass die Zellen auch wirklich durchgehend ausgespart sind.
Das Ergebnis überzeugt:
Auch hier helfen uns die Prinzipien und Best Practices des Prompt Engineering:
Zieldefinition: Klar und eindeutig definieren, was erreicht werden soll (und das ist oft gar nicht so einfach).
Kontext: Relevante Hintergrundinformationen bereitstellen, ggf. für welchen Zweck benötige ich das Modell.
Klarheit: Vermeiden von Mehrdeutigkeit durch präzise Sprache - relevante Details und Anforderungen klar benennen.
Details: Spezifische Anweisungen, um das Ergebnis einzugrenzen, ggf. Hinweise wie das Ergebnis erreicht werden soll.
Erwartetes Format: Klar spezifizieren, welches Format oder welche Struktur das Ergebnis haben soll - in diesem Fall OpenSCAD.
Meist muss man die Beschreibung noch iterativ verfeinern, um das gewünschte Ergebnis zu erhalten,
da die Beschreibung in natürlicher Sprache oft nicht präzise genug ist bzw. vorher nicht erkenntlich
ist, welche Details relevant sind bzw. dass die Beschreibung missverständlich sein kann.
Die Modellierung per Code in OpenSCAD hat damit noch einen weiteren Vorteil: die Möglichkeit der Erstellung
von Modellen durch die Beschreibung in natürlicher Sprache, die wir dann mit der Hilfe von KI in den Code
der Modelle übertragen können.
Fazit
OpenSCAD ist ein mächtiges Werkzeug für alle, die gerne programmieren und 3D-Modelle erstellen. Die
Kombination aus Code und Vorschau ermöglicht eine schnelle und präzise Modellierung, die besonders
für parametrische Designs und Prototypen geeignet ist. Die Lernkurve ist zwar etwas steiler als bei
herkömmlichen CAD-Programmen, aber die Möglichkeiten sind nahezu unbegrenzt. Mit etwas Übung und
Kreativität lassen sich erstaunliche Modelle erstellen, die manuell nur aufwendig zu modellieren wären.
Zudem werden die Modelle als Code gespeichert, der auch in einem Versionskontrollsystem wie Git
perfekt verwaltet werden kann. Somit lassen sich auch Änderungen und Varianten leicht nachvollziehen.
Probieren Sie es aus und lassen Sie Ihrer Fantasie freien Lauf!
Alex Bloss - Leiter attempto-Lab.
Kreativer Kopf, Innovator, kritischer Denker, Entwickler, praktischer Architekt, CTO, Trend Scout und neugieriger Entdecker mit mehr als zwanzig Jahren Erfahrung.
Welche Auswirkungen hat die KI auf die Arbeit agiler Teams in der Software-Entwicklung? Werden wir durch Tools ergänzt oder übernimmt Agent Smith? Wir verschaffen uns einen Überblick über die aktuelle Entwicklung und Trends in der KI und wie agentenbasierten Workflows unsere Arbeit verändern könnten.