4 ms·
I suspect another breakthrough will be of a completely different nature: having the computer reverse engineer voxel or polygon models back into a tree of featur
by etaioinshrdlu 5y ago
I suspect another breakthrough will be of a completely different nature: having the computer reverse engineer voxel or polygon models back into a tree of features (something like solidworks). The user gains much easier editing an object as a series of understandable steps instead of a blob of polygons.
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.)
- frontiersummit 5y agoUser of 3D CAD here. The reason this is so hard is that a part's geometry will be governed by a different set of parameters, depending on its function, and the software will not know the function of the part, unless is was written by a domain-specific expert. 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.
- jjk166 5y agoThis is something I've given some thought to recently. I'm surprised that no CAD software (or at least none that I've used) has a, for lack of better terminology, "functionality markup." There's extensive infrastructure for mating parts in assemblies and validating designs with simulations, you'd think that someone could think up a good way of going in reverse, at least for common use cases. There should be a way to feed in some abstraction of the design requirements and get a design tree that meets those requirements. For example in the case of the hex head nut, there should be a way to describe a wrench as a combination of mates and simulated loads such that a CAD program can figure out that the flat-to-flat measurement on the nut is critical, and I should be able to open up a model of a nut and mark it up in such a way as to communicate "this gets turned by a wrench." 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.
- ur-whale 5y ago> This is a pretty crazy difficult CS problem! 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.
- starky 5y ago>having the computer reverse engineer voxel or polygon models back into a tree of features (something like solidworks) 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.