Ask HN: CAD for wood working with LLM support?

2 points by reacharavindh ↗ HN
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 ] thread
I'm a developer and hobbyist woodworker too :)

I'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

FluidCad looks smooth. How much AI generated code (%) is used in FluidCad? And how long did it take to make?
I have started tje POC 2 years ago without AI. When it reached a shape I like I dtaryed using AI. Now all code is AI written but I'm still controlling the overall architecture.
I'm building ShopSpec (https://shopspec.io/) for this kind of workflow. I'm a woodworker and use it for my own home and shop builds.

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.

This looks really nice, I'll give it a shot with my next project!
This is cool. I have a friend getting in to furniture making and forwarded this, however: (1) You need a metric default outside of the US. (2) >4 shelves does not work. (3) 'Other' hardwood type not possible. (4) Could not find a way to get chamfer to render on slab top.
can not answer to the other points. But under 'set up shop' there is a selection of metric vs imperial units. (among many other things)
I get it, but most of the world will find that annoying. Hence, intelligent default.
I use metric as a default in the US =)
FUTURIST! Love your style. I hope you also adopt YYYY-MM-DD ISO dating.
This looks fantastic - great job!
I want to self host this. Where’s the code?
This is amazing -- I was looking for a tool exactly like this to DIY a bookshelf. That said - I noticed none of the patterns had curved edges (or curved sides e.g. for a corner bookshelf. Is that technically possible or out of scope for now?
Cool idea. You might want to tell your LLM to chill on the all caps small text. It's adding eyebrow text to basically every section. Just say 'no eyebrow text. only use caps lock on small text if you absolutely have a good reason to'.
lol - something so passive aggressive about this comment.

You could just say you don't like the excessive use of caps.

Lol I played around with it a bit and quite like it, it's similar to a tool I've had kicking around in my mind for a while. Man oh man, the amount of text in e.g. the cut lists is just wild :D. Definitely has been my experience that LLMs like to add way too much text to straightforward applications.
This looks very nice. I can see how opinionated it is in a way that it suits your needs well. Cheers!

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.

I checked this project couple months ago and i can say it's really nice! Definetively worth checking!
I’ve started doing some furniture design in CAD and I’ve been wondering how people model plywood. Do you make 3/4” plywood 0.75” thick, or do you use the actual sheet thickness (often, but not always, 23/32)?
Am a furniture maker, professionally. Do mostly hand work or at least more traditional tools, but use CNC with some regularity for jigs, templates, and the like.

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.

I'm not even thinking about that kind of precision work.

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.

In most applications, it doesn't matter if the piece ends up 1/16" (1.5mm for the rest of the world[0]) undersized and I wouldn't worry about it. If for some reason the finished piece had to be 24.5" wide, I'd account for the off-nominal thickness of the plywood and charge more for the hassle of it :-)

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.

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

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

Having just gone on a tear about why everyone should make their own shop drawings, I have to say that this is really well done. Nice work on this, and good job on incorporating some really good, practical woodworking knowlege.

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.

ShopSpec looks interesting. I looked at the shoe bench in the gallery, and I see in the 3D drawing there is a finished top piece that overhangs the bench underneath. That part doesn't seem to be in the cut list.
Not yet fully baked, but I am planning to add a woodworking mode to claydash with natural cutting UI - For now I have a couple of wood materials and there is the ability to extrude + cut faces à la sketch up, which should work for simple projects.

The local version has a MCP server.

see https://claydash.com/

Probably just me, but app.claydash.com doesn't seem to work in FF.
I've had good results with Claude Code + OpenSCAD.
Claude Code is now WAY better at the freecad python api. My product (related to ceramics) does a whole bunch of custom 3d modeling and the new generation of LLMs can go in and make significant changes and basically get it right. They can also deal with a lot of annoying corner cases when you run into them.
I've also had really good success with FreeCAD, and the FreeCAD MCP server. So far I've had it design and build a custom workbench (woodworking project w/ cut list, assembly and hardware instructions, tool and part check lists) as well as a omni-directional differential style robot wheel module for a 3D printing.

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.

How do you prompt it? It seems it would be difficult to describe a 3d geometry correctly just with text. Do you provide hand-made sketches?
All text, but none of these were a one-shot task. There were a few serious gotchas that you need to pay close attention to. It understands problems VERY well when it actually controls the viewport and takes screenshots of the part, unfortunately it REALLY resists that instead preferring to make up a bunch of equations to justify/validate it but these were almost never correct. It frequently got things like axis backwards so when it would test for a potential collision it would test in the wrong direction. Guidance specifically for the axes might help there, I suspect it's assuming different real-world axis (maybe more aligned with the game industry axis than modeling or CAD axis standards).

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.

OpenSCAD as well. I bounce back and forth between the two of them a fair bit depending on what I'm doing and which one's going to be more ergonomic for the problem at hand. The Fusion 360 built-in chat thing... not so good in my very limited experience.
Seconding openscad (havent tried freecad to be fair) with opus 5.5

I had it design a model sailboat hull, and it fucking nailed it. It even designed it for printability. I’m genuinely really impressed.

I can imagine. I did a bit of poking with blender and the api use got better there as well. For my use case I needed BREPs so stuck with freecad. I'm tempted one of these days where I have a pile of extra tokens to see about converting it to directly use the Open Cascade library since I just need to model and not the UI.
Second this. Since Opus 4.6 there's been a very noticeable bump in accuracy at just doing FreeCAD+Python or OpenSCAD code, usually one-shots things with basically described geometry.

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'm now printing my 3rd or 4th totally Claude-generated 3d printed custom project enclosure. Opus 5.5 is quite good - it's been generating CadQuery scripts and exporting them as STL for me, along with image previews and so on.
In my experience the MCP is not needed, it just runs headless FreeCAD using CLI. The MCP can be useful if you want to run FreeCAD on a VPS, and then use ChatGPT e.g. on your phone (optionally via voice). But for local I'd go with the CLI. But they'll do just fine with the MCP, which probably wraps the Python API anyway (ideally, otherwise it could lack some features).
For realizing designs in physical space, I create a Python library with a DSL that allows us to express all of the components and how they relate with each other. The most important thing this provides is a deterministic way to test the assembly. Then, you take the parameterized relationships between the components and export them into things like three-dimensional views or cut lists, rather than trying to manipulate three-dimensional software as your source of truth. (Although Claude is pretty effective at driving Blender via Python, too.)
Sounds interesting!

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’m doing exactly this (in TypeScript) for buildings / construction. It can’t really do woodworking (not designed for that) but I can confirm that it’s an effective strategy for spatial assemblies.
Out of curiosity, is this a self-directed (business) project or are you employed somewhere? What types of buildings and assemblies?
Stealth-ish startup right now (https://bear.build) but we’re working with some large contractors to develop the product. Assemblies are nested and go from a corner detail through walls or MEP systems to levels to the full building being the ultimate assembly.
sounds indeed interesting. can you elaborate on what information your DSL expresses ? is there a solver which calculates the actual metrics?
(comment deleted)
I am a woodworker mostly but do it all on pencil and paper. That said I have a 3d printer and cnc and fusion360 with the Claude mcp connector has been pretty amazing in my tests. One more year and it will be a new world.

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.

I second Fusion with Claude via MCP.. works pretty well.
I'm a developer and a previous commercial concrete superintendent. I built a 3d model designer similar to Autodesk Revit as well as a pdf editor similar to Bluebeam. You can connect MCP to it to build full buildings based of drawings.

https://builder.auxx.ai/

Everything is stored locally (with cloud feature coming soon as well as desktop versions.)

I do home improvement projects (I've in wall built-in storage, benches and nooks) I am on a clock and i have very little room in which to work. The only tool I have relied on https://www.cutlistoptimizer.com/ I have found that the CAD based tools to be pretty much beside the point for _most_ wood working projects for hobbyists, for a few reasons:

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

At what point is it no longer being a woodworker? Ai does the design and the modeling work. A robot actually does the cutting.

Isn’t this closer to being an architect or a designer now?

AI makes it easy to build the first thing that comes to mind.

When was the last time your first idea was the good one? Mine certainly never are

The line has always been blurry..

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 :-)

I use blender
Ask Claude to generate OpenSCAD files.
A friend of mine was borrowing the shop of a very well known luthier to build some furniture. I stopped by to check the whole situation out and I found them both with their brows furrowed trying to work out some tolerances for a joint on a scrap piece of paper. As an architect by training, I quipped "at some point you'll have to start making proper drawings of you projects ahead of time", to which the luthier replied "the plans are always the problem, you're better off letting the wood tell you how it should be put it together." to which I had no reply..
The grandfather of one of my son's friends was a locally-noted woodcarver --- when his daughter first brought home her future husband, he handed the prospective son-in-law a piece of wood and a knife and asked, "What do you see in the wood?" When the reply was, "A piece of wood.", he took both back rather disgustedly.

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.

My personal experience is that woodworking at hobby grade is a art+science+engineering in varying proportions depending on the person's interests. I can relate to your friend in that almost always, as I work through a project, it evolves in its details, joinery, design (even size as I make my mistakes) etc. However, it is important to visualise _what_ one wants in mind before beginning to mill wood. I sketch so much in various perspectives to narrow that down and try to visualise how my idea would materialise.

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.

As an amateur wood worker, the main issue is that I can’t cut things as precise as I want. It’ll be a couple mm off, or slightly crooked, or I’ll have cut too much and need to find something to fill in the blanks.

You may call that the art part, but it’s actually the terrible skills part.

I'm with you brother/sister! I recently acquired a small hobby-grade laser cutter that can do 1/4" plywood happily and 1/2" plywood if you ask it really really nicely.

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.

Having recently had my bathroom done, I was surprised to see that none of the trades had any kind of drawing or preparation; everything was eyeballed together. Slightly less surprised when there was a catastrophic measuring error.

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.

I used blender mcp and Astra to do a woodworking design a few days ago, plans came out great.
Model wood with AI? How are you going to carve it? Which machine?
Model wood? How are you going to carve it? Which machine?
Shameless plug since I work for them, but have your tried Vizcom? We're in the ai-assisted prototyping and design space. Our focus is industrial design but I don't see why you couldn't get assistance with woodworking projects. :)
I've tested different ways to use agents to model stuff from images with accuracy. Maybe this is something that can help or give you ideas: https://janne-alatalo.fi/en/articles/silhouette-modeling/

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.