OpenSCAD Design Skill
Create versioned OpenSCAD files, render previews, and compare iterations for 3D printing designs.
Workflow
1. Determine the Next Version Number
Before creating a new .scad file, find existing versions:
.claude/skills/openscad/scripts/version-scad.sh <name>
This returns the next version number and filename. For example, if piano_001.scad exists, it returns piano_002.
2. Create the Versioned .scad File
Write the OpenSCAD code to the versioned filename (e.g., piano_002.scad).
3. Render the Preview
.claude/skills/preview-scad/scripts/render-scad.sh <name>_<version>.scad --output <name>_<version>.png
This creates a PNG with the matching version number (e.g., piano_002.png).
4. Compare with Previous Version
Read both the current and previous PNG images to visually compare:
- •Current:
piano_002.png - •Previous:
piano_001.png(if exists)
Evaluate what changed and whether the new version better matches requirements.
5. Iterate
If the design needs improvement:
- •Analyze what's wrong
- •Create the next version (e.g.,
piano_003.scad) - •Render and compare again
File Naming Convention
<model-name>_<version>.scad -> <model-name>_<version>.png
Examples:
- •
phone_stand_001.scad->phone_stand_001.png - •
phone_stand_002.scad->phone_stand_002.png - •
gear_001.scad->gear_001.png
Use underscores in model names, and always use 3-digit zero-padded version numbers.
Example Session
User asks for a piano model:
- •
Check for existing versions:
bash.claude/skills/openscad/scripts/version-scad.sh piano
Output:
piano_001(no existing files) - •
Write
piano_001.scadwith initial design - •
Render preview:
bash.claude/skills/preview-scad/scripts/render-scad.sh piano_001.scad --output piano_001.png
- •
Read
piano_001.pngto inspect the result - •
If improvements needed, create
piano_002.scad, render topiano_002.png - •
Read both
piano_001.pngandpiano_002.pngto compare iterations
Render Options
See /preview-scad for full rendering options:
- •
--size <WxH>- Image dimensions (default:800x600) - •
--camera <x,y,z,tx,ty,tz,d>- Camera position - •
--colorscheme <name>- Color scheme (default:Cornfield) - •
--render- Full render mode (slower, more accurate) - •
--preview- Preview mode (faster, default)
Next Steps
Once the design looks correct in PNG previews:
- •Export to STL: Use
/export-stlto convert the final version to STL format - •The export includes geometry validation to catch printability issues
Full Pipeline
/openscad → /preview-scad → /export-stl (with validation)
Tips
- •Start simple and add complexity in iterations
- •Use meaningful model names that describe the object
- •Keep each version's changes focused on specific improvements
- •Document what changed between versions in your response to the user
- •Only export to STL once the preview looks correct
- •Always run slice-check before considering a model print-ready