Launch HN: Adam (YC W25) – Open-Source AI CAD

Posted by zachdive 4 hours ago

Counter98Comment48OpenOriginal

Hey 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.

Comments

Comment by Doerge 51 seconds ago

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!

Comment by lukasm 57 minutes ago

"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" ;)

Comment by rockostrich 37 minutes ago

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.

Comment by fkilaiwi 26 minutes ago

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!

Comment by zachdive 17 minutes ago

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

Comment by criddell 18 minutes ago

Can it work from photos? I'm specifically thinking about stuff like this:

https://www.tooltrace.ai/

Comment by zachdive 9 minutes ago

Yes it can! You can even use mesh mode which is very strong for this!

Comment by mips_avatar 21 minutes ago

Cool that you licensed it with GPL, what was your thinking on the license?

Comment by zachdive 8 minutes ago

Honestly I would've liked to MIT. It's mainly that the openscad wasm we use is GPL

Comment by dgellow 1 hour ago

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

Comment by dgellow 1 hour ago

damn credits are consumed fast. And they are pretty expensive, $20 for 2k credits won't last long at all

Comment by zachdive 1 hour ago

Thanks!!

Comment by murkt 2 hours ago

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?

Comment by conradkay 32 minutes ago

My favorite spatial reasoning benchmark: https://minebench.ai/

no tricks, I'd definitely be curious to know how much screenshots help

Comment by zachdive 1 hour ago

I write about this in detail here: https://adam.new/blog/bitter-lesson-ai-cad

This is improving greatly in recent model releases

Comment by murkt 1 hour ago

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?

Comment by 8note 1 hour ago

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

Comment by zachdive 1 hour ago

Fable is considerably better from my experience: https://x.com/LLMJunky/status/2065229625702109340?s=20

Fingers crossed it comes back!

Comment by dvh 3 hours ago

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

Comment by zachdive 36 minutes ago

curious how this compares to on baseline: https://adam.new/

let me know!

Comment by bel8 1 hour ago

did you try to iterate? copypasting your brief message here to the prompt would probably fix something.

Comment by zachdive 35 minutes ago

yes i agree, this would probably fix it

Comment by paulglx 3 hours ago

It could be a nice touch to give some examples of what it's possible to ask CADAM!

Comment by zachdive 3 hours ago

Yes good idea! We've added a few in the read me if you'd like to take a look

Comment by 8note 1 hour ago

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

Comment by zachdive 1 hour ago

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!

Comment by jurgenaut23 1 hour ago

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

Comment by zachdive 1 hour ago

generally professionals our flagship app at https://adam.new/

hobbyists and makers use CADAM

Comment by jrflo 3 hours ago

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?

Comment by zachdive 3 hours ago

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.

Comment by tapia 2 hours ago

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.

Comment by zachdive 2 hours ago

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

Comment by tapia 1 hour ago

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.

Comment by zachdive 1 hour ago

I largely agree with you. It's case by case and the ideal ux imho is to have both.

Comment by 3 hours ago

Comment by _pdp_ 3 hours ago

Very cool. Why not start with an MCP instead?

An existing LLM could drive the generation while the MCP can render the final result?

Comment by zachdive 3 hours ago

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

Comment by zardo 3 hours ago

FYI there is already a product with a very similar name, CADEM.

Comment by zachdive 3 hours ago

Oh thanks! What's CADEM?

Comment by zardo 3 hours ago

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.

Comment by q3k 3 hours ago

> 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.

Comment by dgellow 1 hour ago

> 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

Comment by zachdive 41 minutes ago

Yes I intentionally called this AI TinkerCAD

Comment by zachdive 3 hours ago

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.

Comment by sem4 2 hours ago

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

Comment by q3k 2 hours ago

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?

Comment by zachdive 2 hours ago

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.

Comment by ark296 2 hours ago

[dead]

Comment by jacobblyons 3 hours ago

[dead]

Comment by zachdive 3 hours ago

cool! will check it out!

Comment by cui 2 hours ago

Can you claim your product here? https://thecadhub.com/details/adam-cad/