A Lineage-Based Referencing DSL for Computer-Aided Design
Dan Cascaval, Rastislav Bodík, Adriana Schulz
Abstract
3D Computer-Aided Design (CAD) modeling is ubiquitous in mechanical engineering and design. Modern CAD models are programs that produce geometry and can be used to implement high-level geometric changes by modifying input parameters. While there has been a surge of recent interest in program-based tooling for the CAD domain, one fundamental problem remains unsolved. CAD programs pass geometric arguments to operations using references, which are queries that select elements from the constructed geometry according to programmer intent. The challenge is designing reference semantics that can express programmer intent across all geometric topologies achievable with model parameters, including topologies where the desired elements are not present. In current systems, both users and automated tools may create invalid models when parameters are changed, as references to geometric elements are lost or silently and arbitrarily switched. While existing CAD systems use heuristics to attempt to infer user intent in cases of this undefined behavior, this best-effort solution is not suitable for constructing automated tools to edit and optimize CAD programs. We analyze the failure modes of existing referencing schemes and formalize a set of criteria on which to evaluate solutions to the CAD referencing problem. In turn, we propose a domain-specific language that exposes references as a first-class language construct, using user-authored queries to introspect element history and define references safely over all paths. We give a semantics for fine-grained element lineage that can subsequently be queried; and show that our language meets the desired properties. Finally, we provide an implementation of a lineage-based referencing system in a 2.5D CAD kernel, demonstrating realistic referencing scenarios and illustrating how our system safely represents models that cause reference breakage in existing CAD systems.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get 323047e0-a664-4f4f-8b3d-a2a41ed68655Cited by top-tier papers3
- Living Sustainability: In-Context Interactive Environmental Impact CommunicationZhihan Zhang, Puvarin Thavikulwat, Alexander Le Metzger, Yuxuan Mei et al.UbiComp 2025 · 5 citations
- Understanding and Supporting Debugging Workflows in CADFelix Hähnlein, Gilbert Bernstein, Adriana SchulzUIST 2024 · 5 citations
- It's a Complete Haystack: Understanding Dependency Management Needs in Computer-Aided DesignKathy Cheng, Alison Olechowski, Shurui ZhouCSCW 2025 · 4 citations
Related papers
- CADModelScope: Revealing the Dependency Structure Behind Parametric Computer-Aided Design ModelsYuanzhe Deng, Zhijing Zhang, Shurui Zhou, Alison OlechowskiCHI 2026 · 1 citation
- Multi-Agent CAD Code GenerationYang Liu, Daxuan Ren, Yijie Ding, Jianmin Zheng et al.SIGGRAPH 2026
- Vitruvion: A Generative Model of Parametric CAD SketchesAri Seff, Wenda Zhou, Nick Richardson, Ryan P. AdamsICLR 2022 · 86 citations
- Bridging Tokens and Geometry: Token-wise 3D Supervision for CAD GenerationYijia Guan, Jianhua SunICML 2026
- Understanding the Challenges of OpenSCAD Users for 3D PrintingJohann Felipe Gonzalez Avila, Thomas Pietrzak, Audrey Girouard, Géry CasiezCHI 2024 · 6 citations
