3DDruckbefundRatgeberRechner

Parametrische Modellgeneratoren gegen ungültige Eingaben absichern

09.10.2026

Ein parametrischer 3D-Modellgenerator sollte Eingaben nicht ungeprüft in Geometrie umsetzen. Mit klaren Grenzen, Abhängigkeiten, verständlichen Fehlern und einer Prüfung des erzeugten Körpers lassen sich viele ungültige Fälle früh abfangen.

Ungültig heißt mehr als außerhalb des Schiebereglers

Ein Modellgenerator nimmt Zahlen, Auswahlwerte oder Listen entgegen und übersetzt sie in Geometrie. Schon eine formal plausible Eingabe kann aber zu einem unbrauchbaren Ergebnis führen: Eine Wandstärke von null lässt keine Wand entstehen, ein Lochdurchmesser größer als die Bauteilbreite kann Material vollständig entfernen, und eine extrem feine Segmentierung kann den Rechenaufwand unnötig erhöhen. Das sind unterschiedliche Fehlerklassen: falscher Datentyp, Wert außerhalb einer Parametergrenze, widersprüchliche Parameter und ein zwar berechenbares, aber für den Zweck ungeeignetes Modell. Die Eingabe kann außerdem aus mehr als einer Oberfläche kommen. OpenSCAD dokumentiert sowohl das Setzen von Variablen über die Kommandozeile als auch Customizer-Parameterdateien [OpenSCAD-Kommandozeile](https://files.openscad.org/documentation/manual/Using_OpenSCAD_in_a_command_line_environment.html). Deshalb ist es riskant, nur auf die Beschränkung eines GUI-Schiebereglers zu vertrauen: Skript, Webformular oder automatisierter Aufruf können andere Werte liefern. Die Grenze gehört in die Modelllogik oder in eine gemeinsame Validierungsschicht.

Grenzen festlegen, bevor Geometrie entsteht

Definieren Sie für jeden Parameter zunächst Einheit, zulässigen Typ und Wertebereich. JSON Schema zeigt das Grundmuster für Zahlen mit `minimum` und `maximum`; die Grenzen sind dabei eingeschlossen [JSON Schema: Zahlenwerte](https://json-schema.org/understanding-json-schema/reference/numeric). Für einen rechteckigen Organizer könnten Länge und Breite beispielsweise positive Zahlen innerhalb des verfügbaren Druckraums sein, während die Anzahl der Fächer eine ganze Zahl mit einer kleinen Obergrenze ist. Die konkreten Grenzen sind keine universellen Normwerte: Sie hängen von Modell, Einsatzzweck, Druckbett und Fertigungsprozess ab. Unterscheiden Sie zudem Zahlen von Text. Ein Formular kann den Inhalt eines Eingabefelds zunächst als Zeichenkette liefern. Erst nach erfolgreicher Umwandlung in einen endlichen numerischen Wert sollte die Geometrie damit rechnen. Leere Felder, Dezimaltrennzeichen, NaN oder eine Zahl als Text dürfen nicht stillschweigend zu einem Standardmaß werden, wenn das einen anderen Gegenstand erzeugt. Für Auswahlparameter ist eine Positivliste meist robuster als die Übernahme beliebiger Zeichen.

Abhängigkeiten und Fehlermeldungen explizit machen

Einzelne Minima und Maxima reichen bei voneinander abhängigen Maßen nicht aus. Für ein Gehäuse mit Wandstärke `w`, Außenbreite `b` und Innenbreite `i` muss etwa gelten: `i = b - 2w > 0`. Für eine Bohrung kann verlangt werden, dass ihr Randabstand positiv bleibt. Solche Beziehungen sollten vor den Modellierungsoperationen geprüft werden; andernfalls kann ein boolescher Schnitt oder eine Extrusion erst spät scheitern oder ein unerwartetes Teil erzeugen. OpenSCAD führt `assert` als Möglichkeit zur Prüfung von Eingabeparametern auf und erlaubt eine optionale Meldung [OpenSCAD: Assert](https://files.openscad.org/documentation/manual/Other_Language_Features.html). Daraus lässt sich ein nützliches Entwurfsmuster ableiten: Bedingungen früh, nahe an der Eingabe, formulieren und den betroffenen Parameter sowie die Erwartung nennen. Statt einer nichtssagenden Abbruchmeldung hilft etwa „Wandstärke muss kleiner als die halbe Außenbreite sein“. Die Meldung soll den Fehler erklären, nicht den Nutzer beschuldigen. Wenn ein Wert automatisch begrenzt wird, muss diese Korrektur sichtbar sein; ansonsten stimmt die ausgegebene Geometrie möglicherweise nicht mit der angeforderten Konstruktion überein.

Eingabeprüfung ist keine Geometrieprüfung

Auch vollständig gültige Parameter garantieren keinen gültigen Körper. Zwei Features können sich unerwartet berühren, eine Operation kann mehrere getrennte Volumen erzeugen oder eine dünne Stelle kann für den vorgesehenen Druck ungeeignet sein. Deshalb sollte ein Generator nach der Konstruktion eine zweite Prüfstufe haben: Wurde überhaupt Geometrie erzeugt? Ist die erwartete Anzahl an Körpern vorhanden? Liegt die Bounding-Box im vorgesehenen Bauraum? Sind keine Null- oder Negativmaße in abgeleiteten Features entstanden? Diese Prüfungen sind modell- und CAD-kernabhängig. Ein einzelner erfolgreicher Export beweist nicht, dass ein Teil stabil, maßhaltig oder mit jedem Slicer druckbar ist. Für kritische Teile sind zusätzlich die exportierte Datei, die tatsächlichen Prozessparameter und die funktionale Anwendung zu prüfen. Die Validierung schützt vor klar definierten ungültigen Fällen; sie ersetzt weder technische Auslegung noch Fertigungsfreigabe.

Praktischer Ablauf für einen robusten Generator

Ein schlanker Ablauf lässt sich in fünf Schritte teilen: Eingabe entgegennehmen, Datentyp und Einheiten normalisieren, Einzelgrenzen prüfen, Abhängigkeiten prüfen und erst dann Geometrie erzeugen. Nach dem Modellieren folgen Ergebnisprüfungen und Export. Halten Sie die Regeln an einer Stelle, damit Weboberfläche, Kommandozeile und Dateiimport nicht unterschiedliche Parametergrenzen verwenden. Für jede Grenze lohnt sich mindestens ein Test des unteren gültigen Werts, des oberen gültigen Werts und je eines Werts knapp außerhalb. Prüfen Sie außerdem fehlende Eingaben, Dezimalwerte bei Ganzzahlparametern und widersprüchliche Kombinationen. Das ist besonders wichtig, wenn Parameter als Datei oder über die Kommandozeile einfließen können [OpenSCAD-Kommandozeile](https://files.openscad.org/documentation/manual/Using_OpenSCAD_in_a_command_line_environment.html). Speichern Sie für Fehlerfall und Erfolg dieselben Eingaben: So wird nachvollziehbar, welche Regeln zu welchem Modell geführt haben. Der Kern ist eine klare Trennung: Eingaben dürfen nicht bloß „irgendwie funktionieren“, sondern müssen innerhalb eines bewusst festgelegten Bereichs liegen. Verständliche Ablehnungen sind besser als stilles Kappen oder ein fehlerhaftes STL. Und auch ein bestandener Parametercheck bleibt nur der erste Schritt zur belastbaren Druckdatei.

Quellen

  1. OpenSCAD Documentation
  2. JSON Schema
  3. OpenSCAD Documentation