Teile OpenSCAD-Projekte in mehrere Dateien auf. Lerne include und use kennen und lagere Parameter, Module und Funktionen in eigene Dateien aus.
Voraussetzungen
Du brauchst OpenSCAD und die Grundlagen aus Teil 17. Die Beispiele verwenden die klassische OpenSCAD-Syntax; eine Ausführung mit einer konkreten Softwareversion wurde hier nicht geprüft. Wir behandeln eine Modelleinheit als einen Millimeter.
include und use: der Unterschied
Mit include <datei.scad> bindest du den Inhalt einer Datei ein: Variablen, Funktionen, Module und direkt erzeugte Geometrie. Mit use <datei.scad> übernimmst du Module und Funktionen, ohne die Geometrie auf oberster Ebene auszuführen. Variablen der Bibliothek werden damit nicht als Parameter in deine Hauptdatei importiert.
| Anweisung | Verwendung |
|---|---|
include <parameter.scad> |
Gemeinsame Parameter und Konfiguration einbinden |
use <bauteile.scad> |
Module und Funktionen als Bibliothek nutzen |
Die Anweisungen verwenden spitze Klammern und benötigen kein abschließendes Semikolon. Übergib Maße ausdrücklich als Modulparameter, damit Bauteile unabhängig von Variablen in der Hauptdatei funktionieren.
Praxisprojekt: Montageplatte auf mehrere Dateien aufteilen
Lege die folgenden vier Dateien im selben Ordner ab. Öffne anschließend main.scad in OpenSCAD. Das Ergebnis ist eine 100 × 60 × 5 mm große Platte mit vier Bohrungen von 6 mm Durchmesser.
parameter.scad: veränderbare Maße
breite = 100;
tiefe = 60;
dicke = 5;
rand = 12;
bohrung_d = 6;
funktionen.scad: wiederverwendbare Berechnungen
function randpositionen(gesamt, abstand) =
[abstand, gesamt - abstand];
bauteile.scad: Geometrie als Modul
module montageplatte(b, t, h, d, xs, ys) {
difference() {
cube([b, t, h]);
for (x = xs)
for (y = ys)
translate([x, y, -1])
cylinder(h=h + 2, d=d, $fn=64);
}
}
// Nur beim direkten Öffnen dieser Datei sichtbar:
montageplatte(80, 50, 4, 5, [10, 70], [10, 40]);
Der letzte Aufruf ist ein Beispiel zum Betrachten des Moduls. Mit use erscheint dieses Beispiel nicht zusätzlich in deiner Hauptdatei. Mit include würde es dort ebenfalls Geometrie erzeugen.
main.scad: das Modell zusammensetzen
include <parameter.scad>
use <funktionen.scad>
use <bauteile.scad>
assert(dicke > 0 && bohrung_d > 0);
assert(rand > bohrung_d / 2);
assert(breite > 2 * rand && tiefe > 2 * rand);
montageplatte(
b=breite,
t=tiefe,
h=dicke,
d=bohrung_d,
xs=randpositionen(breite, rand),
ys=randpositionen(tiefe, rand)
);
Drücke F5 für die Vorschau und F6 für das Rendering. Ändere die Breite in parameter.scad auf 120. Die rechten Löcher verschieben sich automatisch; der Randabstand bleibt unverändert.
Dateien in Unterordnern organisieren
Für größere Projekte kannst du Parameter unter config/ und Module unter lib/ ablegen. Passe die Pfade in der Hauptdatei an:
include <config/parameter.scad>
use <lib/funktionen.scad>
use <lib/bauteile.scad>
Verwende / als Pfadtrenner, auch unter Windows. Halte zusammengehörige Projektdateien gemeinsam im Projektordner und vermeide absolute Pfade, die nur auf deinem Computer funktionieren.
Mitmach-Aufgabe
Erstelle eine Variante mit 120 mm Breite, 70 mm Tiefe, 6 mm Dicke, 15 mm Randabstand und 8 mm Bohrungsdurchmesser. Ändere dafür ausschließlich parameter.scad.
Musterlösung
breite = 120;
tiefe = 70;
dicke = 6;
rand = 15;
bohrung_d = 8;
Die Lochmittelpunkte liegen bei X = 15 und 105 sowie Y = 15 und 55. Funktionen, Module und Hauptdatei bleiben gleich.
Häufige Fragen
Warum erscheint ein zusätzliches Bauteil?
Prüfe, ob du eine Bibliothek mit include eingebunden hast, die außerhalb ihrer Module Geometrie erzeugt. Verwende use, wenn du nur ihre Module und Funktionen benötigst.
Warum fehlen meine Parameter nach use?
use stellt keine globalen Konfigurationsvariablen für die Hauptdatei bereit. Binde die Parameterdatei mit include ein und übergib die Werte an deine Module.
Warum findet OpenSCAD die Datei nicht?
Prüfe Dateinamen, Groß- und Kleinschreibung und den relativen Pfad. Kontrolliere außerdem, ob du alle Dateien gespeichert und den gesamten Projektordner weitergegeben hast.
Weiterlernen
- Teil 17: vorherige Lektion
- Teil 19: STL- und SVG-Dateien importieren
- OpenSCAD-Kurs und Cheatsheets
- Schleifen, Bedingungen und Module
Referenz
Die OpenSCAD-Sprachreferenz verlinkt die Dokumentation der verwendeten Befehle.
