Ask HN: CAD for wood working with LLM support?
I’m a hobbyist woodworker. I manually design simple things in Shapr3d with a lot of patience when I build things. I wonder in the time of LLMs if there is an effective way to accelerate the 3D model design using AI.. Anybody tried using AI to model wood projects? Any tools to recommend?
134 comments
[ 2.1 ms ] story [ 99.2 ms ] threadI'm also the developer of FluidCAD. It has an MCP you can wire to any LLM. It runs locally on your machine.
It is still missing features for splitting the model into parts, but that is coming in a future release.
https://fluidcad.io/
MCP config (node.js required): https://fluidcad.io/docs/cli/#fluidcad-mcp
It's a woodworking domain engine and parametric furniture builder focused on projects like bookshelves, cabinetry, and shop furniture. It works out the parts, joints, cut list, etc.
There is an MCP component in beta (https://shopspec.io/agents) that allows an agent to explore designs while the engine still does the math. To take a design to CAD, a project can be exported as DXF or as a Ruby script that rebuilds it in SketchUp Pro.
It's narrower than Shapr3D, but it might fit the projects you describe.
You could just say you don't like the excessive use of caps.
As an engineer obsessed with the finer details and getting his fix from weekend woodworking by making things just the way I want for fun, and tinkering with newer ways of doing things, some finer details that probably won't make a lot of rational sense, but I really badly want them because it is cool.. I want a more general purpose workflow where I can make anything I feel like... {}toys for kids, bike stand for the shed, A tool wall, Bed for the kids..}. Your approach to doing what you happened to need - bookshelves, workbench etc in a customisable way is very cool. But, I've already made those over the years and need something else.. :-)
Your work gave me a lot of ideas and levelled up what output I can make once I figure out a more general purpose workflow.
If you're CNC cutting parts that need to fit together, you need to measure both your plywood and your cutting tool with digital calipers to the thou. Freud's 1/4" upcut spirals (available at Home Depot) are pretty commonly .245" rather than .250". That's enough that things don't fit.
Yes, I've been burned by this.
Also, if you're just making through cuts on your CNC, reference the bed for the Z-axis rather than the material surface, and a few thou either way doesn't matter.
For a basic bookshelf, the space might be constrained. Say I need the outside dimension to be 24.5" wide. If I'm using 3/4" plywood, do I model it so I have 23" wide shelves or 23-1/16" wide shelves?
Or is it irrelevant? Do you build the box first, then measure and cut the shelves to fit?
I'm thinking it's not irrelevant because I see lots of projects with cut lists and to make the cut lists you need to know the dimensions of the material.
Generally though, if you're putting something into an alcove and want a fitted look, you'd build the box undersized by some amount (1/4" to 1/2" depending on how square and plumb the walls of the alcove are), set the box in place, and then scribe a face frame to the walls.
Drawer boxes tend to be where you have to work to the tightest tolances. Side mount drawer slides don't have a lot of allowance for the drawer to be undersized and basically none for it to be oversized. Under mount slides are a little more forgiving, but I definitely still account for my actual material thickness on them. In either case, you're definitely building the drawer boxes to the as-built size of the opening they're going into and not the platonic ideal opening from the plans/drawings.
[0] Yes, I know. Slightly more than that, but this is woodworking tolerances.
This doesn't work great for what the previous poster is asking about, where something needs to fit into a specific space (the comment about scribing a face frame is mint though), but what I typically look for when I'm building things, whether wood, metal, 3D printed, etc, is to try to find the critical faces and let everything shake out around that.
For example, in the side-mount-slide drawer box situation, you've nailed it: the spacing between the exterior face of the drawer and the interior face of the carcass is critical. What I personally would do for that situation would be something like:
- cut rear carcass rails and drawer front and backs precisely with exactly the right spacing, and probably a few temporary front carcass rails that won't be part of the finished product but can be clamped in place for lay-up
- the drawer sides and front/back get dowels that are drilled referenced to the outer edge of the drawer front/back and outside face of the drawer sides
- a slightly oversized dado in the drawer front/back/sides so that the bottom doesn't need to be made as precisely. It can still fit snug in the slot, but if it's a little oversized or undersized relative to nominal, it's not the end of the world
I try like hell to stay out of the business of plywood boxes, but they're inevitable sometimes. I'll try this out when I have a project it's a good fit for.
The local version has a MCP server.
see https://claydash.com/
I will say the differential wheel module was on the edge of what it was able to do. I had to bump it up to Fable and if I didn't already have a clear model in my head of what I wanted I don't think it could have pulled it off.
When I approached those two projects I took different approaches. The workbench I had clear measured physical requirements and desires but no specific design in mind (such as number or size of drawers). I had a long back and forth working out a purely textual project description via Fable chat, I originally wasn't even going to model it in CAD and just build from the textual description. I had just seen someone else post success with FreeCAD + MCP and there were some measurements that were suspect... So I had it model it. It did pretty good entirely on its own but a wood bench is composed of effectively a bunch of differently sized rectangles oriented and put together correctly so it feels like this was an "easy task" for it to complete.
The other side of the coin was that inverted differential omni-wheel. This one I knew mechanically exactly what needed to happen and I wanted to model to make a parametric, re-usable model that could be dropped in to a bunch of different designs. This one needs some complex gearing built which it actually mostly did pretty well. Where it kept failing here was weirdly in the motor placement (it was a stock placeholder mesh of the motor part), it had a sled mount with screw slots to allow a little adjustment of the meshing of the final gears. Over half of my time working with the model was simply trying to get it to point the motor model in the correct direction, fully seated in the sled, with the screw slots accessible and physically not colliding with anything. The next hardest part was composite/boolean joined parts, specifically a couple of gears that are a combination of crown and pinion gear, it couldn't seem to comprehend that adding the two physical objects together wouldn't remove excess material from around one of the sets of teeth.
Kind of a ramble, but let me know if there are any more specifics I can provide.
I had it design a model sailboat hull, and it fucking nailed it. It even designed it for printability. I’m genuinely really impressed.
Recently, Sonnet 5.5 got quite good, too, but not at the level of Opus/Fable for complex geometry
Disclaimer: I use it for very precise 3D printing, not woodwork.
I've been working on this sort of thing at a far lower-level (directly modeling toolpaths and tool shapes so as to get 3D models of parts).
PythonSCAD has an Align command which I need to wrap my mind around to see if it would be workable for positioning parts.
I have gotten just "ok" at CAD. I'm not as productive as I should be because I avoid it. Really looking forward to this.
https://builder.auxx.ai/
Everything is stored locally (with cloud feature coming soon as well as desktop versions.)
1. First several 3-d design iterations are throwaway reworked because I am constantly measuring the design, clearances and studs. And paper works best here instead of working with clankers which takes way longer.
2. Choosing the right kind of materials: thickness and type of plywood, type of hinges, panels, finished or unfinished. Optimize for simplicity of putting components together is most important.
3. Once the design settles the actual joinery needs to be as simple and efficient e.g. butt joints work well most of the time. A good jig for pocket holes is generally the most needed. You will be surprised how well a staple gun works for creating back panels of cupboards.
Its not that they are not useful, shopspec looks great(good job variodot), its just that I can get further and faster without them for most hobbyist pursuits. I invoke YAGNI most of the time because I constantly ask myself one question: "How can I make this be less time consuming?".
Isn’t this closer to being an architect or a designer now?
When was the last time your first idea was the good one? Mine certainly never are
Why use power tools(planer vs hand planes, power saw vs hand saws, saws instead of chisels etc) when you could do things by hand?
It’s all about which parts one enjoys doing by their own and which ones they’re willing to abstract away with a tool.
Some folks abstract away the whole process and just visit IKEA :-)
His woodcarvings were _amazing_, in particular for his ability to work with the grain and even to chase a single ring so as to make a perfectly shaped, but seemingly impossibly thin and light wing of a bird.
If AI could catalyse that first part and help visualise the idea in many perspectives that are easy to tweak and improve, I think it will be a solid base to work upon and change organically as we build it in the shop.
You may call that the art part, but it’s actually the terrible skills part.
One of the things I intend on doing with it is cutting router templates for parts that I need to make a bunch of with "identical" dimensions. Get it as close as I can with the table saw and miter saw, stick the template to it, and use a flush-cut bit to clean up my slop.
It's a fun tool in its own right, I really get a kick out of designing and cutting tab-and-slot designs. They just fit together so beautifully right off the laser. I get the joy of designing the project and assembling the project without the swearing/frustration bit in the middle.
I have a lot of respect for the intuitive-improvisational mode, and some people can do it brilliantly while playing the violin, but I'm not sure it always works for making things.
If you have some physical reference, for example a coffee table, you can create an accurate 3D model of that quickly. The agent creates model that can be converted to STEP format and opened with any CAD software.
This might help you? You get a good model that you can start editing towards your own design.
Here is agent skill that works with OpenAI models and Codex https://github.com/janne-alatalo/image-to-cad-skill
Basically you take few pictures. Three is usually enough of furnitures. The agent uses the pictures to find the exact camera poses and creates a 3D model that minimizes the difference between the object's silhouette in images and in the 3D-model when projected with the virtual cameras to the 2D planes. The agents create the model with python scripts. First using numpy for faster optimization and finally CadQuery for easy exports to CAD formats.