Nesting Sheet Metal Parts in Grasshopper

Pack flat sheet metal parts onto stock sheets in Grasshopper, with true-shape nesting, mixed thicknesses, offcuts and grain

Nesting decides where each flat part sits on which stock sheet, so a job uses as few sheets as possible. SheepMetal's Nest Parts does this inside Grasshopper, straight from the unrolled parts, so you do not export to a separate nesting program and lose the link to your model.

It packs parts against their true outlines, not their bounding boxes: an L-shape nests into the notch of another L-shape.

Gap and margin on a nested sheet
Gap and margin on a nested sheet

Set up a job#

  1. Describe each part with Sheet Properties (SProp) before unrolling: Material, Quantity and Grain. See Utilities.
  2. Unroll each Sheet with the Unroller (U). Thickness travels with the Unroll Result.
  3. Describe your stock with one Sheet Stock (Stock) per sheet size: size, thickness, material and how many you have. Quantity 0 means unlimited.
  4. Wire the Unroll Results and the stock into Nest Parts (Nest).
Parts that do not come from SheepMetal work too: closed planar curves in the XY plane nest as parts without holes.

Settings that matter#

SettingWhat it doesDefault
GapSpace between part outlines1.2 × thickness, at least 2 mm
MarginUnusable border along the sheet edgeSame as Gap
Rotation StepsHow many angles each part may try. 4 = 90° steps, 1 = no rotation8 (45° steps)
OptimizeKeep searching part orders and rotations until the Time Budget is upOff: one quick pass
Respect GrainLay each part's grain along the sheet's X axisOff
Allow FlipAlso try parts mirrored. Leave off for brushed or coated sheetOff
Separate PartsKeep each part type on its own sheets for easier sortingOff

Optimize usually buys a noticeably better yield. The Time Budget (10 s) is spent once per material and thickness group, and yield flattens out quickly, so a much longer budget rarely pays off.

Mixed thicknesses and materials#

Parts of different thickness or material never share a sheet. Nest Parts splits them into groups and nests each group on its own stock.

Set Thickness and Material on every Sheet Stock. Stock left at thickness 0 serves any thickness, so on a mixed job one thickness can use up sheets meant for another. Material names must match between part and stock; capitals do not matter.

Use your offcuts first#

Mark an offcut as Remnant on its Sheet Stock, with its real Quantity. Remnants are filled before standard stock is opened, so offcuts leave the rack instead of sitting there.

Sheet StockSizeQuantityRemnant
Standard stock2500×12500 (unlimited)false
Offcut1200×7001true

Check before you cut#

  • Info: sheets used, yield per sheet and for the job.
  • Unplaced: empty when every part fits. Otherwise it gives the reason: no matching stock, part larger than every sheet, or stock used up.

Send it to the machine#

  • Result holds every sheet with its parts in the sheet's own coordinates, lower-left corner at the origin. Use it for CNC or machine-file export. The Outlines and Sheet Frames outputs are laid out side by side for preview only.
  • Transform moves anything else that belongs to a part, such as marking lines, drill points or labels, to where the part was placed. It comes back on the same tree path the part went in on.
  • On Sheet tells you which sheet each copy landed on.
Every input and output is listed on Nesting Components. To get to flat parts in the first place, see Sheet Metal in Rhino & Grasshopper.
VektorNode
Legal
Address