OpenSCAD: Einstieg & Sprache

Akademie

OpenSCAD: Einstieg & Sprache

Arbeitsweise, Oberfläche und Sprachgrundlagen.

Sprachgrundlagen: Syntax, Variablen, Datentypen

Begriffe vorab

  • Anweisung: Eine Zeile, die mit einem Semikolon endet.
  • Variable: Benannter Wert, der beim Übersetzen des Skripts festgelegt wird.
  • Vektor: Geordnete Liste von Werten in eckigen Klammern.
  • Range: Wertebereich in der Form [start:ende] oder [start:schritt:ende].
  • Scope: Gültigkeitsbereich von Variablen, durch geschweifte Klammern begrenzt.

Kommentare und Anweisungen

Kommentare folgen der C++-Schreibweise: // bis Zeilenende und /* mehrzeilig */. Anweisungen enden mit einem Semikolon; Namen unterscheiden Groß- und Kleinschreibung.

Variablen sind keine Variablen

Der überraschendste Punkt: Variablen sind Bindungen zur Übersetzungszeit, keine veränderlichen Speicherplätze. Die Doku sagt: Wird eine Variable mehrfach zugewiesen, gilt nur der zuletzt zugewiesene Wert, und zwar an allen Stellen. Innerhalb desselben Scopes erzeugt das eine Warnung. Zur Laufzeit lässt sich nichts ändern – alle Variablen verhalten sich wie Konstanten. Das FAQ erklärt: OpenSCAD ist eine deklarative, funktionale Sprache; eine Anweisung wird einmal mit den Anfangsbedingungen übersetzt.

Datentypen

  • Zahlen: 64-Bit-Fließkomma, dezimal oder mit PI. Hexadezimale Konstanten nennt die Doku nur für Entwicklungs-Snapshots.
  • Wahrheitswerte: true und false. In Bedingungen gelten als „falsch“: false, 0, -0, "", [] und undef.
  • Zeichenketten: in doppelten Anführungszeichen, mit Escapes wie \", \\, \n, \t.
  • Ranges: [0:5] oder [0:0.5:5]. Mit Doppelpunkten, nicht Kommas – ein Range ist kein Vektor.
  • Vektoren: [1, 2, 3], auch verschachtelt; Zugriff über Index ab 0, die ersten drei Elemente zusätzlich als .x, .y, .z.
  • undef: Startzustand einer Variable oder Ergebnis ungültiger Aufrufe.

Scope

Geschweifte Klammern öffnen einen neuen Scope. Innen zugewiesene Variablen sind außerhalb unsichtbar. Jeder Durchlauf einer for-Schleife bekommt einen eigenen Scope. Seit Version 2015.03 sind Zuweisungen überall erlaubt, nicht nur oberhalb der Module.

breite = 30;          // Variable
hoehe  = breite / 2;  // aus anderer Variable berechnet
masse  = [breite, 20, hoehe];

echo(masse);          // Ausgabe in der Console
echo(masse.x, masse[2]);

cube(masse);

echo schreibt in die Console: [30, 20, 15] und danach 30, 15. Die Reihenfolge der Zuweisungen im Text ist hier egal, weil alles beim Übersetzen aufgelöst wird – aber lies die Regel „letzte Zuweisung gewinnt“ genau, bevor du Werte im Skript überschreibst.

Denke „Konstante mit späterem Wert“, nicht „Variable, die sich ändert“. Wer eine Schleifenvariable hochzählen will, braucht Rekursion oder List Comprehensions.

Zum Selbermachen

  1. Weise einer Variable zwei verschiedene Werte zu und lies die Warnung in der Console.
  2. Lege einen Vektor mit drei Zahlen an und gib .x, .y, .z per echo aus.

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): Kommentarsyntax, die Regel „letzter Wert gewinnt“, Datentypen (Zahlen, Wahrheitswerte und die Liste der falschen Werte, Zeichenketten, Ranges, Vektoren, undef), Punktnotation, Scope-Regeln (seit 2015.03) und die Erklärung im FAQ wurden gegen die Seiten „General“ und „FAQ“ 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 Aussage zu Hexadezimalkonstanten in Snapshots (nur laut Doku, hier nicht getestet). Außerdem nicht einzeln belegt: die Erklärungen in eigenen Worten, die Beispiele als solche (konstruiert) und die Wertungen.

Quellen

  • OpenSCAD User Manual – General (en.wikibooks.org/wiki/OpenSCAD_User_Manual/General)
  • OpenSCAD User Manual – FAQ (en.wikibooks.org/wiki/OpenSCAD_User_Manual/FAQ)
  • OpenSCAD Cheat Sheet (openscad.org/cheatsheet, bezieht sich auf Version 2021.01)

Was ist OpenSCAD? Arbeitsweise und Oberfläche

Begriffe vorab

  • OpenSCAD: Programm, das 3D-Körper aus Skripten (Text) erzeugt statt per Mausmodellierung.
  • Skript: Textdatei mit der Endung .scad, die das Modell beschreibt.
  • Vorschau (Preview): Schnelle Darstellung des Modells beim Bearbeiten (F5).
  • Rendern: Vollständige Berechnung der Geometrie für den Export (F6).
  • Console: Ausgabebereich für Meldungen, Warnungen und echo()-Ausgaben.

Das Grundprinzip

In OpenSCAD beschreibst du ein Modell als Text: Du nennst Körper (Würfel, Zylinder, Kugel), verschiebst und drehst sie und kombinierst sie durch Vereinigen, Abziehen oder Schneiden. Das Ergebnis berechnet das Programm aus dem Skript. Ändert sich eine Zahl, entsteht beim nächsten Durchlauf ein neues Modell – das macht parametrische Konstruktionen einfach. Die Doku-Landkarte auf openscad.org gliedert sich in Tutorial, User Manual, Sprachreferenz und Cheat Sheet (siehe Literaturlektion).

Die Oberfläche

Laut User Manual gibt es drei Standardbereiche: den Model Viewing Pane (3D-Ansicht), den Console Output Pane (Statusmeldungen) und die Text Editor Tabs. Weitere Bereiche wie Customizer, Schriftenliste und Viewport-Steuerung blendest du über das Menü „Window“ ein. Der Editor bietet Syntaxhervorhebung, Suchen und Ersetzen, Codevorlagen und das interaktive Ändern von Zahlen mit den Pfeiltasten oder dem Mausrad.

Vorschau und Rendern

Die Vorschau aktualisierst du mit Design → Preview (F5), das vollständig berechnete Modell erhältst du mit Design → Render (F6). Die Vorschau ist für schnelles Feedback gedacht, das Rendern erzeugt die endgültige Geometrie, die du exportierst. Das ist die wichtigste Gewohnheit: in der Vorschau arbeiten, vor dem Export rendern und prüfen.

Ansicht bewegen

  • Drehen: linke Maustaste ziehen.
  • Verschieben: rechte Maustaste ziehen.
  • Zoomen: Mausrad oder Shift plus mittlere/rechte Maustaste ziehen.
  • Drehpunkt setzen: Doppelklick auf die Geometrie.
  • Hilfen: Achsen ein-/ausblenden mit Strg+2, Fadenkreuz mit Strg+3 (Angaben aus dem User Manual).

Einheiten und Versionen

Das FAQ nennt Millimeter als Standardeinheit. Zu den Versionen: Die Downloadseite bietet Stabilversionen für macOS, Windows, Linux (inkl. AppImage), BSD sowie Snap Store und Flathub und daneben Entwicklungs-Snapshots („nightly“) mit neuen Funktionen, darunter einer experimentellen Manifold-Geometrie-Engine. Das Cheat Sheet bezieht sich auf Version 2021.01. In dieser Themenwelt steht bei Funktionen ausdrücklich dabei, wenn die Doku sie nur für Entwicklungs-Snapshots oder erst ab einer bestimmten Version nennt.

Ein erstes Modell

// Ein Würfel mit einer Kugel obendrauf
cube(20);
translate([10, 10, 20])
    sphere(r = 8);

Der Würfel hat die Kantenlänge 20 und steht mit einer Ecke im Ursprung. Die Kugel wird um 10, 10 und 20 Einheiten verschoben und sitzt dadurch mittig auf der Oberseite. Die Transformation steht vor dem Objekt, auf das sie wirkt.

Arbeite in der Vorschau, aber rendere (F6) vor jedem Export – nur das gerenderte Modell zeigt, was wirklich entsteht.

Zum Selbermachen

  1. Gib das erste Modell ein, drücke F5 und drehe die Ansicht mit der Maus.
  2. Ändere die Zahl 20 beim Würfel und beobachte, wie das Modell mitwandert.

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): Die Oberflächenbereiche, F5/F6, Mausbedienung, Strg+2/Strg+3, die Einheit Millimeter, die Plattformen und Snapshots der Downloadseite sowie der Bezug des Cheat Sheets auf 2021.01 wurden gegen die OpenSCAD-Seiten 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: der einleitende Satz zum Grundprinzip (allgemeine Beschreibung des Programms, nicht wörtlich aus den abgerufenen Seiten) und die Frage, welche Version gerade die aktuelle Stabilversion ist – die Downloadseite nennt dazu keine Nummer. Außerdem nicht einzeln belegt: die Erklärungen in eigenen Worten, die Beispiele als solche (konstruiert) und die Wertungen.

Quellen

  • OpenSCAD User Manual – The OpenSCAD User Interface (en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_User_Interface)
  • OpenSCAD User Manual – FAQ (en.wikibooks.org/wiki/OpenSCAD_User_Manual/FAQ)
  • OpenSCAD Cheat Sheet (openscad.org/cheatsheet, bezieht sich auf Version 2021.01)
  • OpenSCAD – Downloads (openscad.org/downloads.html)
  • OpenSCAD – Dokumentation (openscad.org/documentation.html)