Generate parametric CAD models from a prompt

🌐 Try it live. Task: 🌐 Try it live πŸ‘‰ adam.new/cadam. Generate a CAD model in seconds, right in your browser. No install required. ✨ Features πŸ€– AI-Powered Generation - Transform natural language and images into 3D models πŸŽ›οΈ Parametric Controls - Interactive sliders for instant dimension adjustments πŸ“¦ Multiple Export Formats - Export as .STL, .SCAD, or .DXF files 🌐 Browser-Based - Runs entirely in your browser using WebAssembly πŸ“š Library Support - Includes BOSL, BOSL2, and MCAD libraries 🎯 Key Capabilities πŸ“Ί Screenshots πŸ§ͺ Benchmarks A showcase of what CADAM builds from a single plain-language description β€” from full multi-part machines down to clean parametric parts. Each model below started from the prompt shown and came out as fully parametric OpenSCAD, ready to export as .STL, .SCAD, or .DXF. The source and a short write-up for each live in benchmarks/; the orbiting previews are rendered with benchmarks/render.sh. Complex machines & assemblies Parametric fundamentals πŸš€ Quick Start πŸ“‹ Prerequisites Node.js ^20.19.0 or >=22.12.0, with npm 10+ Supabase CLI ngrok (for local webhook development) πŸ”§ Setting Up Environment Variables 1. Frontend Environment: Copy .env.local.template to .env.local Update all required keys in .env.local: VITE_SUPABASE_ANON_KEY="<Test Anon Key>" VITE_SUPABASE_URL='http://127.0.0.1:54321' 2. Server Environment: Add server-side keys to .env.local, including: ANTHROPIC_API_KEY="<Test Anthropic API Key>" OPENROUTER_API_KEY="<Test OpenRouter API Key>" OPENAI_API_KEY="<Test OpenAI API Key>" GOOGLE_API_KEY="<Test Google API Key>" FAL_KEY="<Test FAL API Key>" SUPABASE_SERVICE_ROLE_KEY="<Test Service Role Key>" BILLING_SERVICE_URL="<Test Billing Service URL>" BILLING_SERVICE_KEY="<Test Billing Service Key>" ENVIRONMENT="local" ADAM_URL="<Adam URL or dev URL>" # Checkout and portal redirect target WEBHOOK_BASE_URL="<Public TanStack App URL>" # Your app URL for /cadam/api callbacks NGROK_URL="<NGROK URL>" # Optional local Supabase Storage tunnel for provider-readable signed URLs 🌐 Setting Up ngrok for Local Development CADAM uses public URLs for provider callbacks and local signed storage URLs: Install ngrok if you haven't already: npm install -g ngrok # or brew install ngrok Install ngrok if you haven't already: Start an ngrok tunnel pointing to your TanStack Start dev server: ngrok http 3000 Start an ngrok tunnel pointing to your TanStack Start dev server: Copy the generated ngrok URL (e.g., https://xxxx-xx-xx-xxx-xx.ngrok.io) and add it to your .env.local file: WEBHOOK_BASE_URL="https://xxxx-xx-xx-xxx-xx.ngrok.io" Copy the generated ngrok URL (e.g., https://xxxx-xx-xx-xxx-xx.ngrok.io) and add it to your .env.local file: If a provider must fetch local Supabase Storage signed URLs, run a second tunnel to Supabase and set NGROK_URL to that URL. If a provider must fetch local Supabase Storage signed URLs, run a second tunnel to Supabase and set NGROK_URL to that URL. Ensure ENVIRONMENT="local" is set in the same file. Ensure ENVIRONMENT="local" is set in the same file. πŸ’» Development Workflow Install Dependencies Start Supabase Services πŸ› οΈ Built With Frontend: React 19 + TypeScript + TanStack Start + Vite 3D Rendering: Three.js + React Three Fiber CAD Engine: OpenSCAD WebAssembly Backend: TanStack Start server routes + Supabase PostgreSQL/Auth/Storage AI: Anthropic Claude API Styling: Tailwind CSS + shadcn/ui Libraries: BOSL, BOSL2, MCAD 🀝 Contributing If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also open an issue. See the CONTRIBUTING.md for instructions and code of conduct. πŸ™ Credits This app wouldn't be possible without the work of: OpenSCAD openscad-wasm openscad-playground openscad-web-gui dingcad πŸ“„ License This distribution is licensed under the GNU General Public License v3.0 (GPLv3). See LICENSE. Components and attributions: Portions of this project are derived from openscad-web-gui (GPLv3). This distribution includes unmodified binaries from OpenSCAD WASM under GPL v2 or later; distributed here under GPLv3 as part of the combined work. See src/vendor/openscad-wasm/SOURCE-OFFER.txt. 🌟 Star History Live chart by RepoStars β€” click for the interactive version. ⭐ If you find CADAM useful, please consider giving it a star! Made with πŸ’™ for the 3D printing and CAD community; tools: Claude. Human role: The original post does not say how a person stayed involved.; limitations: Prerequisites include Node.js, Supabase CLI, and ngrok for local development, plus API keys for Anthropic, OpenAI, and others. The tool relies on WebAssembly for browser-based rendering, which may have performance constraints on complex assemblies. Source reliability is secondary, as it is a GitHub project description without verified production case studies..

Tools

Claude

Published on Agent Work Atlas:

Overview

🌐 Try it live

Workflow

🌐 Try it live πŸ‘‰ adam.new/cadam. Generate a CAD model in seconds, right in your browser. No install required. ✨ Features πŸ€– AI-Powered Generation - Transform natural language and images into 3D models πŸŽ›οΈ Parametric Controls - Interactive sliders for instant dimension adjustments πŸ“¦ Multiple Export Formats - Export as .STL, .SCAD, or .DXF files 🌐 Browser-Based - Runs entirely in your browser using WebAssembly πŸ“š Library Support - Includes BOSL, BOSL2, and MCAD libraries 🎯 Key Capabilities πŸ“Ί Screenshots πŸ§ͺ Benchmarks A showcase of what CADAM builds from a single plain-language description β€” from full multi-part machines down to clean parametric parts. Each model below started from the prompt shown and came out as fully parametric OpenSCAD, ready to export as .STL, .SCAD, or .DXF. The source and a short write-up for each live in benchmarks/; the orbiting previews are rendered with benchmarks/render.sh. Complex machines & assemblies Parametric fundamentals πŸš€ Quick Start πŸ“‹ Prerequisites Node.js ^20.19.0 or >=22.12.0, with npm 10+ Supabase CLI ngrok (for local webhook development) πŸ”§ Setting Up Environment Variables 1. Frontend Environment: Copy .env.local.template to .env.local Update all required keys in .env.local: VITE_SUPABASE_ANON_KEY="<Test Anon Key>" VITE_SUPABASE_URL='http://127.0.0.1:54321' 2. Server Environment: Add server-side keys to .env.local, including: ANTHROPIC_API_KEY="<Test Anthropic API Key>" OPENROUTER_API_KEY="<Test OpenRouter API Key>" OPENAI_API_KEY="<Test OpenAI API Key>" GOOGLE_API_KEY="<Test Google API Key>" FAL_KEY="<Test FAL API Key>" SUPABASE_SERVICE_ROLE_KEY="<Test Service Role Key>" BILLING_SERVICE_URL="<Test Billing Service URL>" BILLING_SERVICE_KEY="<Test Billing Service Key>" ENVIRONMENT="local" ADAM_URL="<Adam URL or dev URL>" # Checkout and portal redirect target WEBHOOK_BASE_URL="<Public TanStack App URL>" # Your app URL for /cadam/api callbacks NGROK_URL="<NGROK URL>" # Optional local Supabase Storage tunnel for provider-readable signed URLs 🌐 Setting Up ngrok for Local Development CADAM uses public URLs for provider callbacks and local signed storage URLs: Install ngrok if you haven't already: npm install -g ngrok # or brew install ngrok Install ngrok if you haven't already: Start an ngrok tunnel pointing to your TanStack Start dev server: ngrok http 3000 Start an ngrok tunnel pointing to your TanStack Start dev server: Copy the generated ngrok URL (e.g., https://xxxx-xx-xx-xxx-xx.ngrok.io) and add it to your .env.local file: WEBHOOK_BASE_URL="https://xxxx-xx-xx-xxx-xx.ngrok.io" Copy the generated ngrok URL (e.g., https://xxxx-xx-xx-xxx-xx.ngrok.io) and add it to your .env.local file: If a provider must fetch local Supabase Storage signed URLs, run a second tunnel to Supabase and set NGROK_URL to that URL. If a provider must fetch local Supabase Storage signed URLs, run a second tunnel to Supabase and set NGROK_URL to that URL. Ensure ENVIRONMENT="local" is set in the same file. Ensure ENVIRONMENT="local" is set in the same file. πŸ’» Development Workflow Install Dependencies Start Supabase Services πŸ› οΈ Built With Frontend: React 19 + TypeScript + TanStack Start + Vite 3D Rendering: Three.js + React Three Fiber CAD Engine: OpenSCAD WebAssembly Backend: TanStack Start server routes + Supabase PostgreSQL/Auth/Storage AI: Anthropic Claude API Styling: Tailwind CSS + shadcn/ui Libraries: BOSL, BOSL2, MCAD 🀝 Contributing If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also open an issue. See the CONTRIBUTING.md for instructions and code of conduct. πŸ™ Credits This app wouldn't be possible without the work of: OpenSCAD openscad-wasm openscad-playground openscad-web-gui dingcad πŸ“„ License This distribution is licensed under the GNU General Public License v3.0 (GPLv3). See LICENSE. Components and attributions: Portions of this project are derived from openscad-web-gui (GPLv3). This distribution includes unmodified binaries from OpenSCAD WASM under GPL v2 or later; distributed here under GPLv3 as part of the combined work. See src/vendor/openscad-wasm/SOURCE-OFFER.txt. 🌟 Star History Live chart by RepoStars β€” click for the interactive version. ⭐ If you find CADAM useful, please consider giving it a star! Made with πŸ’™ for the 3D printing and CAD community

Reported result

The source does not report measured business outcomes, efficiency gains, or error rates for this workflow. It only lists benchmark examples like V8 engines and gears generated from prompts. A measurable acceptance check would be verifying that exported .STL files are watertight and match the intended dimensions within a specified tolerance.

Human role

The original post does not say how a person stayed involved.

Limitations

Prerequisites include Node.js, Supabase CLI, and ngrok for local development, plus API keys for Anthropic, OpenAI, and others. The tool relies on WebAssembly for browser-based rendering, which may have performance constraints on complex assemblies. Source reliability is secondary, as it is a GitHub project description without verified production case studies.

Try it

Act as a CAD engineer using the CADAM tool at adam.new/cadam. My goal is to generate a parametric model for [replaceable input: e.g., a custom gear assembly] based on this description: [replaceable input: detailed text prompt]. First, perform a dry run by generating a simple test model and showing me the preview. Wait for my confirmation before proceeding. If the model looks correct, export it as .SCAD and .STL to [replaceable input: target directory]. If the geometry is wrong, adjust the parameters using the sliders and regenerate. Do not finalize the export until I explicitly approve the visual result. If the tool fails to generate, report the error message and suggest a revised prompt.

Original source

Source reports are not independently verified. Publication date is the catalog publication date, not the original article date.

More cases Β· Security & operations