{"data":{"kind":"file","path":"README.md","version_id":"o8xhf477t9zw90mhwyldbm65","entry":{"name":"README.md","path":"README.md","is_directory":false,"size":1599,"modified_at":"2026-06-27T08:38:37.632000","content_hash":"9a3e01f951e5b824b927b04196b95e2ae0e541edf2c3ed53a8c2823bd2022522"},"entries":[],"content":"# benchcad-vision2code\n\nImage of a mechanical part → a **CadQuery** program. The model is shown a 2×2\ncomposite of four diagonal rendered views of an industry-standard mechanical part\nand must write a CadQuery program that reproduces the geometry.\n\n**Reward = voxel IoU** between the model's executed STEP solid and the\nground-truth STEP. Execution-grounded and deterministic — there is **no judge\nmodel**. Non-executable outputs score 0.\n\n- Benchmark: [BenchCAD](https://github.com/BenchCAD/BenchCAD-main) · paper [arXiv:2605.10865](https://arxiv.org/abs/2605.10865)\n- Data: [`BenchCAD/BenchCAD`](https://huggingface.co/datasets/BenchCAD/BenchCAD), config `code_gen` (17,900 parts / 106 families / 49 standards)\n\n## Task\n\n| | |\n|---|---|\n| Input | a rendered 2×2 view composite (image) |\n| Output | a CadQuery program binding the final solid to `result` |\n| Reward | voxel IoU on a normalized 64³ grid, `\\|A∩B\\| / \\|A∪B\\|` |\n\n## Usage\n\n```bash\n# install + quick eval on a few parts\nuv run vf-eval benchcad-vision2code -n 5\n\n# in code\nimport verifiers as vf\nenv = vf.load_environment(\"benchcad-vision2code\", num_examples=100)\n```\n\n`load_environment(num_examples=None)` — set `num_examples` to evaluate on the\nfirst N parts (handy for quick runs); omit for the full set.\n\n## Notes\n\nThe CadQuery execution and voxel-IoU scoring are vendored verbatim from the\ncanonical scorer (`BenchCAD/BenchCAD-main`, `Vision2Code/scoring/`) so this\nenvironment is a self-contained package; that repository remains the source of\ntruth. Requires the CadQuery / OCP stack (declared in `pyproject.toml`).\n","encoding":"utf-8","truncated":false,"total_bytes":1599},"status":null}