Parametric CAD sequences are reusable because dimensional and geometric constraints govern how parameter changes propagate. Existing CAD generation datasets and benchmarks emphasize reconstruction fidelity, execution validity, or static shape similarity, leaving preservation of design intent under edits largely unmeasured. We introduce HistCAD, a representation standard, dataset, and benchmark for executable parametric CAD with explicit constraints. HistCAD defines an intermediate language independent of CAD software, recording sketch primitives, constraints, feature operations, and 3D point boundary references for operations such as fillet and chamfer. The dataset contains 170,236 executable sequences aligned with native CAD models, STEP files, rendered views, and text annotations, combining academic scale with professionally authored industrial complexity. Building on this representation, the Constraint-Aware Editability Benchmark applies parameter edits and reports Edit Reachability, conditional preserved constraint satisfaction, and Overall Editable Success, abbreviated ER, cPCSR, and OES; these metrics separate failures to reach a valid edited state from failures to preserve required constraints. Experiments show that explicit constraints are essential for preserving design intent after edits, and that HistCAD supports supervised CAD generation from text and direct LLM workflows. We argue that HistCAD reframes CAD generation from static shape imitation to the synthesis of reusable parametric sequences with explicit constraints.
翻译:参数化CAD序列具有可重用性,因为尺寸约束和几何约束控制着参数变化的传播方式。现有CAD生成数据集和基准测试侧重于重建保真度、执行有效性或静态形状相似性,未能充分衡量编辑后设计意图的保留程度。我们提出HistCAD——一种面向可执行参数化CAD且包含显式约束的表示标准、数据集与基准测试。HistCAD定义了一种独立于CAD软件的中间语言,能够记录草图图元、约束、特征操作以及用于倒圆角和倒角等操作的三维点边界参考。该数据集包含170,236个可执行序列,与原生CAD模型、STEP文件、渲染视图及文本注释对齐,兼具学术规模与专业创作的工业复杂性。基于该表示,约束感知可编辑性基准测试通过应用参数编辑,报告编辑可达性、条件性保留约束满足度及总体可编辑成功率(分别缩写为ER、cPCSR及OES);这些指标将未能达到有效编辑状态与未能保留所需约束的失败情形加以区分。实验表明,显式约束对于编辑后保留设计意图至关重要,且HistCAD支持从文本进行监督式CAD生成以及直接的大型语言模型工作流程。我们认为,HistCAD将CAD生成从静态形状模仿重新定位为合成包含显式约束的可重用参数化序列。