Die Herstellung des Humanizers.
Die Verwendung von KI bei der OpenSCAD 3D-Modellierung.
Projektdauer: Ca. 2 Stunden am 12. August 2025
Einführung: Der Funke einer Idee
Verwenden Sie KI, um ein grundlegendes menschliches Modell mit einem Customizer mithilfe von Open-scad Scripting zu erstellen.
Das gesamte Skripting wurde von Gemini erstellt. Kein Codieren von mir selbst. Ich habe einfach gechattet, um das Skript zu erstellen.
Phase 1: Das Fundament legen
Die Werkzeuge verstehen
Zunächst wurde Gemini mit einer Reihe von essentiellen Ressourcen versorgt, um den Kontext des Projekts und die besten Praktiken für OpenSCAD zu verstehen:
- Primativeslibrary.scad:Eine Bibliothek von Hilfsmodulen zur Erstellung von Grundformen, die wir in unser Skript integriert haben.
- Leitprinzipien.pdf:Ein entscheidendes Dokument, das die besten Praktiken für die Erstellung von 3D-druckbaren OpenSCAD-Modellen beschreibt und dabei den Schwerpunkt auf vielfältiges Design und parametrische Prinzipien legt.
- OpenSCAD_Filtered_Documentation.pdf:Ein Referenzhandbuch für die Syntax und Funktionen von OpenSCAD.
Diese Dateien legten die "Verkehrsregeln" fest und stellten sicher, dass unser endgültiges Modell robust, anpassbar und bereit für den 3D-Druck sein würde.
Phase 2: Erste Iteration - Hinzufügen von Gelenken und Posen
Die Herausforderung: Artikulation
Die erste große Aufgabe bestand darin, die statischen Arm- und Beinmodule so zu modifizieren, dass eine Rotation an den Ellbogen und Knien möglich ist. Dazu gehörte:
- Hinzufügen eines Winkelparameters (z. B. elbow_angle) zu den Moduldefinitionen.
- Die Verwendung der Transformation rotate() innerhalb der Module, um den Unterarm und das Unterbein relativ zu den oberen Gliedmaßen zu beugen.
- Erstellen eines "Posen"-Abschnitts im Customizer mit einem Dropdown-Menü (pose_selection).
- Die Implementierung von bedingter Logik, um die neuen Gelenkwinkel basierend auf der Posenauswahl des Benutzers festzulegen.
Erstes Hindernis: Symmetrische Fehler
Unser erster Versuch, zu posieren, enthüllte ein Problem. In der "Sitz"-Pose zeigte einer der Arme in die falsche Richtung.
Das erste Anzeichen von Schwierigkeiten: ein symmetrischer Fehler in der Sitzposition.
Dies war ein klassischer Fehler, der durch das Entfernen der mirror()-Funktion des ursprünglichen Skripts zugunsten einer direkten Winkelmanipulation für beide Arme verursacht wurde. Die Lösung bestand darin, mirror() für den rechten Arm wieder einzuführen und die Rotationswerte, die von der Spiegelungsoperation betroffen sind, zu negieren, um sicherzustellen, dass sowohl symmetrische als auch asymmetrische Posen korrekt gerendert werden
Phase 3: Verfeinerung der Posen und Hinzufügen sichtbarer Gelenke
Die Herausforderung: Unnatürliche Posen und Überlappungen
Weitere Tests ergaben subtilere, aber signifikante Probleme. Die T-Pose war eigentlich eine "I-Pose", bei der die Arme senkrecht nach oben zeigten, und bei anderen Posen durchdrangen die Arme den Torso.
Die "T-Pose" war eher eine "I-Pose", was auf eine fehlerhafte Rotationslogik hindeutet. Die Arme der "Walking"-Pose wurden als "schief" beschrieben. Ein deutliches Zeichen für eine Überarbeitung.
Dieses Feedback führte zu einer umfassenden Überholung:
- Sichtbare Gelenke:Einfache Zylinder wurden zu den Ellbogen und Knien hinzugefügt, und Kugeln zu den Schultern und Hüften. Dies verbesserte nicht nur die optische Attraktivität, sondern machte auch die Drehpunkte deutlich.
- Klippen beheben:Die neuen Schultergelenke waren etwas außerhalb des Torsos positioniert. Dies sorgte für den notwendigen Abstand, um zu verhindern, dass die Arme während der Rotation mit dem Körper kreuzen.
- Überarbeitete Rotationslogik:Das gesamte System zur Armrotation wurde neu aufgebaut, um intuitiver zu sein, und trennte den "Lift" (nach der Seite) vom "Swing" (vorwärts und zurück). Dies korrigierte endlich die T-Pose und ließ andere Posen wie "Gehen" natürlich erscheinen.
Phase 4: Finalisierung und Dokumentation
Das Ergebnis: Version 2.3
Nach mehreren Runden der Iteration und des Debuggens kamen wir zur endgültigen Version. Das Modell war nun vollständig beweglich, dimensional parametrisch und visuell kohärent mit klaren, funktionalen Gelenken.
.Schlussfolgerung
Die Schaffung des Humanizer V2.3 war ein Beweis für die Kraft des iterativen Designs und klarem Feedback. Indem wir mit einer soliden Grundlage von Best Practices begannen und jedes Problem systematisch lösten, transformierten wir eine einfache statische Figur in ein dynamisches und hoch anpassbares 3D-Modell. Diese Reise, von einer einfachen Anfrage zu einem ausgefeilten Endprodukt, zeigt eine erfolgreiche Zusammenarbeit zwischen menschlicher Kreativität und
Leitprinzipien für KI.
KI-Leitprinzipien für OpenSCAD & 3D-Druck// ============================================================================= // SICHERHEITSPRIMITIVE MODULE // ============================================================================= /* * safe_cube() * Ein robuster Würfel-Modul. * - size: Ein Vektor [x, y, z] für die Gesamtabmessungen. * - center: Ein Boolscher Wert, um den Würfel vertikal zu zentrieren. */ module safe_cube(size, center=false) { if (center) { translate([-size.x/2, -size.y/2, -
Tags
Modellquelle
