connoronthejob 2 hours ago

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.

  • 8note an hour ago

    a lot of the why is encoded elsewhere in mechanical engineering at least - the tables, the formulas, textbook problems, engineering reports.

    one of the challenges to making a good data set might be around bad designs and why they failed. if we get to a mechanical agent, its going to need to understand that brass was a mistake and redesign a part as steel and change the design for the new contraints

    unlike code, that kind of train of experiment i think will be a lot more expensive to make, since you might actually want to create those parts along the way and not just pretend

  • pyottdes an hour ago

    Agreed. At the end of the day, manufactured parts are driven by constraints outside of the CAD environment so analyzing 3D data as the foundation of an AI system strikes me as attacking the problem from the wrong direction. i.e. Simple optimization of a part for injection molding can take it from requiring a bunch of side actions and collapsing cores to a simple 2 sided mold and save hundreds of thousands of dollars in tooling. None of that is obvious from 3D data alone.

    That said, I am excited for AI assisted CAD tools. Things like creating and applying global variables to an existing part, complex assembly analysis for part reduction or just making a starting base part can be incredibly tedious and are low hanging fruit for improving CAD workflows with AI imo.

DavidFerris a day ago

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...

  • MichaelZuo an hour ago

    The search function doesn’t seem to work at all, it provides nonsensical results.

    For example if I search “supercolumns” I get regular household furniture.

neutrinobro 3 hours ago

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).

  • abeyer 3 hours ago

    Not the first one... but the "pair of interconnected mugs" that is described as "emphasizes connectivity and collaboration, suitable for serving beverages in a shared or communal setting" is pretty amazing too. I never knew I was missing out on communal mug holding.

  • observationist 3 hours ago

    Yeah, this looks like something you might hang from a wire or string with a slot for a dowel. A+ for effort though, lol!

bouchard an hour ago

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.

notpublic 3 hours ago

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!

sho_hn a day ago

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.

  • DavidFerris a day ago

    This isn't meant to be a commercially useful search engine- just a demonstration. You'll only be able to search for terms that the VLM could directly discern.

    From the blog post: Our search demo proves that it works quite well. As anticipated, text search works well, returning sensible results for even irregular or poorly formed queries. It’s worth mentioning that this is very different from 3D part libraries like Thingiverse or GrabCAD. Search in those repositories requires users to tag or annotate parts with a description, the text of which is used in search. Our system takes only an unnamed part as input, requiring no additional labelling.

    • sho_hn a day ago

      I see, you did an AI demo of captioning and search over captures specifically for complex geometric objects.

      I guess my interest was more piqued by the "CAD" part.

ge96 2 hours ago

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.

  • abeyer an hour ago

    More likely the detailed ones came out of ECAD systems that often include 3d models in their component libraries so you can automatically visualize/model the finished product while designing a board, and integrate with physical CAD for designing enclosures and other mechanical parts.

d_runs_far an hour ago

two searches gave me absolute ridiculous results: chair, laptop. Back to re-learning fusion for me :-)

bobtheborg 2 hours ago

Try searching for "glasses" and you get a page full of blocks?

bstsb 4 hours ago

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

  • Brian_K_White 3 hours ago

    I tried "DHO804" (a popular oscilloscope that has printable accessories), got all screws.

    Ok too niche, except that's exactly the use-case as I see it so if that's too niche then what good is it? Whatever call it pre-alpha poc and move on...

    Tried "grommet", got all finger rings. Closer but not close enough to be useful. It wasn't a mix of ringular-shaped objects including grommets, and grommets aren't only round either. None of the rings were even slightly grommet shaped, purely tori and belts, some with add-ons and cut-outs.

    Perhaps it needs a couple orders of magnitude more input samples before it becomes useful. And by "useful" I do mean even just as a proof of concept, because I don't see any concept proven here.

  • DavidFerris 4 hours ago

    There's a pretty big bias for mechanical engineering components in the dataset- very few organic forms. It's one of the limitations we call out in the dataset card.

    There are a few though! Try "dog" or "cookie cutter" for example.

    • rehevkor5 3 hours ago

      It's CAD. Is there a legitimate reason to use that to engineer a dog? Doesn't make sense to me.

      • DavidFerris 3 hours ago

        The initial ABC dataset is from public Onshape files -- clearly some people had a reason to design a dog model parametrically!

        • 8note an hour ago

          id guess for 3d printing.

          not the best tool for the job of making something organically shaped, but maybe they also wanted to run some aerodynamics tests on it?

  • rehevkor5 3 hours ago

    It's CAD. Doesn't make sense to engineer an apple...

    • jacquesm an hour ago

      Fruit picking is a thing. You may want to 3D print some everlasting apples for tests.

      • 8note an hour ago

        CAD is a 3D modeling tool.

        its not the only one, and other tools are better suited for something like an apple. you can still post-process it to get it right sized for a printer

        • jacquesm an hour ago

          Oh come on, a nice 3D model of parametric apples in OpenSCAD would be so neat to have.

  • virtualritz 3 hours ago

    I think an apple would not be stored in a CAD format like IGES or STEP but rather in OBJ, USD, FBX etc.

    I.e. it would not be in dataset because the use cases for 3D apples are outside of typical use cases where people resort to CAD software.

jlarks32 2 hours ago

Sick project. Great work. Thanks for the HF dataset as well.