Zum Inhalt springen

Maßhaltig konstruieren

Für Halterungen, Adapter und Zahnräder ist ein Mesh-Generator das falsche Werkzeug – kein Prompt liefert ein Loch mit exakt 6,2 mm Durchmesser an exakt der richtigen Stelle. Dafür gibt es CAD, und für Claude Code besonders: CAD als Code.

Skript-CAD
OpenSCAD 2021.01
Beispielteil
Spulenhalter, 921 Flächen
Ein Parameter
spule_breite 50 / 68 / 100
Slicer-Ergebnis
54 g PLA · gut 70 min
Passungen
0,2–0,4 mm Aufmaß

01

Klassisches CAD – drei Wege

Onshape, FreeCAD, Fusion

Stärke und Schwäche je Werkzeug

ToolStärkeSchwäche
Onshape (Free)Browser, echtes parametrisches CAD, überall verfügbarFree-Tier: Dokumente sind öffentlich
FreeCADOpen Source, offline, keine LizenzfragenBedienung eigenwillig
Fusion (früher Fusion 360, Personal)Die ausgereifteste Bedienung im klassischen CAD, riesige CommunityKommerziell nur per Abo, Cloud-gebunden, keine KI-Automatisierung

Für private Experimente und den privaten Gebrauch lohnt sich Fusion durchaus – die Personal-Lizenz ist kostenlos und das Werkzeug stark.

Zwei Grenzen sollte man kennen: Sobald verkauft wird, ist ein bezahltes Abo Pflicht (wer das vermeiden will, ist mit FreeCAD oder einem bezahlten Onshape-Tarif sauber unterwegs), und Fusion-Dateien (.f3d) kann Claude Code weder lesen noch ändern – eine KI-Bedienung ist damit heute nicht möglich. Für den KI-gestützten Weg bleibt Skript-CAD der Hauptweg, siehe Abschnitt 02.

02

Skript-CAD – der unterschätzte Weg

Modelle als Code statt als Klicks: OpenSCAD (eigene Sprache) oder CadQuery und build123d (Python). Die eigene Wahl fiel auf OpenSCAD, aus zwei Gründen: In einem Vergleich mit identischen Prompts produzierte ein Sprachmodell in build123d drei- bis viermal so viele Codefehler wie in OpenSCAD – die kleine Sprachoberfläche ist für den KI-Workflow ein Vorteil, kein Mangel. Und MakerWorlds Parametric Model Maker läuft auf OpenSCAD: Eine hochgeladene .scad-Datei wird dort automatisch zum Konfigurator für alle. Der Vorteil von Skript-CAD generell zeigt sich nicht beim ersten Teil, sondern beim zweiten:

import cadquery as cq breite, tiefe, dicke = 60, 40, 5 loch_d, loch_abstand = 6, 40 halter = (cq.Workplane("XY") .box(breite, tiefe, dicke) .edges("|Z").fillet(4) .faces(">Z").workplane() .pushPoints([(-loch_abstand/2, 0), (loch_abstand/2, 0)]) .hole(loch_d)) cq.exporters.export(halter, "halter.stl")

„Mach die Löcher 8 mm statt 6″ wird zu einer geänderten Zahl, nicht zu zwölf Klicks. Ein Skript deckt beliebig viele Größen ab, ist versionierbar mit Git, diffbar und kommentierbar. Und der entscheidende Punkt für Claude Code: es kann das Skript lesen, verstehen und ändern – eine .f3d-Datei nicht.

Die Grenze ist ehrlich: ein Zahnrad in Code ist fünf Minuten Arbeit, ein Drache in Code ist Wochenarbeit für ein Ergebnis, das ein KI-Modellgenerator in 40 Sekunden liefert. Jedes Werkzeug für das, wofür es gebaut ist.

03

Hands-on: ein Spulenhalter, eine Zahl, drei Größen

So sieht das in echt aus. Der Wandhalter für Filamentspulen aus der eigenen Teile-Bibliothek beginnt mit einem Parameterkopf – jede Variable mit einem Kommentar, der ihren Bereich beschreibt. Genau diese Kommentare macht OpenSCAD im eingebauten Customizer zu Schiebereglern, und MakerWorld baut daraus dieselbe Oberfläche im Browser:

/* [Spule] */ // Innendurchmesser der Spule (Kern) spule_kern_d = 54; // [30:120] // Breite der Spule spule_breite = 68; // [40:120] /* [Befestigung] */ // Durchmesser der Schraubenlöcher schraube_d = 5; // [3:8] // Kopfform schraube_typ = "senk"; // [senk:Senkkopf, zyl:Zylinderkopf] /* [Qualität] */ aufloesung = 48; // [16:8:128]

Der ganze Rest des Skripts sind Grundkörper und abgezogene Löcher – difference(), union(), cylinder(). Und dann der Moment, für den sich Skript-CAD lohnt: dasselbe Teil für drei verschiedene Spulenbreiten, indem sich eine Zahl ändert. Die drei Bilder unten sind echte Render-Ausgaben von OpenSCAD 2021.01, erzeugt über die Kommandozeile mit -D spule_breite=…:

Render des Spulenhalters mit 50 mm Armlänge für schmale Spulen
spule_breite = 50 – für schmale Spulen, Arm 56 mm.
Render des Spulenhalters in der Standardgröße mit 68 mm Spulenbreite
spule_breite = 68 – der Standard für gängige 1-kg-Spulen, Arm 74 mm.
Render des Spulenhalters mit verlängertem Arm für 100 mm breite Spulen
spule_breite = 100 – für breite Spulen, Arm 106 mm. Sonst ist nichts am Skript verändert.

Mit Claude Code entsteht so ein Teil im Dialog: beschreiben, Skript bekommen, rendern lassen – und wenn OpenSCAD einen Fehler meldet, wandert der zurück ins Gespräch und wird korrigiert. Dieses Ausführen-Fehler-Iterieren ist die eigentliche Fertigkeit, nicht das Auswendiglernen der Syntax.

Zwei Fallen, die dabei regelmäßig auftauchen

Beim Iterieren mit OpenSCAD

Passungen: 0,2–0,4 mm Aufmaß

  • OpenSCAD kennt keine echten Kantenrundungen (der Ersatz ist hull() über vier Zylinder).
  • Bohrungen geraten systematisch zu klein, weil der Vieleck-Zylinder innerhalb des Nennkreises liegt – bei Passungen 0,2–0,4 mm Aufmaß geben.

04

Vom Skript zum Bauteil

Der Weg bis zur druckfertigen Datei läuft komplett ohne Oberfläche – die Zahlen stammen aus einem echten Slicing-Durchlauf, nicht aus einer Schätzung.

Weiter im Slicer: Flash Studio
  1. 1STL exportierenOpenSCAD per Kommandozeile; der Spulenhalter oben: 921 Flächen
  2. 2SlicenFür den Standard-Spulenhalter meldet Flash Studio mit dem 0,20-mm-Profil 54 g PLA und gut 70 Minuten Druckzeit
  3. 3Maße prüfenWer mag: die 60 mm der Grundplatte müssen im Slicer exakt als 60 mm ankommen

05

Der Konfigurator-Weg zurück in die Community

Die .scad-Datei auf MakerWorld hochladen statt einer fertigen 3MF – dann bekommt das Teil dort automatisch einen „Customize“-Knopf, jeder stellt seine Spulenbreite selbst ein, und Downloads über den Konfigurator zahlen aufs eigene MakerWorld-Konto ein.