2D-Formen: square, circle, polygon

LektionOpenSCAD: 2D & Extrusionca. 3 Min. Lesezeit

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

  1. Zeichne ein Achteck per circle und ein Stern-Polygon per Punktliste.
  2. 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)

Alles zu „OpenSCAD: 2D & Extrusion“