CAD Geometry Corpus · ADSKAILab
ABC-1M
A corpus of one million CAD-quality 3D shapes from the ABC dataset for engineering generative models.
What ABC-1M is
ABC-1M is a 3D geometry dataset published by ADSKAILab for engineering and materials science applications. It comprises one million computer-aided design (CAD) quality shapes drawn from the broader ABC dataset.
The dataset provides a foundation training corpus for generative geometric modeling, serving as the training data for the Make-A-Shape and WaLa generative models.
How it was made
The corpus compiles one million 3D shapes selected from the ABC dataset. The data is structured using the Parquet format with tabular and text modalities, enabling access through data analysis frameworks including Polars, Dask, and the Hugging Face Datasets library.
Key facts
- Category
- CAD Geometry Corpus
- Format
- Parquet
- Modalities
- Tabular, text
- Associated fields
- Engineering, materials-science
What you can use it for
- Training generative 3D shape models
- Supplies base training data for 3D generative architectures, such as Make-A-Shape and WaLa.
- Engineering geometry research
- Provides a standardised collection of one million CAD-quality geometries for computational engineering and materials science investigations.
Explore the data
The schema, real rows, full-text search and a SQL filter — read in your browser, nothing downloaded.
Explore
Read the real rows without downloading anything
Reading rows…
LiveRead from ADSKAILab/ABC-1M at the moment you asked. Nothing is cached or stored — every row above came from that request.
How the columns are distributed
Over 2,659 rows of default/train
area
float- min
- -120618.39325
- median
- 10028.41
- mean
- 1.1M
- max
- 455M
body_index
int- min
- 0
- median
- 2
- mean
- 20.18
- max
- 1,031
err
string_label- 100%
- Process returned with code 1 and error: Traceback (most recent call last): File "/home/ray/anaconda3/envs/occ/lib/python3.7/runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "/home/ray/anaconda3/envs/occ/lib/python3.7/runpy.py", line 85, in _run_code exec(code, run_globals) File "/tmp/ray/session_2024-07-06_09-46-21_505136_263/runtime_resources/working_dir_files/_ray_pkg_43b20090e70c1813/src/brep_direct_gen/data_process/process_single_solid.py", line 193, in <module> process_solid() File "/tmp/ray/session_2024-07-06_09-46-21_505136_263/runtime_resources/working_dir_files/_ray_pkg_43b20090e70c1813/src/brep_direct_gen/data_process/process_single_solid.py", line 183, in process_solid data = extract_features_from_body(compound) File "/tmp/ray/session_2024-07-06_09-46-21_505136_263/runtime_resources/working_dir_files/_ray_pkg_43b20090e70c1813/src/brep_direct_gen/data_process/process_single_solid.py", line 167, in extract_features_from_body data, split_solid = parse_solid(solid, num_uv=num_uv, num_u=num_u) File "/tmp/ray/session_2024-07-06_09-46-21_505136_263/runtime_resources/working_dir_files/_ray_pkg_43b20090e70c1813/src/brep_direct_gen/data_process/process_abc.py", line 140, in parse_solid solid, num_uv=num_uv, num_u=num_u, allow_sheets=allow_sheets File "/tmp/ray/session_2024-07-06_09-46-21_505136_263/runtime_resources/working_dir_files/_ray_pkg_43b20090e70c1813/src/brep_direct_gen/data_process/utils.py", line 328, in extract_features_from_solid face_dict, edge_dict, edge_face_incidence = face_edge_adj(shape, allow_sheets) File "/tmp/ray/session_2024-07-06_09-46-21_505136_263/runtime_resources/working_dir_files/_ray_pkg_43b20090e70c1813/src/brep_direct_gen/data_process/utils.py", line 232, in face_edge_adj left_face, right_face = edge.find_left_and_right_faces(connected_faces) File "/home/ray/anaconda3/envs/occ/lib/python3.7/site-packages/occwl/edge.py", line 453, in find_left_and_right_faces if face2.is_left_of(self): File "/home/ray/anaconda3/envs/occ/lib/python3.7/site-packages/occwl/face.py", line 322, in is_left_of assert found_edge, "Edge doesn't belong to face" AssertionError: Edge doesn't belong to face ERROR conda.cli.main_run:execute(124): `conda run python -m src.brep_direct_gen.data_process.process_single_solid /tmp/tmpny2g8laj` failed. (See above for error) 0%
- Process returned with code 124 and error: 0%
largest_distance_between_edge_bboxes_world
float- min
- 0
- median
- 9.87
- mean
- 10.05
- max
- 18
largest_distance_between_face_bboxes_world
float- min
- 0
- median
- 9.13
- mean
- 9.22
- max
- 17.72
max_edges_per_face
int- min
- 0
- median
- 12
- mean
- 21.52
- max
- 440
num_cones
int- min
- 0
- median
- 0
- mean
- 1.13
- max
- 84
num_cylinders
int- min
- 0
- median
- 4
- mean
- 10.92
- max
- 512
num_edges
int- min
- 2
- median
- 42
- mean
- 99.41
- max
- 2,199
num_faces
int- min
- 1
- median
- 18
- mean
- 37.56
- max
- 776
num_faces_after_splitting
int- min
- 0
- median
- 22
- mean
- 42.09
- max
- 789
num_spheres
int- min
- 0
- median
- 0
- mean
- 0.40
- max
- 30
num_toruses
int- min
- 0
- median
- 0
- mean
- 1.35
- max
- 122
num_vertices
int- min
- 1
- median
- 28
- mean
- 64.42
- max
- 1,544
scaled_unique
bool- True100%
smallest_max_bbox_length_solid_length_ratio
float- min
- 0
- median
- 0.08
- mean
- 0.18
- max
- 1
smallest_mid_bbox_length_solid_length_ratio
float- min
- 0
- median
- 0.03
- mean
- 0.08
- max
- 1.00
smooth_edges_weighted_by_length
float- min
- 0
- median
- 0.11
- mean
- 0.23
- max
- 1
solid_name
string_text- min
- 1
- median
- 7
- mean
- 9.98
- max
- 159
solid_to_bounding_box_volume_ratio
float- min
- -3.66
- median
- 0.44
- mean
- 0.48
- max
- 1
sphere_radius
float- min
- 0.21
- median
- 46.17
- mean
- 188.06
- max
- 6530.94
sphere_scaled_area
float- min
- -23.75
- median
- 4.85
- mean
- 5.39
- max
- 22.46
sphere_scaled_volume
float- min
- -0.33
- median
- 0.11
- mean
- 0.45
- max
- 36.52
stem
string_text- min
- 47
- median
- 47
- mean
- 47
- max
- 47
thin_box_ratio
float- min
- 3.1e-3
- median
- 0.66
- mean
- 0.62
- max
- 1
volume
float- min
- -3947215.1847
- median
- 19939.94
- mean
- 85M
- max
- 64.8B
Strengths and limits
Good at
- Provides a large collection of one million CAD-quality 3D shapes from the ABC dataset.
- Formatted in Parquet for integration with tabular data processing libraries such as Polars and Dask.
Watch out for
- Does not include detailed source documentation regarding individual shape annotations, geometric representations, or surface mesh properties.
Questions
Can I look inside ABC-1M without downloading it?
Yes. This page reads its schema, real rows and per-column statistics in the browser, with full-text search and a SQL filter. Nothing is downloaded to your machine.
What licence is ABC-1M under?
Its authors declare mit. Read the terms on the original page before reusing the data.
Which generative models have been trained on ABC-1M?
ABC-1M serves as the foundation training corpus for the Make-A-Shape and WaLa generative models.
Where do the 3D models in ABC-1M originate?
All shapes in the corpus are drawn from the ABC dataset.
What data formats are provided?
The corpus is provided in Parquet format covering tabular and text modalities.
Written from ABC-1M's own dataset card. Statements citing a figure that does not appear there are removed before publication. Licence and running details come from our registry.