Sheet
Flat stock with a length and a width — the parts are rectangles cut out of a rectangle.
For example Plywood, MDF, chipboard, glass, acrylic, aluminium and steel sheet, worktops.
Algorithms
Cutting sheet on a panel saw is not the same problem as nesting curves on a router, and neither is the same as cutting bar to length. SmartCut runs a dedicated algorithm for each — chosen by the material you cut and the machine that cuts it — behind a single API call.
Materials
The material decides the shape of the problem before any algorithm runs. A sheet is packed in two dimensions, a roll in one-and-a-half, and a bar in one. Getting this right matters more than any setting.
Flat stock with a length and a width — the parts are rectangles cut out of a rectangle.
For example Plywood, MDF, chipboard, glass, acrylic, aluminium and steel sheet, worktops.
Stock measured in one dimension only. There is no layout to arrange — each length is simply cut off the bar in turn.
For example Pipes, bars, tube, extrusions, profiles, timber lengths, edging.
Continuous stock of a fixed width and effectively unlimited length. Waste is measured in running length, not in whole stock.
For example Vinyl, fabric, paper, foil, film, carpet, flexible sheet goods.
Cut types
A cut type is a rule about which cuts are legal. Loosen the rule and the parts pack tighter; tighten it and the layout becomes something a real machine can run. That trade-off is the whole reason there is more than one algorithm — the most efficient layout on paper is worthless if the saw on your floor cannot cut it.
Maximum yield. Parts go anywhere they fit.
Parts are placed wherever they fit best, with no requirement that any cut run the full width of the stock. This gives the tightest packing of the four, because nothing constrains where a part can sit. It suits machines that cut a part out from any position — routers, CNC, waterjet, laser — and any process where the stock is not fed through a straight blade.
Edge-to-edge cuts a panel saw can actually make.
Every cut runs clean from one edge of the piece to the opposite edge, splitting it in two — then each piece is split again, and so on. That is the only cut a panel saw can physically make, because the blade passes right across the material. Packing under this rule is a harder problem than placing parts freely, which is exactly why it gets its own algorithm rather than a filtered version of the efficiency one.
Guillotine, plus the constraints of your specific saw.
Beam is guillotine cutting with the machine's own rules layered on: head cuts, stack height, kerf, trim and the limits of the saw's control software. A layout can be perfectly valid guillotine and still be one the saw in your workshop cannot run. Beam is the mode that produces a layout the machine will accept, and a CNC file it will read.
True-shape packing for parts that are not rectangles.
Nesting works on the real outline of each part — curves, angles, cut-outs, irregular profiles — and interlocks them so the shapes fill each other's gaps. Rectangular packing has to reserve the whole bounding box around an odd shape; nesting does not, which is where the material comes back.
Efficiency packs tightest, guillotine and beam pack what a panel saw can cut, and nesting handles shapes that are not rectangles at all. You pick the rule that matches your machine; SmartCut finds the best layout inside it.
Two search depths
Fast and Max are not different algorithms — they are how long the same engine is allowed to look. Every cut type runs in both. Which one you want depends on whether a person is waiting for the answer.
The default. Returns while the job is still on screen, so you can quote, adjust and re-quote in real time — and on 82% of real jobs it already lands on the fewest stock that could ever fit the parts, so there is nothing left to recover.
A far deeper search that re-packs the whole job to recover material on the large, dense or awkward layouts where one extra piece of stock is real money. Worth the wait when the saw run is big or the batch runs overnight.
Both are one flag on the same API call, so you can switch per job — Fast for the counter, Max for the overnight batch. The full head-to-head data, with layout visualisations, is on the benchmarks page; beam saws get their own deep dive.
Reusable remnants
Minimising the number of sheets is only half of saving material — the other half is what happens to the sheet a job doesn't fill. Left alone, that spare room ends up as thin, awkward strips that go in the bin.
A tidy pass on sparsely-filled sheets. Where a sheet carries only a few parts, SmartCut rearranges them so their spare room joins up into a single clean rectangle — one offcut you can put back on the rack and cut into next time, instead of several unusable scraps.
It costs nothing. The pass is stock-count-neutral: the same parts stay on the same sheet, so it never uses more stock and never moves the efficiency figure. Only the shape of the leftover changes — and the tidied layout is still a legal guillotine cut your saw runs unchanged.
What works with what
Not every cut type applies to every material. The table below is generated from the same rule the API enforces, so it can never promise a combination your request would be rejected for.
| Material | Efficiency | Guillotine | Beam | Nesting |
|---|---|---|---|---|
| Sheet | Yes | Yes | Yes | Yes |
| Roll | Yes | Yes | — | — |
| Linear | — | — | — | — |
Sheet — all 4 cut types apply. A sheet has a length and a width, so there is a genuine two-dimensional layout to solve however you cut it.
Roll — efficiency and guillotine only. Roll stock comes at a fixed width and effectively unlimited length, so the job is to use as little running length as possible. Beam has no meaning here because there is no saw stack to respect, and nesting is not offered on roll stock.
Linear — no cut type applies. Linear stock is measured in one dimension and is simply cut to length, one piece after another. There is no arrangement to optimise, so there is nothing for a cut type to choose between.
Next
Every algorithm here is benchmarked on 2,083 real production jobs, and beam output is validated against the saw's own control software across 13+ saw models. Bring your own cutting list and check the numbers yourself.
FAQ
They differ in what counts as a legal cut. Efficiency puts parts anywhere they fit, giving the tightest packing. Guillotine requires every cut to run edge to edge, which is the only cut a panel saw can make. Beam adds the individual saw's own limits on top of guillotine — head cuts, stack height, kerf and trim. Nesting works on the true outline of irregular parts instead of rectangles. A tighter layout is worthless if your machine cannot cut it, which is why there is more than one.
Sheet stock supports all 4 cut types. Roll stock supports efficiency and guillotine, because beam and nesting have no meaning on continuous stock of a fixed width. Linear stock has no cut type at all — it is measured in one dimension and simply cut to length, so there is no layout to arrange. The API applies exactly this rule and rejects any other combination.
Fast and Max are two search depths on the same engine, not different algorithms. Fast returns in <2s — fast enough to quote and cut while the job is still on screen — and already reaches the fewest stock that could ever fit the parts on 82% of real jobs. Max searches far harder and recovers extra stock on the large, dense jobs where one more piece of stock is real money. Both are one flag on the same API call.
Choose the one your machine can actually run. If you cut on a panel saw or beam saw, use guillotine or beam — a layout that ignores the edge-to-edge rule cannot be cut on that machine at any efficiency. If you cut on a router, CNC or waterjet, use efficiency for rectangles or nesting for irregular shapes. Beam is the right answer when you also want a CNC file the saw will read.
On 2,000+ real jobs benchmarked against Biesse OptiPlanner, Max used 123 fewer stock. The full method, the job data and layout visualisations are published on the benchmarks page.
Yes. On a board a job doesn't fill, an extra tidy pass groups the parts so the leftover material coalesces into a single clean, reusable offcut rather than several thin scraps. It is board-count-neutral — it uses no more stock and never changes the efficiency figure — and it only runs where there is meaningful leftover to recover. The tidied board is still a legal guillotine layout your saw cuts unchanged.
No. Material type and cut type are fields on the same request. You send your parts, your stock and the two fields, and you get back an optimised layout — and, for beam saws, a machine file. There is no separate endpoint or separate product per algorithm.