openscad
npx skills add https://github.com/iancanderson/openscad-agent --skill openscad
Agent 安装分布
Skill 文档
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.pngphone_stand_002.scad->phone_stand_002.pnggear_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:
.claude/skills/openscad/scripts/version-scad.sh pianoOutput:
piano_001(no existing files) -
Write
piano_001.scadwith initial design -
Render preview:
.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