SkillAgentSearch skills...

CADAM

CADAM is the open source text-to-CAD web application

Install / Use

/learn @Adam-CAD/CADAM
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="./public/Github-Banner-Dark.png"> <source media="(prefers-color-scheme: light)" srcset="./public/Github-Banner-Light.png"> <img src="./public/Github-Banner-Light.png" alt="CADAM Banner" width="100%"/> </picture> </div> <h1 align="center"> ⛮ The Open Source Text to CAD Web App ⛮ </h1> <div align="center">

Stars Forks License: GPL v3 Node.js React Supabase OpenSCAD Website Discord Follow Zach Dive Follow Aaron Li Follow Dylan Anderson

</div>

✨ 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 or .SCAD files
  • 🌐 Browser-Based - Runs entirely in your browser using WebAssembly
  • 📚 Library Support - Includes BOSL, BOSL2, and MCAD libraries

🎯 Key Capabilities

| Feature | Description | | -------------------------- | ---------------------------------------------------- | | Natural Language Input | Describe your 3D model in plain English | | Image References | Upload images to guide model generation | | Real-time Preview | See your model update instantly with Three.js | | Parameter Extraction | Automatically identifies adjustable dimensions | | Smart Updates | Efficient parameter changes without AI re-generation | | Custom Fonts | Built-in Geist font support for text in models |

📸 Demo

<!-- Add demo GIFs or screenshots here --> <!-- Example format: ![CADAM Demo](./demo/demo.gif) ### Example: Creating a parametric gear ![Gear Example](./demo/gear-example.png) -->

🎬 Try it live: https://adam.new/cadam

📺 Screenshots

<img src="./public/screenshot-2.jpeg" alt="CADAM Screenshot 2" /> <details> <summary>More screenshots</summary> <br/> <img src="./public/screenshot-1.jpeg" alt="CADAM Screenshot 1" /> <br/> <img src="./public/screenshot-3.jpeg" alt="CADAM Screenshot 3" /> </details>

🚀 Quick Start

# Clone the repository
git clone https://github.com/Adam-CAD/CADAM.git
cd CADAM

# Install dependencies
npm install

# Start Supabase
npx supabase start
npx supabase functions serve --no-verify-jwt

# Start the development server
npm run dev

📋 Prerequisites

  • Node.js and npm
  • 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. Supabase Functions Environment:

  • Copy supabase/functions/.env.template to supabase/functions/.env
  • Update all required keys in supabase/functions/.env, including:
    ANTHROPIC_API_KEY="<Test Anthropic API Key>"
    ENVIRONMENT="local"
    NGROK_URL="<NGROK URL>" # Your ngrok tunnel URL, e.g., https://xxxx-xx-xx-xxx-xx.ngrok.io
    

🌐 Setting Up ngrok for Local Development

CADAM uses ngrok to send image URLs to Anthropic:

  1. Install ngrok if you haven't already:

    npm install -g ngrok
    # or
    brew install ngrok
    
  2. Start an ngrok tunnel pointing to your Supabase instance:

    ngrok http 54321
    
  3. Copy the generated ngrok URL (e.g., https://xxxx-xx-xx-xxx-xx.ngrok.io) and add it to your supabase/functions/.env file:

    NGROK_URL="https://xxxx-xx-xx-xxx-xx.ngrok.io"
    
  4. Ensure ENVIRONMENT="local" is set in the same file.

💻 Development Workflow

Install Dependencies

npm i

Start Supabase Services

npx supabase start
npx supabase functions serve --no-verify-jwt

🛠️ Built With

  • Frontend: React 18 + TypeScript + Vite
  • 3D Rendering: Three.js + React Three Fiber
  • CAD Engine: OpenSCAD WebAssembly
  • Backend: Supabase (PostgreSQL + Edge Functions)
  • 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:

📄 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.

<div align="center">

⭐ If you find CADAM useful, please consider giving it a star!

Stars

Made with 💙 for the 3D printing and CAD community

</div>
View on GitHub
GitHub Stars1.4k
CategoryDevelopment
Updated4h ago
Forks198

Languages

TypeScript

Security Score

100/100

Audited on Mar 22, 2026

No findings