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.
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.
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'.
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?
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.
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.
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.
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 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.
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.)
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.
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.
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.
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?".
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.
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.
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'.
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?
I want to self host this. Where’s the code?
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.
I use metric as a default in the US =)
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.
This is so clever.
This looks fantastic - great job!
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
This looks really cool! Nice work
FluidCad looks smooth. How much AI generated code (%) is used in FluidCad? And how long did it take to make?
Model wood? How are you going to carve it? Which machine?
Model wood with AI? How are you going to carve it? Which machine?
https://sawdust.diy/ uses LLMs for wood designs
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.
Which freecad MCP are you using?
This is the one I've been using: https://github.com/neka-nat/freecad-mcp
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.
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 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.
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 used blender mcp and Astra to do a woodworking design a few days ago, plans came out great.
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 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 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.
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/
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?".
I've had good results with Claude Code + OpenSCAD.
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?
Ask Claude to generate OpenSCAD files.
I use blender