Volver al ranking

Adam-CAD/CADAM

TypeScriptadam.new/cadam

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

aicadopenscadreacttext-to-cadwasmagentsai-agentsllmsmechnical-engineeringroboticsstl
Crecimiento de estrellas
Estrellas
4.8k
Forks
598
Crecimiento semanal
Issues
16
2k3k4k
sept 25dic 25abr 26jul 26
Artefactosnpmnpm install cadam
README
CADAM Banner

⛮ The Open Source Text to CAD Web App ⛮

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


🌐 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

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

📺 Screenshots

CADAM Screenshot 2

🧪 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

ModelPromptControlsOutput
V8 engine A complete V8 internal combustion engine: two banks of four cylinders in a 90° V, cylinder heads with ribbed valve covers, an intake manifold in the valley, exhaust headers down each bank, a crankshaft with counterweights, pistons and connecting rods, a front pulley, and an oil pan. 22 dims
8 colors
V8 engine orbit
9-cylinder radial aircraft engine Design a 9-cylinder radial aircraft engine: a central round crankcase with nine finned cylinders arranged evenly in a star pattern around it, each cylinder with stacked cooling fins and a domed cylinder head, and a central propeller shaft hub at the front. 15 dims
6 colors
9-cylinder radial aircraft engine orbit
Turbofan jet engine A complete high-bypass turbofan: a front fan you can see into, a bypass cowl, an internal core with compressor/turbine stages, outlet guide vanes, and an exhaust plug. 2 dims
10 colors
Turbofan jet engine orbit
Axial turbine blisk Model an axial-flow turbine blisk (bladed disk) like a jet engine compressor stage: a central hub with a shaft bore and a single ring of about 28 thin aerofoil blades around the rim, each blade clearly twisted along its height from root to tip like a real turbine blade. 14 dims
1 color
Axial turbine blisk orbit

Parametric fundamentals

ModelPromptControlsOutput
Twisted hexagonal vase Design a twisted hexagonal vase: a hollow shell about 150 mm tall that tapers from a 70 mm base to a 50 mm mouth, with the hexagonal cross-section twisting 120 degrees from bottom to top, a 2 mm wall, and a closed bottom. 6 dims
1 color
Twisted hexagonal vase orbit
Knurled control knob Make a knurled control knob 40 mm in diameter and 22 mm tall with a diamond-knurled grip, a raised pointer mark on top, a 6 mm D-shaped shaft bore, and an M3 set-screw hole through the side. 15 dims
2 colors
Knurled control knob orbit
Hex bolt & nut — real threads Create an M12 hex bolt 45 mm long with a real threaded shaft and a standard hex head, plus its matching hex nut, placed side by side. 3 dims
2 colors
Hex bolt & nut — real threads orbit
Honeycomb lightweight bracket Design a 90-degree angle mounting bracket with 80x80 mm flanges that are 5 mm thick, lightened with a hexagonal honeycomb cutout pattern on both faces, four M5 mounting holes, and a filleted inside corner. 13 dims
1 color
Honeycomb lightweight bracket orbit
NACA 2412 tapered wing Model a tapered aircraft wing section using a real NACA 2412 airfoil: 120 mm root chord tapering to 80 mm tip over a 200 mm span, with two spanwise spar tubes and a few lightening holes. 9 dims
1 color
NACA 2412 tapered wing orbit
Threaded jar & screw-on lid Create a small storage jar with external screw threads at the neck and a matching screw-on lid with internal threads. Jar body 60 mm diameter, 70 mm tall, 2.5 mm walls; show the lid unscrewed and sitting beside the jar. 9 dims
2 colors
Threaded jar & screw-on lid orbit
Right-angle bevel gear drive Build a right-angle bevel gear drive: a 24-tooth bevel gear on a vertical shaft meshing at 90 degrees with a 16-tooth bevel pinion on a horizontal shaft, each on a short stub shaft. 9 dims
3 colors
Right-angle bevel gear drive orbit
Centrifugal pump impeller Design a centrifugal pump impeller: a 90 mm diameter back-plate with a central 12 mm bore and a raised hub, and seven backward-curved blades that sweep from the hub out to the rim, each blade curving smoothly along its path. 10 dims
1 color
Centrifugal pump impeller orbit
Herringbone planetary gear stage Model a herringbone planetary gear stage at module 1.5: a central sun gear with 18 teeth, three planet gears with 18 teeth each meshing around it, an internal ring gear with 54 teeth, and a carrier plate linking the three planet axles. Color the sun, planets, ring, and carrier differently. 10 dims
4 colors
Herringbone planetary gear stage orbit

🚀 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 ^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:

  1. Install ngrok if you haven't already:

    npm install -g ngrok
    # or
    brew install ngrok
    
  2. Start an ngrok tunnel pointing to your TanStack Start dev server:

    ngrok http 3000
    
  3. 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"
    
  4. If a provider must fetch local Supabase Storage signed URLs, run a second tunnel to Supabase and set NGROK_URL to that URL.

  5. Ensure ENVIRONMENT="local" is set in the same file.

💻 Development Workflow

Install Dependencies

npm i

Start Supabase Services

npx supabase start
npm run dev

🛠️ 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:

📄 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

CADAM Star History

Live chart by RepoStars — click for the interactive version.


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

Stars

Made with 💙 for the 3D printing and CAD community

Repositorios relacionados
openclaw/openclaw

Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

TypeScriptnpmOtheraiassistant
openclaw.ai
383.7k80.6k
obra/superpowers

An agentic skills framework & software development methodology that works.

ShellMIT Licenseaibrainstorming
258.9k23.1k
NousResearch/hermes-agent

The agent that grows with you

PythonPyPIMIT Licenseaiai-agent
hermes-agent.nousresearch.com
218.5k41.3k
n8n-io/n8n

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

TypeScriptnpmOtherautomationipaas
n8n.io
197.4k59.5k
Significant-Gravitas/AutoGPT

AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.

PythonPyPIOtheraiopenai
agpt.co
185.6k46.1k
f/prompts.chat

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

HTMLOtherchatgptai
prompts.chat
166.2k21.5k
AUTOMATIC1111/stable-diffusion-webui

Stable Diffusion web UI

PythonPyPIGNU Affero General Public License v3.0deep-learningdiffusion
164.3k30.4k
Snailclimb/JavaGuide

Java 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发

JavaScriptnpmApache License 2.0javainterview
javaguide.cn
157.2k46.2k
firecrawl/firecrawl

The API to search, scrape, and interact with the web at scale. 🔥

TypeScriptnpmGNU Affero General Public License v3.0aicrawler
firecrawl.dev
154.1k8.8k
langgenius/dify

Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype to production without rebuilding the stack.

TypeScriptnpmOtheraigpt
dify.ai
149.7k23.6k
open-webui/open-webui

User-friendly AI Interface (Supports Ollama, OpenAI API, ...)

PythonPyPIOtherollamaollama-webui
openwebui.com
146.3k21.2k
langchain-ai/langchain

The agent engineering platform.

PythonPyPIMIT Licenseaianthropic
docs.langchain.com/langchain/
142.3k23.7k