openSCAD

    • Moin!

      Ich dachte, das Thema ist in einem eigene Thread besser aufgehoben ... bin mir noch nicht mal sicher, ob das Thema dann noch stimmt (baubereichte Eigenbau => CNC14), wohl eher, nicht .. was sagen die Moderatoren dazu ?

      Aber ich wollte Andreas noch auf das im Thread CNC für Dummies "Die Steuerung" gesagte antworten ...

      Also zunächest gilt mein Dank ja Huy, der mich in einem seiner Videos erst auf die Software gebracht hat.

      Als hautberuflicher "EDFauler" liegt mir das Thema Programmierung quasi im Blut, so das diese Art und Weise etwas zu "bauen" mir deutlich besser gefällt als das Zeichnen (das konnte ich schon in der Schule nicht so gut ;) ).

      Schwer getan hatte ich mich zuerst damit, das ich nicht beachtet hatte, das es sich hier (mehr?) um eine funktionale Sprache handelt, damit hatte ich - ausser mit Lisp mal vor Jahren - bisher wenig zu tun.

      Was heisst das genau:

      - Alle varaiblen Werte werden zwar in Form von variablen definirt (z.B. Hoehe=10;) aber in Wirklichkeit kann dieser Wert zur Laufzeit nicht mehr geändert werden, also eine Anweisung (z.B. innerhalb einer Schleife) wie "a = a + 1" funktioniert nicht bzw ist ungültig. Es handelt sich also eher um Konstanten, also Platzhalter, die nach dem Einlesen bis zur letzten Zeile vor der Interpretation aller module und Funktionen nicht mehr geändert werden können. Die Krux ist ggf, das man eine bereits definierte Variable zwar überschreiben kann, aber der zuletzt zugewiesene Wert dann "zieht". ist prima für das Überschreiben von Standard-Werten aber blöd, wenn man sich in den Namen vertan hat.
      => das hat mich einige Zeit an Fehlersuche gekostet ;)

      - dann die Module - eigentlich sind das a) Objekte oder b) Methoden oder Modifier (schade, dass man das nicht so implementiert hat, ich fände es sprechender)
      Da muss man dann jede menge Mengenlehre wieder auskramen und dann noch auf englisch - das muss ich zugeben: englisch-mathematisch bin ich nicht so bewandert, aber das lässt sich lernen ... ;)

      - bei der Einbindung von Mudulen via use und include muss man einiges beachten: Variablen aus einem Modul werden per use nicht in das Hauptmodul übertragen, d.h. sind dann nicht verfügbar. (bei metamachina, s.u., ist das durch Trennung in h- und scad-Dateien gelöst)


      Und wie bin ich an die Sache rangegangen ?

      Ich sehe mir meist bestehende Beispiel an. Genial fand ich dafür in diesem Fall den per Lasercut hergestellten und mit openSCAD gezeichneten 3D-Drucker von Felipe Sanches (siehe github.com/Metamaquina/Metamaquina2).
      Nicht nur anhand der Maschinendefinition, sondern auch anhand der dafür erstellten Bauteilemodule (z.B. bolts.scad) kann man sich richtig was abgucken.
      Ich finde diese Methode - Abgucken - auch in der "normalen" Programmierung als durchaus gute und schnelle Methode: a) man muss nicht immer alles selber erfinden und b) man kann von anderen jede Menge lernen :thumbsup:

      Handbücher für Programmierung sind für mich ok, aber dienen in erster Linie als Nachschlagewerke, da - wenn man eine Programmiersprache dieser Art (prozedural, funktional etc) kennt, sich den Konstrukt der neuen schnell erschliessen kann und dann "nur" nachschlagen muss, wie die entsprechde Methode in der "neuen" programmeirsprache heisst - ok, ganz vereinfacht erklärt. (ich nutze übrigens die "printed version" und nicht die einzelnen verlinkten Webseiten, so kann man nach einem Begriff in der gesmaten Doku suchen)

      Ja, und wenn man dann nicht weiterkommt - es gibt auch dafür einiges an Foren, wo man fragen kann und - genauso wie hier - gerne eine prompte und gute Antwort bekommt


      Ja und so ist die erste Skizze (eine Zeichnung ist das ja noch lange nicht) meiner geplanten Fräse entstanden. Gestern habe ich mich allerdings erstmal hingesetzt und aus dem gelernten eine neue Bibliothek zum Zeichnen von Schrauben und Muttern erstellt. Und ich muss sagen: es macht richtig Spass. Schwupps war es halb zwei morgens 8)

      Ach so: so "richtig" für das Fräsen nutze ich OpenSCAD ja noch gar nicht, sondern ja erstmal nur um ein 3D-Modell der geplanten Fräse zu erstellen. Aber das kann man dann ja nur ansehen und nicht fräsen (obwohl der Gedanke ja mal was ganz Geniales wäre ... :D )

      Eine Bitte: das hier bitte nicht als Besserwisserei auffassen, wollte nur erzählen, wie ich daran gehe.

      In der Hoffnung, das es ggf auch anderen weiterhilft verbleibe ich mit (noch) sonnigen Grüßen von der Nordseeküste

      Knut