TL;DR
This paper introduces Szalinski, a tool that uses equality saturation and inverse transformations to decompile and simplify CAD models into more editable and compact CSG expressions, improving the program synthesis process.
Contribution
It presents a novel approach combining equality saturation with inverse transformations to efficiently shrink unstructured CSG expressions into more manageable programs.
Findings
Szalinski can shrink large CAD models in seconds.
The approach effectively preserves semantics during simplification.
It enhances existing mesh decompilers by producing more structured CSG outputs.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
