sample_id stringlengths 13 13 | release_version stringclasses 1
value | split stringclasses 1
value | units stringclasses 1
value | coord_system stringclasses 1
value | n_objects int64 1 7 | n_operations int64 1 7 | n_toolpaths int64 1 7 | n_status_entries int64 1 7 | operation_types listlengths 1 3 | feature_types listlengths 1 3 | geometry_brep stringlengths 31 31 | geometry_step stringlengths 30 30 | source_dataset_recorded stringclasses 1
value | source_collection stringclasses 4
values | source_relative_id stringlengths 21 26 | design_id_recorded stringlengths 8 8 | toolpath_source_recorded stringclasses 1
value | recorded_hard_checks_pass bool 1
class |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0000/00000000 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 1 | 1 | 1 | 1 | [
"Mill"
] | [
"pocket"
] | samples/0000/00000000/part.brep | samples/0000/00000000/part.stp | DeepMS | Cyliner-data | Cyliner-data/0003/00010747 | 00010747 | external_explicit | true |
0000/00000001 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 4 | 4 | 4 | 4 | [
"Mill"
] | [
"pocket"
] | samples/0000/00000001/part.brep | samples/0000/00000001/part.stp | DeepMS | Path-data | Path-data/0013/00039996 | 00039996 | external_explicit | true |
0000/00000002 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 3 | 3 | 3 | 3 | [
"Mill"
] | [
"pocket"
] | samples/0000/00000002/part.brep | samples/0000/00000002/part.stp | DeepMS | Cyliner-data | Cyliner-data/0000/00002832 | 00002832 | external_explicit | true |
0000/00000003 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 1 | 1 | 1 | 1 | [
"Mill"
] | [
"pocket"
] | samples/0000/00000003/part.brep | samples/0000/00000003/part.stp | DeepMS | ir-data | ir-data/0004/00012392 | 00012392 | external_explicit | true |
0000/00000004 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 6 | 6 | 6 | 6 | [
"Drill",
"Mill",
"Slant"
] | [
"chamfer",
"drilling",
"pocket"
] | samples/0000/00000004/part.brep | samples/0000/00000004/part.stp | DeepMS | Path-data | Path-data/0015/00000103 | 00000103 | external_explicit | true |
0000/00000005 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 1 | 1 | 1 | 1 | [
"Mill"
] | [
"pocket"
] | samples/0000/00000005/part.brep | samples/0000/00000005/part.stp | DeepMS | ir-data | ir-data/0006/00018058 | 00018058 | external_explicit | true |
0000/00000006 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 4 | 4 | 4 | 4 | [
"Drill"
] | [
"drilling"
] | samples/0000/00000006/part.brep | samples/0000/00000006/part.stp | DeepMS | Cyliner-data | Cyliner-data/0000/00001137 | 00001137 | external_explicit | true |
0000/00000008 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 1 | 1 | 1 | 1 | [
"Mill"
] | [
"pocket"
] | samples/0000/00000008/part.brep | samples/0000/00000008/part.stp | DeepMS | Cyliner-data | Cyliner-data/0000/00000435 | 00000435 | external_explicit | true |
0000/00000009 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 6 | 6 | 6 | 6 | [
"Drill",
"Mill",
"Slant"
] | [
"chamfer",
"drilling",
"pocket"
] | samples/0000/00000009/part.brep | samples/0000/00000009/part.stp | DeepMS | Path-data | Path-data/0012/00037260 | 00037260 | external_explicit | true |
0000/00000010 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 2 | 2 | 2 | 2 | [
"Drill",
"Mill"
] | [
"drilling",
"pocket"
] | samples/0000/00000010/part.brep | samples/0000/00000010/part.stp | DeepMS | ir-data | ir-data/0006/00018186 | 00018186 | external_explicit | true |
0000/00000011 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 1 | 1 | 1 | 1 | [
"Mill"
] | [
"pocket"
] | samples/0000/00000011/part.brep | samples/0000/00000011/part.stp | DeepMS | ir-data | ir-data/0005/00016012 | 00016012 | external_explicit | true |
0000/00000012 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 2 | 2 | 2 | 2 | [
"Drill"
] | [
"drilling"
] | samples/0000/00000012/part.brep | samples/0000/00000012/part.stp | DeepMS | ir-data | ir-data/0004/00013901 | 00013901 | external_explicit | true |
0000/00000013 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 1 | 1 | 1 | 1 | [
"Drill"
] | [
"drilling"
] | samples/0000/00000013/part.brep | samples/0000/00000013/part.stp | DeepMS | Cyliner-data | Cyliner-data/0003/00010327 | 00010327 | external_explicit | true |
0000/00000014 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 2 | 2 | 2 | 2 | [
"Drill",
"Mill"
] | [
"drilling",
"pocket"
] | samples/0000/00000014/part.brep | samples/0000/00000014/part.stp | DeepMS | ir-data | ir-data/0006/00019088 | 00019088 | external_explicit | true |
0000/00000015 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 4 | 4 | 4 | 4 | [
"Drill",
"Slant"
] | [
"chamfer",
"drilling"
] | samples/0000/00000015/part.brep | samples/0000/00000015/part.stp | DeepMS | Path-data | Path-data/0013/00040075 | 00040075 | external_explicit | true |
0000/00000016 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 1 | 1 | 1 | 1 | [
"Mill"
] | [
"pocket"
] | samples/0000/00000016/part.brep | samples/0000/00000016/part.stp | DeepMS | ir-data | ir-data/0001/00005806 | 00005806 | external_explicit | true |
0000/00001647 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 2 | 2 | 2 | 2 | [
"Drill",
"Mill"
] | [
"drilling",
"pocket"
] | samples/0000/00001647/part.brep | samples/0000/00001647/part.stp | DeepMS | ir-data | ir-data/0000/00000039 | 00000039 | external_explicit | true |
0000/00002163 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 5 | 5 | 5 | 5 | [
"Drill",
"Mill",
"Slant"
] | [
"chamfer",
"drilling",
"pocket"
] | samples/0000/00002163/part.brep | samples/0000/00002163/part.stp | DeepMS | Path-data | Path-data/0002/00006872 | 00006872 | external_explicit | true |
0000/00006345 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 7 | 7 | 7 | 7 | [
"Drill",
"Mill",
"Slant"
] | [
"chamfer",
"drilling",
"pocket"
] | samples/0000/00006345/part.brep | samples/0000/00006345/part.stp | DeepMS | Path-data | Path-data/0013/00041967 | 00041967 | external_explicit | true |
0004/00045852 | preview-0.1 | preview | mm | WCS_TOP_ZPLUS | 1 | 1 | 1 | 1 | [
"Drill"
] | [
"drilling"
] | samples/0004/00045852/part.brep | samples/0004/00045852/part.stp | DeepMS | new-data | new-data/0000/00000003 | 00000003 | external_explicit | true |
CNCGEN: Synthetic Machining-Flow Preview
A small, runnable data preview for CNCGEN: A Dataset and Framework for Machining Process Planning and Toolpath Generation from B-rep Models, by Xiaolei Zhou, Boyi Lin, Yuchao Feng, and Jianwei Zheng.
CNCGEN studies joint generation of object-referenced machining operations and continuous toolpaths as the stock evolves. The paper describes approximately 50k synthetic machining flows and 800 held-out real CNC records. This first release contains 20 synthetic examples, not the full benchmark; real CNC records are not included.
Download and run
Download these files from Files and versions:
CNCGEN_synthetic_preview_v0.1.zipinspect_flow.pyexport_toolpath.py
Python 3.9 or newer is sufficient for the following commands; neither a GPU nor CAD software is required.
python -m zipfile -e CNCGEN_synthetic_preview_v0.1.zip .
python inspect_flow.py --dataset-root samples
python inspect_flow.py --sample samples/0000/00002163 --show-steps
python export_toolpath.py --sample samples/0000/00002163 --output toolpath_preview.csv
The checker loads records and tests object/operation/toolpath references and units. The CSV exporter exposes recorded XYZ waypoints with operation, object, motion mode, and toolpath identity. These tools do not run the trained model or material-removal simulation.
To fetch the data with the Hub client instead:
from huggingface_hub import snapshot_download
snapshot_download(repo_id="jimmy-zhou/CNCGEN", repo_type="dataset", local_dir="CNCGEN")
The optional manifest viewer loads the 20 metadata rows:
from datasets import load_dataset
metadata = load_dataset("jimmy-zhou/CNCGEN", "preview", split="preview")
print(metadata[0])
What is included
The release contains 20 parts, 55 manufacturing objects, 55 operations, and 55 toolpath records, with 1–7 objects per part. Recorded operation labels are Mill, Drill, and Slant; recorded feature labels are pocket, drilling, and chamfer. These are retained schema labels, not newly inferred classes.
Every example includes:
part.brepandpart.stp: CAD geometry.design.json: design history and geometric metadata.manufacturing.json: feature objects, process-plan actions, object references, and semantic status traces.toolpath.json: stock definition, tool/condition fields, and reference XYZ waypoints.validation_mds3.json: stored legality and geometric-validation results.meta.json: recorded provenance, provider, and quality metadata.final_voxel.h5: final-part voxel grid.pointcloud.ply: point-cloud representation.
preview_manifest.jsonl records the selected IDs, source mappings, and asset paths within the archive. checksums.json contains SHA-256 checksums of all 180 sample files and is also included in the archive.
Units, coordinates, and identity
The machining records declare millimetres and WCS_TOP_ZPLUS. The stock top is at Z=0, the stock extends toward negative Z, and positive Z is above the stock. Stock bounds are stored in toolpath.json; final-voxel bounds and pitch are stored as HDF5 attributes.
Actions use target_feature and toolpath_id/toolpath_ids; toolpath records use feature_id. Internal design/feature IDs are preserved. A merged preview-directory ID may therefore differ from a legacy design_id inside the record; the manifest keeps both.
The semantic status_trace is not a per-step volumetric stock sequence. This preview includes a final voxel grid, not dense intermediate stock grids. The recorded toolpaths are reference data, not CNCGEN model predictions.
Provenance and release version
Version: preview-0.1, packaged on 2026-09-30 from the maintained CNCGEN synthetic records.
The selected IDs come from the existing merged collections Cyliner-data (5), Path-data (6), ir-data (8), and new-data (1). The records retain source_dataset=DeepMS and original operation tags. See the manifest and THIRD_PARTY_NOTICES.md for source attribution, including the DeepMS data generator.
The selection is a fixed, non-random schema preview. It is not assigned to the paper's training, validation, or test split, and is not a representative statistical sample of the full benchmark. Full benchmark data and paper-aligned split manifests are reserved for a subsequent release.
Forty host-specific path fields were replaced by relative asset basenames or null where the referenced asset is not included. IDs, labels, geometry, waypoint values, and recorded validation scores were preserved.
Checks and limitations
All 20 examples passed the release-time reference and unit/coordinate checks and had a recorded successful hard-legality check. Geometric scores in the sample records are historical validation outputs; they were not recomputed for this release.
Some records retain quality warnings or provider-fallback metadata. Passing a reference or recorded legality check does not certify industrial machining safety. Use the records for research and data-format inspection, not direct machine execution.
This preview does not include model checkpoints, full training code, the complete benchmark, or real-data redistribution. It does not by itself reproduce the paper's aggregate experimental results. No machine-ready G-code is provided.
License and attribution
Preview data: CC BY 4.0. The two accompanying Python utilities: MIT, as specified in LICENSE-TOOLS.txt. Retained upstream attribution and license notices are in THIRD_PARTY_NOTICES.md; a generator's software license is not asserted as a blanket license for all datasets.
When using the data, credit CNCGEN and preserve the source attribution associated with the records. The paper is a preprint under review, not an accepted conference publication.
- Downloads last month
- 59