cad-steps
收藏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许可证)。




