§1The problem
Ready-made objects from the internet rarely fit (wrong size, too big, doesn't snap in). I wanted to design parts to measure and turn that into a repeatable workflow, not manual trial and error in the slicer.
§2What I built
- AI design workflowMy own instructions for an AI agent working in OpenSCAD: it acts as a product designer, proposes directions, renders, looks at the result, critiques and refines, and exports STL/3MF.
- .3mf packerPer project: builds the file with the printer profile, filament per part (AMS colours) and A1 G-code embedded, and checks it by slicing from the command line.
- ObjectsListed in the table above.
§3The hard parts
5 entries- 01
Files that open ready
Bambu Studio ignores the embedded profile if the .3mf lacks a signature, and uses generic G-code (without pulling from the AMS) if it can't resolve the profiles' includes; I solved both and validate by slicing from the command line.
- 02
Geometry that depends on testing
Clearances (a snug iPad, the cradle latch, butterfly keys) are parameters; I print test families (e.g. 3 tightness levels) and the winner becomes a constant in the code.
- 03
Calculation, not eyeballing
Wing angle from the lens field of view; shin guard radius from the leg's circumference; the tilt window of the box's opening.
- 04
Measuring without calipers
Photos rectified with ArUco markers (OpenCV) to extract dimensions from a real device.
- 05
Multi-material
Parts in PETG/PLA/TPU with the right extruder per object on the AMS lite; TPU (soft) printed outside it and glued.
§4Result
- objects designed, printed and tested
- 15
Every object in the table has been printed; several are in daily use (desk stands, the 2-phone rig, the cable clip).
§5Stack
- OpenSCAD
- Blender (headless)
- Python (3MF generation, OpenCV / ArUco, lib3mf)
- Bambu Studio (command-line slicer)
- Bambu Lab A1 + AMS lite
- PLA, PETG and TPU












