A guide to preparing orders, choosing an algorithm and reviewing the placement of parts on sheets or boxes in containers.
28 September 20261. Choose a workspace
Nesting arranges rectangular or polygonal parts on sheets. Packing arranges rectangular boxes inside containers. Switch between Nesting and Packing in the application header. Within Nesting, choose Rectangles or Polygons. Each of these three workspaces keeps its own working order.
The left panel contains project management, input data, constraints, calculation settings and system information. Use the “Order” tab to prepare an order and the “Results” tab to inspect a layout calculated from a saved copy of the input. Open this guide through “System” → “Manual”.
Use EN/SK to switch the interface language and “Light” or “Dark” to change its appearance. The application remembers your language, appearance and last workspace on this device.
Unsaved changes are stored on this device as a recovery draft. If the application offers recovery when you reopen it, choose “Restore draft” or “Discard recovery”. “Save” stores the project in the application. “Export project” creates an input file that you can transfer to another device.

2. Your first calculation
A saved project contains the order input. Each new calculation keeps its own copy of that input, so later project edits do not change earlier results. Start a new calculation after changing the input. A lower cost alone does not indicate a better result if required items are missing or the layout failed validation.
- Choose Nesting → Rectangles, Nesting → Polygons or Packing.
- In the “Project” panel, choose “New empty project” to start your own order. To open a prepared example, choose “More project actions” → “Use example”. You can also generate a sample order with Random Factory under “Dataset”.
- For nesting, select the unit in the “Project” panel. For rectangles, enter stock and parts through “Edit dataset”. For polygons, import shapes and review their contours. In Packing, use “Add container” and “Add box” on the “Order” tab.
- Enter dimensions and quantities. Check allowed orientations, materials, clearances and available stock. Correct all reported input errors before starting a calculation.
- Choose an algorithm and a “Quick”, “Standard” or “Strong” profile. Set “Time limit (seconds)” to 0 to let the calculation complete the search defined by the profile without a time limit. Enter a positive value to set a time limit.
- Click “Start optimization”, or “Optimize” in the compact bar. The application saves the order before starting the calculation. In “Results”, check that the layout passed validation and that the number of placed items matches the requested quantity. Then inspect or export the layout.
3. Manage saved projects
The “Project” panel works the same way in all three workspaces. “Project name” is the name shown in the project list; the ID identifies the order and links it to its calculations. To rename a project, edit its name and click “Save”. Changing the ID can create a separate project. Overwriting a project with an existing ID requires confirmation.
“New empty project” creates an unsaved order without stock or items. Open an example through “More project actions” → “Use example”. “Create copy” duplicates the current input, assigns a new ID and leaves the copy as an unsaved draft. Save the copy to add it to your saved projects.
Opening another project replaces the current working order. If there are unsaved changes, the application asks for confirmation before discarding them. Starting optimization always saves the current order first.
Project management operates on the saved version of an order. Save any recent draft changes before archiving if you want those changes to be included.
- Click “Manage projects”. Search by project name or ID. Under “Sort by”, choose “Last modified” or “Project name”.
- Click “Open” beside the project you want. Use “Previous” and “Next” to move between pages. Under “Show”, choose “Active projects” or “Archive”.
- Use “Archive” to move an order out of the active list while keeping its input and calculation history. To bring it back, choose “Show” → “Archive” and click “Restore” beside the project.
- Select the checkboxes beside several projects to use “Archive selected”, “Restore from archive” or “Delete selected”.
- Before permanently deleting projects, check the displayed names and IDs. Click “Delete permanently” to confirm or “Cancel” to leave them unchanged.
- Permanent deletion removes the saved project and all its stored calculations. “Undo edit” cannot restore it. Material recorded in the inventory is preserved.
- A project cannot be deleted while it has an unfinished calculation or an active remnant reservation. Wait for the calculation to finish or request a stop through “Calculation history”. Release reserved remnants from the relevant result before trying to delete the project again.
- If a bulk operation fails for a project, its error message remains visible. Check the outcome for every selected project.

4. Edit orders, change units and recover drafts
“Undo edit” and “Redo edit” reverse or repeat changes to the current order data, such as dimensions and quantities. Opening another project starts a new edit history. These buttons do not undo project name changes, archiving or permanent deletion, and they do not change calculation history.
Change the nesting unit through “Project” → “Unit”. The “General” section of the rectangular dataset editor displays the unit but does not let you change it. Packing uses millimeters.
“Convert dimensions exactly” preserves physical size: for example, 100 mm becomes 100,000 µm. Dimensions, margins, clearances, kerf and any configured cutting speed are converted. Quantities and cost units stay the same. If the conversion would require fractional values, the application rejects it to avoid rounding dimensions.
“Keep numbers, reinterpret unit” preserves the numbers but changes their physical meaning: 100 mm becomes 100 µm. Use this option only to correct a unit that was assigned incorrectly to the original data.
Each workspace keeps a separate unsaved draft on this device. Choose “Restore draft” to recover it or “Discard recovery” to remove it. Recovery data includes the project name and any unfinished JSON text for polygon orders. It is tied to the device and browser, so it does not replace a portable backup.
If the application cannot store recovery data, export the project before closing it. When editing polygon JSON directly, use “Apply JSON” first so those changes are included in the exported input. Always review and save a recovered draft.
5. Rectangular nesting
In the rectangular dataset editor, “General” contains the project ID, current unit and kerf or spacing between parts. Change the unit in the “Project” panel. Under “Stock”, enter sheet dimensions, available quantity, cost units, margins, material ID and grain direction. Under “Parts”, enter dimensions, quantity, allowed rotation, grain direction and any order or material IDs.
Rectangle orders with more than one sheet type automatically use PackingSolver. Refined is available for one sheet type, regardless of how many copies are available. Required guillotine cuts or part grain constraints prevent PackingSolver from starting; the interface displays the reason.
Selected inventory remnants add sheet types to a rectangle order. PackingSolver cannot reserve them, so deselect inventory remnants before starting an order routed to PackingSolver.
For rectangular sheets, a quantity of 0 in the editor means unlimited availability; it is written as null in JSON. This convention does not apply to boxes or containers. Material requirements and grain direction restrict placement. A part that fits only after a prohibited rotation remains unplaced.
RoboPol Refined prioritizes lower material costs and fewer sheets, then improves the largest free rectangular offcut. This optimization is automatic; you do not set minimum offcut dimensions or select a separate optimization mode. “Quick”, “Standard” and “Strong” determine the search effort.
Use “Machine” to configure guillotine cutting, common-line cutting and the inputs for cutting-time estimates. Manage offcuts that you already have through “Material inventory” → “Manage material stock”. Select only pieces that are physically available. From a Refined result, you can reserve used remnants and later release the reservation. Deselect inventory remnants before choosing another algorithm. Inventory management is separate from automatic optimization of the offcut left by the layout.
- Check sheet margins and kerf before assessing material utilization.
- Assign distinct material IDs to materials that must not be substituted for one another.
- Review every used sheet and the list of unplaced parts.
6. Polygon nesting and shape import
The Polygons workspace supports convex and concave outer contours without holes. Contours must be simple, with no self-intersections. Choose allowed orientations from 0°, 90°, 180° and 270°. Arbitrary rotation angles, curved contours and nesting parts inside holes are not supported.
“Import shapes” reads supported polygon elements from SVG files and closed LWPOLYLINE entities from DXF files. Loading a file does not mean its geometry has been accepted. Select the format and enter the numerator and denominator of the ratio used to scale its coordinates. Then click “Review geometry”.
Inspect the displayed contours and warnings. Select the shapes you want and click “Add”. Unselected shapes are not added to the order. Check quantities, orientations, stock and clearances before saving or calculating.
“Part-to-part clearance” defines the gap between contours. “Part-to-boundary clearance” defines the gap between a contour and the edge of the usable sheet area. The largest offcut is the largest free rectangle found by the solver. Refined optimizes it automatically, without a minimum-size setting. Correct unsupported holes or other invalid geometry in the original CAD file; the application does not silently remove them during import.

7. Prepare boxes and containers
Packing uses millimeters. For each box type, enter X, Y and Z dimensions, quantity, weight and allowed orientations. For each container type, enter dimensions, available quantity, cost units and weight capacity. Quantities must be positive integers. A SKU identifies a box type, not an individual box.
The XYZ orientation keeps the original dimensions on the X, Y and Z axes. YXZ swaps X and Y while preserving the vertical dimension, Z. Allow only XYZ and YXZ if a box must remain upright. The other four orientations allow it to rest on another face.
Use “Entrance face” to select the loading side of the container. With +X selected, Refined tries to place boxes toward the opposite end to leave a continuous free region near the entrance. The highlighted region spans the full width and height of the entrance. It does not include other gaps between boxes.
An order can contain up to 128 box types and 16 container types. Enter the quantity of each type separately. These are technical limits; the Free edition has lower limits, listed in chapter 9. “Large” or complex orders may require more memory and longer calculations.

8. Support rules and their limits
The default “Full base” rule requires a box above the floor to be supported across its entire base. Several adjacent boxes can provide this support together. Boxes resting on the floor are treated as supported.
“Partial base” lets you set a minimum supported area from 50% to 100% of the box base. Switching to this mode sets an initial value of 80%. The vertical projection of the box’s geometric center must also lie inside the support polygon formed by the contact areas. If that point lies on the boundary, the check fails. Meeting the area percentage alone is not enough.
“No base-support rule” allows boxes above the floor without contact with boxes below. Dimensions, overlaps, allowed orientations, quantities, weight and container availability are still checked. Use this mode only for problems that do not require base support.
Select a box in the “Inspect box” list. When a support rule is enabled, the viewer shows the supported area percentage, floor contact, center position and check result. The assessment of partial support assumes a rigid box with uniformly distributed mass. It does not assess package crushing strength, loads from boxes above, friction or vehicle movement during transport.
RoboPol Refined applies the selected support rule while constructing and improving the layout. Every arrangement marked as a valid Refined result also passes an independent final check.
PackingSolver does not apply support rules during its 3D search. The application checks its output afterward against the rule selected in the order. If the layout fails that check, you can inspect it and export it as JSON for investigation. SVG export is unavailable for that unvalidated result. The application does not add supports or repair missing support.

9. Algorithms, profiles and time limits
The Free edition can calculate orders with up to 50 nesting parts or 100 packing boxes. It also allows at most 10 item types and 2 sheet or container types. The item count is the sum of the requested quantities across all types. All algorithms, profiles, saving and supported exports are available. You can open and save larger orders, but calculating them requires Professional.
Professional is an annual license that does not limit order size. The application's technical limits still apply. Under “System” → “License”, you can enter a license key, activate the installation, check license validity or deactivate it before moving to another computer. The number of permitted activations depends on your license. Activation requires internet access, and online verification must be renewed at least once every 30 days. If the license expires or online verification becomes overdue, the application remains available in the Free edition. Saved orders and results are preserved.
Choose RoboPol Refined or PackingSolver under “Solve”. Both algorithms are available for nesting and packing. If PackingSolver is marked as unavailable, check its status under “System” and contact your application administrator if needed.
“Quick” is suitable for an initial layout. “Standard” and “Strong” extend the search and may take longer. More search effort does not guarantee a better result or a proof of optimality.
For rectangles, polygons and 3D packing, the profile defines a finite search effort. The “Time limit (seconds)” field is a separate setting. A value of 0 allows that search to finish without a time limit. A positive value sets a time limit for the whole calculation. A calculation may finish earlier, for example when optimality has been proved. After the limit is reached, a safe stop and final validation can take additional time.
Within a single 3D Refined calculation, “Standard” and “Strong” build on earlier search stages while retaining the best validated layout found so far. A stop request or time limit can end the calculation before all stages are complete.
Compare algorithms using the same input, including quantities, dimensions, units, orientations, available stock and support rules. Refined improves offcuts and free space while respecting the primary cost and capacity objectives. PackingSolver optimizes offcuts in polygon nesting and rectangular nesting with one sheet type. In 3D packing, entrance free space is also measured for PackingSolver, but it is not a separate objective of its search.
“Best known” means the best result found in that calculation, not a proof of global optimality. “Primary optimum” confirms optimality for the stated primary criteria. It does not necessarily confirm the best possible offcut or entrance free space. Check validity and completeness before comparing results.
A seed is an integer that sets the initial state of a random number generator. Changing the solver seed may change the search path for the same order; it does not change the parts or their dimensions. The seed in Random Factory is used to generate the order itself.
- Compare layouts against the same requirements. If support is required, a layout that lacks that support is not an equally acceptable result.
- To request a stop, click “Stop” in nesting or “Cancel safely” in packing. The calculation stops at a safe point. Refined retains the best available validated result, even if some items remain unplaced. If no valid result has been found, no layout is shown.
- After a PackingSolver calculation is interrupted, its best saved and independently checked layout remains available if one exists. A result that fails the support rule remains available for inspection only. If no intermediate result was saved and checked, the application has no layout to display.
10. Generate samples with Random Factory
Random Factory creates sample orders for learning the application and running repeatable tests. You can edit the generated order. Generation alone does not save the project or start optimization, so review the input and save it if needed.
For rectangles and polygons, choose a “Small”, “Medium” or “Large” preset. You can then adjust sheet dimensions, the number of part types, the quantity range and the size range. For polygons, you can also set the proportion of concave shapes.
Packing provides “Mixed cartons”, “Repeated SKUs” and “Small parcels” scenarios. Choose a preset between 64 and 10,000 boxes or enter a custom positive quantity. Set the number of box types separately. The generator distributes the total quantity among those types and uses the dimensions of the first container in the order.
The same seed with the same generator settings reproduces the sample. Use another seed to generate another input. The generator seed therefore has a different purpose from the solver seed. Order difficulty also depends on the variety of dimensions, allowed orientations, required support and available containers, not just the number of boxes.

11. Evaluate and inspect results
First check whether the layout passed validation and how many items were placed out of the total requested quantity. A partial result leaves some items unplaced. This alone does not prove that the order is impossible. Review dimensions, orientations, available quantities, margins, clearances, support and weight capacity, or try a more thorough profile.
After checking validity and completeness, compare cost units and the number of used sheets or containers. Costs come from the values entered in the order; the application does not assign a currency. For nesting, utilization is the area of placed parts divided by the total area of used sheets. For packing, it is the volume of placed boxes divided by the total volume of used containers. High utilization alone does not establish support or suitability for manufacturing or unloading.
“Largest continuous offcut” shows the area, dimensions and sheet number of the largest free rectangle found. With metric project units, area is shown in m² while dimensions stay in the project units. The caption below the drawing describes the highlighted offcut or points to another sheet that contains it. Reusable area is the sum of the areas of the largest free rectangles found on the individual used sheets.
For packing, distinguish total unused volume from free space at the entrance. Total unused volume includes separate gaps between boxes. “Free space at entrance” is a continuous empty region spanning the full width and height of the entrance.
If a nesting result contains multiple sheets, select a sheet from the list above the drawing. Each entry shows its number and part count. Use the arrows to move to the previous or next sheet. For example, 11 / 24 means you are viewing the eleventh of 24 sheets. Click a part to see its details below the drawing.
Select a container in the 3D viewer in the same way. You can change views, rotate the scene, filter layers and select a box for inspection. The layer filter changes only the display, not the calculated layout.
The summary beside the result shows the algorithm, profile, requested time limit, actual duration and recorded reason for ending. The displayed layout uses the input copy saved for that calculation. If validation failed, read the specific error messages. A failure may concern a requirement other than support.
12. Calculation history and progress
Each new calculation keeps its own input copy. Opening an older result therefore does not change your working order. The “Results” tab shows the selected calculation; return to the “Order” tab to continue editing the current input.
After you reload the page, the application tries to reopen the last viewed calculation. If it cannot find that calculation, it looks for an active one in the current workspace. Accept or discard any offered draft recovery first. You can also reconnect manually through “Calculation history”.
“No clock limit” means the recorded setting was 0. The search still ends when the work defined by the profile is complete. “Not recorded” means the setting was not saved for an older calculation; it must not be treated as 0.
“Time limit reached”, “Stopped by user”, “Profile search finished”, “Calculation failed” and “Interrupted by service restart” describe different reasons for ending. “Result returned after the time limit” means the result became available after the requested duration had elapsed. Final validation may contribute to this delay; the message alone says nothing about optimality.
Older calculations without a saved input copy show “Input snapshot unavailable”. If their result is still available, you can export it as JSON. “Open result” is unavailable because the current order may no longer match the original input. “Details” shows a recorded error when one is available.
- Click “Calculation history” in the left panel. Under “Show”, choose “This project” or “All projects”. The list always belongs to the current workspace.
- Check the project ID, date, algorithm, profile, requested time limit, duration, status and reason for ending. Use “Previous” and “Next” to move between history pages.
- Click “Open result” to inspect the result of a finished calculation. Click “Follow calculation” to reconnect to the progress of an active calculation. Use “Export JSON” to save an available result to a file.
- To stop an active calculation, click “Stop” in its row and wait for its status to change. Sending a stop request does not mean the calculation has already ended.

13. Save, import and export
“Import project” and “Export project” are available under “More project actions”. You can import an order from a JSON file up to 2 MiB in size. The application checks its structure before replacing the current order. After a successful import, review and save the new draft. If import fails, the original order stays unchanged and the error message helps identify what needs correcting.
“Export project” saves the input ID, geometry, units and constraints. The file does not include the name shown in the project list, archive status or calculation history. Preserving those records requires a separate backup of the application data.
Exporting a result as JSON saves the calculated layout and its accompanying data. This is available beside the result and in “Calculation history”. SVG export creates a drawing of the layout when available for that result. The drawing is not a control program for a machine or a certificate of safe loading.
For polygons, distinguish “Import shapes”, which adds individual contours, from “Import project”, which loads the whole order. If you edit an order directly in the JSON editor, “Apply JSON” updates the preview and the input used for project export. “Save” and “Start optimization” read the current JSON text directly. Complete your edits and correct any errors before using these actions.
14. Troubleshooting and limitations
Packing does not check the strength of stacked packages, axle loads or unloading order. Assess these requirements separately before using the plan.
- Solver offline: check its status under “System”. In the web version, check that the calculation service is available. Contact your application administrator if the connection cannot be restored.
- Progress is not updating: the application tries to reconnect and checks the calculation status. Do not repeatedly start the same order while the original calculation may still be running.
- No items could be placed: before increasing search effort, check dimensions, orientations, margins, clearances, sheet or container availability and weight capacity.
- Support check failed: inspect the layout and the selected rule. Reducing the required percentage of supported base area changes the input requirements; it does not establish layout safety.
- Insufficient memory: try splitting a large order into smaller, separate orders. Alternatively, ask your administrator to check available memory and the calculation service's configured memory limit.
- Import failed: check units, IDs, file format and supported shapes. Include the exact error message when reporting the problem.
- Project cannot be deleted: check for unfinished calculations or reserved remnants. Archive the project if you only want to remove it from the active list.
- Unit conversion refused: the values cannot be represented exactly as integers in the new unit. Try a smaller unit. Use “Keep numbers, reinterpret unit” only to correct a unit that was assigned incorrectly.
- Draft recovery unavailable: export the current input. If an older recovery record cannot be read, “Discard recovery” allows new recovery records to be created.
- Older result cannot be opened: “Input snapshot unavailable” means the original input is missing. You can export a result that is still available. Do not assume the current order is identical to the input used for that result.
15. Keyboard controls and the offline manual
Use Tab and Shift+Tab to move between controls. Press Enter or Space to activate a focused button. Escape closes a dialog unless the application is waiting for an operation to finish.
Open the guide through “System” → “Manual”. You can also read a saved HTML copy without an internet connection. When transferring it, copy the entire manual folder, including images and styles.
Use EN/SK to switch the manual language. To print, choose “Print manual” in the application or use your browser’s Print command.