We rendered the one million part ABC dataset from Deep Geometry, and open-sourced the data. We also built a fun demo with the following pipeline: CAD > render > caption > embed.
Open-sourced dataset: https://huggingface.co/datasets/daveferbear/3d-model-images-...
Blog writeup: https://www.finalrev.com/blog/embedding-one-million-3d-model...
Neat, but also hilarious! Searching for "mug" gives results where the first item listed (ABC-00008297) is a mug model with a hole not only in the top to pour in your drink, but also in the side and bottom (just in case you wanted more access to your liquid).
When I search for "duck shaped trampoline", I see mostly fidget spinners…
The approach could be helpful for searching though large 3D model libraries like GrabCAD for some visual placeholder part by just describing it.
The generality of the part descriptions made me chuckle.
> A bevel gear with a circular base and a series of angular, tapered teeth extending radially outward. The teeth are uniformly distributed around the circumference, allowing for meshing at an angle with another gear. The gear's face includes a set of holes, varying in size and symmetrically arranged around the central bore, likely for weight reduction or mounting purposes. The central opening likely acts as an axle or shaft attachment point. The design facilitates the transmission of rotational motion between intersecting shafts, typically at a 90-degree angle.
Thanks! In my search for a good STL for the following, your app gave me the closest model so far!
https://m.media-amazon.com/images/I/41hGjsBlrKL._AC_SL1000_....
I tried Google/Claude etc. But none worked. As per Claude, the technical name for that is Pillow Block Bearing/Shaft Coupling Block/Flange Mount Bracket. Funny thing is, your app didn't return any good result when I search with any of those terms.
After reading your blog post, I searched for "block with 2 holes". And lo and behold, it returned ABC-00162357!
Couple of suggestions: 1) Have a permanent link for each model 2) Show related models when a model is clicked 3) and lastly, show models based on an image
edit: Search for "mounting block" returned ABC-00180735 which is exactly what I was looking for. Thank you so much for making this!
I put in "dog bone" and it just returned a bunch of random things.
Interesting.
My go-to for CAD files is usually https://grabcad.com/library
I searched this for "WAGO" and "XT90", so I guess not the same use case. Some hits for "Raspberry Pi", though.
I like how the models have varying degrees of accuracy eg. a Raspberry Pi 4B some are simple volumetric, others seem to have every surface mount component which is crazy... wonder if that was 3D scanned.
two searches gave me absolute ridiculous results: chair, laptop. Back to re-learning fusion for me :-)
Try searching for "glasses" and you get a page full of blocks?
i tried “apples” and got lots of nuts-and-bolts models?
edit: looks like the data is trained from machinery parts. impressive regardless, but i’d add that to the lander
Sick project. Great work. Thanks for the HF dataset as well.
Neat.
As a mechanical engineer, I feel the part of my job is safe from AI for the time being. I don't think quality training data for good mechanical design exists.
3D CAD is only part of good design. To a tinker-er that is 3D printing simple parts, an STL is fine. But most parts that matter require far more design consideration and detail than simply the geometry data that an STL (or other 3D file) provides.
The majority of parts are accompanied with a drawing, and that is where the real design actually is found: Tolerances, GD&T, materials, processing notes...
Even then, most of the calculations and considerations to build the model and drawing are not explicit in the design documents: Nothing about a drawing of a stainless steel part tells you WHY it must be a stainless steel part. I don't think there is a large set of well documented designs out there to act as training data for an AI system to design an assembly beyond basic 3D parts.
The authors identify this gap, but it's a fundamental problem with the wholesale move to AI in mechanical design.