Synthesizing Structured CAD Models with Equality Saturation and Inverse Transformations
Recent program synthesis techniques help users customize CAD models(e.g., for 3D printing) by decompiling low-level triangle meshes to Constructive Solid Geometry (CSG) expressions. Without loops or functions, editing CSG can require many coordinated changes, and existing mesh decompilers use heuristics that can obfuscate high-level structure.
This paper proposes a second decompilation stage to robustly "shrink" unstructured CSG expressions into more editable programs with map and fold operators. We present Szalinski, a tool that uses Equality Saturation with semantics-preserving CAD rewrites to efficiently search for smaller equivalent programs. Szalinski relies on inverse transformations, a novel way for solvers to speculatively add equivalences to an E-graph. We qualitatively evaluate Szalinski in case studies, show how it composes with an existing mesh decompiler, and demonstrate that Szalinski can shrink large models in seconds.
Thu 21 OctDisplayed time zone: Central Time (US & Canada) change
15:40 - 17:00
|A Study of the Learnability of Relational Properties: Model Counting Meets Machine Learning (MCML)|
|Data-Driven Inference of Representation Invariants|
|Reconciling Enumerative and Deductive Program Synthesis|
|Synthesizing Structured CAD Models with Equality Saturation and Inverse Transformations|
|Discussion, Questions and Answers|