Article illustration 1

For decades, creating precise 3D CAD models required specialized software expertise, steep learning curves, and often expensive tools—until now. Enter CADAM, a groundbreaking open-source project that harnesses natural language processing and in-browser computation to turn simple descriptions into fully editable parametric designs. By compiling OpenSCAD to WebAssembly and integrating AI, CADAM allows users to generate, tweak, and export models with unprecedented ease, potentially revolutionizing how developers and makers approach digital fabrication.

How CADAM Bridges Language and Engineering

At its core, CADAM uses a dual-agent AI system: one for conversational interpretation of text or image inputs (e.g., "a gear with 12 teeth and a 20mm diameter"), and another for generating OpenSCAD code. This code isn't static—parameters like dimensions are automatically extracted as interactive sliders, enabling instant adjustments without AI reprocessing. For minor tweaks, deterministic regex-based updates bypass LLMs entirely, reducing latency and costs. The output supports .STL or .SCAD exports and incorporates popular libraries like BOSL2 and MCAD, plus custom fonts for text elements, making it versatile for mechanical design.

What sets CADAM apart is its fully in-browser execution. Leveraging React Three Fiber for 3D rendering and OpenSCAD-WASM, it eliminates server dependencies and ensures accessibility. As one developer noted, "This could democratize parametric modeling for education and rapid prototyping, much like GitHub Copilot did for coding."

Technical Setup and Local Development

For developers eager to experiment, CADAM's stack relies on Node.js, npm, and Supabase for backend functions. Local testing is streamlined with ngrok tunneling to handle image processing via Anthropic's API—key for refining AI interactions. The workflow is straightforward:

# Install dependencies and start services
npm i
npx supabase start
npx supabase functions serve --no-verify-jwt

Environment variables are crucial for seamless operation, with clear templates for frontend (.env.local) and Supabase functions (.env), ensuring secure key management. This setup highlights CADAM's focus on extensibility, inviting contributions to enhance its AI prompts or rendering capabilities.

Implications for the Tech Ecosystem

CADAM's approach signals a shift toward accessible, AI-augmented design tools. By open-sourcing under GPLv3 and building on giants like OpenSCAD, it fosters community innovation—imagine integrations with 3D printing APIs or collaborative real-time editing. While still in development, its browser-first model reduces hardware barriers, empowering hobbyists and professionals alike to iterate faster. As parametric design meets generative AI, tools like CADAM could soon become as fundamental to makers as IDEs are to coders, blurring the lines between imagination and creation.

CADAM is available on GitHub, with acknowledgments to openscad-wasm and related projects for their foundational work.