# CADAM
**Repository Path**: ATM006/CADAM
## Basic Information
- **Project Name**: CADAM
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: GPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-03-31
- **Last Updated**: 2026-03-31
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
⛮ The Open Source Text to CAD Web App ⛮
[](https://github.com/Adam-CAD/cadam/stargazers)
[](https://github.com/Adam-CAD/CADAM/network)
[](https://www.gnu.org/licenses/gpl-3.0)
[](https://nodejs.org/)
[](https://reactjs.org/)
[](https://supabase.com/)
[](https://openscad.org/)
[](https://adam.new)
[](https://discord.com/invite/HKdXDqAHCs)
[](https://x.com/zachdive)
[](https://x.com/aaronhetengli)
[](https://x.com/tsadpbb)
---
## ✨ 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
> 🎬 **Try it live:** https://adam.new/cadam
## 📺 Screenshots
More screenshots
## 🚀 Quick Start
```bash
# 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=""
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=""
ENVIRONMENT="local"
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:
```bash
npm install -g ngrok
# or
brew install ngrok
```
2. Start an ngrok tunnel pointing to your Supabase instance:
```bash
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
```bash
npm i
```
### Start Supabase Services
```bash
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](https://github.com/Adam-CAD/CADAM/issues).
See the [CONTRIBUTING.md](CONTRIBUTING.md) for instructions and [code of conduct](CODE_OF_CONDUCT.md).
## 🙏 Credits
This app wouldn't be possible without the work of:
- [OpenSCAD](https://github.com/openscad/openscad)
- [openscad-wasm](https://github.com/openscad/openscad-wasm)
- [openscad-playground](https://github.com/openscad/openscad-playground)
- [openscad-web-gui](https://github.com/seasick/openscad-web-gui)
- [dingcad](https://github.com/yacineMTB/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`.
---
**⭐ If you find CADAM useful, please consider giving it a star!**
[](https://github.com/Adam-CAD/cadam/stargazers)
Made with 💙 for the 3D printing and CAD community