Ask HN: CAD for wood working with LLM support?
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.
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?
The more I think about it, the more I'm concluding that you use 23/32" and then do a lot of measuring and adjusting as you build. Taking a cut list and cutting everything ahead of time is probably a bad idea unless you know your plywood is exactly the right thickness.
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.
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.
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.
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.
The UI styling looks very similar to the other website mentioned here
Just a coincidence or is there some collaboration already ?
RapidCAM.app is a parametric 2.5D CAD/CAM for CNC and laser with support for rotary axis. RapidCAM.app runs in the browser or as desktop apps. There is no login required. The app is free to use. Privacy is respected. rcamhub.com is the sharing site for .rcam files.
Within the App, you can define your project and then use the built in prompt generator. This creates a prompt with all the details AI could need. Once the AI replies with the file, you can paste it back into the app which will then verify the file for you.
Desktop versions of the app have MCP server built in so AI can control the app directly if that is a route you prefer.
I started RapidCAM for my own use as I found that the CNC was sitting idle simply because firing up a full CAD/CAM package took too long. The idea with RapidCAM is that you can quickly sketch out your job from as simple as you need to as advanced as you want going from unconstrained to full parametric/constrained as required.
I personally hate that pattern, and my default reaction is to immediately close the tab.
Perhaps you could change the landing page to avoid that negative first impression?
I'm doing mainly simple furniture and cabinets.
patience.
Wear hearing protection.
You more than likely will probably never need a table saw, jointer or a festool domino tool.
Tools I'd get first:
- japanese pull saws
- good chisel set
- a track saw... and a 2.4x1m.2m sheet of foam to cut on
- a palm router, learn how to make all your own jigs
- 12 irwin quick clamps. if you also prefer and can afford, 12 t-track f clamps.
- an impact dril, and a normal drill
- a decking drillbit
- a marking guage
- pencils
- a speed square
then
- make or get saw horses. and 2.4mx1.2m sheet of formply
100% avoid:
- 90 corner clamps.
instead get larger 1.2m irwin quick clamps or 3d print some corner protectors for a strap (assuming you're doing boxes)Very much depends on available material. If you do have decent square boards or plan on mostly using thick plywood, then yes, you can make a lot of practical stuff easily with miter saw and an improvised track saw, or just a real track saw. Otherwise, you'll want to have a jointer.
The necessity of a table saw is a controversial topic, a lot of guides position it as the only saw you'll need, and while technically that may be true, it's way less safe and an overkill for simple projects. Also, expensive in both money and space, since this is a tool you definitely don't want the cheapest and smallest version of. So I agree with you here. If I had the current experience, I'd get a decent track saw instead of the miter saw, more versatile.
I'd prioritize a router table made with a basic wired trim router and a cheap adjustable baseplate, with dust extraction.
In my experience, a track saw is immensely more useful than a simple circular saw or miter saw for finer woodworking or cabinet work. The other two are great for rough carpentry but tend to be harder to use for finer tolerances needed for finer woodworking. They are more expensive but because of the track you will get straight cuts with little setup. I've had issues with a contractor sized table saw even with it built into and secured in a DIY cabinet. Lifting and moving large sheets of plywood or assembled boards like a table top can be prone to more errors than setting up and moving a saw along a track. Really expensive table saws are probably better but as a hobbyist I don't have $3000 for a single tool.
A simple test is that if the object you are modeling could be described by a brief python program (automating blender/CAD APIs), then the LLM will probably one shot it perfectly. If what you are modeling is a human face or bird, then the LLM is at best a clumsy apprentice. High Kolmogorov complexity is the common thread behind all things that LLMs will struggle with.
It can sometimes be easier to lean on a diffusion model and then trace over the results the old fashioned way. Diffusion completely sidesteps the geometry which helps with design speed.
I learned OpensCAD manually but it was so painful because you needed to take into account the most minimal and ridiculous thing using code, so I used Freecad in the end that is way more intuitive and fast with graphical tools.
With code like OpenScad it was just too exhausting just to have to think rationally every single detail. And you spent hours doing the most minimal project.
Then LLMs appeared...
Now I use OpenSCAD a lot because with LLMs you have the absolute control that code gives you without the pain of using your logical/rational mind all the time and taking 1/20 of the time for that.
I create my own furniture as hobby. Mostly I use standard IKEA metallic pieces, standard metric screws.
I generate paper blueprints automatically of how the wood panels must be cut and they cut it for me. My Blueprints are pdfs that I print very similar to IKEA blueprints so the one that cuts the wood can not make a mistake. I choose and provide the panels myself.
It is ridiculous how easy it is now with LLMs to do all of that. I can do a new design in a couple hours, including the pdfs. Most of the code is already created and I just have to reuse it.
I use Claude Code. From time to time I voluntarily teach children to do just that. Some of them are really good after a couple hours of instruction and some mentoring.
Coincidentally, I also seen a (private) demo using GPT-6 Astra designing wall panel joints based on some pre-determined rules, 2D lines specifying the layout, and later altering the design following a hand sketch (photo of a sketch). That looked promising too. It was claimed that spatial reasoning of Astra is elevated, can work well with 3D models and formats.
None of those are production (something to manufacture) level just yet. But if I had time I'd explore this manipulating CAD files by an agent route, opening those files in the usual tools I have at my disposal.
Talking/chatting about 3D is like dancing about architecture in my view, so I think this LLM use route is not sustainable straight, still, my above casual encounters suggest, for simple things, combined with manual adjustments, it may be alright.
Does anyone know what the SOTA is for cad models from image or multiple images?
I was hoping to try doing some reproductions of stuff i saw in museums/palaces in Europe.
I'm going to try https://sawdust.diy and https://fluidcad.io/ for the short term.
For the long term, I have noted FreeCAD + Blender + $ai_model to be a good general purpose workflow that yields more control, and will probably get me lost into the details.
https://janne-alatalo.fi/en/articles/silhouette-modeling/ and its accompanying SKILL - https://github.com/janne-alatalo/image-to-cad-skill
FreeCAD MCP: https://github.com/neka-nat/freecad-mcp
Woodworking specific FreeCAD resources : https://github.com/dprojects/Woodworking
Two YouTube Channels related to FreeCAD + woodworking :
1. https://www.youtube.com/@dprojects.woodworking
2. https://www.youtube.com/@ga3d_._tech528
There goes the weekend! Cheers HN!
For you specifically; if all you want to do is manually have a session and describe the thing you want, and see it take form — that's OpenAI's expertise. Pay 20$, get the desktop app, tell it what you want with as much precision as you can. Don't tell it how (don't force CAD if you don't specifically need it). Give it pictures or a photo of a drawing, any data like wood type, maybe even the machines you have at hand... Just dump it all in there. You'll be amazed.
Anyway, I'll plug India, the boat I've reconstructed and had the absolute privilege of helping design the rig for. So that's my weird hobby that AI helps with... rigging Pirates of the Caribbean-style boats.
(Yes, we actually sail them in our community. There was a race a couple of weeks ago. India's yet to be rigged, so she just tagged along as a fender against the cliffs.)
When I actually go to build anything, I generally do pencil and paper shop drawings, usually 3 views, hidden lines showing joinery, etc. I'll make exceptions for simple projects, but for anything even moderately complicated I do shop drawings. "Moderately complicated" starts at a side table with a drawer, and that's something I've put together more than a few of.
The important output of the drawing process isn't a picture of the finished piece. It's knowing, deeply, how all of the pieces are going to fit together and how they relate to each other in space. It's having an order of operations and assembly in mind. It's knowing where the pain points and hiccups are likely to be. It's a good cut list with notes about e.g. what the shoulder distances are for anything with a tenon on both ends.
I don't doubt that you could accelerate the 3D modeling process with AI or a sufficiently friendly CAD program, just as you could take plans from Fine Woodworking or Popular Woodworking and go directly to the shop and start building. I do doubt that things would go faster or more smoothly in the shop for having done so.
[0] Which depends largely on the complexity of the project. This gossip bench was simple enough to do in SketchUp:
https://www.longwalkwoodworking.com/gossip-bench
This dining table required some serious leveling up of my FreeCAD skills:
https://www.longwalkwoodworking.com/mid-century-modern-table
My experience is that if there's a lot of shaping with curves and tangency, FreeCAD is less cumbersome to draw it in and a hell of a lot easier to make changes in.
If I'm taking apart things on my car, I'll do one side at a time even if it would be more efficient to do both at once so I have an un-monkeyed-with side for reference if I get confused putting it back together.
I tend to stay away from taking apart and reassembling electronics; I can't fix anything inside anyway unless there's an iFixit guide that I'm blindly following.
Most furniture projects break down into at most three (or thereabouts?) hierarchical steps for any single assembly. Which is to say, my spatial/assembly skills probably aren't actually that developed via building furniture.
Which is to say, great news if you want to build some furniture! Pick a simple project and wade in!
As with learning any skill, I'd suggest finding a project to work towards to motivate you.
I was fortunate to have two full-time programs to apply to in the Boston area (now one, sadly). The biggest difficulty for finding training is likely going to be finding a place that offers it.
New England has the North Bennet Street School, the Center for Furniture Craftsmanship, Vermont Woodworking School, and maybe a few others. As I'm currently in Vermont, I know the New England scene the best.
The leg/stretcher joint you zoomed in on at the bottom is immaculate. Wowza.
I've done enough woodworking to know how difficult that is.
I also love the bevel under the top. Kudos, all around.
The beveled profile on the top was the clients' touch. We went through four or five iterations on it. They have great taste and are a ton of fun to work with.
I'm in the middle of ginning two prototypes of a chair meant to go with it. It's as yet unclear if I've made my life any easier than the table or not.
My curiosity lead me to down this rabbit hole as well. Freecad with the woodworking workbench helped me create my plans initially. Since, have moved on to claude code and Freecad to create python scripts to create and modify my cad drawings. A few things which have been able to incorporate in my plans is to have a 3D design, cut-list, shop drawing for joinery and assembly.
Am working on a workshop designer module with chat interface and freecad sandboxed mcp with a support of multiple LLMs. The goal is to take a paper drawn design and have the system build the cad drawings, cut-list, shop drawings and maintain multiple versions. The challenge is all wood working projects are unique and need different approaches. Trying to resolve this by creating skills - building cabinets, building drawers, framing, etc.
Loved all cool ideas out here and it is good to know that am not the only crazy one out there. Happy building folks!
I would argue if you're building plans to make a lot of repeatable items, then you're beyond hobby level.
Once the CAD model validates my idea, and gives me a rough plan, the zen part of working with the wood, adjusting for grain, knots etc can begin. Even while making changes on the fly, a visual model of the original plan comes in handy.
I tried this for my workbench a few years ago.
https://aravindh.net/wood.html#gallery-7
https://aravindh.net/wood.html#gallery-8
and it significantly helped without removing the joy of making mistakes..
Now that resonates too close to home...
May be I will come to the same conclusion as you after spending hours/days/weeks into trying out a bunch of things with CAD. Lets see... this rabbit hole feels worthy of jumping into.... (it will be different this time!)
https://forum.makerforums.info/latest
There are some active HN folks who participate in both communities. (Check out Oscar Gallegos, who uses AI to generate depth maps, and carves those into wood using CNC router)
> tsugite
> compas_wood / wood_nano
clementzheng/joinery: Parametric joint generation toolkit for laser cutting: https://github.com/clementzheng/joinery
GitHub topics: joinery, woodworking, CNC
Though, there is 3d printing of wood now.
And here's a wonder material: Lignin-Vitrimer with Lignin-Derived Carbon Fiber, and Cellulose
I imagine this would work just as well for CNC wood carving/routing projects, and maybe even for complex assemblies.