rawwerks/vibecad/model-compare
Claude Code and agent skill by rawwerks/vibecad
- community
Checking that the SKILL.md file is still in the repository.
Compare 3D CAD models using boolean operations (IoU, Dice, precision/recall). Use when evaluating generated models against gold references, diffing CAD revisions, or computing similarity metrics for ML training. Triggers on: model diff, compare models, IoU, intersection over union, model similarity, CAD comparison, STEP diff, 3D evaluation, gold reference, generated model, precision recall 3D.
Install
npx vskill@latest install rawwerks/vibecad/model-compareSKILL.md
3D Model Comparison Tool
Compare CAD models using boolean operations to compute similarity metrics like IoU, Dice, precision, and recall. Useful for:
- Evaluating ML-generated models against gold references
- Comparing revisions of CAD designs
- Computing metrics for training 3D generative models
- Visualizing geometric differences
Quick Start
Supported Formats
| Format | Extension | Notes | |
|---|---|---|---|
| STEP | .step, .stp | Recommended - full CAD fidelity | |
| BREP | .brep | OpenCASCADE native format | |
| STL | .stl | Mesh format - may have boolean issues |
Output Metrics
Primary Metrics (for ML training)
| Metric | Range | Description | |||||||
|---|---|---|---|---|---|---|---|---|---|
| IoU (Jaccard) | 0-1 | ` | A∩B | / | A∪B | ` - standard similarity | |||
| Dice (F1) | 0-1 | `2 | A∩B | / ( | A | + | B | )` - more sensitive to small overlaps | |
| Precision | 0-1 | ` | A∩B | / | B | ` - how much of generated is correct | |||
| Recall | 0-1 | ` | A∩B | / | A | ` - how much of reference was captured |
Diagnostic Metrics
| Metric | Description | |
|---|---|---|
volume_ratio | B/A volume ratio (1.0 = same size) | |
center_offset | Distance between centers of mass | |
bbox_iou | Bounding box IoU (coarse alignment) | |
size_ratio_x/y/z | Per-axis scale comparison | |
surface_ratio | Surface area comparison |
Interpretation
The tool provides automatic interpretation:
- Over-generating: Low precision, high extra geometry
- Under-generating: Low recall, missing geometry
- Size issues: Volume ratio far from 1.0
- Position issues: Large center offset
CLI Options
Output Files
When --no-export is not set, produces GLB files for visualization:
| File | Description | |
|---|---|---|
diff_reference.glb | The reference model (A) | |
diff_generated.glb | The generated model (B) | |
diff_missing.glb | Geometry in A but not B (under-generation) | |
diff_extra.glb | Geometry in B but not A (over-generation) | |
diff_common.glb | Geometry in both (correct match) |
Example: Training Pipeline Integration
Example: Loss Function
How It Works
The tool uses boolean operations from OpenCASCADE (via build123d):
Sample Output
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/build123d/skills/model-compare/SKILL.md
Popularity
- Repository stars
- 123
- Repository forks
- 17
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/rawwerks/vibecad/model-compare)