^
brixelweb.de OpenSCAD-Menu
[ https://openscad.org/ ]

Die 3D-Elemente in der Übersicht

Die einzelnen Grundelemente von OpenScad lassen sich über einfache Befehle aufrufen. Wird die Webseite "Cheatsheet" (Spickzettel) nebenher im Browser gestartet, kann auf die gesammten Elemente und deren Funktionen Online zugegriffen werden: https://openscad.org/cheatsheet/index.html

Hier werden alle Begriffe samt ihren vertrackten Klammern beispielhaft aufgeführt. Einfach kopieren und im Texteditor einfügen. Statt den Musterangaben die eigenen Werte eintragen - und schon hat man ein Script geschrieben!

Die Anzeige im Vorschaufenster wird über die Taste  F5  gestartet. Ist alles ohne Fehler abgelaufen, so wird der Script als Bild angezeigt.

Selbstverständlich dürfen meine Scripte der Webseite auch kopiert werden. Einfach ausprobieren - nur dadurch lernt man!


cube = (...); // ein Kubus als Würfel

Ein Grundbaustein fast aller Objekte ist ein Quader oder Würfel.

Der Aufruf kann über verschiedene Arten erfolgen:

cube(10);     // ein Würfel mit 10mm
cube(size = 10);


ergibt einen Würfel mit 10 mm Kantenlänge am Schnittpunkt aller drei Achsen.

Die Parameter sind:
(size = ....)
bei nur einer Angabe eines Maßes wird ein Würfel mit der Kantenlänge erzeugt.
bei 3 Angaben im Array [x, y, z] entsteht ein Quader mit den Ausmaßen in x, y und z - Ausrichtung. Zu Beachten sind innen die zusätzlichen eckigen Klammern!

(center = ....)
false der erste positive Wert im Array wird auf den Wert (0,0,0) im Koordinatensystem gesetzt. Dies ist die eingestellte Vorgabe, daher kann es auch weg gelassen werden.
true das Element wird zentriert im Mittelpunkt (0,0,0) dargestellt.

cube(size = 10); oder auch cube(size = 10, center = false);
wird zu:


Folgende Eingaben sind möglich: (Würfel mit 25mm)

// Auf 0,0,0 gesetzt
cube(25);
cube(size = 25);
cube([25,25,25]);

// zentrierte Ausgabe
cube(25, true);
cube([25,25,25], true);
cube([25,25,25], center = true);


Jede Zeile erzeugt einen Würfel mit einer Kantenlänge von 25.
Eigentlich ist die Bezeichnung center = false unnötig, da dies die Voreinstellung ist! Daher kann diese Angabe weggelassen werden.

cube(size = 10, center = true);
eine zentrierte Ausgabe:


cube = ([x, y, z], center = true); // ein Kubus als Quader

Ein Quader besitzt drei Angaben für seine Größe.
Diese werden im Koordinatensystem in der Reighenfolge x, y und z angegeben.

Ferner kann optional die zentrierte Ausgabe gewählt werden

Der Aufruf wird über verschiedene Arten erzielt:

cube([10, 15, 20]);     // ein Quader


ergibt einen Quader mit 10, 15 und 25 mm Kantenlänge am Schnittpunkt aller Achsen.

Bei den 3 Angaben im Array [x, y, z] entsteht ein Quader mit den Ausmaßen in x = 10, y = 15 und z =20 mm.

Auch hier gilt:
(center = ....)
false der erste positive Wert im Array wird auf den Wert (0,0,0) im Koordinatensystem gesetzt. Dies ist die eingestellte Vorgabe, daher kann es auch weg gelassen werden.
true das Element wird zentriert im Mittelpunkt von (0,0,0) dargestellt.

cube([10, 15, 20]);
wird zu:


sphere = (... , center = true); // die Kugel

Die Kugel besitzt nur eine Angabe für die Größe.
Entweder r als Radius oder d als Durchmesser. Es ist auf die kleine Schreibweise zu achten!

Ferner kann optional die zentrierte Ausgabe gewählt werden

Der Aufruf wird über verschiedene Arten erzielt:

sphere(20);     // eine Kugel


ergibt eine Kugel mit dem Radius von 20, also einem Durchmesser von 40, von ihrem Mittelpunkt aus immer am Schnittpunkt aller Achsen.

sphere(20);
wird zu:


Um das Aussehen der Kugel besser darzustellen gibt es noch drei Parameter:

$fa = ... Winkel in Grad der einzelnen Bruchstücke
$fs = .... Bruchstückgröße in mm
$fn = ... Auflösung


Der Aufruf kann so erzielt werden:

sphere(r=20, $fa =5, $fs =10); // eine Kugel


ergibt so etwas wie eine Kugel mit dem Radius von 20

Achtung: $ wird hier verwendet!

Der Aufruf ergibt folgendes Bild:

sphere(20, $fa=0.5, $fs=0.1);  // noch eine Kugel
// oder auch so:
sphere(20, $fa=.5, $fs=.1);  // noch eine Kugel
	



Für "0,5" muss unbedingt "0.5" geschrieben werden. Dafür kann auch nur ".5" benutzt werden!


Die Auflösung mit "$fn" wird am Besten vor den Kugelaufruf gestellt.

Dieses gute Mittelmaß ist hervorragend geeignet um eine akzeptable Rechenzeit und ein gutes Aussehen für die Kugel zu bekommen

$fn = 100;
sphere(r = 20);
	

Der Aufruf ergibt schließlich dieses Bild:


cylinder(h,r|d,center); // der Zylinder

Der Zylinder ist wie folgt festgelegt:
"h" ergibt die Höhe
"r" als Radius oder "d" als Durchmesser des Zylinders.

Auch hier gilt:
(center = ....)
false der erste positive Wert im Array wird auf den Wert (0,0,0) im Koordinatensystem gesetzt. Dies ist die eingestellte Vorgabe, daher kann es auch weg gelassen werden.

cylinder(h=20,r=5);
	

Der Aufruf ergibt dann dieses Bild:


cylinder(h=20,r=5, center=true);
	

(center = ....)
true das Element wird zentriert im Mittelpunkt von (0,0,0) dargestellt.

Somit geht der Zylinder zentrisch durch alle drei Achsen des Koordinatensystems.
Der Aufruf ergibt schließlich dieses Bild:



cylinder(h,r1|d1,r2|d2,center); // der Kegel

Wird der Zylinder mit anderen Werten belegt, wird dieser zu einem Kegel oder Kegelstumpf.
"h" ergibt die Höhe
"r1" als unterer Radius oder "d1" als unterer Durchmesser
"r2" als oberer Radius oder "d2" als oberer Durchmesser

Auch hier gilt:
(center = ....)
false der erste positive Wert im Array wird auf den Wert (0,0,0) im Koordinatensystem gesetzt. Dies ist die eingestellte Vorgabe, daher kann es auch weg gelassen werden.
true das Element wird zentriert im Mittelpunkt von (0,0,0) dargestellt.

cylinder(h=30, r1=10, r2=0);
	

Der Aufruf ergibt einen Kegel:


Werden die Werte von oben und untewn vertauscht, so steht der Kegel auf der Spitze!

Auch hier gilt:
(center = ....)
false der erste positive Wert im Array wird auf den Wert (0,0,0) im Koordinatensystem gesetzt. Dies ist die eingestellte Vorgabe, daher kann es auch weg gelassen werden.
true das Element wird zentriert im Mittelpunkt von (0,0,0) dargestellt.

cylinder(h=20, r1=0, r2=10, center=true);
//  oder auch:
cylinder(h=20, r1=0, d2=20, center=true);
//  oder auch so:
cylinder(h=20, d1=0, d2=20, center=true);
	

"center=true" erzielt wiederum die zentrierte Ausgabe durch alle drei Achsen

Der Aufruf ergibt einen Kegel auf der Spitze:


cylinder(h,r1|d1,r2|d2,center); // der Kegelstumpf

Wird der Zylinder mit anderen Werten belegt, wird dieser zu einem Kegel oder Kegelstumpf.
"h" ergibt die Höhe
"r1" als unterer Radius oder "d1" als unterer Durchmesser
"r2" als oberer Radius oder "d2" als oberer Durchmesser

Auch hier gilt:
(center = ....)
false der erste positive Wert im Array wird auf den Wert (0,0,0) im Koordinatensystem gesetzt. Dies ist die eingestellte Vorgabe, daher kann es auch weg gelassen werden.
true das Element wird zentriert im Mittelpunkt von (0,0,0) dargestellt.

cylinder(h=20, r1=10, r2=5);
	

Der Aufruf ergibt einen Kegelstumpf:


Werden die Werte von oben und untewn vertauscht, so steht der Kegel auf der Spitze!

Auch hier gilt:
(center = ....)
false der erste positive Wert im Array wird auf den Wert (0,0,0) im Koordinatensystem gesetzt. Dies ist die eingestellte Vorgabe, daher kann es auch weg gelassen werden.
true das Element wird zentriert im Mittelpunkt von (0,0,0) dargestellt.

cylinder(h=20, r1=5, r2=10, center=true);
//  oder auch:
cylinder(h=20, r1=5, d2=20, center=true);
//  oder auch so:
cylinder(h=20, d1=10, d2=20, center=true);
	

"center=true" erzielt wiederum die zentrierte Ausgabe durch alle drei Achsen: wie rechts im Bild

Der Aufruf ergibt einen Kegelstumpf auf der Spitze: