Introducing Bidirectional Programming in Constructive Solid Geometry-Based CAD
J. Felipe Gonzalez, Danny Kieken, Thomas Pietrzak, Audrey Girouard,, G\'ery Casiez

TL;DR
This paper introduces bidirectional programming for CSG-based CAD tools, enabling seamless editing through direct manipulation and code, thus improving user interaction and consistency in 3D modeling.
Contribution
It presents the concept of bidirectional programming in CSG CAD, supported by a prototype implementation that enhances user flexibility and model consistency.
Findings
User interviews informed the design of bidirectional editing
Prototype demonstrates effective synchronization between view and code
Bidirectional approach improves usability for programmatic CAD users
Abstract
3D Computer-Aided Design (CAD) users need to overcome several obstacles to benefit from the flexibility of programmatic interface tools. Besides the barriers of any programming language, users face challenges inherent to 3D spatial interaction. Scripting simple operations, such as moving an element in 3D space, can be significantly more challenging than performing the same task using direct manipulation. We introduce the concept of bidirectional programming for Constructive Solid Geometry (CSG) CAD tools, informed by interviews we performed with programmatic interface users. We describe how users can navigate and edit the 3D model using direct manipulation in the view or code editing while the system ensures consistency between both spaces. We also detail a proof-of-concept implementation using a modified version of OpenSCAD.
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
