Begriffe vorab
- include: Fügt den Inhalt einer Datei so ein, als stünde er im aktuellen Skript.
- use: Importiert nur Module und Funktionen einer Datei.
- Bibliothek: Sammlung wiederverwendbarer Module und Funktionen.
- OPENSCADPATH: Umgebungsvariable mit zusätzlichen Bibliotheksordnern.
- MCAD: Bibliothek, die mit OpenSCAD mitgeliefert wird.
include und use
Beide Anweisungen binden andere .scad-Dateien ein und nutzen spitze Klammern: include <datei.scad> und use <datei.scad>. Der Unterschied ist wichtig:
- include verarbeitet die gesamte Datei, als stünde ihr Text im aktuellen Skript. Alles wird ausgeführt: Zuweisungen, Module und auch Geometrie auf oberster Ebene. Beide Dateien sehen die Variablen der jeweils anderen. Wird eine in der eingebundenen Datei gesetzte Variable im Hauptskript erneut zugewiesen, unterbleibt die sonst übliche Warnung – so können Bibliotheken Standardwerte liefern, die das Hauptskript überschreibt.
- use importiert nur Module und Funktionen. Befehle auf oberster Ebene (also Geometrie) werden nicht ausgeführt. Globale Variablen der beiden Dateien bleiben füreinander unsichtbar.
Verschachtelte include– und use-Anweisungen innerhalb der eingebundenen Dateien werden ausgeführt; verschachteltes use wirkt laut Doku aber nur begrenzt auf die Hauptdatei. Platzhalter (*) für mehrere Dateien sind nicht möglich. Verwende Schrägstriche (/) als Pfadtrenner – sie funktionieren auch unter Windows.
Wo OpenSCAD sucht
Mit unvollständigen Pfaden sucht OpenSCAD in dieser Reihenfolge: (1) im Ordner der aufrufenden Datei, (2) in Pfaden aus OPENSCADPATH, (3) in den eingebauten Bibliotheksordnern, (4) im Bibliotheksordner der Installation. Die Standard-Bibliotheksordner sind:
- Windows:
My Documents\OpenSCAD\libraries - macOS:
$HOME/Documents/OpenSCAD/libraries - Linux:
$HOME/.local/share/OpenSCAD/libraries
Der Ordner lässt sich über „File → Show Library Folder…“ öffnen (ab 2014.03). OPENSCADPATH trennt mehrere Pfade unter Windows mit Semikolon, unter Linux/macOS mit Doppelpunkt; nach einer Änderung muss OpenSCAD neu starten.
Bekannte Bibliotheken
Mitgeliefert wird MCAD mit gängigen Formen (abgerundete Boxen, regelmäßige Vielecke, Polyeder), Zahnrad-Generatoren, Motorhalterungen, Befestigungsteilen und mathematischen Hilfen. Als beliebte Drittbibliotheken nennt das User Manual BOSL (Belfry OpenScad Library), BOLTS (Normteile) und DotSCAD sowie Spezialbibliotheken für Gewinde, Verrundungen und Lasercut-Teile; eine vollständige Liste führt das OpenSCAD-GitHub-Wiki.
// Dieses Skript zeigt das Prinzip mit lokalen Modulen,
// die in einer eigenen Datei "teile.scad" liegen würden:
//
// include <teile.scad>; // führt ALLES aus (auch Geometrie)
// use <teile.scad>; // nur Module und Funktionen
//
// Hier simulieren wir die Datei durch Definitionen im selben Skript.
module schraube(l = 12, d = 3) {
cylinder(h = l, d = d, $fn = 24);
translate([0, 0, l]) cylinder(h = d * 0.6, d = d * 2, $fn = 24);
}
module platte(b = 30, t = 20, h = 4) { cube([b, t, h]); }
platte();
translate([15, 10, 4]) schraube();
Beide Module stehen hier im selben Skript, damit das Beispiel allein lauffähig bleibt. Lägen sie in teile.scad, würde use <teile.scad> genügen, um sie zu nutzen – ohne dass die Datei selbst etwas zeichnet.
Wähle use für reine Baustein-Bibliotheken und include nur, wenn du Variablen oder Konfigurationen teilen willst.
Zum Selbermachen
- Lege eine Datei mit zwei Modulen an und binde sie einmal per use und einmal per include ein – vergleiche, was gezeichnet wird.
- Öffne den Bibliotheksordner deines Systems und lege dort eine Bibliothek an.
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): Unterschiede von include und use, Sichtbarkeit von Variablen, Suchreihenfolge, die Standard-Bibliotheksordner je Betriebssystem, OPENSCADPATH-Trenner, die Aussagen zu Platzhaltern und Schrägstrichen sowie MCAD und die genannten Drittbibliotheken wurden gegen die Seiten „Include Statement“ und „Libraries“ 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: das Beispiel zeigt die Datei-Aufteilung nur als Kommentar; das Einbinden einer echten externen Datei wurde hier nicht ausgeführt. Außerdem nicht einzeln belegt: die Erklärungen in eigenen Worten, die Beispiele als solche (konstruiert) und die Wertungen.
Quellen
- OpenSCAD User Manual – Include Statement (en.wikibooks.org/wiki/OpenSCAD_User_Manual/Include_Statement)
- OpenSCAD User Manual – Libraries (en.wikibooks.org/wiki/OpenSCAD_User_Manual/Libraries)
- OpenSCAD Cheat Sheet (openscad.org/cheatsheet, bezieht sich auf Version 2021.01)