Looking for specific software: custom trays 3D to 2D



I know there have been a million “what software should I learn” threads but after searching through them I still have not found a package that does what I am looking for: take a SIMPLE 3d tray design (no curves, all orthogonal intersections) with multiple compartments and add the appropriate fingered box joints, then break the design apart for 2D cutting. I have found multiple “box generators” that will make a complete box (cube) with all six sides jointed. I’m not sure if I can find a practical use for these in the real world. What I want is the ability to design something like the divider boxes here (possibly in an external tool such as Sketchup or Fusion) and have the software turn the butt joints into fingered/tabbed box joints and then slice the walls and floor into individual components and possibly even lay them out into one sheet. I admit I am not an expert in every package and perhaps there are some extensions already available for Sketchup / Inkscape / Fusion360 / etc. Otherwise, does anyone know of anything that can do this magic trick?


I have seen folks take the box-generator designs, edit out the finger joints for the top in AI or Inkscape, and just not print the ‘lid’ section. That doesn’t get you the dividers, though. I don’t know if any of the quick box-making programs have dividers.

If you want to learn Fusion360 (I know I want to, but have been having issues finding the time) then it looks fairly straight forward. This tutorial, which I have posted before, is for a cnc bookshelf, not a laser-cut divided box… but a lot of the concepts and techniques are totally applicable.


I’ve been doing it manually in AutoCAD. I channel my high-school drafting self and draw a top-down view with side views extended off of that. I’m even doing the tabs manually.


Thanks for the reminder about that tutorial. I watched it the first time it got posted on the forum. Now that I am actively trying to learn Fusion 360, it’s a great time to re-watch it.


Onshape (3D parametric CAD) has a what are called Featurescripts, that are custom add-ins written by users to provide functions for niche markets. These can be added to any design to create custom features in that design and there are several of them that could be useful for laser cutters. One such is this one, which creates a pretty wide variety of finger joints suitable for laser cutting:

You can get the free version of Onshape which limits the user to “public” documents, so is probably really only suitable for designs that don’t need to be protected. All of the data is kept in the cloud and Onshape works in browsers that run on Windows, IOS, and Linux. There are stand-alone apps for tablets and smartphones as well.


Looks a great start, but a not quite complete solution. It seems to only do the tabs for all the walls to the floor but not to each other.


Onshape actually just announced their new sheetmetal functionality. It has an automatic flattening function.
Since it seems to allow the user to identify different edge conditions (including unconnected) it would probably work for materials other than sheetmetal.

What I love about how they’ve done it is you can see the flattened part while working on your 3D / “folded” object. So you can immediately see and correct clashes. It’s geat for folded objects like boxes or pop-up art and I can imagine it being very handy for some GF projects.

The workflow is also intended to start with the 3D object design and then flatten & tweak, rather than starting flat, which is… hard.

Onshape has great momentum. I’m a big fan.


OpenSCAD seems to have the ability to do this exact kind of stuff with this library:

I haven’t gotten it to lay my pieces out automatically yet, but with some tips from here on the forum I’ve got pretty far. You can use the “projection” function to pull the flat shapes out of your box while it is still assembled. I’m sure others here could tell you even more.


Read through the thread a bit more and spend some time to try it out with a free plan.

Here’s another useful Featurescript to adjust for kerf:


though you’ll need a free license to see it probably.

Here’s the doc screen:


Me too, and getting to be a bigger fan with each new update. The sheet metal feature just introduced might be useful for making custom cardboard boxes. There are already some nice freeware apps for basic boxes but much more complex ones might be done with Onshape.


When I was regularly doing stuff on a beta machine I was making quite a few boxes and storage items. I searched for a while and found nothing that did what you are describing.
My fallback is just to use a box maker and edit the files. In general what you want to do is similar to the path I followed here: Beta day - five (Fitted Gauge Box) only I was making a horizontal divider instead of a vertical one.

Most software falls into one of two camps. Either it is easy and specific and thus limited to one purpose (i.e. box making) or generalized and complex with an ever increasing set of functions. Pick one of the latter and learn it well, then you can solve generalized problems. If what you want is something very specific and simple that no one else is doing, you might have to make it yourself!


I’m a unrepentant f360 fan boy and if you want to do this all the time you will get the work flow down to where you can do it quite quickly.


I’m right there with you. I need to spend more time on 360 to get used to it. I know I can do the whole design from start to finish in 360… but I still find that I’m faster with AutoCAD designing each face separately in 2D.

One of these days my ACAD will go away :cry: and at that point I’ll make the full switch to 360.

I also tried OnShape and never got the hang of the interface. I picked up Fusion and whipped out the part I was trying to make in 5 minutes. I’m used to Autodesk and their interfaces I guess.


Me too. I’ve been spending most of my “learn this” time in Inkscape, but I may be ready to advance to Fusion360 soon (if/when I find more time). I’d never heard of OnShape, but thanks for the input wrt it on this thread. I’ll give it a look too.


Check this out!

And a direct link: https://clementzheng.github.io/joinery/


Thanks for the cross post, I saw the source earlier and did not have time to do so.