Skip to main content
On this page

1D Linear Cutting

1D Linear Cutting optimizes any material that comes in lengths: steel bars, aluminium extrusions, copper pipe, timber battens, plastic tube, cable, threaded rod, and any other linear stock. You supply the available bar lengths and the required cut lengths — CutOptim finds the combination that uses the fewest bars with the least offcut waste.


How 1D Optimization Works

The 1D problem is simpler than 2D: every item has only one dimension (length), and every bin (stock bar) also has only one dimension. The algorithm assigns lengths to bars so that:

  • Every required length is assigned to exactly one bar
  • No bar is over-filled (all lengths assigned to a bar fit within the bar’s length, accounting for kerf)
  • The total number of bars used is minimized

This is a variant of the bin-packing problem for one dimension. Rather than a single greedy pass, CutOptim runs several bin-packing strategies over the same job — first-fit, best-fit and next-fit decreasing, a spread-then-consolidate pass, and a subset-sum step that fills each bar as tightly as possible with a bounded knapsack (plus a repeating cutting-pattern step for high-quantity runs) — and keeps the best result, so it finds near-optimal solutions quickly even for hundreds of demand lengths.

For linear materials where length is the only relevant dimension — pipe, rod, bar, cable — use 1D mode. For materials like flat bar or angle where you might need to track width as well, consider using 2D mode with height set to the material width.


Adding Stock Bars

Stock bars represent your available raw lengths. Enter each bar size as a separate row.

Feature Type Description
Length number Full length of the stock bar in the active unit (mm or cm).
Quantity integer Number of bars of this length available. The optimizer will use up to this many.
Price number Cost per bar. Used in the cost summary and quotation export.
Label text Optional description, e.g. '6m EN10210 CHS 60.3×4mm'. Appears in the PDF and CSV exports.

Example: structural steel job

LabelLength (mm)QtyPrice
RHS 50×50×3 — 600060001242.00
RHS 50×50×3 — 30003000422.50

In this example, CutOptim will draw from both the 6 m and 3 m lengths to fill the demand most efficiently.


Adding Parts

Parts are the cut lengths you need to produce. Each row in the Parts (1D) table represents one type of cut.

Feature Type Description
Length number Required cut length in the active unit.
Quantity integer Number of pieces of this length required.
Label text Piece name or reference, e.g. 'Rafter A' or 'Handrail section'. Printed in the cut diagram and export.

Example: aluminium handrail job

LabelLength (mm)Qty
Top rail24006
Infill bar100024
Post cap extension15012
Return end3004

Running a 1D Optimization

  1. 1

    Enter stock bars

    In the Stock bars section, click + Bar and add each bar length with quantity and optional price. If you are buying material for the job (rather than drawing from existing stock), set a high quantity — the optimizer will only use as many as needed.

  2. 2

    Enter demand lengths

    In the Parts (1D) section, click + Part and add every required cut length with its quantity and label. If you have an existing cut list in a spreadsheet, use Import CSV from the CSV dropdown in that section header.

  3. 3

    Set kerf width

    Open Settings and confirm your kerf width. For a standard chop saw or angle grinder with a 3 mm disc, enter 3 mm. For a thin-kerf saw blade, enter 2 mm.

  4. 4

    Run the optimization

    Click Run optimizer at the bottom of the left sidebar, or press Ctrl+Enter. Results appear immediately.

  5. 5

    Review bar diagrams

    Each bar is shown as a horizontal rectangle in the canvas. Coloured segments represent demand pieces; grey segments are offcuts. Use the bar navigator to step through all bars.

  6. 6

    Export your cut list

    Open the Downloads menu in the top bar and choose CSV for a spreadsheet cut list, or PDF for a printable bar-by-bar diagram. On Pro the PDF also carries the sawing plan page.


Reading the Bar Layout Results

1D bar layout showing 3 bars with colour-coded cut segments and grey offcut sections
Three stock bars after 1D optimization. Each bar shows its cut sequence from left to right.

The canvas for 1D mode shows each bar as a horizontal strip divided into segments:

Segment typeVisualDescription
PartColoured block with labelA required cut length placed on this bar
KerfThin dark lineMaterial lost between each cut
OffcutHatched greyRemaining length, larger than minimum offcut size
WasteSolid greyRemaining length, smaller than minimum offcut size

Summary Metrics

StatMeaningShown
UtilizationTotal demand length / total used bar length × 100Always
WasteUnusable scrap lengthAlways
BarsNumber of stock bars consumedAlways
PiecesPlaced / requestedAlways
💰 Material costCost of the bars usedWhen stock prices are entered
CutsNumber of blade passes in the planWhen there is at least one
Cut lengthTotal distance sawn — metres in mm mode, feet in inch modeOnly when Profile width is set (see below)
Cut costCuts × your cost per cutWhen cost per cut is set
Within tolerancePieces that fitted only because of kerf toleranceWhen any were

Reusable offcuts from the run are listed under the diagram, not as a header stat.


The Sawing Plan Pro

The bar diagram shows you what comes off each bar. The sawing plan tells you where to stop the blade, in order — which is the part nobody wants to work out in their head twenty times down a six-metre bar.

A bar has no cut tree: it is cut end to end from the head. So the plan is simply the running offset — after each part the blade drops at that mark, then advances by the kerf.

The steps on each bar, in the order you make them

  1. The calibration skim, if it is switched on. On a bar it always comes off the head — the start of the bar.
  2. The start-trim head cut, if a start trim is set.
  3. One step after each part — except a last part that finishes flush with the usable end of the bar when there is no end trim, because there the bar simply stops and no pass is needed.

Every step gives a stop position measured from the head of the bar: a number you can set on a stop, not a part length to add up. Head passes are named as such (Calibration, Start trim) and leave the order column blank, because they free no part.

Cut length — supply the profile width and you get one

Linear stock is a length and nothing else, so out of the box there is no cross-section for the blade to cross and CutOptim reports positions only. It will not invent a distance nobody measured.

You can supply the missing number. Profile width in Advanced settings — visible in 1D Linear only, and not gated by plan — is how wide the material is that the blade crosses on one cut. Set it and the sawn length appears:

  • on the results header, next to the other run statistics — every plan;
  • in the run summary — every plan;
  • in the PDF, in the framed key figures under the sawing plan — Pro, with the sawing-plan page;
  • in the Excel Cutting Sequence tab, in the Length column and in the totals — Pro, with the workbook.

Every counted cut crosses the profile once, so the figure is simply the cut count times the width you entered.

Left at 0 — the default — nothing changes. No length is shown anywhere, exactly as before. That is the honest default: we would rather report nothing than a number you did not measure.

The field never appears in Wood mode, which already knows the cross-section of every material, or in 2D, which measures the blade path from the cut tree. If one job mixes several sections, Wood mode is the right tool — a single profile width cannot describe it.

On screen

  • The Cutting Sequence bar sits directly above the bar strips, at the top of the Bars box. Its controls are ◀ Previous, the step readout, ▶ Next, ⏮ Restart and ▶ Play (0.8 s per step, stopping at the last one).
  • Below the cut list, the whole plan is listed as a Cutting Sequence table with the columns Order, Bar, Name and Position. Clicking a row jumps the player to that step, and the active row is highlighted — so the table and the player can never drift apart.
  • On each bar strip the cut marks light up as you step: the current one solid, completed ones faded, upcoming ones hidden.

Why the step count matches the Cuts stat

On a bar every step is a single pass of the blade, so the number of steps and the Cuts figure in the results header are the same number, whatever your trim and calibration settings. Measured on the built-in demo job: 29 steps against 29 cuts with no trim, 39 and 39 with a 20 mm start trim, and 49 and 49 with the start trim and the calibration cut both on.

In the exports

  • PDF — a Sawing plan page of its own, with the columns #, Bar, Order, Name and Position, plus a framed strip of key figures under the table.
  • Excel (.xlsx) — a Cutting Sequence tab straight after the Cut list tab, with the totals repeated at the bottom so the tab stands alone at the saw.

Both need Pro, like the on-screen player. See Cutting Sequence for the full guide and Exports & Downloads for the page and tab layout.


Calibration Cut Pro

A calibration cut skims a thin strip off the head of every bar before any part is cut. You measure that strip, compare it with the number you asked for, and correct the stop by the difference — so the first real part is already accurate instead of being the one you sacrifice to find out the setup was off.

  • The four-edge side picker you may have seen in 2D is hidden in 1D. A bar has one head, so offering a choice of four edges would be a control the plan could not honour.
  • It rides on the start trim: the material reserved is start trim + calibration. That is what turns step 0 of the sawing plan into a real stop position rather than a line drawn on a picture.
  • With both a start trim and a calibration cut set, the head is crossed twice — once for the strip you measure, once to take the rest of the trim off — and the sawing plan lists both passes.

See Settings for the control itself.


Stock Priority (★)

Each row in the Stock table has a star (★) icon on the left. Starring a stock row tells the optimizer to use those bars first — before any unstarred stock.

When to use it in 1D mode:

  • You have a partial bar from a previous job and want to use it before cutting new stock
  • You have bars in a less convenient location (different rack, another site) that you want to defer
  • You want to clear old stock of a certain size before it corrodes or warps

Click the ★ icon to toggle it yellow/gold (prioritized) or grey (normal). The setting is saved per cut.

When adding inventory offcuts as stock, star them all. This tells the optimizer to exhaust your existing offcuts before opening new full-length bars — the most effective way to reduce material spend over time.


Importing Parts

For jobs with many cut lengths already in a spreadsheet or design program export, use the import tools in the Parts (1D) section header instead of typing each row manually. CutOptim supports paste from Excel/Google Sheets and CSV file import. See Importing Data for full instructions and column formats.


CSV Export for 1D Results

The CSV export for 1D mode contains one row per demand piece with the following columns:

ColumnDescription
bar_indexWhich stock bar this piece was cut from (1-based)
bar_labelLabel of the stock bar
piece_labelLabel of the demand piece
piece_lengthCut length
position_from_endDistance from the left end of the bar where this cut starts
qtyQuantity (always 1 per row; multiple identical pieces appear as multiple rows)

Sort the CSV by bar_index then position_from_end to get a sequential cut list for each bar — exactly the order you would make cuts at the chop saw.


Practical Example: Steel Frame Substructure

Job: Wall-mounted steel subframe for a commercial fit-out. 12 vertical uprights at 2700 mm, 18 horizontal rails at 1200 mm, 6 diagonal braces at 890 mm.

Stock available: 20 × 6000 mm lengths of 50×50×3 RHS at $41 each.

Settings: Kerf 3 mm, units mm, Guillotine mode (not applicable to 1D, but kerf matters).

Result: 9 bars used (instead of 12 if cut naively), yield 92.3%, estimated saving of 3 bars = $123 in material.

BarCuts
Bar 12700, 2700, 597 (offcut)
Bar 22700, 2700, 597 (offcut)
Bar 32700, 1200, 1200, 897 (offcut)
Bar 41200, 1200, 1200, 1200, 1200 (waste 194)
Bar 51200, 1200, 890, 890, 817 (offcut)

The three 597 mm offcuts can be saved to inventory and used for future small pieces.

FAQ

What is the difference between 1D and 2D mode?
1D mode optimizes linear stock — material measured only by length, such as pipes, rods, bars, and profiles. 2D mode handles sheet material with both width and height. In 1D mode, piece width is ignored; only length matters.
Can I mix different stock lengths in one optimization?
Yes. Add multiple rows to the Stock table with different lengths. CutOptim will use the combination that minimizes total material usage.
Does 1D mode support kerf width?
Yes. The kerf setting in Settings applies to 1D mode. Each cut consumes the kerf width from the remaining bar length.
How do I export my 1D cut list for a workshop?
Use CSV export for a spreadsheet-compatible cut list, or PDF export for a printable bar-by-bar diagram. On Pro the PDF also carries a Sawing plan page listing every cut in order with its stop position, and the Excel workbook carries the same list as a Cutting Sequence tab. All are available from the Downloads menu in the top bar.
Does 1D mode tell me where to stop the blade on each bar?
Yes, on Pro. The sawing plan turns the layout into an ordered list of stop positions measured from the head of the bar, including the calibration skim and the start-trim head cut where they are set. It appears as a step-through player above the bar strips, as a clickable table below the cut list, and on its own page in the PDF and Excel exports.
Does the 1D sawing plan show a cut length?
Only if you tell it how wide the material is. Linear stock is a length and nothing else, so there is no cross-section for the blade to cross — CutOptim will not guess one. Set Profile width in Advanced settings (it appears in 1D Linear only) and the sawn length is reported: on the results header, in the summary, in the PDF key figures under the sawing plan, and in the Excel Cutting Sequence tab. Every counted cut crosses the profile once. Left at 0, which is the default, nothing changes and only stop positions are reported. For a job mixing several cross-sections, Wood mode is the right tool — it tracks the section per material.
Can I lock a piece so it is always cut from a specific stock bar?
Not directly, but you can achieve this by creating a separate cut (within the same project) with only that stock bar and the pieces that must come from it.
What is the maximum number of bars or demand lengths I can enter?
On the free plan, 3 optimizations per month, each with any number of demand lengths. On Pro, unlimited runs.

Last updated: July 29, 2026