GGrantIndex
← Search

Collaborative Research: FMitF: Track I: End-usser Programming for CAD Systems via Language Design and Synthesis

$250,000FY2022CSENSF

Stanford University, Stanford CA

Investigators

Abstract

Computer-Aided Design (CAD) plays an essential role in modern engineering. While CAD tools enable rapid creation of models, it is extremely laborious to reuse these models when creating new designs. The key reason is that changes to a design might require coordinated changes to several elements of a model to preserve relationships between parts. The project's novelties include next-generation interfaces for manipulating CAD models, and advances in automated reasoning done by the CAD system. The project's impacts range from increasing the productivity of design professionals making changes to complex models, to reducing the barrier to entry for casual designers who wish to perform 3D modeling by re-using existing models. The software developed in this work will allow designers to quickly iterate and optimize designs, leading to increased designer productivity and design quality. Building on results in program synthesis and domain-specific language design, the investigators are developing techniques for end-user programming of CAD programs. The techniques are enabled by the observation that modern CAD tools represent a design as a program that generates the 3D geometry by executing a sequence of geometric operations; reasoning about programs is thus used to reason about designs. This is achieved by first developing a language for describing CAD models that maintains design integrity through model parameter changes, even when elements and topology may vary. To this end, the language includes novel constructs for precisely selecting, or referring to, elements of geometry. Second, the team is developing algorithms for reasoning about CAD programs by transforming program edits into queries that leverage a combination of off-the-shelf symbolic and numerical solvers. Finally, the team is developing novel end-user programming environments enabled by the CAD language and the resultant automated reasoning. These applications include bidirectional editing of CAD programs as well as synthesis of template models for optimizing CAD designs. Further, the team is continuing their outreach activities to inspire young students and underrepresented minorities to pursue STEM careers. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

View original record on NSF Award Search →