Computer numeric control (CNC) is an incredible tool for makers, whether it's driving a laser cutter for wood or plastic, plasma cutter for metal, a milling machine, or even a pick-and-place system. One area in which makers are under-served, however, is in nesting tools for saving material - and when you're cutting in expensive acrylic or steel, that can be a problem.
Large companies have access to specialist nesting software, which works by analysing the shapes to be cut and placing the smaller shapes within the larger shapes. The result is a jumble of parts with very little wasted space, meaning you can cram more parts into each sheet of material. Sadly, at the small-scale manufacturing end of the market the material savings are eclipsed by the cost of the software; it's only when you're churning out thousands upon thousands of parts that you begin to see some savings.
Enter SVGnest: an open-source software package designed to take on the commercial nesting tools at their own game and win, without costing the maker a penny. Like its commercial equivalents, SVGnest uses some clever algorithms - explained in detail on the project's GitHub page - to fit shapes together in a way that minimises wasted space. For the sake of five or so minutes of processor time on any modern PC, it's possible to shave the amount of material used by your project considerably.
There are, of course, trade-offs. The biggest is that the parts are not ordered in any way that makes sense to a human. If you're dealing with enough parts to make SVGnest worth using things can quickly get confusing, so be sure to take Dan Royer's advice on parts labelling to make it easy to figure out which parts ended up where - and convert any text-based labels to outline format before running the file through SVGnest to have them show up in the processed version.
More information on SVGnest, including a version which runs entirely within your browser with a live demo, can be found on the official website.
We want to pack all the letters into the square, using as little material as possible. If a single square is not enough, we also want to minimize the number of squares used. In the CNC world this is called "nesting", and software that does this is typically targeted at industrial customers and very expensive. SVGnest is a free and open-source alternative that solves this problem with a geometric approach, using a genetic algorithm for global optimisation. It works for arbitrary containers and concave edge cases, and performs on-par with existing commercial software.