Table of Contents
Fetching ...

Facilitating the Parametric Definition of Geometric Properties in Programming-Based CAD

J. Felipe Gonzalez, Thomas Pietrzak, Audrey Girouard, Géry Casiez

TL;DR

This work tackles the difficulty of defining parametric geometric properties in programming-based CAD by introducing bidirectional programming to extract parametric definitions from the visual view for reuse in code. Through a formative study of OpenSCAD models, a design goal to enable view-to-code information retrieval, and a proof-of-concept that extends OpenSCAD with position and delta-vector features, the authors validate that retrieving view-derived definitions can reduce design errors and increase interactivity. An 11-participant user study shows improved correctness and usability, while also revealing usability challenges and resistance from expert users. The approach has potential to lower the entry barrier for newcomers and thereby enhance the practicality of programming-based CAD in customizable design workflows.

Abstract

Parametric Computer-aided design (CAD) enables the creation of reusable models by integrating variables into geometric properties, facilitating customization without a complete redesign. However, creating parametric designs in programming-based CAD presents significant challenges. Users define models in a code editor using a programming language, with the application generating a visual representation in a viewport. This process involves complex programming and arithmetic expressions to describe geometric properties, linking various object properties to create parametric designs. Unfortunately, these applications lack assistance, making the process unnecessarily demanding. We propose a solution that allows users to retrieve parametric expressions from the visual representation for reuse in the code, streamlining the design process. We demonstrated this concept through a proof-of-concept implemented in the programming-based CAD application, OpenSCAD, and conducted an experiment with 11 users. Our findings suggest that this solution could significantly reduce design errors, improve interactivity and engagement in the design process, and lower the entry barrier for newcomers by reducing the mathematical skills typically required in programming-based CAD applications

Facilitating the Parametric Definition of Geometric Properties in Programming-Based CAD

TL;DR

This work tackles the difficulty of defining parametric geometric properties in programming-based CAD by introducing bidirectional programming to extract parametric definitions from the visual view for reuse in code. Through a formative study of OpenSCAD models, a design goal to enable view-to-code information retrieval, and a proof-of-concept that extends OpenSCAD with position and delta-vector features, the authors validate that retrieving view-derived definitions can reduce design errors and increase interactivity. An 11-participant user study shows improved correctness and usability, while also revealing usability challenges and resistance from expert users. The approach has potential to lower the entry barrier for newcomers and thereby enhance the practicality of programming-based CAD in customizable design workflows.

Abstract

Parametric Computer-aided design (CAD) enables the creation of reusable models by integrating variables into geometric properties, facilitating customization without a complete redesign. However, creating parametric designs in programming-based CAD presents significant challenges. Users define models in a code editor using a programming language, with the application generating a visual representation in a viewport. This process involves complex programming and arithmetic expressions to describe geometric properties, linking various object properties to create parametric designs. Unfortunately, these applications lack assistance, making the process unnecessarily demanding. We propose a solution that allows users to retrieve parametric expressions from the visual representation for reuse in the code, streamlining the design process. We demonstrated this concept through a proof-of-concept implemented in the programming-based CAD application, OpenSCAD, and conducted an experiment with 11 users. Our findings suggest that this solution could significantly reduce design errors, improve interactivity and engagement in the design process, and lower the entry barrier for newcomers by reducing the mathematical skills typically required in programming-based CAD applications
Paper Structure (22 sections, 11 figures, 4 tables)

This paper contains 22 sections, 11 figures, 4 tables.

Figures (11)

  • Figure 1: Pot lid holder model from Thingiverse. ID 6402905
  • Figure 2: Representation of how OpenSCAD computes the position of the handle placed at the center of the bottom face of a cube.
  • Figure 3: Position feature allows users to retrieve the location of an object's handle relative to the origin.
  • Figure 4: Delta vector allows users to place one object's handle relative to another object's handle.
  • Figure 5: Models used in the experiment. Participants replicated the models, exposing parameters as required
  • ...and 6 more figures