CraftML: 3D Modeling is Web Programming
We explore web programming as a new paradigm for programmatic 3D modeling. Most existing approaches subscribe to the imperative programming paradigm. While useful, there exists a gulf of evaluation between procedural steps and the intended structure. We present CraftML, a language providing a declarative syntax where the code is the structure. CraftML offers a rich set of programming features familiar to web developers of all skill levels, such as tags, hyperlinks, document object model, cascade style sheet, JQuery, string interpolation, template engine, data injection, and scalable vector graphics. We develop an online IDE to support CraftML development, with features such as live preview, search, module import, and parameterization. Using examples and case studies, we demonstrate that CraftML offers a low floor for beginners to make simple designs, a high ceiling for experts to build complex computational models, and wide walls to support many application domains such as education, data physicalization, tactile graphics, assistive devices, and mechanical components.
Research Questions / Practical Problems
Question signals indexed for this paper.
- 80%
Make This! Introduction to Electronics Prototyping Using Arduino
CHI '18· Desktop 3D Printing & Personal Fabrication +1
- 80%
AirTouch: 3D-printed Touch-Sensitive Objects Using Pneumatic Sensing
CHI '20· Desktop 3D Printing & Personal Fabrication +1
- 80%
Oh, Snap! A Fabrication Pipeline to Magnetically Connect Conventional and 3D-Printed Electronics
CHI '21· Desktop 3D Printing & Personal Fabrication +1
- 80%
Imprimer: Computational Notebooks for CNC Milling
CHI '23· Desktop 3D Printing & Personal Fabrication +1
- 80%
Understanding the Challenges of OpenSCAD Users for 3D Printing
CHI '24· Desktop 3D Printing & Personal Fabrication +1
- 80%
SolderlessPCB: Reusing Electronic Components in PCB Prototyping through Detachable 3D Printed Housings
CHI '24· Desktop 3D Printing & Personal Fabrication +1
- 80%
3D Printers Don't Fix Themselves: How Maintenance is Part of Digital Fabrication
DIS '23· Desktop 3D Printing & Personal Fabrication +1
- 80%
Proxino: Enabling Prototyping of Virtual Circuits With Physical Proxies
UIST '19· Desktop 3D Printing & Personal Fabrication +1
- 80%
Facilitating the Parametric Definition of Geometric Properties in Programming-Based CAD
UIST '24· Desktop 3D Printing & Personal Fabrication +1
- 67%
Off-Line Sensing: Memorizing Interactions in Passive 3D-Printed Objects
CHI '18· Desktop 3D Printing & Personal Fabrication +1
Based on Jaccard similarity of research subtopics & professions (≥60%)