Launch HN: Adam (YC W25) – Open-Source AI CAD
github.comHey HN! I'm Zach from Adam (https://adam.new/). We're building AI agents for mechanical CAD software. We’ve built the company on two fundamental beliefs:
- 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.
No matter how much I’ve experimented with similar text-to-image projects including this one - the LLMs still don’t fully understand the visual feedback loop, and the results are far from what expected. And it doesn’t matter how the task is described, whether there’s a reference, or even if there’s a part of a finished model that just needs to be integrated into another component - the resulting models may be visually close to what is required, but they are not technically accurate.
Could I see what you tried to generate?
It did a great job with this prompt. Got it done in about the time it would take me to login and load Fusion. I forgot to include the wire diameter but it made a reasonable assumption and included it in the params for edits
"Make a grommet seal for a hole in an aluminum pipe where a cable goes through. The hole is 0.48 inches in diameter. The wall of the pipe is .25 inches thick. Make the seal split so it can be installed with the cable in place. Make a circular cover lip that is .2 inches across on the outside, and an inner lip to secure it that is smaller. It will be printed in flexible tpu"
nice!
Can it work from photos? I'm specifically thinking about stuff like this:
https://www.tooltrace.ai/
Yes it can! You can even use mesh mode which is very strong for this!
Wow, that’s a solution to an oddly specific problem I didn’t know existed, but it looks kind of cool
Gridfinity is a bit of a tool organization rabbit hole verging on a cult in 3d printing circles.
CADAM is pretty good at building Gridfinity
I need custom bumpers for some exposed bolts on a boat lift that are scratching the hell out of my pontoon. Modeling them has been on my todo for months. Saw this and after 5 minutes of prompting I have four custom bumpers printing. This is a great product. Thank you.
Thank you for giving it a shot!
Congratulations on the launch. The propeller demo looks good :) BTW, customising gears (which are then laser cut from sheet metal) is also a common request from untechnical people who need CAD help.
How do you differentiate from other open source AI CAD solutions? I’ve also had a good experience with Claude Code and CadQuery, which is a Python toolkit for generating CAD designs based on OpenCascade. I.e. what’s your moat?
And given that you’re YC funded .. what’s your plan for millions in MRR?
I’m asking because I would like to launch some useful open source tools myself (but for PIM, not CAD) and I just can’t figure out how to make open source sustainable, let alone profitable enough for hockey stick revenue growth. Any tips? Book recommendations?
To be completely honest CADAM is not at all a revenue driver for us. The majority of our customers are on our flagship app: https://adam.new/ which uses OpenCascade and allows you to connect to your CAD, PLM & PDM tools.
We built CADAM largely to give back to community and support a tool for hobbyists and individuals.
I'm pretty skeptical of AI products, but your onboarding and first design experience has been pretty awesome. I will definitely spend a bit more time experimenting with this
Thanks!!
damn credits are consumed fast. And they are pretty expensive, $20 for 2k credits won't last long at all
Is CADAM also what's used for the commercial product adam.new? How did you manage to write all those plugins? If it is also CADAM isn't stuff getting lost in the Fusion/Solidworks/Onshape -> OpenSCAD -> back process? Do constraints and everything just seamlessly import/export?
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!
The same principles of an agent writing cad as code and then visualing inspecting the output in a loop runs through all our products. Whilst CADAM uses OpenSCAD, Fusion uses Python, Onshape use FeatureScript etc..
The majority of our enterprise traction is on our flagship product: https://adam.new/
Here you can connect to your engineering software and use AI to generate:
- CAD - Renderings - Slides for design review - BOM
and much more!
https://modelrift.com/blog/openscad-llm-benchmark/ LLMs are still weak at spatial reasoning, but it gets better. Check out modelrift.com for another alternative
> long cylindrical tube. with a half sphere at one end, capping it. at the other end align a sphere next to the tube such that the vector from center of the sphere to the face of the end of the tube is perpendicular to the axis. then attach another sphere 180 degrees from that first sphere, with the same vector to plane of face of end of tube.
perfect
I've been using the OpenSCAD version of this for a while. This new release is a big upgrade! I wish it worked with my preferred CAD, FreeCAD. But this is neat!
Sweet!
Just to self-promote, we've got a very early stage project with a lot of similar ideas at https://quidities.com/ - feel free to signup / reach out if you have real world use cases anywhere in this space - we've got a lot in the works already.
"I need an engine mount for 1999 toyota land cruiser j90 for the 1kz-te engine with a manual gearbox. Can you generate me a cad to send to a company in China to 3d print it?"
"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" ;)
There's already a lack of information online for simple things like torque specs. I can't imagine that a skilled professional could design the engine mounts even with if they had all of the relevant context online.
As far as I know, the way that these reproduction hardware companies operate is that they have physical cars that they can design around.
I have a 1993 Subaru WRX and I needed to replace the coolant header tank because mine had a bunch of leaks. I ended buying one from a specialty fab shop in the UK and I had to make a few measurements for them because there was varying bolt spacing for GC8 Impreza models.
If they AI would respond with what you just wrote, instead of "Done..." the world would be trending in a good direction.
I have a general question regarding 3d design using LLMs. My understanding is that all current applications have been trying to deal with 3d design/CAD as text/code. LLMs are clearly good at those but do you see this as the long term approch for 3d designs? do you see world models eventually evolving to produce 3d spaces or point clouds or CAD designs instead of doing video? is this approch explored? Congrats on the launch!
I strongly believe that by scaling up LLMs we will get there. I write about this here in more detail: https://adam.new/blog/bitter-lesson-ai-cad
I find all current LLMs to have pretty poor spatial awareness. It is becoming better, but still very poor. How are you dealing with that? Got any special tricks, any advice?
I write about this in detail here: https://adam.new/blog/bitter-lesson-ai-cad
This is improving greatly in recent model releases
Opus 4.5-4.7 was pretty bad at it, 4.8 was a bit better, and I have not tried Fable much.
So basically you have a good enough code that’s “intuitive” for a model, screenshots, and that’s it?
fable is a fair bit better, but to an extent its that it tried more things to get an understanding of whats happening than opus does
Fable is considerably better from my experience: https://x.com/LLMJunky/status/2065229625702109340?s=20
Fingers crossed it comes back!
bro, with all respect... your post says:
"Before working at Adam I worked at an AI Lab called Adept. We trained foundation models to do actions on a computer.
What does computer use now? The best general models. They just got good at it."
You were working for 4 months in Adept. What could you deliver or even learn in such a short period of time?
Sounds like an excuse tbh
My favorite spatial reasoning benchmark: https://minebench.ai/
no tricks, I'd definitely be curious to know how much screenshots help
Congratulations on the launch! Awesome it can run locally, very helpful!!
Surprised Gemini 3.1 Pro beat Claude in your evals for code-gen. Any intuition why - spatial reasoning, or just cleaner OpenSCAD output?
Gemini 3.1 whilst not the best agentic coding model, has extremely strong vision (which makes it reason spatially very well).
Fable 5 was top for a brief moment, whilst it was around!
The parametric slider part is what got me. If it can actually pull good dims from a rough prompt and let me tweak, that's way better than regenerating.
yup!
I asked it to create 3d model of "AMF-O97L45-DB". It pulled datasheet and generated 3D model. Left is reality, right is what was generated: https://imgur.com/a/oNaz51q
- wrong pitch
- wrong pins position
- missing pins
did you try to iterate? copypasting your brief message here to the prompt would probably fix something.
yes i agree, this would probably fix it
curious how this compares to on baseline: https://adam.new/
let me know!
That's why a hybrid approach is needed. The agent shouldn't be making up dimensions based on an image. It should use OCR to extract the size table from the datasheet, feed it into a parametric table, and only then map it onto the base enclosure template.
It could be a nice touch to give some examples of what it's possible to ask CADAM!
Yes good idea! We've added a few in the read me if you'd like to take a look
What exactly is the use case for this? Just making pretty little 3d models?
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.
I agree openSCAD isn't anywhere near powerful enough for professional workflows. Hence why I framed this as AI TinkerCAD.
However, you can drive any professional CAD software though code. As we drive Autodesk Fusion via python through agents.
This doesn’t seem to be for machining CAD but more like stuff you would 3D print at home
yep
The stuff I 3D print at home uses machining CAD.
Making video game assets on the other hand I could see.
> 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.
For me, this is the issue with all the AI stuff. The real work in what I do is figuring out what I want (requirements, constraints, design aesthetics etc.) and once that’s done, the rest is easy.
Even for things like voice commands, I’d much rather use a computer than talk to it.
The most difficult thing about these projects is for me to consider why anyone would want to use words to describe a 3D object. How do you reference objects? Saying "Make the hole at the end of the bracket 3 mm and move it up" isn't going to cut it. How do you know which end of the bracket I mean, and which direction does up refer to? So then I'd have to be more precise in what I'm asking for, and structure my words carefully in order to....
In 3D CAD, you click on it. It's completely unambiguous and it also doesn't take 10 seconds to interpret your prompt (because I saw this tool can also read images, but takes time to do so).
Hi. I'm an idiot and I don't understand anything about CAD or 3D modeling. But! I want to build a machine I've dreamed up. It's got many parts, it's big? 2x1x2m. The current method is to talk to Blender experts and have them make mocks to see the draft running. Them pick some parts, properly model them (CAD), print them, test in real world. Loop.
I would love a text to Blender Animation to Things to Print then things to machine (CNC).
I wouldn't. I'd rather draw a sketch or image of what I want and hand that over to the AI. There is no universe where I'd want to describe a CAD model as a text prompt (no, Patrick, OpenSCAD source files are not prompts, mayonnaise is not an instrument either).
I remember thinking like this about software development several years ago.
"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.
Congrats! I like the code-based CAD paradigm, but one question about that: why did you choose OpenSCAD instead of more powerful alternatives like CadQuery?
Most of our users on CADAM are makers/tinkerers. Their #1 usecase is to generate a printable stl file for which openSCAD is ideal (LLMs are very good at generating it)
For professional workflows you can use https://adam.new/ which can work natively in your CAD software and generate .STEP via build123d
Can you talk more about the UI for face/edge selection that you're working on? Is that only going to be in the OnShape/Fusion plugins?
It's currently in the plugins and we're working on bringing it to CADAM. Basically you'll be able to use the GUI, and give face/edge selection context to your prompt "extrude a hole through this face". It's directly tied to us adding brep support.
How can this approach be better than just selecting the edge and click the extrude button/write extrude command? Now you have to start writing a prompt and hope that what you want to do is understood by the LLM. I mean, CAD is really not so complicated with the tools we currently have. You just have to learn how to use them.
That's more of an example to address the point. We've find our users often use this feature in our onshape/fusion extensions in complex assemblies. Being able to select faces and edges as context in addition to prompts can be quite a powerful interface in more complex projects where users need to adjust tolerances or edit multiple objects to prevent interference
I understand the goal, but describing complex geometries with specific tolerances with natural language is much more complex than creating the geometry programmatically. There are geometries that I could not clearly describe with words, but it's clear the operations I need to do to create them. But who knows, maybe I'll be proven wrong.
I largely agree with you. It's case by case and the ideal ux imho is to have both.
Very cool. Why not start with an MCP instead?
An existing LLM could drive the generation while the MCP can render the final result?
We're intent on building a dedicated editor, that way we can build a lot of nice UI! We'd also like to build public mcps for some of the popular cad tools
> Simple parameter tweaks bypass the model entirely; adjusting a slider does a deterministic regex update on the SCAD source, requiring no LLM call.
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?
This is so the .scad file stays the canonical state. With -D, the rendered geometry diverges from what the file says.
Cool that you licensed it with GPL, what was your thinking on the license?
Honestly I would've liked to MIT. It's mainly that the openscad wasm we use is GPL
Makes sense, I keep hoping some startup will be able to crack the open licensing without limiting their business problem. Would love it if we could do a bit better than the rugpulling dynamics that are kind of common now without just giving AWS a buffet of startups to hurt.
OpenSCAD. Oh well. :-(
You can use https://adam.new/ if you want to connect to your CAD applications or generate real breps
why is text the setup, rather than sketches? pictures?
ive found a process by which the llm gives me a picture, then i draw on it and hand it back works fairly well
you can upload an image or a sketch! we actually have drawing suppor in our extensions, but we've found our users use it far less than we expected!
Who are your users? Are you working with professionals that use similar commercial products or hobbyists? I have a hard time imagining that seasoned industrial designers prefer text over sketches…
I suspect that your VLM might do a bad job at transcribing sketches into CADs, and you wrongly interpreted the adoption data as a preference for text-based interaction
generally professionals our flagship app at https://adam.new/
hobbyists and makers use CADAM
take a look at modelrift.com, it is built around annotating built models by basic pen and arrow tools, works fairly well ('smarter' model is significantly better)
You need a geometry kernel
I am a daily user of CAD software, always wanted a ai based cad software
FYI there is already a product with a very similar name, CADEM.
Oh thanks! What's CADEM?
I think it's primarily for designing chemical processing systems, though I know it through the pipe layout software being used off-label to design vehicle electrical harnesses.
sigh, another text to cad startup.
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!
tackling all that in: https://adam.new/
don't you worry ;)
> A complete V8 internal combustion engine
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.
We could defo update our readme! What do you think of this?: https://x.com/aaronli/status/2064876123109089742?s=20
Fable 5 in our Fusion Extension.
I see cams intersecting eachother and still nothing that is actually ready to be manufactured or even looks like a design that has had any thought put into it. It's the CAD equivalent of idle doodling.
Do you have a single person on your team that's actually a mechanical engineer with practical industry experience?
Yes and we have a number of mechanical engineers using our extensions! AI in CAD is defo a WIP but when you trace the progress it's not too hard to envisage what the future will look like.
For the Fusion demo we intentionally didn't include the block or any accessories in the visualization as we wanted demonstrate Adam's ability to reason through the mechanical workings of an engine, like how the cams push the valves or the way the the crankshaft drives the connecting rods.
not to say this isn't cool, but it's about as useful as having claude generate a JavaScript illustration of how a v8 works and then expecting someone to manufacturer an engine from that
For anyone doing CAD at a professional level (ie not 3d printed trinkets), the important parts are the physical parameters and tolerances designed into the model. For example I suspect your crankshaft would rip itself apart at engine speeds, not to mention all the plumbing, oil and coolant delivery, and auxiliary pumps and belts are missing
This is still a toy.
The design is non-manufacturable and doesn't have any actual intent baked into it let alone communicated. If you can accurately capture intent and purpose encoded into a design and also generate relevant GD&T that might be a good start.
> shitty 3D prints don't count
Why not? The 3D print market is pretty large and tools to generate some designs that can then be tweaked are pretty useful in that context. I don't think that type of AI CAD tool would replace professional CAD work, that's something that requires way too much context and human judgement. But being able to prototype something to be 3D printed via an AI thing is one of the few places where I see AI being genuinely useful.
I personally enjoy designing my own things with Plasticity, so wouldn't be the perfect target audience
Yes I intentionally called this AI TinkerCAD
Does anyone pay for tinkercad?
Can you claim your product here? https://thecadhub.com/details/adam-cad/