  Parametric computer-aided design (CAD) tools are the predominant way that
engineers specify physical structures, from bicycle pedals to airplanes to
printed circuit boards. The key characteristic of parametric CAD is that design
intent is encoded not only via geometric primitives, but also by parameterized
constraints between the elements. This relational specification can be viewed
as the construction of a constraint program, allowing edits to coherently
propagate to other parts of the design. Machine learning offers the intriguing
possibility of accelerating the design process via generative modeling of these
structures, enabling new tools such as autocompletion, constraint inference,
and conditional synthesis. In this work, we present such an approach to
generative modeling of parametric CAD sketches, which constitute the basic
computational building blocks of modern mechanical design. Our model, trained
on real-world designs from the SketchGraphs dataset, autoregressively
synthesizes sketches as sequences of primitives, with initial coordinates, and
constraints that reference back to the sampled primitives. As samples from the
model match the constraint graph representation used in standard CAD software,
they may be directly imported, solved, and edited according to downstream
design tasks. In addition, we condition the model on various contexts,
including partial sketches (primers) and images of hand-drawn sketches.
Evaluation of the proposed approach demonstrates its ability to synthesize
realistic CAD sketches and its potential to aid the mechanical design workflow.
