Interactive Programming for Parametric CAD. (2nd July 2020) - Mathur, Aman; Pirron, Marcus; Zufferey, Damien
Abstract: Parametric computer‐aided design (CAD) enables description of a family of objects, wherein each valid combination of parameter values results in a different final form. Although Graphical User Interface (GUI)‐based CAD tools are significantly more popular, GUI operations do not carry a semantic description, and are therefore brittle with respect to changes in parameter values. Programmatic interfaces, on the other hand, are more robust due to an exact specification of how the operations are applied. However, programming is unintuitive and has a steep learning curve. In this work, we link the interactivity of GUI with the robustness of programming. Inspired by programme synthesis by example, our technique synthesizes code representative of selections made by users in a GUI interface. Through experiments, we demonstrate that our technique can synthesize relevant and robust sub‐programmes in a reasonable amount of time. A user study reveals that our interface offers significant improvements over a programming‐only interface. Abstract : Parametric computer‐aided design (CAD) enables description of a family of objects, wherein each valid combination of parameter values results in a different final form. Although GUI‐based CAD tools are significantly more popular, GUI operations do not carry a semantic description, and are therefore brittle with respect to changes in parameter values. Programmatic interfaces, on the other hand, are more robust due to an exact specification of how the operations are applied. However, programming is unintuitive and has a steep learning curve. In this work, we link the interactivity of GUI with the robustness of programming. Inspired by programme synthesis by example, our technique synthesizes code representative of selections made by users in a GUI interface. Through experiments, we demonstrate that our technique can synthesize relevant and robust sub‐programmes in a reasonable amount of time. A user study reveals that our interface offers significant improvements over a programming‐only interface.