Launch HN: Adam (YC W25) – Open-Source AI CAD (github.com)
- AI will be the primary medium for creating mechanical designs just like it is in software today.
- The best paradigm for CAD generation is to generate CAD as code (text -> code -> CAD).
We’re building CADAM, an open source Text to CAD platform. It's a React app (TanStack Start) with a Supabase backend for auth, database, and file storage. Think of it like AI TinkerCAD.
Demo: https://www.youtube.com/watch?v=iESOr7EGWqk Try it: https://adam.new/cadam/
What it does:
- Generates parametric 3D models from natural language, with support for both text prompts and image references.
- Outputs OpenSCAD code with automatically extracted parameters that surface as interactive sliders for instant dimension tweaking
- Exports as .STL or .SCAD (plus OBJ, GLB/GLTF, FBX, and DXF)
Under the hood:
- One agentic endpoint with two modes that swap system prompts and tools: a parametric mode that writes/edits OpenSCAD via a build_parametric_model tool, and a mesh mode that generates 3D textured meshes.
- Simple parameter tweaks bypass the model entirely; adjusting a slider does a deterministic regex update on the SCAD source, requiring no LLM call.
- Model-agnostic via the Vercel AI SDK: Anthropic (Claude), Google (Gemini), and OpenAI/others through OpenRouter, with adaptive thinking auto-enabled on newer models. Surprisingly, in our evals Gemini 3.1 Pro is the top model.
- Runs fully in-browser by compiling OpenSCAD to WebAssembly (in a Web Worker, so the UI never blocks) and rendering with Three.js via React Three Fiber
- Supports BOSL, BOSL2, and MCAD libraries, plus custom font support (Geist) for text in models
Future improvements:
- Support both build123d and CadQuery. This will allow us to move beyond CSG primitives to constraint-driven modeling and provide direct comparisons to other code-as-CAD primitives.
- Better spatial context: UI for face/edge selection and viewport image integration to give LLMs spatial understanding
You can clone the repo and run it locally! Contributions are very welcome.
47 comments
[ 2.6 ms ] story [ 42.6 ms ] threadAn existing LLM could drive the generation while the MCP can render the final result?
Yeah, no, that's a lie. This isn't a CAD model. It's a fantasy 3d model that looks like it's straight out of Gearhead Garage (1999).
Any time I see these 'AI CAD' solutions it's always toys, toys, toys. Show me something functional that you've actually manufactured (shitty 3D prints don't count). Or at least show me something that can actually be assembled and isn't just a bunch of boxes with no fasteners to hold them together.
- wrong pitch
- wrong pins position
- missing pins
ive found a process by which the llm gives me a picture, then i draw on it and hand it back works fairly well
"Done — I've created a heavy-duty, fully parametric engine mount bracket that fits a typical four-bolt block pattern and a single-stud chassis isolator with an alignment pin, much like what the 1KZ-TE requires."
I dont think it's even close :(
PS. Your entry message should be "Madam, I'm Adam" ;)
https://www.tooltrace.ai/
Some comments here mention tolerances/functional requirements. Do you think the LLM/screenshot loop will scale to that too? Maybe rendering subassemblies individually until they make sense? Still feels like a full functioning V8 engine block needs _a lot_ of ghost-view screenshots to verify it works. What's your thoughts on a "simulation" approach, since it's not aligned with your bitter-lesson-blog-post?
Are you able to reveal more about what kind of traction you have? 10s/100s/1000s of companies?
Very cool open source project, and thanks for sharing so much!
There are so many reasons why I, as an engineer, will never even attempt to use AI for mechanical design, that trying to list them all is about to give me an autistic screeching fit.
Even if all I need is a simple little bracket or something, I can model that and know it's right much quicker than I can ask the AI to do it and then check it's work. There is no time savings here.
Heck, for any of the stuff I need that is simple enough to plausibly ask AI to draw, I don't even bother to model in the first place, I would either sketch it with a pencil or just make the piece right off the top of my head.
If it's more complicated than that, then my approach grows to include things like what stock I have available, what tooling, fixturing and machines are present, whether I can use any COTS hardware to simplify the design, the tolerancing scheme I want to use...and my output needs to include not just the model, but toleranced drawings and any other assemblies and such that are required.
And besides all of that, and with love....OpenSCAD is a joke, and if you seriously try to tell me that "the best paradigm for CAD generation is to generate CAD as code", I cannot take you seriously.
"AI will never be able to reason and write code as well as a human".
I was terribly wrong. I assume you will end up being wrong about engineering too.
Why do you use regex for that? OpenSCAD allows you to pass data natively, no? What’s the advantage of the regex over using that?
You guys really don't get it; Engineering is about 5% of your time modeling in CAD. The other 95% is the actual hard annoying work. GO AUTOMATE THAT FIRST!