Anfängerleitfaden zu OpenSCAD: Programmierung von 3D-gedruckten Modellen

3D-Modellierung Software kann schwierig sein, wenn Sie nicht künstlerisch sind. OpenSCAD bietet Ihnen die Möglichkeit, Modelle speziell für den 3D-Druck zu entwickeln, wobei nur Code verwendet wird.

3D-Modellierung Software kann schwierig sein, wenn Sie nicht künstlerisch sind.  OpenSCAD bietet Ihnen die Möglichkeit, Modelle speziell für den 3D-Druck zu entwickeln, wobei nur Code verwendet wird.
Werbung

Wollten Sie schon immer Ihre eigenen 3D-Modelle entwerfen? Was ist mit dem 3D-Druck eines Teils, das Sie entworfen haben? Es gibt viele 3D-Modellierungsprogramme, aber diese können schwierig zu verwenden sein, wenn Sie nicht künstlerisch sind (wie ich). OpenSCAD bietet Ihnen die Möglichkeit, Modelle speziell für den 3D-Druck zu entwickeln, wobei nur Code verwendet wird . Mach dir keine Sorgen, wenn du auch nicht programmieren kannst, heute führe ich dich durch die Grundlagen.

Was ist OpenSCAD?

OpenSCAD ist ein kostenloser Solid-Computer-Aided-Design- Modellierer. Es ist für Windows, Mac und Linux verfügbar. Was unterscheidet es von vielen anderen Programmen ist, dass Sie Teile mit Code statt einer Maus entwerfen. Dies macht es sehr einfach, mathematische Berechnungen durchzuführen, Dimensionen in Variablen zu speichern, Teile zu ändern und vieles mehr.

Es gibt einige Faktoren, die beim 3D-Drucken von Modellen berücksichtigt werden müssen, aber viele von ihnen beziehen sich auf 3D-Druck-CAD-Modelle im Allgemeinen und nicht nur auf OpenSCAD-Designs. Wenn Sie mehr über 3D-Druck erfahren möchten, lesen Sie unsere Anleitung für Ultimate Anfänger. Ultimativer Anfängerleitfaden zum 3D-Druck Ultimativer Anfängerleitfaden zum 3D-Druck 3D-Druck sollte die neue "Industrielle Revolution" sein. Es hat noch nicht die Welt erobert, aber ich bin hier, um dir alles zu vermitteln, was du wissen musst, um loszulegen. Weiterlesen . Wenn Sie nach einem interaktiven Modellierer suchen, lesen Sie die Anleitung zum Erstellen von Objekten in Sketchup. Design & Build 3D Virtuelle Gebäude & Objekte mit Google SketchUp Design & Build 3D Virtuelle Gebäude & Objekte mit Google SketchUp Google SketchUp ist das Backbone-Modellierungsprogramm für Google BuildingMaker, mit dem Grafikdesigner Gebäudeentwürfe an Google senden können, um sie dem offiziellen Google Earth-Bildmaterial hinzuzufügen. Weiterlesen .

Einrichten

Gehen Sie zuerst zur Downloadseite und finden Sie eine Version von OpenSCAD, die für Ihr Betriebssystem geeignet ist. Ich benutze Mac OS, aber diese OpenSCAD-Prinzipien gelten für alle Systeme.

Einmal installiert, gehen Sie voran und öffnen Sie es. Sie werden mit diesem Startmenü angezeigt werden:

OpenSCAD Startmenü

Dies zeigt Ihnen die Dateien, die Sie zuletzt geöffnet haben, und gibt Ihnen die Möglichkeit, einige Beispiele zu laden. Fühlen Sie sich frei, einige der Beispiele zu sehen, aber ich fand diese Dinge verwirrender beim ersten Start. Erstellen Sie für dieses Lernprogramm eine neue Datei, indem Sie auf die neue Schaltfläche klicken.

Sobald diese geöffnet ist, wird Ihnen diese nackte Oberfläche präsentiert:

OpenSCAD Schnittstelle

Dies ist in drei Hauptbereiche unterteilt. Auf der linken Seite ist Ihr Editor und Menü. Hier schreiben Sie Ihren Code. Dieser Code enthält noch keinen Code, da Sie eine neue Datei erstellen. Ganz oben befinden sich einige Menüschaltflächen zum Ausführen grundlegender Aufgaben wie Laden, Speichern, Rückgängig machen usw.

OpenSCAD-Editor

Die untere rechte Seite ist die Konsole . Dies zeigt Ihnen Fehler beim Erstellen des Modells.

OpenSCAD-Konsole

Der letzte Abschnitt ist die Hauptschnittstelle oben rechts. Hier können Sie mit Ihrem Modell interagieren, aber Sie können es hier nicht bearbeiten (Sie werden Code schreiben, um dies zu tun).

OpenSCAD Schnittstelle

Am unteren Rand dieser Hauptschnittstelle befinden sich mehrere Schaltflächen. Diese ermöglichen Ihnen in erster Linie, Ihr Design auf verschiedene Arten zu betrachten.

Gehen Sie weiter und speichern Sie eine neue Datei, indem Sie im Editor-Menü auf die Schaltfläche Speichern klicken oder auf Datei > Speichern gehen .

Die Grundlagen

Die meiste Zeit arbeitet OpenSCAD durch Addition und Subtraktion von einfachen Formen. Sie können auf diese Weise sehr komplexe Modelle bauen, also springen wir gleich rein.

Hier ist die erste Form, eine einfache Box:

OpenSCAD Einfache Box

Und hier ist der Code, um das zu produzieren:

cube(); // create a cube 

Damit Ihr Code ausgeführt und das Modell erstellt werden kann, müssen Sie eine Vorschau anzeigen. OpenSCAD führt dies standardmäßig bei jedem Speichern aus, oder Sie können F5 drücken, um eine Aktualisierung zu erzwingen. Experimentieren Sie mit dem Bewegen im 3D-Raum, indem Sie die linke oder rechte Maustaste gedrückt halten.

Nun, das erzeugt einen schönen Würfel, aber ohne irgendwelche Dimensionen ist es nicht sehr nützlich. OpenSCAD funktioniert nicht in einem bestimmten Messsystem, stattdessen sind Einheiten alle relativ zueinander. Sie können eine Box 20 x 10 erstellen, und es liegt an jedem anderen Programm (wie Ihrem 3D-Druck-Slicer), diese zu interpretieren, sei es metrisch oder imperial. Es bietet tatsächlich eine große Flexibilität.

Lassen Sie uns Ihrem Würfel einige Dimensionen hinzufügen. Sie übergeben dabei Parameter an die Cube- Methode:

 cube(size = [10, 20, 30]); // rectangle 

Die Werte 10, 20 und 30 repräsentieren die Größe des Würfels in der X-, Y- und Z- Achse. Beachten Sie, dass dadurch ein viel größeres Rechteck entstanden ist:

OpenSCAD Rechteck

Standardmäßig zeichnet OpenSCAD Komponenten von links unten. Sie können dies anpassen, indem Sie den Parameter center auf true setzen . Hier ist der Code, um das mit dem Rechteck zu tun:

 cube(size = [10, 20, 30], center = true); // rectangle centered 

Und so sieht es aus:

OpenSCAD Rectangle Centered

Das Zentrieren von Objekten funktioniert gut für einfache Formen, macht aber die Sache für nicht symmetrische Objekte kompliziert. Sie müssen entscheiden, welche Methode für Sie am besten funktioniert.

Weiter zu einer komplexeren Form, hier ist ein Zylinder :

OpenSCAD Zylinder

Hier ist der Code, um es zu erstellen:

 cylinder(d = 10, h = 10, center = true); // cylinder 

Im Gegensatz zu Würfeln werden Zylinder automatisch in der Mitte der X- und Y-Achse gezeichnet. Der Parameter d steht für den Durchmesser (Sie können stattdessen den Radius übergeben). Der h- Parameter ist die Höhe. Hier stimmt etwas nicht. Dieser Zylinder sieht ziemlich "blockartig" aus. Sie müssen die Anzahl der am Umfang gezeichneten Flächen erhöhen. Dies ist einfach - fügen Sie dem Zylindercode den folgenden Parameter hinzu.

 $fn = 100 

So wird die Zylinderdefinition:

 cylinder(d = 10, h = 10, center = true, $fn = 100); 

So sieht das aus:
OpenSCAD Hochauflösender Zylinder

Dies erhöht die Anzahl der Flächen, die zum Erstellen von Kreisen benötigt werden - 100 ist ein guter Ausgangspunkt. Beachten Sie, dass dies die Rendering-Zeiten, insbesondere bei komplexen Modellen, erheblich verlängert. Daher ist es am besten, dies so lange zu belassen, bis Sie mit dem Entwerfen fertig sind.

Es ist einfach, Transformationen auf Formen anzuwenden. Sie müssen spezielle Methoden aufrufen, bevor Sie Ihre Shapes erstellen. So drehen Sie den Zylinder mit der Rotationsmethode :

 rotate(a = [0, 90, 0]) cylinder(d = 10, h = 10, center = true); // rotated cylinder 

Die an den a- Parameter übergebenen Werte repräsentieren den Drehwinkel der X-, Y- und Z-Achse. Hier ist das Ergebnis:

OpenSCAD Rotation

Eine weitere sehr nützliche Funktion ist das Übersetzen . Dadurch können Sie Objekte im 3D-Raum verschieben. Noch einmal müssen Sie die Bewegungsmenge für jede Achse eingeben. Hier ist das Ergebnis:

OpenSCAD Übersetzen

Hier ist der Code:

 translate(v = [0, 25, 0]) cylinder(d = 10, h = 10, center = true); // translated cylinder 

Das Verständnis der Übersetzungsmethode ist eines der wichtigsten Dinge, die Sie tun können. Es ist erforderlich für die Gestaltung der komplexesten Designs.

Eine andere nützliche Form ist schließlich eine Kugel :

OpenSCAD-Kugel

Hier ist der Code:

 sphere(d = 100); 

Genau wie der Zylinder können Sie dies mit dem obigen $ Fn- Code glätten.

Erweiterte Codierung

Nun, da Sie die Grundlagen kennen, schauen wir uns einige fortgeschrittene Fähigkeiten an. Beim Entwurf eines Teils hilft es, darüber nachzudenken, wie es aus kleineren Formen und Objekten bestehen könnte. Sie müssen das nicht tun, und Sie können Dinge "machen", wie Sie gehen, aber es hilft Ihnen, einen groben Plan zu haben - auch wenn es nur in Ihrem Kopf ist.

Lassen Sie uns eine erweiterte Form erstellen: einen Würfel mit einem ausgehöhlten Kugelinneren. Erstellen Sie einen Würfel und eine Kugel, deren Mittelpunkt auf "Wahr" gesetzt ist. Subtrahieren Sie voneinander mit der Differenzmethode :

 difference() { // subtraction cube(size = [50, 50, 50], center = true); // outer cube sphere(d = 65, center = true); // inner sphere } 

Hier ist das Ergebnis:

OpenSCAD Erweiterter Würfel

Experimentieren Sie mit dem Durchmesser ( d- Parameter) der Kugel und sehen Sie, was passiert.

In OpenSCAD gibt es normalerweise viele Möglichkeiten, dieselbe Aufgabe zu erledigen. Wenn Sie einen Groove in einem Cube möchten, können Sie einen anderen Cube von ihm abziehen oder zwei weitere darüber hinzufügen. Es spielt normalerweise keine Rolle, auf welche Weise etwas gemacht wird, aber je nach Komplexität des Teils kann es leichter sein, zuerst bestimmte Manipulationen vorzunehmen.

So erstellen Sie einen Kanal in einem Cube Anstatt einen anderen Würfel zu verwenden, erzeugt die Verwendung eines Zylinders einen gerundeten Kanal. Beachten Sie, wie die Differenzmethode erneut verwendet wird und wie die Übersetzungs- und Rotationsmethoden zum Bearbeiten der Formen verwendet werden. Die Verwendung der rotate- Methode macht Transformationen oft schwierig, also spielen Sie mit den Parametern herum, bis Sie das gewünschte Ergebnis erzielen. Hier ist der Code:

 difference() { // subtraction cube(size = [50, 150, 50]); // outer cube translate(v = [25, 150, 50]) rotate(a = [90, 0, 0]) cylinder(d = 40, h = 150); // cylinder channel } 

So sieht das aus:

OpenSCAD-Kanalwürfel

Sie wundern sich vielleicht, was all die grünen Sachen sind. Dies ist hier, weil das 3D-Modell gerade eine Vorschau ist. Um dies zu beheben, drücken Sie F6, um das Modell vollständig zu rendern. Dies kann je nach Komplexität einige Zeit dauern. Die Vorschau ( F5 ) ist normalerweise gut genug während der Arbeit. So sieht der finale Rendering aus (mit $ fn auf 100 gesetzt):

OpenSCAD Hochauflösender Kanalwürfel

Hier ist ein weiteres fortgeschrittenes Beispiel. Sagen wir, du wolltest etwas mit einem Bolzen. Das Erstellen eines Lochs ist mit dem Zylinder einfach, aber was ist, wenn Sie möchten, dass der Schraubenkopf für Senkschrauben bündig montiert wird? Sie könnten einfach einen großen Zylinder für den Schraubenkopf erstellen, aber das sieht nicht besonders gut aus. Die Lösung ist eine Fase, die Sie mit der Zylindermethode erstellen können. Der Trick hier ist, zwei Durchmesser zu spezifizieren - d1 und d2 . Mache diese verschiedenen Größen und OpenSCAD erledigt den Rest.

Da ich Brite bin, verwende ich hier metrische Abmessungen für eine M5-Senkschraube. Sie können dies leicht anpassen, um zu den Fixierungen zu passen, die Sie verwenden möchten. Hier ist der Code:

 $fn = 100; // bolt settings m5_clearance_diameter = 5.5; m5_head_clearance_diameter = 11; m5_head_depth = 5; difference() { // subtract cube(20, 20, 20); bolt_hole(10, 10, 20); bolt_bevel(10, 10, 15); } module bolt_hole(x, y, height) { /* M5 hole at 90 deg. */ translate(v = [x, y, 0]) cylinder(d = m5_clearance_diameter, h = height); } module bolt_bevel(x, y, z) { // M5 bevel translate(v = [x, y, z]) cylinder(d2 = m5_head_clearance_diameter, d1 = m5_clearance_diameter, h = m5_head_depth); } 

Beachten Sie, wie die Schraubenabmessungen in Variablen gespeichert werden? Dies erleichtert die Programmierung und Wartung erheblich. Eine Methode, auf die Sie vielleicht noch nicht gestoßen sind, ist das Modul . Auf diese Weise können Sie einen Codeabschnitt definieren, der jederzeit ausgeführt werden kann. In Wirklichkeit ist dies eine Funktion . Sie sollten Module und Variablen für jede komplexe Form verwenden, da sie das Lesen erleichtern und Änderungen schneller vornehmen. So sieht die Fase aus:

OpenSCAD-Fase

Schauen wir uns ein letztes Beispiel an. Angenommen, Sie wollten eine Reihe von Löchern um einen Kreis herum erzeugen. Sie könnten alle diese Module manuell messen, übersetzen und drehen, aber selbst mit Modulen wäre dies mühsam. Hier ist das Endergebnis, 10 Zylinder verteilt auf einen Kreis:

OpenSCAD Kreisverteilung

Hier ist der Code:

 $fn = 100; number_of_holes = 10; for(i = [1 : 360 / number_of_holes : 360]) { // number_of_holes defines number of times this code runs make_cylinder(i); } module make_cylinder(i) { // make cylinder and even distribute rotate([0, 0, i]) translate([10, 0, 0]) cylinder(h = 2, r = 2); } 

Dieser Code ist einfacher als Sie erwarten würden. Über eine for- Schleife wird das make_cylinder- Modul zehnmal aufgerufen . Da 360 Grad in einem Kreis und 360/10 = 36 sind, muss jeder Zylinder in Schritten von 36 Grad gedreht werden. Bei jeder Iteration dieser Schleife wird die i- Variable um 36 erhöht. Diese Schleife ruft das Modul make_cylinder auf, das einfach einen Zylinder zeichnet und entsprechend den von der Schleife übergebenen Graden positioniert. Sie können mehr oder weniger Zylinder zeichnen, indem Sie die Variable " number_of_holes" ändern. Sie können jedoch auch den Abstand anpassen, wenn Sie dies tun. So sehen 100 Zylinder aus, sie überlappen sich geringfügig:

OpenSCAD 100 Kreisverteilung

Exportieren

Jetzt wissen Sie, wie Sie in OpenScad programmieren können. Es ist ein letzter Schritt erforderlich, bevor Sie Ihre Modelle in 3D drucken können. Sie müssen Ihr Design von OpenSCAD in das Standard- STL- Format exportieren, das von den meisten 3D-Druckern verwendet wird. Glücklicherweise gibt es einen Export zur STL-Taste: Editor Menu > Oben rechts :

OpenSCAD Export STL

Das war `s für heute. Sie sollten jetzt über ausgezeichnete Kenntnisse von OpenSCAD verfügen - all das komplexe Zeug baut auf diesen Grundlagen auf, und viele komplexe Formen sind wirklich viele einfache Formen kombiniert.

Sehen Sie sich einige unserer 3D-Druckprojekte an und versuchen Sie, die Teile in OpenSCAD neu zu erstellen:

  • 3D-Ausdrucke für Tabletop Fantasy RPGs Die besten 3D-Ausdrucke für Tabletop Fantasy RPGs Die besten 3D-Ausdrucke für Tabletop Fantasy RPGs Wenn Sie eine immersive Erfahrung für Rollenspiele bevorzugen, gibt es eine neue Art, es zu tun: Verwenden Sie 3D-Druck, um physische Gelände Teile zu erstellen Miniaturen. Weiterlesen
  • Benutzerdefinierte Shortcut-Schaltflächen Machen Sie Ihre eigenen benutzerdefinierten Shortcut-Schaltflächen mit einem Arduino Machen Sie Ihre eigenen benutzerdefinierten Shortcut-Schaltflächen mit einem Arduino Das bescheidene Arduino kann eine Menge Dinge tun, aber wussten Sie, dass es eine USB-Tastatur emulieren kann? Mit dieser einfachen Schaltung können Sie lange Tastaturkürzel zu einem einzigen benutzerdefinierten Tastenkürzel kombinieren. Weiterlesen
  • Elektronische D20 Rolle im Stil mit dieser DIY elektronische D20 Würfelrolle im Stil mit dieser DIY elektronische D20 sterben Willst du etwas ein wenig einzigartig bei Ihrem nächsten Gaming Meetup? Werfen Sie einen Blick auf diese DIY elektronische D20, mit benutzerdefinierten Grafiken für kritische Treffer und Misses. Weiterlesen
  • Spiele, die du 3D drucken kannst 6 coolste Spiele, die du zu Hause in 3D drucken kannst 6 coolste Spiele, die du zu Hause in 3D drucken kannst Jeder weiß über 3D-Drucker Bescheid, aber was du vielleicht nicht weißt, ist, wie viel Spaß 3D-Druck macht und wie viel Spaß er erzeugen kann deine ganze Familie. Wir sprechen 3D-gedruckte Tabletop-Spiele. Weiterlesen

Hast du heute neue Tricks gelernt? Was ist deine Lieblings-OpenSCAD-Funktion? Werden Sie bald von einem anderen CAD-Tool wechseln? Lass es uns in den Kommentaren wissen!

In this article