Loading

MakerBot Print is our newest print-prepration software, which supports native CAD files and STL assemblies,
allows you to interact with all your printers via the Cloud, and many other exciting new features.

Download Now

Wie erstellt man custumizable OpenSCAD files?

Please Login to Comment

EInen wunderschönen guten Tag wünsche ich ersteinmal,

Da ich jetzt des öfteren hier solche ,,custumizable Things" gesehen habe, wollte ich mich auch mal in openSCAD probieren. Im Internet finde ich jedoch keine gescheiten Erklärungen geschweige denn Videotutorials. Kennt jemand von euch eine gute ,,Erklärung"? Oder kann mir jemand direkt helfen? Ich wollte eine STL Datei importieren und aus dem Modell einen Text ,,ausschneiden".
Oder sollte ich das als ,,Code-Leihe" erstma lassen?

OpenSCAD ist nicht für diese Anwendung gedacht. OpenSCAD ist dafür gedacht Objekte zu "programmieren" welche auf entweder sich oft ändernden Parametern basieren ( z.b. Schrauben...immer gleich, nur andere Maße ) oder Objekte deren Geometriie auf Mathematik beruht.

Für deine Anwendung wäre entweder Meshmixer, der direkt mit STL´s arbeitet oder FreeCAD richtig . Eigentlich zwar auch möglich mit TinkerCad, aber mit freeCAD geht halt viel mehr.

Ich würde vorschlagen, dass du dir mal die eingebaute Hilfe von OpenSCAD ansiehst (unter Hilfe/Befehlsübersicht).
Da finden sich dann (für dein Vorhaben) die Kommandos:

  • import() // stl-Datei laden
  • intersection() // Schnittmenge bilden
  • translate() // Körper im Raum positionieren
  • cube() // rechteckigen Körper erzeugen

Per translate() positionierst du deinen cube() so, dass er dort liegt, wo du was ausschneiden willst.
Per intersection() bildest du dann die Schnittmenge aus geladener STL-Datei und deinem cube(). Das Ergebnis ist der gewählte Teil der STL-Datei.

BTW: wenn ich mit Google nach openscad tutorial suche, werden mir "Ungefähr 359.000 Ergebnisse" angezeigt....

http://www.openscad.org/cheatsheet/
Hier sind alle Befehle ziemlich gut erklärt um alle Grundfunktionen zu verwenden.

die Lernkurve ist in Openscad eher steil aber es zahlt sich total aus

(Nachdem mein anderer Kommentar anscheinend verschwunden ist, hier nochmals)

Ich gehe davon aus, dass Du keine OpenSCAD-Einführung suchst (google liefert bei "openscad einführung deutsch" ein paar brauchbare Treffer), sondern wissen willst, wie Du jetzt konkret dafür sorgen kannst, dass die Werte, die Du in Deinem OpenScad-Script verwendest, über die Customizer-Oberfläche von Thingiverse verwenden kannst.

Kurz gesagt schreibst Du einfach oben in Dein Script die Eigenschaften rein, die Du verwenden willst, wie z.B.:

// Wie breit soll das Objekt werden?
breite = 30 //[100]

// Wie hoch soll das Objekt werden?
hoehe = 50 //[10:5:100]

(weiter unten im Script beziehst Du Dich dann auf breite)

Wie das Formular des Customizers auszusehen hat, ergibt sich aus den Namen/Werten und Kommentaren:

  • Name wird zu Name des Eingabefeldes (z.B. "breite" --> "Breite")
  • Der Kommentar jeweils darüber wird die Erläuterung des Eingabefeldes
  • Der Wert nach dem = ist der Standardwert des Eingabefeldes
  • Der Kommentar zwischen [Eckigen Klammern] rechts neben dem Wert gibt an, welche Wertebereiche möglich sind
  • Ob die Eigenschaft eine Zahl oder Text ist, ergibt sich aus dem Standardwert

Beispiele für Wertebereich-Kommentare und die Darstellung der jeweiligen Formularelemente:

  • //[400] --> Slider zwischen 0 und 400 (in Einerschritten einstellbar)
  • //[5:25] --> Slider zwischen 5 und 25 (1er-Schritte)
  • //[5:2:25] --> Slider zwischen 5 und 25 (2er-Schritte)
  • //[5,10,20,100] --> Auswahlliste mit diesen vier Werten
  • //[5:winzig, 10:klein, 10:mittel, 100:riesig] --> Auswahlliste mit diesen Werten und jeweiligen Textbeschreibungen

Hat man sehr viele Eigenschaften, kann man sie gruppieren, indem vor jede Gruppe einen Kommentar wie diesen setzt
/ [Titel einer Gruppe von Eigenschaften] /
(Kommentar zwischen Schrägstrich-Stern-Kommentaren, wird hier nicht richtig angezeigt)

Hier eine schöne (Englischsprachige) Beispieldatei, die Du sowohl in OpenScad als auch im Thingiverse-Customizer öffnen kannst, und aus der sich schön erschließt, wie die Bedienungselemente des Customizers mit den Werten/Kommentaren zusammenhängen:
https://www.thingiverse.com/thing:44090/files

Customizer Template

Ok vielen Dank erstmal, ich werds mal probieren!

Ich gehe davon aus, dass Du keine OpenSCAD-Einführung suchst (google liefert bei "openscad einführung deutsch" ein paar brauchbare Treffer), sondern wissen willst, wie Du jetzt konkret dafür sorgen kannst, dass die Werte, die Du in Deinem OpenScad-Script verwendest, über die Customizer-Oberfläche von Thingiverse verwenden kannst.

Kurz gesagt schreibst Du einfach oben in Dein Script die Eigenschaften rein, die Du verwenden willst, wie z.B.:

// Wie breit soll das Objekt werden?
breite = 30 //[100]

// Wie hoch soll das Objekt werden?
hoehe = 50 //[10:5:100]

(weiter unten im Script beziehst Du Dich dann in diesem Beispiel auf breite und hoehe)

Wie das Formular des Customizers auszusehen hat, ergibt sich aus den Namen/Werten und Kommentaren:

  • Name wird zu Name des Eingabefeldes (z.B. "breite" --> "Breite")
  • Der Kommentar jeweils darüber wird die Erläuterung des Eingabefeldes
  • Der Wert nach dem = ist der Standardwert des Eingabefeldes
  • Der Kommentar zwischen [Eckigen Klammern] rechts neben dem Wert gibt an, welche Wertebereiche möglich sind
  • Ob die Eigenschaft eine Zahl oder Text ist, ergibt sich aus dem Standardwert

Beispiele für Wertebereich-Kommentare und die Darstellung der jeweiligen Formularelemente:

  • // [400] --> Slider zwischen 0 und 400 (in Einerschritten einstellbar)
  • // [5:25] --> Slider zwischen 5 und 25 (1er-Schritte)
  • // [5:2:25] --> Slider zwischen 5 und 25 (2er-Schritte)
  • // [5,10,20,100] --> Auswahlliste mit diesen vier Werten
  • // [5:winzig, 10:klein, 10:mittel, 100:riesig] --> Auswahlliste mit diesen Werten und jeweiligen Textbeschreibungen

Hat man sehr viele Eigenschaften, kann man sie gruppieren, indem vor jede Gruppe einen Kommentar wie diesen setzt
/ [Titel einer Gruppe von Eigenschaften] /

Hier eine schöne (Englischsprachige) Beispieldatei, die Du sowohl in OpenScad als auch im Thingiverse-Customizer öffnen kannst, und aus der sich schön erschließt, wie die Bedienungselemente des Customizers mit den Werten/Kommentaren zusammenhängen:
https://www.thingiverse.com/thing:44090/files

Customizer Template

Im Gegensatz zu "herkömmlichen" CAD-Programmen, bei denen man seine Modelle "zeichnet", verwendet man bei OpenSCAD eine Programmiersprache um die Objekte zu beschreiben, die man erstellen möchte. Dafür sollte man Erfahrungen aus den Bereichen Programmierung/Entwicklung und CAD mitbringen. Beispiel:

cube([10, 10, 10]); // erzeugt einen Würfel mit Kantenlänge von 10⨉10⨉10 mm 

Die hier hochgeladenen „Customizable Things“, also „anpassbaren Dinge", sind dadurch anpassbar, dass der Entwickler bestimmte Parameter seiner Modelle als Variablen definiert hat. Die Werte der Variablen können über den Customizer angepasst werden, der daraus benutzerdefinierte STL-Dateien erzeugt. Beispiel: Ein Würfel mit einer Variable Kantenlänge und Standardwert 10 mm. Diese Variable kannst du anpassen auf z.B. 20 mm und dann ist der Würfel nicht mehr 10⨉10⨉10, sondern 20⨉20⨉20 mm. Der Code mitsamt Variable sähe dann folgendermaßen aus:

length = [20, 20, 20]; // Variable für Kantenlänge
cube(length); // Würfel mit Variable für Kantenlänge erzeugen

Okay, danke für die Erklärung!

; layer_height = 0.15
; perimeters = 2
; top_solid_layers = 4
; bottom_solid_layers = 3
; fill_density = 0.30
; perimeter_speed = 60
; infill_speed = 100
; travel_speed = 130
; scale = 1
; nozzle_diameter = 0.35
; filament_diameter = 2.85
; extrusion_multiplier = 1
; perimeters extrusion width = 0.56mm
; infill extrusion width = 0.56mm
; first layer extrusion width = 0.38mm