Show HN: Open-sourcing our text-to-CAD app (github.com)

179 points by zachdive ↗ HN
Hey HN! I'm Zach from Adam (https://adam.new/). We’re building an AI co-pilot for mechanical CAD software.

As part of our broader research, we built a browser-based Text-to-CAD app (https://news.ycombinator.com/item?id=44182206) and are now open sourcing it. This is a React SPA with a Supabase backend.

What it does:

* Generates parametric 3D models from natural language descriptions, 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

Under the hood:

* Separate agents for conversation and code generation; simple parameter tweaks bypass AI entirely using deterministic regex-based updates

* Runs fully in-browser by compiling OpenSCAD to WebAssembly and integrating Three.js with React Three Fiber for 3D rendering

* Supports BOSL, BOSL2, MCAD libraries and custom font support (Geist) for text in models

We’ve seen many developers trying to replicate this kind of functionality, so we’re releasing this to give the community a solid foundation to build on.

Future improvements:

* Expand geometry support - Move beyond CSG primitives to support curved surfaces, fillets, lofts, and constraint-driven modeling through CadQuery/Build123D

* Better spatial context - UI for face/edge selection and viewport image integration to give LLMs spatial understanding

* Enhanced capabilities - RAG on documentation and integration with more OpenSCAD libraries for features like proper threading

You can clone the repo and run it locally! Contributions are welcome, and we’ll keep merging PRs as they come in.

20 comments

[ 2.7 ms ] story [ 49.5 ms ] thread
> CADAM uses ngrok to send image URLs to Anthropic

FYI you can send base64 encoded PNGs, no need to mess about with ngrok.

Readme could really use some pictures
Cool project. AI is surprisingly good with openscad. I wonder what a custom trained model could do?
(comment deleted)
do you have examples or any getting started guide to know what can I expect ?
Have you seen what google's nano banana can do?
I continue to be skeptical of text to CAD, because to make it work, you're going to be doing a whole lot of this [0]. This is an extremely high bar to clear to be better than even the most basic of CAD skills.

I'd wager that for most of the CAD I work on, I would not be able to accurately describe what I want in natural language. If you've been able to, please share examples!

[0] - https://www.nasa.gov/history/afj/ap13fj/15day4-mailbox.html

It would be killer to be able to integrate this with 3d scans. Eg "make me a mount that hugs this shape" where you can draw both render the scan and mark it with a 2d paint tool
Keep in mind that OpenSCAD doesn't support exporting .step files. Ticket to add support has been open for a long time but it's a hard to implement.

https://github.com/CadQuery/cadquery is much more capable in that regards. It's based on more capable Open CASCADE Technology and Freecad also uses it.

As for use cases, the only viable use case I see is to ask it to make a model based on a picture. Or ask it to fix the topological error. In other cases it's much faster to model than to describe it to agent

"CADAM" name is conflicting with an old commercial CAD...
That's pretty freaking cool!!! Got exactly what I wanted with the following prompt:

  Create a 200x100mm rectangle with depth of 12.7mm, 6mm filleted corners, a 25mm center hole, 6.35mm holes in each corner offset 12.7mm each edge, with 1mm chamfer on top of center hole and 0.5mm chamfers on corner holes.
Now, just give me a picture to parametric model prompt generator...and then we can get into assemblies! ;)
(comment deleted)
I like it! I had the idea of printing a gripper to carry heavy plastic bags. When I described the idea without specifying the size, it automatically created a model with parameters for me to adjust. Most of the parameters matched my manual solution. The slot for the bag handles was a bit more difficult, but it worked out after a third attempt with more specific instructions. It’s also great that new parameters are automatically added to the system. In total, it took around 15 minutes, compared to hours with an easy-to-use system such as 3D Builder (including the time it took to learn how to use it).

However, I don’t know if it can work for objects that require more complex and precise constructions. But hey, why not give it a try!

Sick.

The first feature I wanted to add was a "Quote from xometry" panel; I cloned/GPT'd for a couple minutes and found that actually adding this would mean pulling tricks with selenium that don't scale.

Have you reached out to xometry/hubs.com/other Print-aaS companies for a partnership?