Buckets:
| license: apache-2.0 | |
| task_categories: | |
| - text-to-3d | |
| - image-to-3d | |
| tags: | |
| - CAD | |
| - CadQuery | |
| - synthetic-data | |
| - construction-sequence | |
| - parametric-CAD | |
| - 3D-generation | |
| - agentic-AI | |
| - curated | |
| pretty_name: "Zero-to-CAD 100K" | |
| size_categories: | |
| - 100K<n<1M | |
| language: | |
| - en | |
| - code | |
| configs: | |
| - config_name: default | |
| data_files: | |
| - split: train | |
| path: "data/train/*.parquet" | |
| - split: validation | |
| path: "data/val/*.parquet" | |
| - split: test | |
| path: "data/test/*.parquet" | |
| <p align="center"> | |
| <img src="assets/logo.png" alt="Zero-to-CAD" width="100%"/> | |
| </p> | |
| # Zero-to-CAD 100K | |
| **A curated subset of 100,000 geometrically diverse CAD construction sequences selected from Zero-to-CAD 1M.** | |
| <p align="center"> | |
| <img src="assets/agentic.png" alt="Zero-to-CAD agentic synthesis pipeline" width="800"/> | |
| </p> | |
| > **Zero-to-CAD: Agentic Synthesis of Interpretable CAD Programs at Million-Scale Without Real Data** | |
| > | |
| > [Mohammadmehdi Ataei](https://orcid.org/0000-0002-3399-9696), [Farzaneh Askari](https://orcid.org/0000-0003-0684-1102), [Kamal Rahimi Malekshan](https://orcid.org/0009-0004-1192-4724), [Pradeep Kumar Jayaraman](https://orcid.org/0000-0001-6314-6136) | |
| > | |
| > Autodesk Research | |
| ## Related Resources | |
| | Resource | Link | | |
| |----------|------| | |
| | ๐ **Paper** | [Zero-to-CAD: Agentic Synthesis of Interpretable CAD Programs at Million-Scale Without Real Data](https://arxiv.org/abs/2604.24479) | | |
| | ๐ฆ **Zero-to-CAD 1M** (full dataset) | [ADSKAILab/Zero-To-CAD-1m](https://huggingface.co/datasets/ADSKAILab/Zero-To-CAD-1m) | | |
| | ๐ฆ **Zero-to-CAD 100K** (this dataset) | You are here | | |
| | ๐ค **Fine-tuned Model** (Qwen3-VL-2B) | [ADSKAILab/Zero-To-CAD-Qwen3-VL-2B](https://huggingface.co/ADSKAILab/Zero-To-CAD-Qwen3-VL-2B) | | |
| | ๐๏ธ **Collection** | [ADSKAILab/Zero-To-CAD](https://huggingface.co/collections/ADSKAILab/zero-to-cad) | | |
| ## Overview | |
| This is the **curated 100K subset** of Zero-to-CAD, designed as an accessible entry point for researchers working with limited compute. The samples are selected for **maximum geometric diversity** from the full 1M dataset. | |
| ### Curation Process | |
| 1. **Visual embedding**: Each model is rendered from 8 viewpoints and encoded using DINOv3 features, averaged across views. | |
| 2. **Clustering**: K-means clustering partitions the embedding space into 100K clusters. | |
| 3. **Selection**: The nearest-to-centroid exemplar from each cluster is selected. | |
| This ensures the subset spans the full distribution of part types, operations, and geometric complexity present in the 1M dataset. | |
| <p align="center"> | |
| <img src="assets/samples.png" alt="Sample CAD models from Zero-to-CAD" width="100%"/> | |
| </p> | |
| ## When to Use This vs. the 1M Dataset | |
| | Use case | Recommended | | |
| |----------|-------------| | |
| | Quick prototyping & experimentation | โ **100K** | | |
| | Training large models | ๐ฆ 1M | | |
| | Benchmarking & evaluation | โ **100K** | | |
| | Resource-constrained environments | โ **100K** | | |
| | Maximum training data coverage | ๐ฆ 1M | | |
| ## Dataset Details | |
| ### Splits | |
| | Split | Samples | | |
| |-------|---------| | |
| | Train | 81,015 | | |
| | Validation | 9,734 | | |
| | Test | 9,767 | | |
| ### Data Fields | |
| Each sample contains: | |
| | Field | Type | Description | | |
| |-------|------|-------------| | |
| | `uuid` | `string` | Unique identifier (matches 1M dataset) | | |
| | `cadquery_file` | `string` | Executable CadQuery Python source code | | |
| | `num_faces` | `int` | Number of B-Rep faces in the final solid | | |
| | `face_latency_ms` | `float` | Time to compute face count (ms) | | |
| | `cadquery_ops_json` | `string` | JSON list of CAD operations used | | |
| | `cadquery_ops_count` | `int` | Number of CAD operations in the construction sequence | | |
| | `ops_latency_ms` | `float` | Time to extract operations (ms) | | |
| | `num_renders` | `int` | Number of rendered views | | |
| | `image_0` โ `image_7` | `image` | 8 rendered views (256ร256) | | |
| | `stl_file` | `bytes` | Exported STL mesh | | |
| | `step_file` | `bytes` | Exported STEP file | | |
| ### CAD Operations Coverage | |
| Broad operation vocabulary identical to the 1M dataset: | |
| - **Sketch primitives**: rect, circle, polygon, arc, spline, slot | |
| - **3D operations**: extrude, cut, revolve, loft, sweep | |
| - **Modifications**: fillet, chamfer, shell, offset | |
| - **Booleans**: union, cut, intersect | |
| - **Patterns**: linear, polar, mirror | |
| - **Features**: holes (through, blind, countersink), threads, ribs | |
| ## Quick Start | |
| ### Load the dataset | |
| ```python | |
| from datasets import load_dataset | |
| # Streaming mode โ rows are fetched on demand | |
| ds = load_dataset("ADSKAILab/Zero-To-CAD-100k") | |
| # Get a single sample | |
| sample = next(iter(ds)) | |
| # Display the reconstructed script | |
| cad_code = bytes(sample["cadquery_file"]).decode("utf-8") | |
| print(cad_code) | |
| ``` | |
| ### Execute a sample | |
| ```python | |
| import cadquery as cq | |
| # Streaming mode โ rows are fetched on demand | |
| ds = load_dataset("ADSKAILab/Zero-To-CAD-100k", split="train", streaming=True) | |
| sample = next(iter(ds)) | |
| # Execute the code from a sample | |
| code = bytes(sample["cadquery_file"]).decode("utf-8") | |
| exec(code) | |
| # Display generated CadQuery solid | |
| from IPython.display import display | |
| display(result) | |
| ``` | |
| ## Embeddings & FAISS Index | |
| Precomputed DINOv3 embeddings, a FAISS IVF-PQ index, and precomputed nearest neighbors for the full 1M dataset are available in the [1M dataset repository](https://huggingface.co/datasets/ADSKAILab/Zero-To-CAD-1m) under `embeddings/`. These cover all 1M samples, including every sample in this 100K subset. | |
| The `cad_gen_diverse_samples.csv` file in that folder documents the clustering-based selection process used to curate this subset (cluster IDs, distances to centroids, etc.). | |
| ```python | |
| import faiss | |
| from huggingface_hub import hf_hub_download | |
| # Download the FAISS index from the 1M repo | |
| index_path = hf_hub_download("ADSKAILab/Zero-To-CAD-1m", "embeddings/cad_gen_ivfpq.index", repo_type="dataset") | |
| index = faiss.read_index(index_path) | |
| ``` | |
| See the [1M dataset card](https://huggingface.co/datasets/ADSKAILab/Zero-To-CAD-1m#embeddings--faiss-index) for full usage examples. | |
| ## Intended Uses | |
| - **Quick prototyping** of CAD generation models with a manageable dataset size | |
| - **Evaluation & benchmarking** with a representative, diverse sample | |
| - **Fine-tuning smaller models** when full 1M training is not feasible | |
| ## Citation | |
| If you use this dataset, please cite: | |
| ```bibtex | |
| @misc{ataei2026zerotocadagenticsynthesisinterpretable, | |
| title={Zero-to-CAD: Agentic Synthesis of Interpretable CAD Programs at Million-Scale Without Real Data}, | |
| author={Mohammadmehdi Ataei and Farzaneh Askari and Kamal Rahimi Malekshan and Pradeep Kumar Jayaraman}, | |
| year={2026}, | |
| eprint={2604.24479}, | |
| archivePrefix={arXiv}, | |
| primaryClass={cs.CV}, | |
| url={https://arxiv.org/abs/2604.24479} | |
| } | |
| ``` | |
| ## License | |
| This dataset is released under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). | |
Xet Storage Details
- Size:
- 6.84 kB
- Xet hash:
- 904e3414276036f59ff5d2e59b738cdbde323eb031e8a6ec3080cff61e275640
ยท
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.