Skip to main content
On this page▾

True-shape nesting

The 2D, 1D and Wood modes cut rectangles with a guillotine (edge-to-edge) saw. Many jobs are not rectangles: a steel bracket, a triangular gusset, a plastic gasket, a plywood profile with a cut-out. Packing those by their bounding box throws away the empty air inside each shape. Nesting mode packs parts by their real outline — arbitrary polygons interlock into each other’s concave pockets — so that air is reclaimed. It is the mode for laser, plasma and waterjet cutting.

It runs a different engine from the rectangular modes (a geometric collision engine, not the guillotine packer), so the 2D/1D/Wood plans are unchanged.

The honest metric for nesting is sheet count on the same parts, not a fill percentage. A rectangular packer counts each part’s bounding box as solid and reads a higher density for a worse result — on a representative 272-part job the true-shape nest used 6 sheets where the same parts by bounding box need 9.


Getting started

In 2D mode, switch to the Nesting sub-tab (next to Panel). Nesting is a sub-mode of 2D — the top bar has two tabs, 2D and 1D, and each reveals its own sub-tabs (2D → Panel / Nesting, 1D → Linear / Wood).

  1. 1

    Add your parts

    Click Import SVG/DXF and pick your outline files, or click Demo to load a sample job. Each imported outline becomes a part; a file with several outlines adds several parts, and concentric outlines become holes. You don't need a CAD file for simple shapes — add a rectangle, circle, ellipse, triangle, regular polygon, L-shape, or a fully custom polygon (enter its x,y points), or paste a list of rectangles from Excel / import a CSV (name, width, height, qty), just like the 2D panel-cutting table. On each stock sheet you can add one or more exclusion zones (a region kept clear of parts — a defect, knot or clamp footprint) with an editable X/Y/W/H.

  2. 2

    Add stock sheets

    Add one or more sheet sizes (name, width × height × quantity) — type them or paste from Excel. With several sizes the nest compares them and may mix them, for example a smaller last sheet. On any sheet you can add an Exclusion zone — a region the engine keeps every part off, for a defect, a knot or a clamp area.

  3. 3

    Set the options

    Give each part a rotation rule (Free, 90°, or None) and, if needed, a minimum separation for the kerf or beam width and an Edge clearance for the distance to the sheet edge (leave it empty to keep the separation there too). Then press Run.

  4. 4

    Read and export the nest

    The results read like the 2D panel-cutting results: a yield/density summary, a 'how it was optimized' box, one diagram per sheet, a placement list and a material-requirements table. Use Downloads for SVG, DXF, PDF, Excel or CSV. On Pro or Workshop, you can Save the nest as a project like any other cut.


Parts are polygons, not rectangles

A nesting part is an outline: a closed polygon of [x, y] points, optionally with interior holes. That is why parts have no width/height fields — the shape is the part. The importer builds these outlines for you:

FeatureTypeDescription
DXFfileLWPOLYLINE and POLYLINE outlines (arcs from bulges), plus LINE / ARC / CIRCLE / ELLIPSE segments chained into closed loops. A drawing that declares its unit ($INSUNITS — inches or mm) is converted to your working unit, and the message after the import says so; a drawing without a unit is read in your working unit.
SVGfilepath (with béziers and elliptical arcs flattened), polygon, polyline, rect, circle and ellipse. Concentric outlines become holes.
DemobuttonLoads a sample job — four brackets and four gussets on one sheet with a corner exclusion zone — so you can see the whole flow without a file.

Curves (arcs, béziers) are flattened to line segments at a fixed tolerance, so the same file always imports to the same part — a nest of imported outlines is reproducible. An SVG whose root <svg> gives its width and height in a physical unit (mm, cm, in, pt, pc or Q) is converted to your working unit through its viewBox (without a viewBox, one SVG unit is 1/96 in), and the message after the import says so — a 100 × 50 mm part drawn on an A4 page comes in as 100 × 50 mm; an SVG without a physical size (unitless or px width and height, or none) is read in your working unit. transform attributes on shapes and on their enclosing groups (matrix, translate, scale, rotate, skewX, skewY) are applied, so parts come in where and as large as they are drawn; shapes inside <defs>, <symbol>, <clipPath>, <mask>, <pattern> or <marker>, or hidden with display:none, are not imported, and <use> clones are not expanded (a warning says so). An import warning is shown in the message after the import even when parts were imported.

Rectangular plates get an exact grid. Besides packing the outlines, the nest also tries the parts at right angles and packs their bounding rectangles with an exact rectangle packer, then keeps whichever plan uses fewer sheets (and, on a tie, fills the sheets front to back). So plates that tile a sheet exactly — three 500 mm parts across a 1500 mm sheet with zero spacing — come back as a clean grid instead of slightly turned parts on an extra sheet.


Exclusion zones

A real sheet is not always perfect. On any stock row, Exclusion zone marks a region the engine treats as a no-go area — every part is kept clear of it. Use it for a board defect, a knot, a clamp footprint, or a pre-printed area. The zones are drawn on the layout so you can see what the nest worked around. This is a capability the rectangular modes have no way to express.


The result

The viewer shows each sheet with every placed part in its own colour, and the summary reports:

  • Sheets — how many stock sheets the nest used.
  • Density — the placed polygon area over the used sheet area. This is the honest fill; the concave pockets inside irregular parts count as empty.
  • Placed — how many part copies were placed out of the total requested. Anything that did not fit is listed.
  • Cut length — the summed perimeter of every placed part’s outline and holes (in metres, or feet in inch mode), with the number of pierces — one per closed contour. Each sheet’s header shows its own cut length. It is the geometric contour: common-line cutting, lead-ins and micro-joints are left to your machine’s CAM.
  • Used area — each sheet’s header shows the width × height from the sheet corner that its placed parts reach: the bounding box a partial-sheet quote charges. The nest compacts its least-filled sheet toward that corner: it re-packs the same parts, also with fewer rotations than you allowed (never more), and keeps the tightest layout. Sheet count and placed parts do not change.
  • Material requirements — one row per stock size used: how many sheets, their fill, their total used area and, when the row has a price, their price. With several sizes the nest may use more than one — for example two large sheets and a smaller last one.

Do not read density as a 2D-panel yield. They are not comparable — a bounding-box packer counts the notch-air inside a shape as used, so its “yield” reads higher for a worse layout. To compare two nesting results, compare sheet count on the same parts.


Exports

Nesting mode exports the achieved layout in the formats a workshop and a CAM tool need. All are under Downloads:

  • SVG — a self-contained drawing of the nest (one titled band per sheet, parts as filled polygons, exclusion zones hatched).
  • DXF — an R12 drawing with the outlines on STOCK / PARTS / HOLES / ZONES layers, ready for a laser/plasma/waterjet CAM tool.
  • PDF — a printable report: the layout drawn to scale per sheet, plus a placement list (part, sheet, x, y, rotation, material).
  • Excel — a workbook with an Overview sheet (sheets, density, placed, separation, edge clearance, cut length, pierces and the used area — in total and per sheet) and a Placement sheet.

The layout is deterministic: the same parts and sheets always produce the same nest, so a quote or a cut program built from a nest can be reproduced exactly for a repeat order.


For developers

The same true-shape engine is available over HTTP on the Engine API at POST /v1/optimize/nest, so an ERP, a CAD/CAM tool or a quoting system can nest without a browser. See the Engine API reference for the request and response shape.

Plans and the nesting allowance

Nesting is the one mode that is solved on our servers, so it has its own allowance. On Free, a nesting run is one of your monthly optimizations. Pro includes 10 nesting runs a month — the counter sits under the nesting options; past that, a run uses one pay-as-you-go credit if you have any. Workshop has unlimited nesting. The sample-data preview never counts.

One nesting run takes up to 2,000 parts (quantities counted); the rectangular modes have no such limit.

FAQ

What is true-shape nesting?
It packs parts by their real outline, not by a width×height rectangle. Irregular parts — an L-bracket, a triangular gusset, a gasket with holes — interlock into each other's concave pockets, so the empty air a rectangular packer wastes is reclaimed. It is the mode for laser, plasma and waterjet cutting, and it is a different class of algorithm from the guillotine (edge-to-edge) packer the 2D, 1D and Wood modes use.
How do I get my part outlines into the app?
In 2D mode, open the Nesting sub-tab (next to Panel) and click Import SVG/DXF. The app reads closed outlines from a DXF (LWPOLYLINE, POLYLINE, LINE/ARC/CIRCLE, with arcs flattened) or an SVG (paths, polygons, rectangles, circles), turns concentric rings into holes, and adds each one as a part. A DXF that declares inches or mm ($INSUNITS), or an SVG whose page size is given in a physical unit such as mm or inches, is converted to your working unit; a drawing without a unit is read in it. You can also click Demo to load a sample job and see the whole flow.
Can I nest around a defect or a clamp area?
Yes. On any stock sheet, click Exclusion zone to mark a region the engine keeps every part off — a board defect, a knot, a clamp footprint or a pre-printed area. This is something the rectangular modes cannot express.
Why does the density look lower than a 2D panel yield?
Density is the placed polygon area over the used sheet area — the honest fill, with the concave pockets inside irregular parts counted as empty, because they are. It is NOT comparable to a rectangular packer's yield, which counts each part's bounding box (notch-air included) as solid and so reads higher for a worse result. The metric to compare on is sheet count on the same parts.
What exports does Nesting mode produce?
SVG and DXF of the achieved layout (ready for a CAM tool), a printable PDF with the layout and a placement list, and an Excel workbook with an Overview sheet and a Placement sheet (part, sheet, x, y, rotation, material). Use Downloads for SVG/DXF/PDF/Excel.
Can I use several sheet sizes in one nest?
Yes. Add one stock row per sheet size. The nest compares them — the result no longer depends on the order of the rows — and keeps the plan that uses the least total sheet area. It can also mix sizes: each sheet, the least-filled first, is re-nested onto the smaller sizes and replaced when that uses less material, so a half-empty last sheet often moves to a smaller size. The material-requirements table shows the sheets, fill and price per size.
Can the gap at the sheet edge differ from the gap between parts?
Yes. Min. separation is the gap between parts (the kerf or beam width). Edge clearance is the distance from every part to the sheet edge — for example 5 mm between parts and 10 mm at the edge, or 0 mm at the edge on a laser. Leave Edge clearance empty and the edge keeps the separation, exactly as before.
Does the nest give the cut length?
Yes. The result shows the total cut length — the summed perimeter of every placed part's outline and holes, in metres (feet in inch mode) — and the number of pierces, one per closed contour; each sheet also shows its own cut length. It is the geometric contour length: common-line cutting, lead-ins and micro-joints are not included, because your machine's CAM adds those.
Can I quote only the part of a sheet the nest uses?
Yes, you have the numbers for it. Each sheet's header shows its used area: the width × height from the sheet corner that the placed parts reach. The material-requirements table totals it per sheet size, in m² (ft² in inch mode), and the PDF and Excel exports carry it too. To keep that area small, the nest re-packs its least-filled sheet into the corner, also trying fewer rotations than you allowed, and keeps the tightest layout. It never adds a rotation you did not allow and never changes the sheet count. How much it shrinks depends on the parts.
Is the nest reproducible?
Yes. The layout is deterministic — the same parts and sheets always produce the same nest, so a quote built from it can be reproduced for a repeat order or an audit.
Is Nesting mode free?
Yes, with a free account: true-shape nesting is included on every signed-in plan, Free included; a guest is prompted to sign in first. Like every mode, a run counts against your monthly optimization allowance (the Free tier includes 3 per month). On Pro, nesting has its own monthly allowance (the number is on the Pricing page and shown in the app); past it a run uses a pay-as-you-go credit. On Workshop nesting is unlimited.

Last updated: October 12, 2026