  In computer-aided design (CAD), the ability to "reverse engineer" the
modeling steps used to create 3D shapes is a long-sought-after goal. This
process can be decomposed into two sub-problems: converting an input mesh or
point cloud into a boundary representation (or B-rep), and then inferring
modeling operations which construct this B-rep. In this paper, we present a new
system for solving the second sub-problem. Central to our approach is a new
geometric representation: the zone graph. Zones are the set of solid regions
formed by extending all B-Rep faces and partitioning space with them; a zone
graph has these zones as its nodes, with edges denoting geometric adjacencies
between them. Zone graphs allow us to tractably work with industry-standard CAD
operations, unlike prior work using CSG with parametric primitives. We focus on
CAD programs consisting of sketch + extrude + Boolean operations, which are
common in CAD practice. We phrase our problem as search in the space of such
extrusions permitted by the zone graph, and we train a graph neural network to
score potential extrusions in order to accelerate the search. We show that our
approach outperforms an existing CSG inference baseline in terms of geometric
reconstruction accuracy and reconstruction time, while also creating more
plausible modeling sequences.
