NestLib FAQs

Q : What is NestLib®?

A : NestLib® is a library of algorithms for automatic true-shape nesting applications. NestLib is technology developed by HCL Technologies Ltd. NestLib is available as a basic module and many optional modules for specific nesting requirements.

Q : What is meant by a “library”? How is it different from an end-user product?
A : A library is a collection of functions, which has to integrated into an application in order to develop an end-user product. A library cannot be directly used by an end-user. NestLib licensor can customize the application depending upon specifications and requirements.

Q : What is the application of NestLib? Who all can use it?
A : NestLib is useful for any application where there is a need for fitting complex 2D shapes on larger sheets. Some examples are nesting of parts for metal cutting applications such as laser, flame, plasma and water-jet cutting, nesting of packaging materials, fabrics (leather and textile) wood, glass.

Q : Can NestLib handle complex shapes for parts and sheets? Is Nesting on Non-rectangular sheets supported? How about parts and sheets with cutouts?

A : Yes. NestLib can handle complex shapes for parts and sheets. The sheet need not be rectangular. The sheet shape can be as complex as a part shape. NestLib can nest parts, which contain cutouts (holes) and can also nest on sheets containing holes..

Q : How do I integrate NestLib with my application? How much time will be needed for integration? How can HCL help me in integration?

A : NestLib is integrated using its powerful and well-defined C language API functions. These API’s facilitate the application to input data to NestLib and inquire the nesting results from NestLib. From our past experience, on the Windows platforms, the basic integration work can be completed in less than one week’s time. If desired, HCL can offer its services for integration and training by deputing an Engineer for 5 working days at client’s site.

Q : What is a nesting order?
A : Nesting order consists of: a) List of parts – with corresponding quantities and attributes (e.g. degree of rotation) b) List of sheets – with corresponding quantities and attributes (e.g. collar / trim widths) c) Job parameters (e.g. cutter diameter)

Q : Can I input multiple sheets in one nesting order?
A : Yes. You can input multiple sheets in an order. You can have different sheet types of different shapes in an order. Each sheet type can have multiple quantities. NestLib will nest the sheets in the order in which they are input..

Q : Can I continue nesting on a pre-nested sheet?
A : Yes, it is possible to nest parts on a sheet, which has already been nested (either manually or using NestLib). The method (Incremental nesting) used is to specify the already nested areas as holes on the sheet when the geometry of the sheet is input.

Q : Can I specify trim widths for a sheet?
A : Yes. You can provide difference trim widths for a sheet using the “local area nesting”. If the trim widths are uniform on all sides, you can specify collar.

Q : Can I set the rotation angle for each part?
A : Yes. You can specify different rotation angles for each part. There are two ways of specifying the rotation angle for a part. a) A step angle. You can provide a step angle for the part and it will be rotated only by the multiples of the step angle. The finer the step angle, more the freedom to the part to rotate. b) A list of angles. You can specify the allowable rotation angles for the part. In the Grid-Fit module (optional advanced) of NestLib, you can choose to freely rotate the part.

Q : What is the support provided for lead-ins and lead-outs?
A : NestLib allows the user to specify lead-in and lead-out geometry along with the geometry of the part. Any number of lead-ins and lead-outs can be specified. NestLib also has the facility of providing different lead-ins for different angular orientations of the nested parts.

Q : Can I provide part-specific cutter diameter?
A : Yes. You can provide cutter diameter for each specific part type. NestLib will nest the part in such a way that appropriate part-to-part distance is maintained.

Q : Can I prioritize parts?
A : Yes. NestLib® attaches a priority value to every part. The part having the highest priority value will be taken up first for nesting. If the priority value of all the parts is the same, then NestLib® will nest the parts in the sequence depending their area / perimeter (you can set this option too).

Q : Is Mirroring of parts supported?
A : Yes. For each part, the user can specify if mirroring is allowed. If mirroring is allowed, then NestLib will try to nest the mirrored copy of the part if none of the other orientations of the part can be fitted on the sheet.

Q : What is resolution? What values should I set for it?
A : The resolution is the accuracy of the nest. NestLib does a kind of “discretization” of the parts to be nested. The actual distance between two nested parts could sometimes be more that the required distance by an amount equal to the resolution. The resolution value can be set based on the size of the parts and sheets to be nested. For nesting order consisting of sheets / parts having larger dimensions, it is advisable to set a coarser resolutions. Similarly, for smaller sheets / parts, medium or small resolution will give best result.

Q : Does NestLib produce the best possible nesting results?
A : No. NestLib does not give the best possible nesting results. The base module of NestLib tries to give a very good result in a reasonable amount of time. However, NestLib has various upgraded modules that can surely optimize on default-nested results.

Q : What all are the inputs needed by NestLib? What is the output?

A : NestLib needs four basic inputs.

a) The nesting parameters such as the resolution, cutter diameter, clearance between parts etc. b) The list of parts to be nested. This includes the quantities, rotation angle, priority and other inputs for each part type c) The list of sheets to be nested. This includes the sheet quantities, nesting corner, nesting direction and other inputs for each sheet type. d) The geometry of each part and sheet, including the geometry of the lead-ins.

Output is the location of each part copy that is nested on the sheet. NestLib outputs the transformation matrix for each part instance. The transformation matrix informs the applications about the amount by which the part needs to be rotated and translated from its original location so as to arrive at its corresponding nested position on the sheet.

Q : What are the factors that affect the speed of Nesting?
A : The factors that effect the speed of Nesting includes: The complexity of the part and sheet shapes. The rotation angle for the parts (smaller the angle, larger the time taken for nesting) The resolution (finer the resolution, larger the time taken)

Q : How do I supply the geometry of my parts and sheets to NestLib? Can I input multiple closed contours for a part?
A : The geometry is input to NestLib through APIs as a series of lines, arcs and circles. Application can read user-specific geometric file formats and use the NestLib APIs to input the geometry to NestLib. It is also possible to input multiple closed contours for a part (outer contour and multiple inner contours or holes).

Q : Does NestLib support DXF file formats? Which all file formats are supported?
A : NestLib does not support any file formats. You use the NestLib API’s to input the part or sheet geometry. As long as the application can read the file and call the API’s, you can integrate NestLib with any file format. For e.g. the NestLib evaluation version read DXF files. This is because HCL has implemented a DXF reader in the evaluation version, which reads the DXF files and calls the NestLib geometry input API’s.

Q : How do I generate the cutter path from the Nesting results? Does NestLib help in cutter path generation?
A : NestLib® does not generate any cutter paths. However, the cutting sequence generation upgrade of NestLib can assist you in generating the cutter path, by giving you a sequence in which the parts are to be cut.

Q : Can I use NestLib on multiple torch machines?
A : Yes. NestLib® can generate nested layouts for cutting with multiple torches. For each sheet, user can specify the maximum number of torches with which the sheet can be cut. NestLib® then intelligently nests various regions on the sheet for cutting with multiple torches.Multiple-Torch is an optional upgrade

Q : How can I maintain exact part-to-part distance?
A : Please refer to Q-12 on resolution. The distance between two nested parts can actually be more than the specified inter-part distance because of the resolution used. Exact distance nesting removes this error component and gives an exact distance between two neighboring parts. This feature ensures that each part will be spaced exactly at a distance equal to the sum of flame diameters for the parts and the clearance from at least one of its neighbors.

Q : Can I nest the parts so that their edges can be cut with a common cut / flame?
A : Yes. In flame cutting, it may be useful to nest adjacent parts in such a way that they share a common flame path. When the flame travels along this path, it cuts two edges (belonging to two different parts simultaneously). These edges are parallel to each other and are spaced from each other by a distance equal to the flame diameter.

Q : Can I cluster the part / parts?
A : Yes. While nesting an order, it is sometimes useful to nest a cluster of parts rather than individual parts on the sheet. NestLib® supports three different forms of clustering, namely, automatic pairing of parts (homogeneous), user defined clusters (heterogeneous) and rectangular matrix of automatic pairs. Note: Common Cut, Exact Distance Nesting and Clusters is combined in one single optional upgrade.

Q : Can I generate Master Nested templates?
A : Yes. Many times, while executing huge orders for nesting, the user may want to reduce the number of distinct nested layouts and in process also reduce the number of different NC codes required for each layout. The master plate module of NestLib fulfils this requirement by generating single / multiple master templates. User can specify the minimum expected utilization for the master template. Master Plate is an optional upgrade.

Q : Can I nest parts so as to relatively minimize NC code?
A : Yes. The “Grid Fit” upgrade to NestLib can be used for generating uniform grid-like arrangement of nested parts. This ensures reduced NC code generation and better sheet utilization in quite a number of nesting orders. Grid Fit is an optional upgrade

Q : Can I use NestLib for punching machines?
A: Yes. While punching parts from sheet, it may be useful to nest adjacent parts in such a way that punch profiles of adjacent parts get overlapped so as to reduce the sheet wastage and improve punch utilization. The “Common-Punch” upgrade of NestLib tries to overlap the punch profiles of adjacent parts & generate a common punch wherever possible. NestLib does not tell you the punching sequence or the punch to be cancelled. Common Punch is an optional upgrade.

Q : Can I sequence the nested parts for cutting? Can I generate the cutter path?
A : The “Cutting Sequence Generation” upgrade of NestLib sequences the nested parts in the order of their cutting. Cutting sequence generation module takes the nested output as input and tells you the order in which the parts are to be cut. It takes care to ensure that the parts nested inside the holes of other parts are sequenced first and tries to ensure a uniform cutting sequence. NestLib does not generate the cutter path or the NC codes. However, for custom development projects, please get in touch with Cutting sequence generation is an optional upgrade.

Q : I want to extract the remnant profiles from the nested sheet. How can this be done?
A : The “Remnant Generation Module” of NestLib generates the remnant profile from the nested sheet. The user has various options so as to decide on the type of desired remnant..

Remnant Generation Module is an optional upgrade.

Q : How can I optimize on the NestLib results?
A : The “optimizer” module of NestLib incorporates various nesting algorithms and techniques so as to optimize on the default NestLib results. In addition to the base module, the Optimizer works well with most of the other NestLib upgrades.

Optimizer Module is an optional upgrade.

Q : Can I use NestLib on shearing machines?
A : Yes. The “Shear Nesting” upgrade of NestLib has been specifically developed for shear machines. Using this upgrade, rectangular parts can be nested in such a way that they can be sheared off from the sheet. NestLib also informs the user about the shear cuts.

Q : I have only rectangular parts and rectangular sheets. Which modules of NestLib should I license?
A : The “Optimized Rectangular nesting” upgrade of NestLib incorporates core rectangular nesting algorithms. Although, the basic module of NestLib can satisfy this requirement, the Optimized Rectangular nesting upgrade is very much recommended. Nesting for shear cutting and optimized rectangular nesting modules are optional upgrades.

Q : I have a single part to be cut from a coil of sheet. How can NestLib optimize this?
A : Strip nesting is used for obtaining the most optimal arrangement for a single part type on a long slender infinite strip / coil. Strip Nesting is an optional upgrade.

Q : What are the compilers supported by NestLib?
A : The standard object code release is a 32-bit static library and DLL on Windows platform (Windows 10). The standard development environment is Visual Studio 2012 compiler on Windows 10. However, user can integrate with any other compilers on Windows platforms using the 32-bit DLL.

Q : When is the next version planned? What are the features that will be provided in the next version?
A : Please contact for the latest information and developments.

Q : Can you give me information on the current customers of NestLib?
A : This is confidential. We cannot disclose the names of our customers, but we can tell you that many leading machine tool vendors and software developers in USA, Europe and Asia pacific have licensed NestLib.