This post is also available in:
Ich bin letztens bei der Recherche zu einem Blog Post auf die Frage gestoßen, ob man programmieren lernen muss, um 3D drucken zu können. Und die Frage nach den Programmierkenntnissen hat, wenn es auf den ersten Blick auch nicht so scheinen mag, durchaus seine Berechtigung.
Muss ich also Software entwickeln können, um einen 3d Drucker bedienen zu können? Nein, um 3D drucken zu können ist es nicht notwendig programmieren zu lernen oder gelernt zu haben. Weder die Bedienung des Druckers, noch das Erstellen von Designs erfordern Programmiererfahrung. Dennoch bieten grundsätzliche Programmierkenntnisse die Möglichkeit der Verwendung weiterer Tools.
Grundsätzlich lässt sich ein 3D Drucker sehr gut ohne Programmiererfahrung bedienen. Es ist und bleibt eine sehr visuelle Tätigkeit. Beim Bau eines 3D Druckers oder wenn du deine 3D Modelle per Skriptsprache erstellen möchtest, können Programmierkenntnisse hingegen durchaus hilfreich sein.
Ist es notwendig programmieren zu lernen, um 3D drucken zu können?
Nein, weder die Bedienung des 3D Druckers, noch das Erstellen von 3D Modellen oder deren Aufbereitung für den Druck erfordern unbedingt die Kenntnisse einer Programmiersprache. Es kann aber an manchen Stellen im Ablauf vor Vorteil sein programmieren zu können.
Die 3D Designs werden in der Regel mit CAD Tools erstellt. Hier gibt es Einsteigertools wie Tinkercad, aber auch fortgeschrittene oder professionelle Tools, wie z.B. Fusion 360 oder Solidworks. Die Liste der genannten Tools ist jedoch keineswegs vollständig.
Die erste Bestätigung, dass sich durch Erfahrungen in der Programmierung zusätzliche Möglichkeiten für dich auftun könnten, kommt gleich hier. Wenn du Programmieren kannst, dann steht dir nur nicht die Möglichkeit zur Verfügung 3D Modelle zu modellieren, sondern auch die Möglichkeit diese Modelle per Skript zu programmieren. Das kannst du mit z.B. mit Googles OpenSCAD. Ich selbst verwende OpenSCAD zum Erstellen meiner Schlüsselanhänger und Kabelclips in meinem Shop.
Wenn du deine 3D Modelle per Slicer für den Druck aufbereiten möchtest, dann benötigst du hier nicht zwangsläufig Programmierkenntnisse. Die verschiedenen Einstellungen werden alle per Dropdown Menüs, Text- oder Optionsfelder gesetzt.
Viele Slicer bieten dir aber zusätzlich die Möglichkeit per sogenanntem GCODE den Drucker bzw. den Druckprozess davor, währenddessen oder danach zu beeinflussen. Der GCODE sind im Wesentlichen die Anweisungen zur Steuerung des Druckers. Hier findest du Angaben wie heize die Düse auf, heize das Druckbett auf, extrudiere so und so viel Material, bewege die X-Achse mit der Geschwindigkeit X zu Position Y, usw.
Wenn du hier grundsätzliche Erfahrungen in der Programmierung hast, dann tust du dir hier definitiv leichter. Aber auch als erfahrener Programmierer, musst du dich zuerst in den GCODE Befehlen zurechtfinden. Aber das fällt dir mit entsprechender Erfahrung definitiv leichter.
Die meisten Drucker bieten ein grafisches Interface, dass sich recht einfach bedienen lässt. Es gibt aber auch die Möglichkeit deinen Drucker oder mehrere Drucker mit einem Druckserver wie Octoprint zusammenzuführen und über einen Raspberry Pi zu verwalten. Um so einen Druckserver zu installieren, zu konfigurieren und zu verwalten, ist es zwar ebenfalls nicht zwangsläufig notwendig programmieren zu können, aber auch hier tust du dir definitiv um einiges leichter.
Und zu guter Letzt ist da dann noch die Fehlersuche. Beim Programmieren verbringst du sehr viel Zeit damit Fehler zu suchen und zu korrigieren. Du lernst also mit der Zeit analytisch zu denken. Das heißt, mit der entsprechenden Programmiererfahrung, wirst du dir bei der Fehlersuche und -behebung sehr wahrscheinlich um einiges leichter tun.
Also, noch einmal zusammengefasst. Nein, es ist nicht unbedingt notwendig programmieren zu können, nichtsdestotrotz erleichtern Programmierkenntnisse und ein wenig technisches Verständnis die Fehlersuche und vor allem auch die Problemlösung, wenn mal etwas in der Druckaufbereitung oder beim Druck selbst nicht funktioniert.
Welche Vorteile habe ich beim 3D Druck, wenn ich programmieren kann?
Allein dadurch, dass du programmieren kannst, ergeben sich jetzt keine unbedingten Vorteile in Bezug auf den 3D Druck. Weder deine Designs, noch deine Ausdrucke werden dadurch irgendwie besser. Eventuell fällt es dir dadurch leichter dich mit neuen Programmen und technischen Begrifflichkeiten bei der Konfiguration des Slicers auseinanderzusetzen.
Die Vorteile durch grundsätzliche Kenntnisse der Programmierung sind also eher im Umfeld des 3D Drucks zu suchen. Das heißt, dir steht u.a. mindestens eine zusätzliche Möglichkeit zum Erstellen von 3D Modellen zur Verfügung und du tust dir eventuell beim Finden von Fehlern etwas leichter.
Wo du möglicherweise ebenfalls einen Vorteil haben könntest ist, wenn du die GCODE Datei öffnen und bearbeiten möchtest. Das kann notwendig sein, um z.B. den Druck aus welchen Gründen auch immer an einer bestimmten Stelle zu pausieren.
Muss ich programmieren können, um einen 3D Drucker zu konfigurieren?
Hier muss man unterscheiden was unter konfigurieren zu verstehen ist. Ist es in Bezug auf die Druckerkonfiguration zu verstehen, also das Änderung etwaiger Einstellungen eines grundsätzlich laufend Druckers oder auf die Konfiguration des Slicers im Zuge der Druckvorbereitung, dann ist die Antwort eher zu verneinen. Wahrscheinlich tust du dir mit einigen technischen Begriffen leichter und verstehst den Zusammenhang etwaiger Optionen leichter, das war’s dann aber auch schon wieder.
Wenn du jedoch planst einen eigenen 3D Drucker zu bauen, dann ist es durchaus ratsam, zumindest ansatzweise etwas von der Softwareentwicklung zu verstehen. Die diversen zur Verfügung stehenden Drucker-Firmware sind zwar grundsätzlich fertig entwickelt, du musst aber meistens trotzdem zumindest ein oder zwei Dateien bearbeiten, in welchen du die für deinen Drucker zutreffenden Konfigurationen vornimmst.
Wie erstelle ich eigene 3D Modelle ohne programmieren?
Das Erstellen von 3D Modellen passiert in schätzungsweise 98% der Fälle ohne programmieren. Die Modelle werden üblicherweise gezeichnet. Dazu gibt es unterschiedlichen Methoden.
Wenn du z.B. Tinkercad verwendest, dann hast du eine Auswahl an 3-dimensionalen Objekten zur Verfügung. Diese verbindest du miteinander oder schneidest das eine Objekt aus dem anderen aus und erstellst so Schritt für Schritt dein neues Objekt.
Du kannst aber auch z.B. mit Fusion 360 arbeiten und entweder wie bei Tinkercad Objekte verwenden, um andere Objekte zu erstellen, du kannst aber auch 2D Skizze zeichnen und aus diesen dann 3D Modelle erstellen. Du kannst damit aber auch komplett Freiform-Modellieren. Das heißt, du hast ein in sogenannte Splines unterteiltes Modell und kannst die einzelnen Splines drücken, ziehen oder quetschen und damit das Modell verformen.
Wie erstelle ich Modelle mit programmieren?
Mir ist hierzu eigentlich nur OpenSCAD bekannt. Korrekterweise müsste man auch noch OpenJSCAD erwähnen. Das ist aber im Grunde nichts anderes bzw. sehr, sehr ähnlich zu OpenSCAD, lässt sich jedoch im Browser ausführen und somit in deine Homepage einbinden.
Du entwirfst bei dieser Art des Designs dein Modell, indem du mit bestimmten Befehlen in einem Skript z.B. einen Würfel oder einen Zylinder in einer definierten Größe erstellst. Die Größe übergibst du als Parameter. Mit weiteren Befehlen kannst du dann diese Objekte miteinander verbinden oder voneinander subtrahieren.
Du kannst damit aber auch dynamische Skripte erstellen, indem du Eingabeparameter definierst. Das heißt, der Code für das zu erstellende Objekt bleibt immer gleich, das Zielobjekt hängt jedoch von den Eingabeparametern ab.
Um es verständlicher zu machen, versuche ich es anhand meiner personalisierten Schlüsselanhänger zu beschreiben. Es gibt eine Öse, wo später der Schlüsselring hineinkommt, und dann gibt es noch einen Namen bzw. eine Schriftart, in welcher der Name geschrieben werden soll. Der Schlüsselanhänger sieht zwar vom Prinzip her gleich aus, ist aber aufgrund des Namens bzw. der Schriftart je nach Bestellung anders.
Woher bekomme ich 3D Druck Modelle ohne programmieren oder zeichnen?
Nun, hier gibt es im Wesentlichen nur noch zwei Möglichkeiten.
Die erste Möglichkeit ist, du kannst ausschließlich fertige Modelle über Plattformen wie z.B. thingiverse oder myminifactory herunterladen. Hier wirst du aber relativ schnell an deine Grenzen stoßen. Meine Erfahrung mit einem Teil der Modelle auf diesen Plattformen war, dass Sie entweder nicht so passen wie ich es gerne gehabt hätte oder ich generell kein passendes Modell für meinen Anwendungsfall gefunden habe.
Die zweite Möglichkeit ist, du lässt jemanden, z.B. einen Freelancer, die Objekte für dich zeichnen. Das kann aber relativ schnell sehr teuer werden. Natürlich abhängig davon, wie oft du ein Modell benötigst und wie schwierig deine Modelle zu zeichnen sind.
So oder so wird das relativ schnell sehr langweilig und unbefriedigend. Wenn du dir den Drucker gekauft hast, aber letztendlich selbst nichts designen möchtest oder auch nicht gewillt bist, dich auch nur in irgendeiner Art und Weise in diese Richtung einzulernen, hättest du dir vorher die Fragen stellen sollen, ob die Anschaffung eines Druckers wirklich die richtige Entscheidung ist oder ob es nicht auch ein Druckservice getan hätte.