Begriffe vorab
- Customizer: Oberfläche, mit der sich Parameter ohne Codeänderung einstellen lassen.
- Parametergruppe: Tab, der Parameter bündelt, per /* [Name] */ definiert.
- Parameterset: Gespeicherter Satz von Werten in einer JSON-Datei.
- Slider: Schieberegler für Zahlen mit Bereich.
- Dropdown: Auswahlliste mit festgelegten Werten.
Wozu?
Der Customizer ist eine grafische Oberfläche, mit der sich Modellparameter einstellen lassen, ohne den Code zu bearbeiten – ideal, wenn du ein Modell an andere weitergibst. Er erfordert laut Doku Version 2019.05 oder neuer und wird über das Menü „Window“ ein- oder ausgeblendet.
Welche Variablen erscheinen?
- Sie stehen in der Hauptdatei (nicht per include/use eingebunden).
- Sie haben einen einfachen Literalwert: Zeichenkette, Zahl, Wahrheitswert oder Zahlenliste (bis zu 4 Elemente).
- Sie stehen vor dem ersten
{im Skript. - Sie liegen nicht im Bereich
[Hidden].
Ausdrücke wie 12 + 0.5 oder str("a", "b") werden nicht unterstützt.
Steuerelemente per Kommentar
Direkt hinter der Variablen steht ein Kommentar, der das Steuerelement festlegt (linksbündig, ohne führende Leerzeichen):
- Dropdown (Zahlen):
n = 2; // [0, 1, 2, 3] - Dropdown (Text):
s = "foo"; // [foo, bar, baz] - Dropdown mit Beschriftung:
g = 10; // [10:S, 20:M, 30:L] - Slider mit Maximum:
x = 34; // [50] - Slider mit Bereich:
x = 34; // [10:100] - Slider mit Schritt:
x = 2; // [0:5:100] - Checkbox: Wahrheitswert; Textfeld: Zeichenkette; Spinbox: Zahl, bei Dezimalschritt
// .5. - Vektor mit 2 bis 4 Elementen:
v = [12,34,46]; // [1:2:50].
Gruppen und Parametersets
Gruppen entstehen mit /* [Gruppenname] */. Spezielle Namen: [Global] (auf jedem Tab sichtbar) und [Hidden] (nie angezeigt). Parametersets speichert der Customizer als JSON-Datei, auf der Kommandozeile lädst du sie mit -p datei.json -P Name.
/* [Abmessungen] */
// Breite in mm
breite = 40; // [20:5:100]
tiefe = 30; // [20:5:80]
hoehe = 15; // [5:1:40]
/* [Optionen] */
mit_loch = true;
farbe = "steelblue"; // [steelblue, tomato, seagreen]
rundung = 2; // [0:0.5:5]
/* [Hidden] */
$fn = 32;
color(farbe)
difference() {
cube([breite, tiefe, hoehe]);
if (mit_loch)
translate([breite / 2, tiefe / 2, -1]) cylinder(h = hoehe + 2, r = 5);
}
Beim Öffnen im Customizer erscheinen zwei Tabs (Abmessungen und Optionen) mit Schiebereglern, Checkbox und Auswahlliste. $fn bleibt unsichtbar.
Hinweise der Doku: Mehrzeilige Textfelder und direkte Zahleneingabefelder werden nicht unterstützt; versteckte Parameter werden in JSON gespeichert, aber nicht daraus geladen.
Lege die wichtigsten Maße als Customizer-Variablen an den Dateianfang – so wird dein Modell auch für andere benutzbar.
Zum Selbermachen
- Mache dein letztes Projekt Customizer-fähig und gruppiere die Parameter.
- Speichere zwei Parametersets (klein/groß) und lade sie nacheinander.
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): Voraussetzungen (Version 2019.05, Hauptdatei, Literalwerte, vor dem ersten { , nicht in [Hidden]), die Steuerelement-Syntax, Gruppen mit [Global]/[Hidden], das Parameterset-Format und die Kommandozeilenoptionen -p/-P sowie die genannten Einschränkungen wurden gegen die Seite „Customizer“ 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 – Customizer (en.wikibooks.org/wiki/OpenSCAD_User_Manual/Customizer)
- OpenSCAD Cheat Sheet (openscad.org/cheatsheet, bezieht sich auf Version 2021.01)