Nesting program is the software used to create layout arrangements of 2D parts on a sheet. Most of the time this arrangement has the goal of optimizing material to reduce scrap.
The following image shows an example of a typical layout of a nesting program:
As you can see in the image, the main goal is to find the best position of all parts on a single or multiple sheets. This is a very complex mathematical and computational problem due to the geometric and combinatorial constrains.
A nesting program is largely used on the industry to optimize the production planning and manufacturing of bigger parts that will be cut to produce smaller parts. This includes sheets, boards, coils, rails, pipes, etc.
Usually the goal of a nesting program involve:
Produce a fixed quantity of parts with the minimum material (input minimization);
Use a fixed quantity of material to produce the maximum of parts (output maximization);
Reduce machine setup operations;
Reduce buffer size on the assembly lines;
Reduce scrap.
Usually the above goals are combined in a final cost function. Then, in order to combine all these variables, a nesting program is the only feasible tool to automate this problem.
A nesting program in not a Engineering software, like CAD programs. It is considered a computer aided production planning CAPP software. However, it is likely to find nesting features in many CAD CAM programs.
There are many commercial solution on the market, which include (but not limited to): Jetcam, almacam, TruboNest, SigmaNest, ProNest etc.