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

3 hours ago (github.com)

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.

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?

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

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

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.

      2 replies →

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

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.

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

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

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

    • 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

    • 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?

      1 reply →