Ein parametrisches OpenSCAD-Modell leitet abhängige Maße und Positionen aus wenigen Hauptparametern ab. In diesem Tutorial konstruierst du eine Montageplatte, deren Bohrungen auch nach einer Größenänderung den vorgesehenen Randabstand behalten.
Voraussetzungen
Du brauchst OpenSCAD und die Grundlagen aus Teil 8 des Kurses.
Parametrisches Konstruieren ist eine der größten Stärken von OpenSCAD.
Dabei reicht es allerdings nicht aus, feste Zahlen lediglich durch Variablennamen zu ersetzen.
Ein gutes parametrisches Modell bildet logische Beziehungen zwischen seinen Abmessungen ab.
Lernziel:
Nach dieser Lektion kannst du Hauptparameter von berechneten Größen unterscheiden und Modelle so aufbauen, dass abhängige Geometrien automatisch an der richtigen Position bleiben.
Nur Variablen sind noch nicht parametrisch genug
Beispiel:
breite = 80;
cube([breite, 40, 6]);
translate([10, 20, -1])
cylinder(h=8, d=5);
translate([70, 20, -1])
cylinder(h=8, d=5);
Die Breite ist zwar variabel.
Die zweite Bohrung bleibt jedoch bei X = 70 mm.
Wird die Platte breiter, stimmt ihre Position nicht mehr.
Parametrische Maße in OpenSCAD voneinander ableiten
Besser:
breite = 80;
rand = 10;
links_x = rand;
rechts_x = breite - rand;
Dadurch bleibt der Abstand zur Außenkante immer gleich.
Parameter und Berechnungen trennen
Eine sinnvolle Struktur lautet:
// Parameter
breite = 80;
tiefe = 40;
hoehe = 50;
wand = 6;
bohrung_d = 5;
rand = 10;
// Berechnungen
bohrung_y = tiefe / 2;
bohrung_links_x = rand;
bohrung_rechts_x = breite - rand;
„Magische Zahlen“ vermeiden
Eine Angabe wie:
translate([37, 18, 6])
funktioniert zwar, ihre Bedeutung ist aber nicht offensichtlich.
Besser:
translate([
breite / 2,
tiefe / 2,
wand
])
Damit ist sofort nachvollziehbar, wie die Position entsteht.
Parametrische Modelle testen
Ein Modell sollte mit deutlich veränderten Parametern getestet werden.
Beispielsweise:
breite = 150;
tiefe = 80;
wand = 10;
Bleibt die Konstruktion korrekt, sind die Abhängigkeiten wahrscheinlich sinnvoll aufgebaut.
Praxisprojekt: parametrische Montageplatte
Wir erstellen eine Platte mit vier Befestigungsbohrungen.
Parameter
breite = 100;
tiefe = 60;
dicke = 5;
bohrung_d = 5;
rand_x = 10;
rand_y = 10;
ueberstand = 1;
Berechnete Positionen
x1 = rand_x;
x2 = breite - rand_x;
y1 = rand_y;
y2 = tiefe - rand_y;
Dadurch ergeben sich vier Kombinationen:
x1 / y1
x2 / y1
x1 / y2
x2 / y2
Vollständiges Modell
difference() {
cube([
breite,
tiefe,
dicke
]);
translate([x1, y1, -ueberstand])
cylinder(
h=dicke + 2 * ueberstand,
d=bohrung_d,
$fn=64
);
translate([x2, y1, -ueberstand])
cylinder(
h=dicke + 2 * ueberstand,
d=bohrung_d,
$fn=64
);
translate([x1, y2, -ueberstand])
cylinder(
h=dicke + 2 * ueberstand,
d=bohrung_d,
$fn=64
);
translate([x2, y2, -ueberstand])
cylinder(
h=dicke + 2 * ueberstand,
d=bohrung_d,
$fn=64
);
}
Warum schreiben wir die vier Bohrungen noch einzeln?
Die vier fast identischen Codebereiche wirken bereits unnötig lang.
Das ist Absicht.
Im nächsten Teil lernen wir mit for() eine Möglichkeit kennen, wiederkehrende Geometrien automatisch zu erzeugen.
Dann wird dieser Code deutlich kürzer.
Mitmach-Aufgabe
Erstelle folgende Montageplatte:
| Parameter | Wert |
|---|---|
| Breite | 120 mm |
| Tiefe | 70 mm |
| Dicke | 5 mm |
| Bohrungsdurchmesser | 6 mm |
| Rand X | 12 mm |
| Rand Y | 12 mm |
Musterlösung
breite = 120;
tiefe = 70;
dicke = 5;
bohrung_d = 6;
rand_x = 12;
rand_y = 12;
ueberstand = 1;
x1 = rand_x;
x2 = breite - rand_x;
y1 = rand_y;
y2 = tiefe - rand_y;
difference() {
cube([breite, tiefe, dicke]);
translate([x1, y1, -ueberstand])
cylinder(
h=dicke + 2 * ueberstand,
d=bohrung_d,
$fn=64
);
translate([x2, y1, -ueberstand])
cylinder(
h=dicke + 2 * ueberstand,
d=bohrung_d,
$fn=64
);
translate([x1, y2, -ueberstand])
cylinder(
h=dicke + 2 * ueberstand,
d=bohrung_d,
$fn=64
);
translate([x2, y2, -ueberstand])
cylinder(
h=dicke + 2 * ueberstand,
d=bohrung_d,
$fn=64
);
}
Was haben wir gelernt?
Ein robustes parametrisches Modell:
-
besitzt wenige zentrale Eingabeparameter
-
berechnet abhängige Maße automatisch
-
vermeidet unnötige feste Zahlen
-
bleibt auch bei größeren Maßänderungen konsistent
-
trennt Parameter, Berechnungen und Geometrie übersichtlich voneinander
Damit endet Kapitel 2 – Richtig konstruieren.
Häufige Fragen
Was macht ein OpenSCAD-Modell parametrisch?
Die Geometrie wird durch Parameter und ihre Beziehungen beschrieben. Beispielsweise ergibt sich die rechte Bohrungsposition aus breite - rand, statt als feste Zahl im Code zu stehen.
Wie prüfe ich ein parametrisches Modell?
Ändere Hauptparameter wie Breite, Tiefe und Randabstand einzeln und kontrolliere die Vorschau. Prüfe dabei, ob Bohrungen innerhalb des Bauteils bleiben und genügend Material zu den Außenkanten vorhanden ist.
Passendes Cheatsheet
Im Cheatsheet „Schleifen, Bedingungen und Module“ findest du ergänzende Grundlagen zum Nachschlagen. Du kannst das Cheatsheet auch direkt als PDF herunterladen.
