This is a pretty crazy difficult CS problem! There's a bunch of research papers using deep learning to solve this, and it is starting to work, although in very limited domain. (Relatively prismatic objects.)
This is a pretty crazy difficult CS problem! There's a bunch of research papers using deep learning to solve this, and it is starting to work, although in very limited domain. (Relatively prismatic objects.)
I'll give the simple example of a hex-headed nut: how will the software know that the flat-to-flat measurement is critical (since it corresponds to the wrench/spanner needed to drive it) rather than the point-to-point measurement? In less trivial examples, questions like this need to be though out when creating models, and require domain-specific knowledge that a ML model will not have.
While probably useless for such a trivial case, one can easily imagine a case where multiple very different geometries might be appropriate for a task depending on the value of some other parameters, for example maybe I have a design with everything on one side to make machining easier, but the moment I have to add a feature to the other side it makes sense to switch a bunch of those features to the other side as well.
As a ME with extensive CAD experience, there is nothing that annoys me more about the 3D Printing community than the insistence to transmit files in a non-editable format. If the file is released under a license that permits editing, then please provide me a parametric CAD file that I can open and edit in my CAD software of choice.
I suspect machine learning, and specifically GPT-3 style transformers, is the perfect tool to solve this.
Especially given the fact that you can basically generate an infinite training set automatically using a parametric modeler.