6 ms·
We rendered and embedded one million CAD files
- DavidFerris 8mo agoWe 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-embeddings https://huggingface.co/datasets/daveferbear/3d-model-images-... Blog writeup: https://www.finalrev.com/blog/embedding-one-million-3d-models https://www.finalrev.com/blog/embedding-one-million-3d-model...
- MichaelZuo 8mo agoThe search function doesn’t seem to work at all, it provides nonsensical results. For example if I search “supercolumns” I get regular household furniture.
- hacker_homie 8mo agoYeah I think the embedding are describing what can be seen from a picture of the model not what it is or what it is used for. search some things work like "Fan" but others don't so you can search for "plate with 5 holes" but not for specific engine part cover.
- wlesieutre 8mo agoWhen I search for "chair" I get 48 results, about 3 of which are actually chair-like. - Some are clearly miscategorized - ABC-00131096 is a coffee table but has a very detailed description of its chair attributes. - Many others are weird nonsense geometry, like ABC-00991744, ABC-00807798, ABC-00349255 or ABC-00822766. - Some have a partially accurate description (if you pretend it's a chair), like ABC-00685912 has a blocky geometric structure with a horizontal piece off a vertical piece, but then it starts talking about an armrest on one side that doesn't exist at all. - ABC-00388826 is a silhouette of a cat, which the description misses completely, and I don't see how you would sit on this "unique chair design characterized by its fluid and sculptural form." Overall the descriptions are pretty useless and ascribe a lot of chairness to things that are not chairs. Is a dataset with this much junk in it good for something?
- sho_hn 8mo agoInteresting. My go-to for CAD files is usually https://grabcad.com/library 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 8mo agoThis 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 8mo agoI 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.
- bstsb 8mo agoi 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
- DavidFerris 8mo agoThere'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 8mo agoIt's CAD. Is there a legitimate reason to use that to engineer a dog? Doesn't make sense to me.
- DavidFerris 8mo agoThe initial ABC dataset is from public Onshape files -- clearly some people had a reason to design a dog model parametrically!
- 8note 8mo agoid 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?
- Brian_K_White 8mo agoA dog form is highly useful for a robot. Even purely artistic uses need parametric models of organic things though. Games, other non-game modelling, 3d printing. Both games and general modelling needs parametric versions of basically everything in the model. If you're trying to design and evaluate some cattle processing facility, you'll want a lot of randomly varied cow models. But I bet the biggest use is games and movies. You don't model every dog from scratch, you take the parametric dog model and move the sliders to get all the different dogs in your commercial or show or game.
- neutrinobro 8mo agoNeat, 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).
- observationist 8mo agoYeah, this looks like something you might hang from a wire or string with a slot for a dowel. A+ for effort though, lol!
- abeyer 8mo agoNot 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.
- athom 8mo agoI'll do you one better. The first item returned by a search on "couch" is ABC-00927226, which "features a rectangular form resembling a couch, characterized by a solid, box-like structure." In other words: it's a box. HOWEVER: We KNOW it's a COUCH, because: "One side prominently displays the word "COUCH" vertically, rendered in a bold, modern font." It's BOLD! It's MODERN! It MUST be a "COUCH!"
- notpublic 8mo agoThanks! 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_.jpg 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!
- jlarks32 8mo agoSick project. Great work. Thanks for the HF dataset as well.
- ge96 8mo agoI 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 8mo agoMore 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.
- bobtheborg 8mo agoTry searching for "glasses" and you get a page full of blocks?
- connoronthejob 8mo agoNeat. 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.
- pyottdes 8mo agoAgreed. 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.
- 8note 8mo agoa 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
- deleted 8mo ago[deleted]
- bouchard 8mo agoThe 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.
- d_runs_far 8mo agotwo searches gave me absolute ridiculous results: chair, laptop. Back to re-learning fusion for me :-)
- latchkey 8mo agoI put in "dog bone" and it just returned a bunch of random things.
- jsejcksn 8mo agoWhen I search for "duck shaped trampoline", I see mostly fidget spinners…
- Cieric 8mo agoDoor knob seems to return a bunch of chess pieces and analog sticks, I did get a few doors and a few knobs, but nothing I recognized as a door knob. I didn't spend a super long time looking though so that might have been the problem there. Also suggestion, giving the ability to link to specific models might be useful (I tried a few things on mobile, url doesn't change and searching for a specific model ID doesn't return the model).
- qwery 8mo ago"box with a hole in it" resulted in a number of boxes and most of these did obviously have holes in them. some did not appear to, but being that they were largely enclosures for some sort of device (as opposed to storage or transport) I'll assume there was some hidden fastener clearance holes or something. I really only wanted one hole in my box though, so I adjusted the query to "box with a single hole in it". the results looked indentical. except for one that stood out. I would link to the particular model, but there was no way to do that. this model appears to be a rectangular bathroom basin, on its side. I'd describe it as perhaps a ~currently fashionable porcelain design, but it could be a concrete 'getting shit done' sink, or a model from The Sims (the first one). so box-like perhaps, but not many people would describe it as a box. I guess my search continues (elsewhere)... (actually interesting bit about natural language: I know that a box with two (or more) holes in it has a single hole in it, but most English natural language parsers (humans) will notice that specifying 'single' would be redundant if I wanted any number more than zero, so it's extremely unlikely that I was looking for a multi-hole box.) where did you steal the models from, by the way? just curious. the original context in which they were found would actually be helpful if someone was for some reason trying to actually use this as a tool. [ed: saw the OP's comment down the page -- you can include a comment with the submission IIRC] also if you don't have the 3D model spinning incessantly, having the page open won't be obnoxious and it won't (have to) waste power
- tamimio 8mo agoAmazing! I hope you make it a real site as I noticed usually these vercel apps go offline after few months.
- damslunk 8mo agosearched for 'bong', would not smoke out of any of the objects returned, 0/10
- skyberrys 8mo agoArticulated dragon gave me some dragon shaped sillouetes of ninja throwing stars. I'm looking for those 3D interlocking dragons that seem to be all the rage with the kids lately.
- tlb 8mo agoSeveral searches I tried produced terrible results with no objects matching the description on the first page: M8x30 SHCS Lathe chuck 19" rack mount blank plate The thumbnail descriptions are dominated by boilerplate, such as "The depicted object consists of a wall-mounted shelf unit featuring a rectangular back" The long descriptions are full of irrelevant fluff and don't answer basic questions like what size it is. For example, on a screw: > The model features a hexagonal socket head cap screw, characterized by its cylindrical shaft and a larger, flared hexagonal head. The head's interior is designed to accommodate a hex key, allowing for easy installation and removal. The shaft tapers slightly towards the tip, providing an elongated profile. The smooth surface indicates precision engineering, suitable for applications requiring a strong and secure fastening. The overall design emphasizes functionality while ensuring compatibility with various tools and mechanical setups. A broad search "vise" returns a long list of identical, very eccentric, vises the likes of which I've never seen before.
- Renaud 8mo agoI think a real value of AI in Engineering will be when it can act as a reviewer. Reviewing drawings for incompleteness, contradictory informations, deviations from standards, etc and making recommendations would be very valuable. It doesn’t need to be perfect to be useful.
- DannyBee 8mo agoI spend a lot of time in eplan, 3d cad programs, and cam programs (when working on machines, furniture, and cnc of furniture or machines respectively :P) However, the vast majority of time what i'm searching grabcad or friends it's for specific part numbers or parts. I cannot remember the last time i wanted to try to find some object by generic description. Even as a tool to find possible parts that might fit my task, i don't see how it would make sense, because the stuff that matters is mostly not visual. IE let's say i'm trying to find ballscrew nuts that might be a replacement for one i can't get anymore. I'd want to search for ballscrew nuts that have a specific dimension, which maybe it can do (doesn't look like it so far), but the parts that matter are things like "is it preloaded", etc, which wouldn't be part of the description it generates (because it's often not even visualized in the cad model). This is for mechanical stuff that might be interchangeable. Lots of cad models are of electronics and such that are very much not. Even when i'm doing 3d printing, most of the time i'd search for the part i'm looking for, not a generic description of what might look like - ie i'm searching for dividers for sidiocrate crates. Giving me thousands of possible things that might be a divider would be pretty useless. To the degree i search for generic descriptions, people already provide them, and it's not obvious this is a meaningful friction point for them (IE that being able to generate the labels automatically is really valuable) So while i think this is overall cool, i struggle to think of a truly practical use.
- giorgioz 8mo agoThe search seems keyword based rather than meaning based (like Google). Searched 'under garden basement' and got garden furniture. Searched 'gazebo' but didn't get any gazebo cads
- yellowapple 8mo agoSearching for “alternator” produces 40 results, all of which are shock absorbers, and 38 of which are the same exact shock absorber. Meanwhile, searching for “shock absorber” produces 40 results, all of which are bolts and screws (but at least they ain't many copies of the same bolt/screw this time!). Searching for “cup” produces another 40 results, all of which are flat rectangular panels. Searching for “flat rectangular panel” at least returns flat rectangular panels, though, so it's got that going for it.