Begriffe vorab
- 2D-Objekt: Flache Form in der xy-Ebene, die erst durch Extrusion zum Körper wird.
- Polygon: Vieleck aus Punkten und Pfaden.
- Pfad (path): Reihenfolge der Punkte, die einen Umriss bilden.
- Konvexität: Maximale Zahl von Vorderseiten, die ein Strahl durchdringen kann.
- Reguläres Vieleck: Vieleck mit gleichen Seiten, z. B. per circle mit kleinem $fn.
Warum 2D?
Viele Bauteile sind Profile mit Tiefe. Man zeichnet erst die Form in 2D und extrudiert sie dann zum Körper (siehe Extrusionslektion). 2D-Objekte liegen in der xy-Ebene und lassen sich wie 3D-Körper transformieren und mit union, difference und intersection verknüpfen.
square()
square(size, center): size ist eine Zahl (Quadrat) oder [x, y] (Rechteck), Standard [1, 1]. Das Quadrat liegt im ersten Quadranten; center = true zentriert es im Ursprung.
circle()
circle(r) oder circle(d = …) (d ist nach Angabe der Doku nach Version 2014.03 verfügbar). Standard: r = 1. Die Glätte steuern $fn, $fa und $fs. Ellipsen entstehen mit scale() oder resize(), reguläre Vielecke mit circle(r = 1, $fn = N), wobei N die Seitenzahl ist.
polygon()
polygon(points, paths, convexity): points ist eine Liste von [x, y] (Index ab 0), paths legt die Reihenfolge fest. Löcher entstehen, indem man weitere Pfade angibt: Die Doku sagt, sekundäre Formen werden von der primären abgezogen wie bei difference(). Ohne paths werden alle Punkte in Reihenfolge verbunden.
// Profil mit gerundeter und eckiger Hälfte
module profil() {
union() {
square([20, 10]);
translate([20, 5]) circle(d = 10, $fn = 48);
}
}
linear_extrude(5) profil();
// Dreieck als polygon
translate([0, 30, 0])
linear_extrude(3)
polygon(points = [[0, 0], [20, 0], [10, 17]]);
// Rahmen: Quadrat mit Loch über zwei Pfade
translate([30, 30, 0])
linear_extrude(3)
polygon(
points = [[0,0],[20,0],[20,20],[0,20], [5,5],[15,5],[15,15],[5,15]],
paths = [[0,1,2,3], [4,5,6,7]]
);
// Sechseck über circle
translate([60, 0, 0])
linear_extrude(3) circle(r = 10, $fn = 6);
Der Rahmen nutzt zwei Pfade: Der erste ist der Außenumriss, der zweite das Loch. Ein reguläres Sechseck entsteht mit $fn = 6 – der Kreis wird dann aus sechs Segmenten angenähert.
Ein Kreis mit $fn = 3, 4, 5, 6 … ist die schnellste Art, ein regelmäßiges Vieleck zu zeichnen.
Zum Selbermachen
- Zeichne ein Achteck per circle und ein Stern-Polygon per Punktliste.
- Baue einen Rahmen mit rundem Loch (Kreis abziehen).
Verwandte Themen
OpenSCAD → Die übrigen Lektionen dieser Themenwelt; Informatik: Grundlagen → „Algorithmen und Berechenbarkeit“ für das Denken in Schritten.
Prüfstatus: Belegt (Stand 1. Oktober 2026): Signaturen und Standardwerte von square, circle und polygon, die Loch-Regel über Pfade, Ellipsen via scale/resize und reguläre Vielecke über $fn wurden gegen die Seite „2D Primitives“ geprüft. Alle Codebeispiele dieser Lektion wurden mit OpenSCAD 2026.09.18 (lokale Installation) ausgeführt und liefen ohne Fehler und Warnungen. Nicht einzeln belegt: die Erklärungen in eigenen Worten, die Beispiele als solche (konstruiert) und die Wertungen.
Quellen
- OpenSCAD User Manual – 2D Primitives (en.wikibooks.org/wiki/OpenSCAD_User_Manual/2D_Primitives)
- OpenSCAD Cheat Sheet (openscad.org/cheatsheet, bezieht sich auf Version 2021.01)