User Tools

Site Tools


reprap:openscad

OpenSCAD

OpenSCAD ist ein OpenSource 3D Modelling Program der etwas anderen Art. Anders als die anderen hier vorgestellten Tools, werden 3D Objekte hier nicht visuell per Mouseklick zusammengebaut. OpenSCAD nutzt stattdessen eine Art Programmiersprache um das Objekt zu beschreiben. Geneuer gesagt, beschreibt man geometrische Grundformen und Transformationen auf diesen um schließlich zum gewünschten Objekt zu gelangen.

OpenSCAD ist damit hervorragend geeignet sehr präzise geometrische Objekte zu erstellen, Maschinenteile beispielsweise. Auch geometrische Kunstwerke lassen sich damit erzeugen, für freiere organische Formen ist es dagegen eher ungeeignet.

Download und Installation

Auf http://openscad.org finden sich neben den Sourcen auch Binaries für Windows, MacOS und Linux.

OpenSCAD benötigt OpenGL 2.0 Support.

Beispiel: Spielfigur

Als ersten wollen wir eine einfache Mensch-Ärger-Dich-Nicht-Spielfigur in OpenSCAD bauen. Eine solche Spielfigur besteht aus einem Kegel mit einer Kugel als Kopf. Beides sehr primitive Grundformen die es in OpenSCAD schon gibt.

Die OpenSCAD Befehle werden in der rechten Hälfte des Fensters eingegeben und erinnern von der Synatx her stark an C. Drücken Sie <F5> um den Compiler laufen zu lassen und Ihr Werk in der grafischen ausgabe auf der rechten Seite zu betrachten,

Beginnen wir mit dem Kegel. In OpenSCAD gibt kein speziellen Kegelmodul, aber ein Kegel ist nicht anderes als ein Zylinder dessen eine Grundfläche den Radius 0 hat. Also legen wir einen solchen Zylinder an:

cylinder(h=20, r1=5, r2=0, center=false);

Alle Lengenangaben in OpenScad sind in Millimeter, hier haben wir also einen Kegel (r2=0) mit der Höhe von 2cm (h=20) einer Grundfläche mit 1cm Durchmesser (r=5) und wir lassen ihn auf der z-Ebene stehen anstatt den Mittelpunkt ins Zentrum zu legen (center=false).

Nun fehlt noch der Kopf:

cylinder(h=20, r1=5, r2=0, center=false);
sphere(r=4);

Der Kopf mit dem Durchmesser von 8mm liegt jetzt aber leider an der völlig falschen Stelle, wir müssen ihn ca 17mm weiter nach oben (entlang der z-Achse) transformieren:

cylinder(h=20, r1=5, r2=0, center=false);
translate([0,0,17]){
  sphere(r=4);
}

Das sieht doch schon aus wie eine Spielfigur. Nur haben wir immernoch zwei Objekte statt einem einzelnen. Beide sollten miteinander verschmolzen werden:

union(){
  cylinder(h=20, r1=5, r2=0, center=false);
  translate([0,0,17]){
    sphere(r=4);
  }
}

Wie sie sehen lassen sich bereits mit wenigen Zeilen einfache 3D Objekte erstellen. Mehr Informationen zur Verwendung von OpenSCAD und der OpenSCAD Programmiersparche findet sich unter https://en.wikibooks.org/wiki/OpenSCAD_User_Manual

reprap/openscad.txt · Last modified: 2011/12/09 09:33 by andi