SyntaxFlow

Wood · Cutting

Panel cutting optimizer

List the parts, set the sheet and the blade, and it lays them out on the fewest sheets — parts marked for grain keep their direction, every layout can be cut on a panel saw with straight, through cuts, and the offcuts worth keeping are marked. The example below, 34 parts for a run of kitchen cabinets on 2440 × 1220 sheets, takes 3: the area lower bound, with 90 % of the board used.

The parts
Length is the side that runs with the grain. Put y in the last column for parts that must keep the grain; leave it blank if the part may turn. Blank quantity is 1; a header row is skipped.
The sheet
The saw
Both sides at least this long.
—
Sheets
—
Board used
— %
Offcuts to keep
—
Area lower bound
—
Banding the edges? The edge banding calculator adds up the metres of tape for the same parts, with the overhang.

Everything runs in your browser; your list is kept in this browser only.

How the layout is worked out

usable sheet L' = L − 2 × trim W' = W − 2 × trim each part takes (length + kerf) × (width + kerf) area bound sheets ≥ Σ part areas / (L' + kerf)(W' + kerf)

Parts are placed by guillotine bin packing: the board is kept as a set of free rectangles, and every part placed splits one of them with a single straight cut — so the whole layout can be cut on a panel saw, through cut by through cut. The packing is run with six orderings of the parts, three rules for choosing the free rectangle and six for the direction of the split: 108 layouts, and the one with the fewest sheets wins, then the one that leaves the most of the last sheet whole.

It is a heuristic, so the area lower bound is shown with the answer. Checked on 400 random jobs, every layout kept every part inside the trimmed sheet, never overlapped once the kerf was counted, never turned a grain-locked part, and was guillotine.

What this page does not do