logoalt Hacker News

Text-to-CAD

74 pointsby softservolast Friday at 1:48 AM25 commentsview on HN

Comments

david_mchaleyesterday at 10:53 PM

I've been using Claude Opus 4.7 into OpenSCAD for creating hacked connectors for vibrating mesh nebulizers. It's incredibly powerful but still needs heavy manual checking to generate anything usable, but holy COW is it powerful when armed with the right info.

show 1 reply
behaviorsyesterday at 9:19 PM

I've been using an OpenSCAD container with various local models. Dumping the render.png straight to the model, allowing it to modify the code and try again. Made some interesting things, but the main purpose was to fix things I've already made and have some weird single issue that cascades to a broken model if I touch it. OpenSCAD is the first step, FreeCAD and similar(now starting to see more CAD LLM work) are still a WIP. Since january we've solved 4 solid issues I've left on backburner. I use the docker container version with some Custom wrap/bridge work for the render dumps.

show 1 reply
brookstyesterday at 8:23 PM

I built https://github.com/brookstalley/cordyceps to do CAD work using claude code.

It's not perfect by any stretch, but it is surprisingly strong. It was able to create and debug some pretty complicated geometry by iterating with screenshots, adjusting view angle and zoom and rendering mode, updating parametric geometry generation, and working to fairly complex goals.

ameliusyesterday at 10:16 PM

Without benchmarks and/or a whole suite of non-cherrypicked examples, this means nothing because you can trivially make an AI generate anything from text.

lsch1033yesterday at 7:47 PM

You'll know how incapable it is when it doesn't seem to understand how servo motors work in the Demo Project.

Eisensteinyesterday at 8:23 PM

I have been using Claude to generate OpenSCAD for 3D printing. It works decently when the jobs are simple and can be easily described, but the description part really makes it clear how little vocabulary the ordinary person has to compose a good picture of any real item that isn't just a basic shape. It seems that the trick, like most things with getting LLMs to do something complicated and have it work well, is to be an expert in the field already.

carterschonwaldyesterday at 11:50 PM

i might borrow the skills etc for good ideas sometime. thats a lot of integration surface

XiZhaoyesterday at 6:50 PM

I just posted this somewhere else -- but overall big fan of these text to cad rigs as projects.

Obligatory mention of https://zoo.dev/ who went to extreme lengths on this.

I will say I explored this reasonably deeply and came away with the conclusion that even though we have OpenSCAD and all these examples, LLMs are still very weak at spatial reasoning compared to diffusion models.

You can do all sorts of tricks like have a parts library to get around this and do physics checks but another inconvenient truth is whenever you design a complex assembly, every change to that part needs to be aware of the other parts in the design -- thus you need a global part-aware editing capability from diffusion.

That's getting solved already in china leading labs, and bottlenecked by the lack of good training data, which china is solving with mass labor.

This will be solved overseas first before we will in the US.

p.s. I am not affiliated with zoo or any of these other things FYI was just very curious about this whole area

show 3 replies
ameliusyesterday at 10:14 PM

The demo should be a pelican on a bicycle of course.

ur-whaleyesterday at 7:23 PM

Not sure I understand ... no mention of an actual CAD engine backend ... did I miss it?

Or is this capable of generating STEP files directly from an LLM (which I doubt)?

[EDIT]: haha. the answer is hidden in:

.agents/skills/cad/requirements.txt

TL;DR:

    build123d

    ezdxf

    numpy

    trimesh

    vtk

and the engine is build123d, which, from its home page:

Build123d is a Python-based, parametric (BREP) modeling framework for 2D and 3D CAD. Built on the Open Cascade geometric kernel, it provides a clean, fully Pythonic interface for creating precise models suitable for 3D printing, CNC machining, laser cutting, and other manufacturing processes. Models can be exported to popular CAD tools such as FreeCAD and SolidWorks.

prbly worth mentioning in the README, I can't be the only one wondering out there.

Also: these things seem to be sprouting all over the place these days (a good thing!) ... CAD modeling using LLMs is clearly an idea whose time has come.

show 1 reply
mploscosyesterday at 7:29 PM

[dead]