Where the frontier is
Score on Core against cost per case in each lab's own harness, one line per model from its lowest to its highest reasoning effort. Claude models in Claude Code, credit to Anthropic; Claude Fable 5.2 at max effort from its system card, cost estimated from the card's chart. OpenAI's internal model (unreleased) in Codex, credit to OpenAI, scored with the 2.0 scorer, cost estimated.
Score on Core against cost per case with the standard 2.1 harness, one line per model from its lowest to its highest reasoning effort; mean of 5 passes. Credit to Anthropic; Claude Fable 5.2 at max effort from its system card, cost estimated from the card's chart.
Score on Core at max reasoning effort against release date: hollow markers for the standard 2.1 harness, filled for CC / Codex (each lab's own agent), a faint line joining a model's two settings, and the best score to date in each setting. Credit to Anthropic for the Claude runs; Claude Fable 5.2 from its system card. OpenAI's internal model is unreleased: credit to OpenAI, placed at the date of its post (2026-11-03), scored with the 2.0 scorer.
The top of the board
BenchCAD 2.1 Core with agent: each model in its lab's own harness, 100 held-out cases across six tasks, best reasoning effort. Scores run from 0 to 1. Claude results: credit to Anthropic (Claude Fable 5.2 from its system card). OpenAI's internal model (unreleased): credit to OpenAI, scored with the 2.0 scorer.
The ten best models on Vision2Code. Scores run from 0 to 1, and a program that fails to run scores 0.
News and writing
Citation
@misc{benchcad2_2026,
title = {BenchCAD 2.0: Benchmarking Programmatic CAD on Real Engineering Work},
author = {{BenchCAD Team}},
year = {2026},
howpublished = {\url{https://benchcad.com/blog/benchcad-2.html}},
note = {Blog post}
}
@misc{benchcad2026,
title = {BenchCAD: A Comprehensive, Industry-Standard Benchmark for Programmatic CAD},
author = {Zhang, Haozhe and Liu, Kaichen and Chen, Miaomiao and Li, Lei
and Yang, Shaojie and Peng, Cheng and Chen, Hanjie},
year = {2026},
eprint = {2605.10865},
archivePrefix= {arXiv},
primaryClass = {cs.CV},
url = {https://arxiv.org/abs/2605.10865}
}
