Using E-Graphs for CAD Parameter Inference

09/26/2019
by   Chandrakana Nandi, et al.
0

Computational fabrication is increasingly popular among end-users and makers in the form of 3D printing and laser cutting. Using Computer-Aided Design (CAD) tools to construct models from scratch is a significant barrier to entry for new users, so many online repositories provide ready-to-print though difficult-to-edit triangle meshes of popular designs. Recent work has proposed program synthesis techniques to automatically decompile triangle meshes to easier-to-edit Constructive Solid Geometry (CSG) designs. While these synthesized CSG designs simplify editing some models, they are flat, i.e., they do not contain loops or other forms of parameterization, which makes editing designs with repeated structure challenging. This paper presents an algorithm for lifting CSG designs to CAD programs, preserving equivalence to the original CSGs but parameterizing over repetitive structures. Our technique takes as input a flat CSG and infers parameters that capture the latent structure of the CSG using an equality-graph based rewrite mechanism combined with constraint solvers for inferring arithmetic operations. Our algorithm synthesizes CAD programs with (possibly nested) loops and arithmetic expressions including trigonometric functions. We implemented our algorithm in a tool called tool and evaluated it by running it on 16 designs collected from popular model-sharing websites and found that it reduces code size by 64 models.

READ FULL TEXT
research
09/26/2019

Synthesizing Structured CAD Models with Equality Saturation and Inverse Transformations

Recent program synthesis techniques help users customize CAD models(e.g....
research
10/04/2021

Differentiable 3D CAD Programs for Bidirectional Editing

Modern CAD tools represent 3D designs not only as geometry, but also as ...
research
03/01/2021

PHIDL: Python CAD layout and geometry creation for nanolithography

Computer-aided design (CAD) has become a critical element in the creatio...
research
06/17/2019

Topologically robust CAD model generation for structural optimisation

Computer-aided design (CAD) models play a crucial role in the design, ma...
research
05/06/2021

Computer-Aided Design as Language

Computer-Aided Design (CAD) applications are used in manufacturing to mo...
research
08/13/2023

Design-Informed Generative Modelling using Structural Optimization

Although various structural optimization techniques have a sound mathema...
research
07/21/2021

Fabrication-Aware Reverse Engineering for Carpentry

We propose a novel method to generate fabrication blueprints from images...

Please sign up or login with your details

Forgot password? Click here to reset