In presentation at AMC SIGGRAPH Asia conference, MIT researchers announced its system that breaks down CAD models into their primitive shapes, such as spheres and cuboids.
At present, while designers use CAD to create and assemble individual shapes into a final object; the MIT researchers’ method does the reverse, disassembling the CAD models into individual shapes that can be edited.
As input, the system takes a 3-D triangle mesh and first determines the individual shapes that make it up, before Program Synthesis goes through all the shapes to figure out how the shapes were put together and assembled into a final model.
In doing so, it breaks down the mesh into a tree of nodes that represent the primitive shapes and other nodes detailing the steps for how those shapes fit together. The final shapes contain editable parameters for users to tweak that can be re-uploaded to the mesh.
The researchers built a dataset of 50 3D CAD models of varying complexity, with their experiments proving that the system could reverse engineer CAD files composed of up to 100 primitive shapes.
Simpler models were broken down in around a minute, and while run times can be quick, the key advantage of the system is its ability to distill very complex models into simple, foundational shapes.
“At a high level, the problem is reverse engineering a triangle mesh into a simple tree,” says Tao Du, a PhD student in the Computational Fabrication group of MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL).
“Ideally, if you want to customise an object, it would be best to have access to the original shapes — what their dimensions are and how they’re combined. But once you combine everything into a triangle mesh, you have nothing but a list of triangles to work with, and that information is lost. Once we recover the metadata, it’s easier for other people to modify designs.”
The process could be useful in manufacturing or when combined with 3D printing software, Du says. This is especially important in the age of design sharing, where amateur 3-D-printer users upload 3-D-print models to websites for online communities to download and modify.
Uploads are mostly triangle meshes, because meshes are far more universally accepted across platforms than the original CSG-based CAD files.
“We have tons of mesh models, but comparatively few CAD files behind them,” Du says. “If users want to reproduce the design at home and customise it a little, then this technique could be useful.”
MIT says that Program Synthesis automatically finds candidate computer programs given a specific ‘grammar’, meaning the structure it must work within, such as trees, and mathematical specifications.
Using those constraints, Program Synthesis works its way back and fills in the blanks to construct an algorithm that satisfies those specifications, given new input. The technique is used, for example, for simple components of software engineering.
Currently, the system only handles four primitive shapes — spheres, cylinders, cuboids, and tori (donut shapes). Next, the researchers aim to increase the complexity of CSG grammar to handle fare more shapes and more modifiers outside just Boolean operators.
For more information, head to the MIT News article, here.” title=”their work on ‘Program Synthesis'”>their work on ‘Program Synthesis’.