Sheet Goods Cut Optimizer, Explained

After reading this you can predict how many full sheets a cabinet job needs, understand why a guillotine layout is easy to saw but never perfectly efficient, and read a nesting result well enough to trust it or reject it.

What the optimizer does and why it matters

You have a stack of rectangular parts (cabinet sides, shelves, backs) and a pile of full sheets. The question is simple to ask and hard to answer: how do you place every part on the fewest sheets while keeping the layout cuttable on a real saw?

Consider four part types on a standard 2440 × 1220 mm panel: two sides at 720 × 560, three at 568 × 560, two at 716 × 296, and two at 564 × 120. That is nine parts with a combined area of about 2.24 \times 10^6 \ \text{mm}^2. A full sheet holds 2.977 \times 10^6 \ \text{mm}^2. On area alone one sheet looks enough. Whether the parts actually fit, without overlap and with saw-width gaps between them, is a packing problem, and packing is where the surprises live.

The tool solves that packing with guillotine cuts: every cut runs edge to edge, the way a panel saw or track saw works. You never get an interior notch that a saw cannot reach.

When to use it, and when not

Use it for flat rectangular parts made from sheet stock: plywood, MDF, melamine, polycarbonate, aluminium composite. Anything you break down with straight full-width cuts fits the model.

Do not use it for shaped or curved parts, for parts with mixed thickness on one sheet, or for jobs where the offcut you want to keep must be a specific size. The heuristic keeps the leftover, but it does not aim for a particular offcut shape.

If your material comes as boards or bars rather than sheets (solid timber, extrusion, all-thread), this is the wrong tool. The one-dimensional version is the Cut List Optimizer, which fits lengths onto the fewest sticks.

The math: area, kerf, and the packing gap

Start with the quantity everyone reaches for, material utilization on one sheet:

U = \frac{\sum_{i} w_i \, h_i}{W \cdot H}

Here w_i and h_i are the width and height of part i placed on the sheet, and W \times H is the sheet size. Sum over every part that landed on that sheet. A utilization of 0.75 means three quarters of the panel became parts and one quarter became sawdust and offcut.

Utilization ignores the blade. Real saws remove a strip of material on every pass. Call that strip the kerf, width k. A blade cutting a 3 mm kerf turns each cut line into a 3 mm loss. If you slice a sheet into a grid of m columns and n rows, you spend roughly (m-1) vertical cuts and (n-1) horizontal cuts inside the sheet. The kerf area lost is close to:

A_{kerf} \approx k \big[ (m-1) H + (n-1) W \big]

With k = 3, a full-height cut on a 1220 mm panel costs 3 \times 1220 = 3660 \ \text{mm}^2. Ten such cuts cost 36 600 mm², about 1.2% of the sheet. Kerf is small but not zero, and it grows with the number of parts.

The larger loss is the packing gap: the empty rectangles left when parts of different sizes cannot tile the sheet cleanly. That gap is why utilization on cabinet lists typically lands between 70% and 90%, never 100%.

Why the tool places parts the way it does

The algorithm sorts parts largest area first, then drops each into the free rectangle where it fits with the tightest short-side gap (best short side fit). After a part lands, its free rectangle is split by a guillotine cut into two smaller free rectangles, and the search continues. Placing big parts first stops a large panel getting stranded once the sheet is cluttered with small offcuts.

Worked example: reproducing the demo

Nine parts on one 8×4 sheet

Load the demo data: sheet 2440 × 1220, kerf 3, grain No (rotation allowed), and the parts

  • 720 x 560 x 2
  • 568 x 560 x 3
  • 716 x 296 x 2
  • 564 x 120 x 2
  1. Total part area: 2(720 \cdot 560) + 3(568 \cdot 560) + 2(716 \cdot 296) + 2(564 \cdot 120). That is 806 400 + 954 240 + 423 872 + 135 360 = 2 319 872 mm².
  2. Sheet area: 2440 \times 1220 = 2 976 800 \ \text{mm}^2.
  3. Best possible utilization ignoring kerf and packing: 2\,319\,872 / 2\,976\,800 = 0.779, so 77.9%.
  4. The guillotine placement fits all nine parts on one sheet. With a few internal cuts the realized utilization sits near 0.76 once the kerf strips are subtracted.
  5. Because everything fits on sheet 1, no second sheet is opened. The remaining area, about 657 000 mm² minus kerf, is reported as usable offcut.

The takeaway: the theoretical ceiling here is 77.9%, set entirely by how much part area you have. No algorithm can beat that on one sheet. The heuristic gets close to it, losing only the packing gap and the kerf.

Of one 2440 × 1220 sheet, roughly 2.32 million mm² becomes parts, about 0.62 million stays as offcut, and about 36 000 mm² is lost to blade kerf.

How rotation and kerf change the result

The single most instructive knob is the kerf together with the grain setting. A wider blade eats more per cut, and locking grain direction removes the algorithm's freedom to rotate a part 90° to fill a gap. Watch both move the sheet count.

With the demo parts and a 3 mm kerf, all nine parts fit on one sheet at about 76% utilization. Raise the kerf to 6 mm and utilization drops by roughly one percent because each cut removes twice the material. Lock the grain (no rotation) and the 716 × 296 parts can no longer turn to fill the leftover strip, which can push utilization down several points or force a second sheet.

Reading and interpreting the result

The tool returns three things per sheet, and each answers a different question.

Placements with coordinates
The (x, y) position of each part's corner, measured from one corner of the sheet. This is your cutting map. Mark the panel from the same corner every time.
Utilization per sheet
The fraction of that sheet turned into parts. Expect a high number on the first sheet and a low number on the last, because the last sheet holds only the leftovers.
Usable offcuts
The rectangles left over that are big enough to keep. Label them and shelve them; they are the start of the next job's free stock.

Read the kerf convention before you mark the panel. The kerf is consumed along the top and right edge of each part. That means a part's stated size is the finished size, and the blade takes its bite from the offcut side, not from your part.

Common mistakes

Trusting a single sheet because the areas add up. The demo's 77.9% area ratio fits on one sheet, but a list at 95% area almost never fits on the matching number of sheets. The packing gap is real. Add one spare sheet.

Setting kerf to zero. A track saw with a thin blade still removes 2 to 3 mm. Zero kerf makes parts appear to touch, and touching parts share a single cut line that physically cannot exist. Always enter your real blade width.

Ignoring grain on veneered ply. If the face grain must run the same way on every door, set grain to Yes. Rotating a veneered part 90° to save material gives you a door with sideways grain, which looks wrong and no recut fixes.

Forgetting factory-edge trim. Sheets arrive with bruised edges. If you trim 10 mm off two edges first, enter 2420 × 1200 as the sheet size, not the nominal 2440 × 1220.

Related tools

For breaking down boards and bars in one dimension, use the Cut List Optimizer. If your project is a whole structure, the Roof Pitch & Rafter Calculator and the Stair Calculator handle framing geometry. When you cut the nested parts on a CNC router, the CNC Feeds & Speeds Calculator sets safe RPM and feed rates. For a different fabrication cost model, see the 3D Print Cost & Time Calculator.

Frequently asked questions

Why does the optimizer not reach 100% utilization?

Because rectangular parts of different sizes rarely tile a rectangle without leaving gaps, and each saw cut removes kerf. Perfect 2D packing is NP-hard, so the tool uses a fast heuristic that reaches 70 to 90% on typical cabinet lists.

Is a guillotine layout worse than free nesting?

Slightly, in raw utilization. Free nesting can interlock parts more tightly, but the result often needs cuts a panel saw cannot make. The guillotine constraint trades a few percent of yield for a layout you can actually cut on standard shop equipment.

How many spare sheets should I order?

Order the tool's sheet count plus one. A single mismeasured part or a chipped edge can consume the slack in a tight layout, and a spare full sheet is cheaper than a stalled job.

Does kerf really matter for only a few parts?

Not much. With ten internal cuts on one 8×4 sheet, a 3 mm kerf costs about 1.2% of the sheet. On a job with hundreds of small parts and dozens of cuts per sheet, the kerf loss can exceed 5%, so it starts to change the sheet count.

Can I mix part thicknesses on one sheet?

No. Sheet goods come in fixed thickness per panel. Run one optimization per thickness: all the 18 mm parts on 18 mm sheets, all the 6 mm backs on 6 mm sheets.