Hey! ShopSpec has a standalone optimizer too separate from the parametric design. Check it out and let me know any feedback - https://shopspec.io/cutlist
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'.
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 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.
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.
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’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?
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.
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
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?
ShopSpec is a deterministic parametric furniture generator (bookshelves, cabinets, shop carts, leg-and-rail frames, multi-carcass composites) that encodes real woodworking intelligence and outputs shop-ready artifacts.
Most recently, introduced the concept of value engineering by sweeping across dimensions to batch evaluate candidates that ranks based on sheet purchases. Also have in beta an MCP connector to let agents explore the deterministic engine.
I'm building a number of items for home and shop and ShopSpec has been instrumental to plan, visualize, and execute on these new ideas/projects.
Hi there! I'm a woodworker and love seeing new woodworking software! Thank you for making this.
I could tell from the layout screenshots, but one thing to make sure is that you are accounting for the size of the kerf. Being able to set a different kerf size for different cuts would be ideal as your rip vs crosscut are often different blades.
Also, one of the more daunting parts of casework for me is sorting out exactly how undermount slides go. I would highlight any help your tool does with raising confidence in getting those installed. Even having an undermount installation tool separate from the spec work I think could be useful.
Don't forget about the rest of the world which does not use imperial and have access to plywood stock that is e.g. 18mm birch in metric standard dimensions for the cut sheet. Being able to customize what stock I have access to locally and adjust measurements and cuts automatically, e.g. rounding to cm not quarter inches.
This is beautiful and I'm now itching to make a workbench (finally! that initial "how many sheets and what for what size" problem has been the mental blocker)
Glad ShopSpec helped get you over the hump and appreciate the feedback. I am building a tool that I find useful for myself and previously encountered a similar pattern to what you mention.
Wow that's really cool! I'm actually trying to learn about woodworking and using those example as a base are really great!
You could consider having an option for metric users as well!
Is this related at all to sawdust.diy which was posted last What are you working on? https://news.ycombinator.com/item?id=49234277. Has a really similar look and feel but different feature set
In a recent project the countertop contractor digitally measured the walls, even ones that look square weren't, not a 90 degree corner to be found! You should build cabinets as squared boxes and level them when installing. The trim work that surrounds it will hide gaps, etc.
Generally if there is space because of odd angled walls there really isn't any advantage to trying to use it. You're talking square inches of drawer/cabinet space, it really doesn't matter as far as usable space is concerned. Its a huge hassle to try and build cabinets that are not square - things like how do you screw/nail parts and not have the screw/nail blow out a finished side? It can be done, but should it?
I have not opened up that can of worms yet, but have been thinking more about tapers and other non-rectilinear forms. Longer-term I very much want to support a "fill this space" mode for built-ins.
One other note, is there a way to see the bay map larger? I am trying to see the height between shelves and the measurement does not show because there is not enough space for it.
You can also visualize the measurements between shelves by clicking 'Show Sizes' on the 3d scene options and having a bay selected. Let me know if that helps.
P.S. I showed this to a friend, and he asked if we could mock something up, export the dxf, and send it to a cut shop... you could end up with your own flatpack pipeline.
I previously added dxf and ruby export as part of validation efforts with capability to import into SketchUp Pro and other CAD. This is available in the Reference Rail by clicking `All Exports` or scrolling down to the design interchange section in the rail.
Have been building something non-CAD too in the space which is also aligned with carpentry. This looks really neat and can't believe how similar the functionality is. Would be great to chat!
Shopspec looks very cool! Love to see people building in this direction, we have at least validated for each other that the demand for a tool like this has a minimum bound of at least 2.
We live in the shattered remains, badly reconstructed, of what a true operating system could be - we have some of the pieces (zfs, k8s, virtualization, scaling, failover, nixos, qubes) but imagine it all put together, orchestrated, carefully documented and tested by immense number of engineers. Ah, what could have been.
This is what it feels like to look in at Linux from the outside as a Windows admin used to corporate-enforced consistency.
Sure, Microsoft has stumbled a bit recently, but around the 2010s it was a glorious era of PowerShell and Windows Server releases that were still improving.
I remember being quite young and proud that I had built something using Samba and Kerberos that mimicked an NT domain controller, and how powerful it was for our little LAN in the dorm, and why would anyone pay M$ for this, and then barely a few years later using small business server and being like "oh, that's why".
The problem is license costs. IBM makes a great system but almost all their customers have been working hard to replace it, not because of issues with the quality but the high license costs.
IBM AS/400 lineup was fully designed to optimize customer segmentation and threfore capture better the customer value. For example, there were cheaper models where the hardware was exactly the same as more expensive models except for additional hardware loops to make things run slower. That’s why they had so many models, they wanted to have a price point available for every company size.
There's really only one acceptable price for an OS, and it's the same as the only acceptable price for a browser or DB - $0.00. The precedent has been pretty solidly set (Linux, FreeBSD, MySQL, Postgres, Chrome, Firefox...) at this point, hence all the pivots to charging for service and support and suchlike.
I am working on ShopSpec (https://shopspec.io/), a tool for designing bookshelves and cabinets. Enter the dimensions and it generates the parts, cuts, sheet layout, and build steps.
I built it because I wanted to spend less time drawing boxes in CAD and more time building them. Still early and I'd love feedback from other woodworkers.
I would love to hear more about your oddly-shaped non-rectangular room.
For now rectilinear has made things simpler; but on this kick now with 3d-printed jigs also derived from the spec. I already have a dog-hole system worked out and in-place with this idea. Could be interesting to extend to curves - becomes approachable/repeatable.
I would love to have floor to ceiling custom shelves. On my second floor I have ceilings that are angled instead of flat and would love to still have the usable space for books. Stuff like this is what I would love to make:
reply