Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
C

CADAM

> 前端框架
Open source

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

4.9K stars0 likes0 views
WebsiteGitHub

About

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

⛮ The Open Source Text to CAD Web App ⛮

--- ## Try it live ** [adam.new/cadam](https://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 ## 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/`](benchmarks/); the orbiting previews are rendered with [`benchmarks/render.sh`](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
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
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
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
### 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
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
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
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
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
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
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
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
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
## 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 ^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="" VITE_SUPABASE_URL='http://127.0.0.1:54321' ``` ### 2. Server Environment: - Add server-side keys to `.env.local`, including: ``` … ``` ## 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: ```bash npm install -g ngrok # or brew install ngrok ``` 2. Start an ngrok tunnel pointing to your TanStack Start dev server: ```bash 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 ```bash npm i ``` ### Start Supabase Services ```bash 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](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`. --- ## Star History ---

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

TypeScriptagentsaiai-agentscad

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category前端框架
PricingOpen source

> Related tools

R
React
用于构建用户界面的 JavaScript 库
V
Vue.js
渐进式 JavaScript 框架
N
Next.js
基于 React 的全栈 Web 框架