X-CuT Features | Easy-to-use Cutting Optimization Calculator

X-CuT is a 1D cutting optimizer. It calculates how to cut available stock material, such as bars, tubes, profiles or beams, while keeping material waste as low as possible.

X-CuT ver. 6.1 ยท Chrome, Edge, Safari ยท Windows / macOS / Android

Before running the calculation, fill in the list of available stock materials. These may be bars, tubes, wooden beams or other profiles from which the program will cut the ordered segments.

X-CuT 1D cutting optimizer - main program panel with material and segment tables โ†‘ Click to enlarge – main program panel

How to Add Material

  1. Click “Add material” – a new row will appear in the table.
  2. Enter Length (mm) – the full length of one stock piece.
  3. Enter Stock (pcs.) – how many pieces of this material are available.
  4. Optionally enter the Material name – it makes the production order easier to identify.
  5. If you work with several different materials, also fill in the INDEX field (see the note below).
  6. Repeat steps 1-5 for every material type.
What is the INDEX field? INDEX is an identifier that links material with the segments to be cut. The program knows that a segment with INDEX = 1 must be cut from material that also has INDEX = 1. One material type: leave INDEX empty – the program will assign all segments automatically. Multiple material types: enter a unique value, such as 1, 2 or A, B, in both the material table and the segment table – the program will match them.
๐Ÿ’ก You can load materials from a CSV, XLSX or JSON file instead of entering them manually. See IV. Import and Export for details.

Material Selection Mode

You choose it in Settings (the button above the material table):
  • Automatic – the program chooses the optimal stock lengths from the list.
  • In list order – material is taken from position 1 downward; useful when you want to set material priorities.
 

Optimization parameters let you adapt the calculation to your technological requirements. You will find them directly below the segment table.

Cutting optimization parameters in X-CuT - Calculate and Export buttons โ†‘ Click to enlarge – optimization parameters and action buttons
Parameter Description
Kerf / cutting width (mm) The width of material removed by the saw or laser with each cut. Enter the value according to the specification of your cutting machine.
Minimum waste (mm) The shortest allowed remaining piece at the end of the stock. A value of 0 allows any leftover. A value >0 eliminates layouts with leftovers shorter than the entered value.
Reusable offcut (mm) The minimum length of a remaining piece that qualifies for later reuse. Longer leftovers โ†’ reusable offcut; shorter leftovers โ†’ non-reusable waste.
Trim edge (optional) The length cut off from the end of each stock piece before the actual cutting layout, for example for squaring or removing the front end. Remember: this value also includes the cutting width.
 

Joining Segments Longer Than the Available Material NEW v6.1

If a customer orders a segment longer than the longest available stock piece, X-CuT can automatically split it into several cuttable fragments and show the composition of that element in the results. This allows you to prepare orders where the finished element is created by joining two or more cut pieces.

Setting Meaning
Allow joining segments longer than the material Enables automatic splitting of overlong segments. If this option is disabled, a segment longer than the available material is treated as impossible to produce.
Max. number of joints Defines how many joint points one ordered segment may have. A value of 1 means up to 2 fragments; a value of 2 means up to 3 fragments, and so on.
Min. fragment (%) The preferred minimum length of a single fragment, expressed as a percentage of the total ordered segment length. The program treats it as a technological preference and adjusts it automatically if the entered percentage is mathematically impossible for the selected number of joints.
Allowance (mm) Additional technological length added to fragments intended for joining. It may be needed, for example, for end preparation, fitting, welding or final trimming.
Example: the material length is 6000 mm, and the customer orders an 11000 mm segment. The program may suggest a composition such as 6000 + 5000 mm instead of always splitting the element into equal parts. This type of split often creates a more useful remaining offcut and may reduce the number of cutting operations.

Joining Missing Segments from End Offcuts

Within the same feature, X-CuT can also use end offcuts left after cutting stock pieces. If part of the order is still missing after the basic optimization, and the ends of the used stock pieces contain sufficiently long offcuts, the program may treat them as fragments of a joined segment. This only happens when joining is enabled and the split satisfies the selected parameters: Max. number of joints, Min. fragment (%), Allowance, Minimum waste, cutting width and matching Index.

Example of recovering a missing segment from offcuts
Data: material 15100 mm ร— 2 pcs., kerf 2 mm, order 5400 mm ร— 5 pcs.
Without joining from offcuts, the program may cut 4 pieces of 5400 mm and leave two end offcuts of 4296 mm.
With joining enabled, the program can use those offcuts as fragments of the fifth segment, for example ๐Ÿ”— 4296 + 1104 mm. The second fragment is cut from the second offcut, and the remaining piece can still be reported as a reusable offcut if it meets the selected threshold.
Simplified visualization of this case
The diagram shows the order of elements on two stock pieces. The shortest fragment is shown in a readable field so that the label does not overlap neighboring segments.
5400
5400
๐Ÿ”— 4296 (1/2)
5400
5400
๐Ÿ”— 1104 (2/2)
offcut 3190
๐Ÿ’ก This mechanism does not force equal splitting. With Min. fragment = 20%, a 5400 mm segment may be split as 4296 + 1104 mm, because 1104 mm satisfies the minimum fragment length. If the user increases the minimum percentage, the program may choose a different, more balanced split or skip joining if no valid variant meets the rules.

How to Read Joined Segments

Segments that require joining are marked with the chain symbol ๐Ÿ”—. This symbol corresponds to the joining icon shown in the program and tells the operator that the finished element is not one single cut piece, but consists of several fragments.

a) In the specification of segments to cut

In the specification, a green composition note appears next to the ordered segment, for example ๐Ÿ”— 6000 + 5000 mm. This makes it clear, even before reviewing the configurations, which positions require joining.

Segment
Length
Quantity
Segment 1 ๐Ÿ”— 6000 + 5000 mm
11000 mm
1 pc.
Segment 2
2800 mm
1 pc.

b) In the cutting configurations

In the configurations, every fragment of a joined segment is also marked with the ๐Ÿ”— symbol. Fragments belonging to the same ordered segment have the same color and a part number in the description, for example Segment 1 (1/2) and Segment 1 (2/2).

Example configuration visualization
๐Ÿ”— Segment 1 (1/2) ยท 6000
๐Ÿ”— Segment 1 (2/2) ยท 5000
offcut 1000
Remember: the ๐Ÿ”— symbol marks a segment or segment fragment intended for joining. The same color in the configurations helps you quickly find all parts of one finished element. Allowance is a technological parameter included when preparing the fragments, but it is not shown as a separate line in the segment specification.
In the second program table, enter the segments you need. The program will choose a cutting layout that produces them as efficiently as possible.
 

How to Add Segments

  1. Click “Add segment” – a new row will appear.
  2. Enter Length (mm) – the length of one segment to be cut.
  3. Enter Quantity (pcs.) – how many pieces of this segment are required.
  4. Optionally enter the Segment name – it will appear on QR labels and in the production order.
  5. If you use multiple materials, enter the INDEX matching the material from which this segment should be cut.
Remember the INDEX! If the material table contains INDEX values, you must also fill them in here. Segments with an INDEX value that does not match any value in the material table will not be assigned to any material.
๐Ÿ’ก Do you have many items? Import segments from an XLSX, CSV or JSON file instead of entering them manually. See IV. Import and Export for details.
 

X-CuT supports data import and export in three formats. You can transfer both the material list and the list of segments to cut.

CSV
Compatible with Excel, LibreOffice Calc and most ERP systems
XLSX
Native Microsoft Excel format with support for multiple sheets
JSON
Full project state: materials, segments and settings together

Importing Data

  1. Click “Import” below the relevant table.
  2. Select the file format (CSV, XLSX or JSON).
  3. Choose a file from disk – the data will be loaded into the table.

Exporting Data

  1. Click “Export” below the material or segment table.
  2. Select the format and download the file.
๐Ÿ’ก Before your first import, perform a test export of an empty table. You will receive a file with the correct column structure, which you can fill with your own data and import back into the program.
 

Once both tables, materials and segments, are filled in and the parameters are configured, you can start the calculation with one click.

  1. Check that all required fields are completed (material length and stock > 0; segment length and quantity > 0).
  2. Click the large “CALCULATE” button.
  3. The program searches possible cutting layouts and selects the optimal one, minimizing material waste.
  4. After a moment, the results will appear below. Go to section VI to learn how to read them.
โš  If no results appear after clicking CALCULATE, check whether each material has a length and stock > 0, whether each segment has a length and quantity > 0, and, when working with multiple materials, whether INDEX values match in both tables.
 

After the calculation, the program displays a complete production order. It consists of several parts, ready for printing or further export.

X-CuT cutting optimization results - segment configurations and material summary with waste โ†‘ Click to enlarge – optimization results view
Result Element What It Contains
Segment specification A list of all segments to be cut, including quantities, ready for verification before production.
Material summary How many stock pieces will be used, reusable and non-reusable waste, and optimization efficiency (%).
Segment configurations A visualization of the cutting layout for each stock piece, with cut positions and individual segment lengths marked.
How to read waste indicators? Reusable offcut – a remaining piece long enough to be used again, as defined in the parameters. Non-reusable waste – a remaining piece too short to reuse. Blue line at the end of a configuration – indicates that an edge trim or grinding operation of โ‰ค kerf is required. You can avoid this by setting the “Minimum waste” parameter accordingly.

What You Can Do with the Results

  • Print the production order directly from the browser.
  • Export to XLSX, CSV or JSON.
  • Generate a DXF file for CAD systems or a G-Code program for a CNC machine. See section IX for details.
  • Print QR labels for every segment. See section VIII for details.
X-CuT cutting configuration visualization with QR labels and cut markers โ†‘ Click to enlarge – segment configuration visualization
 
โœฆ The Cost Estimate feature automatically calculates the value of used material and the cutting cost, without manual calculations.

After optimization, the program generates a cost estimate table with a cost summary for each material index. You only need to enter the price; the program handles the rest.

Cost estimate settings in X-CuT - material and cutting cost pricing for multiple stock types โ†‘ Click to enlarge – program settings window

How to Activate Cost Estimate

  1. Click “Settings” above the material table.
  2. Enable the “Cost estimate (material pricing)” switch.
  3. Two new columns will appear in the material table: Price (/m) and Price (/cut).
  4. Select the checkbox next to the chosen material and enter the price in the appropriate column.
  5. Select the currency from the drop-down list in the upper-right corner of the material section (PLN, EUR, USD…).
  6. Click “CALCULATE” – the cost estimate table will appear below the material summary.
Column What to Enter What the Program Calculates
Price (/m) Material cost per linear meter Value of used material + cost of non-reusable waste for each index (material type)
Price (/cut) Unit cost of one cut (machine or service rate) Price ร— total number of cuts for the given material
X-CuT material summary with cost estimate - used material value and total cutting cost โ†‘ Click to enlarge – material summary and cost estimate table
 

X-CuT generates QR code labels for individual materials, segments, reusable offcuts and the whole production order. They make it easier to identify and track materials on the shop floor or in the warehouse.

Independent Labeling

This mode is used to quickly prepare a label without running optimization. You can use it, for example, to label warehouse material, a single segment or a reusable offcut. To generate a label, it is enough to fill in Length and Stock; the remaining fields are optional.

  1. Click “Labeling” in the action panel.
  2. In the Independent labeling section, enter the length and stock, and optionally a name or index.
  3. Click “Generate label”, check the preview and print the label.
What does the label contain? A QR code with encoded segment or material data (format: #index#name#length), a clear dimension in mm and the name or description entered by the user. Scanning the label’s QR code can automatically add stock material to the program list.

Production Order Labels NEW v6.1

After optimization, a second section becomes active in the same Labeling window: Production order labels. The program can then automatically prepare a complete set of labels for all cutting configurations, in the same order as the production order.

  1. First run the order optimization.
  2. Click “Labeling”.
  3. In the Production order labels section, decide whether to also print labels for reusable offcuts.
  4. Click “Generate label preview from order”.
  5. After checking the preview, click “Print”.
Label order: for each configuration, the program generates labels from left to right according to the layout on the stock piece. If a configuration has several repetitions, the whole set of labels is repeated as many times as the configuration repetition count. If a reusable offcut remains at the end of the stock piece and offcut label printing is enabled, the offcut label is added after the segment labels from that stock piece.
๐Ÿ’ก Before optimization is performed, the production order label section is visible but inactive. The program displays a message saying that to activate the feature, you must first run optimization for the order.

Labels from Buttons in the Results

  1. After optimization, go to the Segment configurations section.
  2. In each cutting configuration, you will find buttons with the dimension and quantity, for example 600 x9.
  3. Click the selected button – a print label preview will open.
  4. Print the labels.
๐Ÿ’ก The state of the “Print labels for reusable offcuts” checkbox is saved in the browser, just like the other program settings.
 

X-CuT can generate a ready program for a CNC machine or a DXF file for a CAD system, directly after optimization and without additional software.

X-CuT G-code generation window - CNC postprocessor selection: TRUMPF TruLaser Tube, Fanuc, Mach3, Heidenhain โ†‘ Click to enlarge – G-code generation window

How to Generate G-code

  1. After optimization, click “Generate G-code”.
  2. Select the postprocessor that matches your machine (see the list below).
  3. Configure the machine parameters – detailed parameter guide โ–ผ
  4. Click “Generate” – the file will be downloaded automatically.
  5. Load the file into the CNC controller or CAM software and verify it in a simulator before starting the machine.
โ–ถ Detailed guide – G-code window parameters
File name

You can enter your own output file name or leave the field empty. The program assigns a name automatically based on the date and selected postprocessor.

Material description (comments in code)
  • Cross-section – the material cross-section description inserted as a comment in the file header, for example 60x40x3, ร˜50x2, IPE200. It makes the program easier to identify on the controller.
  • Wall thickness [mm] – an auxiliary parameter for tubes and closed profiles. It is written to a comment and does not affect movement geometry.
Machine settings
Parameter Description Applies to
G1 feed [mm/min] Working movement speed (cutting). Default: 1200 mm/min. All CNC
G0 feed [mm/min] Rapid movement speed (positioning). Default: 5000 mm/min. All CNC
Power / S value Laser power or S value for plasma. Default: 1000. Laser, plasma
Pierce delay [ms] Material piercing time before cutting movement starts. Default: 350 ms. Laser, plasma
M-code: clamp M-code controlling the material clamp. Default: M101. 1-D saw
M-code: cut M-code starting the saw cut. Default: M102. 1-D saw
Program number O: Four-digit program number in the header (O0001). Required by Fanuc controllers. Fanuc ISO
Generate Z-axis movement Enables Z moves between cuts. โ€ข Z-down [mm] – descent depth, for example -5 โ€ข Z-safe [mm] – safe plane, for example 50 Milling machines, routers
Output options
  • Comments in code – readable comments describing each cut. Recommended because they make checking and servicing the program easier.
  • M0 pause when changing stock piece – inserts M0, a stop requiring operator confirmation, after each stock piece. This allows safe material replacement.
  • Include kerf in X position – corrects X cut positions by the kerf width. Disable this if kerf compensation is handled by the controller.
Postprocessor characteristics
Postprocessor Application and format
Fanuc ISO / Generic Standard ISO G-code. O-number header, G90, G21, M30 ending. Compatible with most CNC machines.
Mach3 / GRBL PC-based CNC controllers for hobby and DIY machines. Files begin and end with the % character.
LinuxCNC / PathPilot Open-source CNC controller. Similar to Fanuc, but without the O number. Used in Tormach machines.
Hypertherm EDGE Hypertherm plasma cutting systems. Includes arc ignition sequences and pierce delay.
1-D saw (absolute stop) Saws with an absolute stop. Sequence: X positioning โ†’ clamp (M-code) โ†’ cut (M-code).
Heidenhain TNC Heidenhain conversational programming. Text format with L blocks and CYCL DEF. TNC 320/530/640 controllers.
ESA S-510 / S-630 Aluminum machining centers, such as window and door profile systems. ISO format with ESA extensions.
ESSI (EIA-274-E) Standard plasma and oxy-fuel cutting format. Supported by most plasma tables.
TRUMPF TruLaser Tube NEW v6.0 TRUMPF tube laser with Siemens 840D controller. Sinumerik header, tube processing cycles and laser parameters.
โš  Important: Always simulate the generated program in CAM software or in the controller’s dry-run mode before starting production. The operator is responsible for verifying compatibility with the machine configuration.

How to Generate DXF

  1. Click “Export DXF”.
  2. The AutoCAD R12 (AC1009) file is compatible with every CAD program (AutoCAD, DraftSight, LibreCAD). Each cut is represented as a separate line at 1:1 scale, in mm.

Supported Postprocessors

  • Fanuc ISO / Generic CNC
  • Mach3 / GRBL
  • LinuxCNC / PathPilot
  • Hypertherm EDGE (plasma)
  • 1-D saw (absolute stop)
  • Heidenhain TNC (ISO dialogue)
  • ESA S-510 / S-630 (aluminum centers)
  • ESSI / EIA-274-E (plasma / oxygen)
  • TRUMPF TruLaser Tube (Siemens 840D) NEW v6.0

ยฉ 2026 X-Cut.pl ยท User Manual ver. 6.1 ยท Calculations accurate to 0.01 mm