MIT scientists have developed a new technique that ‘reverse engineers’ complex 3D computer-aided design (CAD) models.
This should make them all the more easier to customize for manufacturing and other 3D printing applications.
Constructive solid geometry (CSG) remains the basis for making 3D models where numerous basic shapes with a few adjustable parameters can be assembled in various ways to form a single object.
When finalized, the compiled digital object is converted to a mesh of 3D triangles that defines the object’s shape.
These meshes are used as input for many applications, including 3D printing and virtual simulation.
However, customizing that mesh is no easy task.
Adjusting the radius in one portion of the object requires individually tweaking the vertices and edges of each affected triangle.
And with complex models comprising thousands of triangles, customization becomes daunting and time consuming.
Traditional techniques to convert triangle meshes back into shapes don’t scale well to complex models or work accurately on low-resolution, noisy files.
This is why the MIT team believes their ‘program synthesis’ technique could be a game-changer.
In order to build CAD models, designers assemble individual shapes into a final object; the researchers’ method does the reverse, disassembling the CAD models into individual shapes that can be edited.
As input, the system takes a 3D triangle mesh and first determines the individual shapes that make it up.
Program synthesis then crawls through the shapes, trying to figure out how the shapes were put together and assembled into the 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 reuploaded to the mesh.
The researchers have also built a dataset of 50 3D CAD models of varying complexity and have in experiments demonstrated that their system can reverse engineer CAD files composed of up to 100 primitive shapes.
Simpler models can be broken down in around a minute, showcasing the system’s ability to distill very complex models into simple, foundational shapes like spheres, cylinders, cuboids, and tori.