dfma.tools

Retriever

1D linear-stock cut nester for Rhino. Tag stock geometry with profile + length, get a kerf-aware cut recipe with waste %, by-location index, and printable HTML output.

Tag your stock geometry with profile and length user-text, run _Retriever, get a printable kerf-aware cut recipe. Best-fit-decreasing 1D bin packing per profile, with kerf accounting, oversize-piece splitting, and bin-packed offcut sharing.

What it does

  • Best-fit-decreasing bin packing per profile. Each profile (e.g. 2x1_channel, 3x0.25_bar) gets its own configured stock length and gets nested independently.
  • Kerf-aware cumulative cut marks. Output prints positions to mark on each stick from the left end. Cut to the right of each mark; the kerf falls on the right of the mark.
  • Oversize handling. A piece longer than stock gets split into N full sticks plus a partial. The partials from multiple oversize pieces get bin-packed together so offcuts share sticks.
  • Layout grouping. Identical layouts get an ID (Layout A x4, Layout B x2). The fab floor cuts each layout once and replicates.
  • Multi-format output. WinForms popup with copy-to-Sheets, CSV export, printable HTML with proportional stick diagrams + ruler ticks + by-location reverse index for "what goes where" pulls.
  • Persistent profile config. Configure stock lengths per profile once; the script remembers them across runs. Per-shop stock contracts can drift over time without re-entering them every job.

What it isn't

  • Not a sheet (2D) nester. That's Pillbug's territory. Different problem, different bin-packing flavor. Don't buy Retriever for plate optimization.
  • Not a CAM post-processor. Recipe in, cuts out -- you bring the saw. No G-code, no toolpath generation, no machine drivers.
  • Not MaxCut / OptiNest / Almacam. Those are bigger tools with material coding, multi-machine scheduling, and ERP hooks. Retriever is the small-shop version: solves the "minimize linear stock waste" problem cleanly, prints the recipe, done.

Why it exists

The Rhino plugin ecosystem is full of sheet (2D plate) nesters and mostly empty on stick (1D linear) nesters. The web tools available (generic cut-list calculators, MaxCut free tier) don't read directly from your Rhino model and don't handle kerf-aware oversize splits. Excel-with-formulas works but is an hour of setup per job.

Battle-tested in production fab on real welded aluminum work -- roughly 16 stock profiles configured, multiple jobs per week.

Object setup

Each piece you want nested needs three pieces of user-text in Rhino Properties (F3):

  • profile -- e.g. 2x1_channel, 1.5_sq_tube, chine-extrusion
  • length -- a number in model units. The free Magpie bundle's _MagpieLengthAttribute command sets this from selected curves automatically.
  • location -- optional human label like aft floor or cabin floor. Used in the by-location output tab.

Install

After purchase you'll receive an email with:

  1. The Retriever YAK package -- drag onto Rhino to install (or via _PackageManager -> search "retriever")
  2. Your license file -- save to:
    • Windows: %APPDATA%\dfma-tools\retriever.license
    • macOS: ~/Library/Application Support/dfma-tools/retriever.license
  3. Open Rhino, run the _Retriever command, select tagged geometry

That's the whole install. No servers, no logins, no recurring charges.

License

Perpetual. One license per user. All 1.x updates included free. Major version bumps (2.0, 3.0) sold as upgrades.

Support

Questions before you buy or if you hit a problem after: use the support form.

System requirements

  • Rhino 8 (Windows or Mac)
  • Stock geometry tagged with `profile` + `length` user-text (the Magpie bundle's `_MagpieLengthAttribute` sets length for you)
  • Modern browser for the printable HTML output (Chrome, Firefox, Safari, or Edge)