Turning a Tekla or Advance Steel Material List Into a Cutting Plan

Which columns actually matter, the export quirks that break optimizers, and what to do when the list has no fixed format at all.

The model is finished, the material list is exported, and now someone has to decide how many bars to buy. This step — between the detailing software and the purchase order — is where most cutting optimizers fall down, and the reason is almost never the optimization itself. It is the file.

What a cutting plan actually needs

Whatever the source, an optimizer needs three things per row, and nothing else is essential:

FieldWhy it matters
ProfileParts can only be cut from stock of the same section. HEB 360 and IPE 400 are separate problems.
LengthThe cut length of the part, in mm. Not the member length, not the assembly length.
QuantityHow many identical pieces at that length.

Grade, mark, assembly reference and weight are useful on the report, but they do not change the cutting plan. If your list has the three fields above, it is optimizable — regardless of which software produced it.

Member length is not cut length

This is the most expensive misreading on the list, and the easiest to miss, because the number looks perfectly reasonable either way.

A beam modelled as an 8000 mm member does not arrive at the saw as 8000 mm. Depending on what the export contains, the figure in the length column may be any of the following:

Length reportedWhat it measuresUse for cutting?
System / member lengthGrid-line to grid-line, the analytical memberNo
Assembly lengthMain part plus welded attachments, end plates, stiffenersNo
Part lengthThe single piece of steel to be cutYes
Cut lengthPart length adjusted for skewed or mitred end cutsYes

The gaps between these are not small. A 12 m beam framing into column flanges may have a system length of 12000 mm, a part length near 11700 mm after end clearances, and an assembly length of 11900 mm once end plates are counted. Optimize on the wrong one and every bar in the package is planned against a length that will never be cut.

Which way the error runs

Using system or assembly length instead of part length inflates every piece. On a package with parts near the stock length, that is the difference between two parts fitting a 12 m bar and only one fitting — the plan orders roughly twice the steel it needs, and the waste figure looks catastrophic for no real reason.

The reverse error is worse in a different way. If the export lists part lengths but the fabricator adds an end preparation or a mitre that was not in the model, parts come up short and the material has already been ordered.

How to tell which one you have

Ask the detailer, once, in writing. “Is this part length or assembly length?” is a one-line question with a one-line answer, and it settles the issue for every subsequent export on the project. Most disputes over short-delivered steel trace back to this question never having been asked.

Tekla Structures

Tekla reports are template-driven, so the column headings depend entirely on which template was used. A report built from a bolt list template will not contain cut lengths at all.

Practical points:

Advance Steel

Advance Steel exports are structured differently and carry a specific trap.

The fraction problem is the most damaging one. A length field containing 3 1/2 parsed naively can be read as the number 3, silently truncating every part in the package. The plan will look plausible and be entirely wrong. Always spot-check two or three known lengths against the model before trusting an import.

Lists that came from neither

A large share of real cutting lists are not exports at all. They are typed — by a fabricator working from marked-up drawings, or by a QS rebuilding a take-off in Excel because the detailer's file arrived in an unusable state. These lists have no standard whatsoever: columns in any order, merged cells, units in the header, notes in the middle of the data.

This is worth stating plainly because most optimization software treats it as an edge case, when in practice it is the common case on smaller packages and subcontract work.

Why templates are the wrong solution

The usual answer is a required template: download our format, fill it in, upload it. This works in a demo and fails on site, for a simple reason — retyping a 400-row material list into someone else's spreadsheet is slower than planning the cutting by eye. So nobody does it, and the software goes unused.

The better approach is to make the software adapt to the file rather than the reverse:

  1. Find the header row by scanning down the sheet rather than assuming row 1.
  2. Match columns by alias — profile / section / size / member, qty / quantity / no. / pcs / count.
  3. Fall back to inference where headers are missing: a column of values between 500 and 15000 in a steel list is almost certainly a length in mm.
  4. Ask, if all else fails. A dropdown that lets the user point at the right column takes ten seconds and always works.

Step 4 is the one that matters most and gets skipped most often. Automatic detection will fail on some sheets — that is unavoidable given how varied real files are. What is avoidable is failing without giving the user any way forward.

Checks worth running on any import

CheckWhat it catches
Piece count against the modelSubtotal rows read as parts; filtered rows omitted
Longest part against stock lengthParts that cannot be cut from available stock at all
Two or three known lengths spot-checkedUnit errors, fraction truncation, assembly-versus-part lengths
Profile countDescription column misread as profile, producing dozens of phantom sections

These take a minute and catch nearly every import error that matters. An optimizer will happily produce a confident, well-formatted, completely wrong plan from a misread file — the arithmetic is only as good as the parse.

Steel Optimizer reads material lists without a template.

Drop in an export from Tekla Structures, from Advance Steel, or a sheet you typed yourself. It locates the header and matches the columns on its own; where it cannot, you point at them in a dropdown. One click returns the cutting plan, the bars to buy, the tonnage and the waste percentage — and leftover offcuts are registered and carried into the next project.

Open the optimizer →