cad-steps
收藏资源简介:
CAD-Steps 是首个大规模包含中间 CAD 构造状态及几何约束的数据集。该数据集基于 DeepCAD 语料库中的 178,238 个参数化 CAD 模型,为每个模型在每一步构造操作(如草图绘制、拉伸、切割等)时导出 STEP 几何文件,而不仅仅是最终结果。数据集填补了当前 CAD 数据集中仅提供最终几何或符号操作序列的空白,通过成对的(几何、操作、下一几何)元组,捕捉模型构建的过程。每个模型存储在自己的目录中,包含元数据 JSON 文件和多个 STEP 几何文件。元数据详细记录了构造步骤的类型、几何约束(如垂直、平行、等长等)以及其他相关信息。数据集适用于文本到 3D、机械工程、几何约束学习等任务,采用 CC-BY-4.0 许可发布。
CAD-Steps is the first large-scale dataset containing intermediate CAD construction states and geometric constraints. This dataset is based on 178,238 parametric CAD models from the DeepCAD corpus, and exports STEP geometry files for each model at every construction step (e.g., sketching, extrusion, cutting, etc.), rather than only the final result. It fills the gap that current CAD datasets only provide either final geometry or symbolic operation sequences, capturing the full model construction process via paired (geometry, operation, next-geometry) tuples. Each model is stored in its own directory, which contains a metadata JSON file and multiple STEP geometry files. The metadata comprehensively records the types of construction steps, geometric constraints (e.g., perpendicularity, parallelism, equal length, etc.), and other relevant information. The dataset is applicable to tasks such as text-to-3D, mechanical engineering, geometric constraint learning, and is released under the CC-BY-4.0 license.
CAD-Steps 数据集概述
数据集基本信息
- 数据集名称:CAD-Steps: Intermediate CAD Construction States
- 发布者:Amy Zhou
- 发布日期:2026年
- 许可协议:CC-BY-4.0
- 数据规模:100K<n<1M
- 任务类别:text-to-3d, other
- 标签:cad, 3d, step, mechanical-engineering, intermediate-states, construction-sequence, geometric-constraints, deepcad
数据集简介
CAD-Steps 是首个包含几何约束的中间CAD构造状态的大规模数据集。该数据集基于DeepCAD语料库中的178,238个参数化CAD模型,为每个模型在每一个构造步骤(如草图、拉伸、切割等)导出了STEP几何体,而不仅仅是最终结果。
数据集价值与动机
当前CAD数据集通常只提供最终几何体或符号化操作序列,但缺少每个步骤的中间3D几何体。CAD-Steps通过提供成对的(几何体、操作、下一状态几何体)三元组,填补了这一空白,旨在捕捉模型是如何构建的,而不仅仅是最终结果的外观。
数据集格式与内容
每个模型存储在其独立的目录中,结构如下:
{model_id}/ ├── metadata.json # 完整的构造元数据 ├── state_0001.step.gz # 草图线框(2D) ├── state_0002.step.gz # 第一次拉伸后的状态(3D实体) ├── state_0003.step.gz # 第二次操作后的状态 └── ...
STEP文件
所有几何文件均为gzip压缩的STEP(ISO 10303-21)文件。草图状态导出为2D线框体;拉伸状态导出为3D实体。可使用gzip -d解压或在Python中使用gzip.open()直接读取。
元数据
每个metadata.json文件包含以下信息:
data_id:模型唯一标识符。num_sequence_steps:构造步骤总数。states:状态列表,每个状态包含状态编号、类型(如Sketch、ExtrudeFeature)、是否导出、STEP文件名、文件大小等信息。对于草图状态,还包含草图详细信息,如平面定义、曲线(线、圆、圆弧)和几何约束。bounding_box:模型的边界框。
几何约束
草图中包含推断出的几何约束,主要类型有:
coincident:两条曲线在一点相交。perpendicular:两条线垂直。parallel:两条线平行。equal_length:两条线长度相等。equal_radius:两个圆弧/圆半径相等。concentric:两个圆弧/圆同心。horizontal:线是水平的。vertical:线是垂直的。
数据集统计信息(基于500个模型的样本)
- 每个模型平均有3.5个构造状态。
- 状态类型分布:草图(52%)、拉伸特征(48%)。
- 每个模型平均压缩大小:约84 KB。
- 约束分布:平行(24%)、等长(22%)、垂直(20%)、等半径(18%)、重合(7%)、同心(5%)、垂直(3%)、水平(2%)。
数据加载方式
使用Python
可通过json和gzip模块加载元数据和STEP文件,并可结合CadQuery或OCP(Open CASCADE)库解析STEP几何体。
使用HuggingFace Hub
可通过huggingface_hub库的snapshot_download函数下载整个数据集。
生成流程
- 读取DeepCAD预解析的JSON构造序列(178K个模型)。
- 使用OCP内核重放每个操作(草图线框、拉伸/切割实体)。
- 在每个中间状态导出STEP几何体。
- 从曲线几何中推断几何约束。
- 使用gzip压缩输出(压缩比约5.5倍)。 处理速度:在标准机器上使用6个工作进程,约每秒17个模型。
源数据
构造序列来源于Rundi Wu等人的DeepCAD项目,该项目将公开的Onshape模型解析为参数化操作序列。本数据集在此基础上增加了DeepCAD JSON格式未包含的中间STEP几何体。
引用格式
bibtex @dataset{cad_steps_2026, title={CAD-Steps: Intermediate CAD Construction States with Geometric Constraints}, author={Amy Zhou}, year={2026}, url={https://huggingface.co/datasets/amzyst1/cad-steps} }
许可证
本数据集基于CC-BY-4.0许可证发布。底层构造序列来源于DeepCAD(MIT许可证)。





