If you've ever tried implementing a "2D bin packing algorithm" from a computer science textbook and wondered why it produces terrible cutting layouts, you're not alone. Academic bin packing and production nesting solve different problems.
Standard 2D bin packing minimizes the number of bins (sheets) needed to contain all items (parts). It treats the problem as: "given rectangles, fit them into the fewest containers." The objective is pure area coverage.
Real cutting optimization needs much more. Kerf must be accounted for — every cut consumes blade width, so parts can't actually touch. Edge margins protect against material irregularities. Grain direction may restrict rotation on wood and composite materials. Remaining scrap geometry determines whether leftover material is reusable or garbage.
And the objective isn't just "fit everything" — it's "fit everything while preserving future usability of the sheet." That's a fundamentally different optimization target.
First-fit decreasing: Places the largest part first, then fills gaps. Simple and fast, but creates fragmented leftover space that wastes 15-25% of material.
Bottom-left heuristic: Slides parts as far down and left as possible. Better than first-fit, but creates narrow channels between parts that nothing else can use. Dead space accumulates.
Genetic algorithms: Try random arrangements and evolve toward better ones. Can find good solutions but are slow (minutes to hours on large jobs) and non-deterministic — same input can produce different outputs.
NestClass approaches the problem from the opposite direction. Instead of asking "where does this part fit?" it asks "where does this part fit without destroying the usability of remaining space?"
An admissibility field scores every potential placement based on what happens to the free space afterward. Contact-feature matching generates candidate placements from structural geometry rather than blind scanning. The result: better utilization, faster computation, and remaining material that's actually usable.
See the difference
Try NestClass API