Skip to content
Tech News
← Back to articles

Benchmark: CadQuery vs. OpenSCAD for agentic CAD work

read original get Bambu Lab A1 Mini 3D Printer → more articles
Why This Matters

A hands-on benchmark pitting CadQuery against OpenSCAD for AI-driven CAD found both toolchains can produce correct, printable parts unsupervised — capability wasn't the differentiator, failure modes were. As AI agents increasingly generate physical designs, this kind of controlled comparison helps establish which code-first CAD stacks are safe to hand to an autonomous agent.

Key Takeaways
Worth a Look

Bambu Lab A1 Mini 3D Printer — If AI agents are churning out printable CadQuery and OpenSCAD parts, you need something to actually print them on. The A1 Mini is a compact, auto-calibrating FDM printer that makes going from STL to finished part refreshingly quick, and it pairs nicely with rapid iteration on code-generated models.

See Bambu Lab A1 Mini 3D Printer on Amazon → Affiliate link — we may earn a commission on purchases, at no extra cost to you. Product picked by AI based on this article; it is not a tested recommendation.

We gave six AI agents the same three printable parts to model, three in CadQuery and three in OpenSCAD, then verified every mesh independently. Both toolchains shipped. The difference is in how they fail.

ModelRift generates OpenSCAD for every model on the platform. That choice is worth re-testing occasionally, so we ran a controlled comparison against the most credible alternative for code-first CAD: CadQuery, a Python library on top of the OpenCascade B-rep kernel.

The question was narrow: which one can an AI agent drive to a correct, printable, functional part with nobody watching? How pleasant each is to write by hand did not come into it.

Six agents, three tasks, two tools. Every resulting STL was then checked by a parser that trusts neither tool.

All six parts came out printable. Capability turned out to be the boring part of the answer. Where the two diverge is in how they fail.

The hardest task in the set, solved by both tools. OpenSCAD on the left, CadQuery on the right.

Setup

All six runs were driven by Claude Opus 5 (1M context) through Claude Code. Each cell ran as a separate general-purpose subagent inheriting that same model, with no cross-talk between them. One agent per cell, so part of the spread below is agent variance rather than tool difference. Tool versions were CadQuery 2.8.0 on Python 3.14 and OpenSCAD 2026.06.12, both on an M-series Mac.

The OpenSCAD side ran on our own openscad-skill, the agent skill we publish and use in house. It covers file and version naming, the render-inspect-fix QA loop, camera presets for CLI previews, cross-section debugging, and Customizer syntax.

For CadQuery we ported that skill operation by operation, keeping the same structure and replacing only what has no OpenSCAD equivalent. CadQuery has no CLI renderer, so the port needed a small offscreen renderer written for it, plus B-rep validity metrics in place of the CSG status line. Both files then got the same 3D-printing design rules, wall thickness, clearances and overhangs, so neither side was handed advice the other lacked. Sizes landed at 12.4 KB for OpenSCAD and 13.1 KB for CadQuery.

... continue reading