Variablen & Toleranz

Bis jetzt stehen feste Zahlen im Code. Jetzt heben wir sie nach oben in Variablen — und fügen das hinzu, was eine gedruckte Box erst benutzbar macht: ein bisschen Spiel.

Eine Variable ist ein Name für eine Zahl. Steht karte_b = 85 oben, kannst du an einer Stelle die Kartengröße ändern — und die ganze Box passt sich an.

Die Box wird parametrisch

SCADbox.scad
karte_b = 85;     // Visitenkarte Breite
karte_t = 55;     // Visitenkarte Tiefe
wand    = 2;      // Wandstärke
spiel   = 0.5;    // Luft, damit die Karten reinrutschen
hoehe   = 40;

aussen_b = karte_b + 2 * wand + spiel;
aussen_t = karte_t + 2 * wand + spiel;

difference() {
  cube([aussen_b, aussen_t, hoehe]);
  translate([wand, wand, wand])
    cube([karte_b + spiel, karte_t + spiel, hoehe]);
}
Karten + Spiel

Innenmaß = Karte + Spiel, Außenmaß = + 2 × Wand

Der Trick steckt in den zwei Rechenzeilen: Das Innenmaß ist Kartengröße plus spiel, das Außenmaß zusätzlich plus zweimal Wandstärke (links und rechts). Ändere karte_b auf ein anderes Format — Innen- und Außenwand wandern automatisch mit.

Warum eigentlich?Warum überhaupt Spiel?

Ein 3D-Drucker trifft Maße nie perfekt — eine Wand wird leicht dicker, eine Öffnung leicht enger als im Modell. Ohne spiel klemmen die Karten oder passen gar nicht rein. 0,3–0,5 mm sind für die meisten Drucker ein guter Startwert. Toleranz ist der Unterschied zwischen „sieht am Bildschirm gut aus" und „funktioniert in echt".

Häufiger DenkfehlerStolpersteine bei der Rechnung

Wand nur einmal gezählt: Die Wand sitzt auf beiden Seiten — deshalb 2 * wand. Spiel vergessen: dann ist das Innenmaß exakt die Kartengröße und die Karten klemmen. Komma statt Punkt: OpenSCAD schreibt Dezimalzahlen mit Punkt — 0.5, nicht 0,5.

Tiefer reinVariablen sind Ausdrücke, keine Zuweisungen

OpenSCAD ist eine deklarative Sprache: aussen_b beschreibt eine Beziehung, keinen Ablauf. Steht eine Variable mehrfach im Code, gilt am Ende der letzte Wert — eine Schleife im klassischen Sinn gibt es nicht. Mit echo(aussen_b); kannst du dir den berechneten Wert in der Konsole ausgeben lassen.