Using E-Graphs for CAD Parameter Inference
release_5if7unyr35baxnpzbah6rjmr5i
by
Chandrakana Nandi, Adam Anderson, Max Willsey, James R. Wilcox, Eva
Darulova, Dan Grossman, Zachary Tatlock
2019
Abstract
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% on average, and exposes the underlying structure for 81% of the
models.
In text/plain
format
Archived Files and Locations
application/pdf 944.9 kB
file_c6notylnwfb6tkcsptww6jzrd4
|
arxiv.org (repository) web.archive.org (webarchive) |
1909.12252v1
access all versions, variants, and formats of this works (eg, pre-prints)