.LST File Format
Overview
.LST is a text-based setup and NC-program container for laser machines.
It starts with a short file header, then stores a sequence of named sections.
→ see Vulcan manual for more details on the file format and its use in Trumpf laser machines
High-Level Structure
The LST file consits mainly of
-
a sequence of sections in the header file which define information for automation or laser technolgy
-
sub programs 'SP' where geometry and technology of individual parts are defined
-
the main program 'HP' which contain the actual NC code for the machine.
The Header Sections
Most sections have the same internal layout:
-
a
BEGIN_<name>marker -
a metadata block that defines columns with
MM,ATrows -
a data block that provides values with
DArows -
an
ENDE_<name>marker
The file in this workspace is 212 lines long and ends with ED.
Top-Level Layout
BD
SET_METRIC
BEGIN_SECTION
C
ZA,MM,<field-count>
MM,AT,...
...
C
ZA,DA,<row-count>
DA,...
...
C
ENDE_SECTION
...
ED
Header And Terminators
The first two lines are:
BD
SET_METRIC
BD identifies the file as an LST-style data file.
SET_METRIC declares that dimensional values use metric units.
The final line is:
ED
ED marks the end of the file.
Common Record Types
C
C is used as a separator or comment line between logical blocks.
It does not carry payload data.
ZA,MM,<n>
This line announces a metadata table with <n> field definitions.
The next <n> logical rows are MM,AT entries.
MM,AT,…
These rows define the columns for the section. In this file they follow the pattern:
MM,AT,1,<field-id>,1,1,,'<field name>',,'<unit>',<type>
Relevant parts are:
-
<field-id>: numeric field identifier inside the section -
<field name>: human-readable label -
<unit>: optional engineering unit such asmm,kg,min, ordeg -
<type>: value class, usuallyTorZ
Observed types in LST.LST:
-
T: text -
Z: numeric value
Some field names describe boolean semantics even though their metadata type is still stored as Z.
ZA,DA,<n>
This line announces <n> data rows.
The following logical rows are DA records.
DA,…
Each DA row contains one record for the section, with values ordered exactly like the preceding MM,AT definitions.
Example:
DA,'SHT-1',300,630,1.5,1,300,630,'1.0038-15',7.85,0,'Steel'
*
An asterisk at the start of a line continues the previous logical DA row.
This is used when a record is split across multiple physical lines.
Sections of the header
| Section | Lines | Data Rows | Purpose |
|---|---|---|---|
|
4-39 |
1 |
General setup-plan information such as machine, controller, program number, date, material, working range, and file name. |
|
42-52 |
1 |
Small property table for program-level options like program type and cut-end optimization. |
|
55-67 |
4 |
Key/value tracking data including provider name and GUID-based identifiers. |
|
70-88 |
1 |
Sheet dimensions, material ID, density, and material designator. |
|
91-107 |
1 |
Loading and measurement parameters for the machine. |
|
110-118 |
1 |
Reference to a laser technology table identifier. |
|
121-142 |
1 |
Microjoint and nano-joint configuration for contour cutting. |
|
145-181 |
1 |
Lead-in strategy settings for small, medium, and large contours. |
|
184-210 |
1 metadata row plus NC text |
Program identity fields followed by the embedded NC code block. |
Section Details
EINRICHTEPLAN_INFO
This section defines 26 fields and stores the main document identity. Representative fields include:
-
machine and controller information
-
program number and programmer
-
date and file name
-
material ID, sheet weight, and machining time
-
working range X and Y
Its single DA record is split over two physical lines with * continuation.
PROGRAM_PROPERTIES
This section defines 3 numeric properties:
-
Program Type -
Fluid Spray Mode -
Cut End Optimization
The file stores one row: DA,3,0,0.
ANALYTICS_DATA
This section behaves like a simple key/value table. It defines two text fields:
-
Analytics Key -
Analytics Value
In this file it contains four rows, including three GUID-based identifiers.
SHEET_TECH
This section defines 11 fields for the raw sheet. It includes nominal and actual X/Y dimensions, thickness, material ID, density, and material designator.
The example record describes a 300 x 630 x 1.5 mm steel sheet.
MACHINE_LOAD_DATA
This section defines 9 fields related to how the sheet is loaded and measured. Examples include loading type, calibration flag, measuring ranges, and measuring corner.
LTT_CALLS
This is the smallest section.
It has one field, Table Identifier, and one record referencing the technology table ST015MD0-N2S0-30-2.
MICROJOINT
This section defines 14 fields covering:
-
whether programmed and automatic microjoints are active
-
microjoint widths for small, medium, and large contours
-
contour dimension limits
-
nano-joint related flags
LEAD_IN
This section defines 28 fields. The values are grouped by contour size and describe:
-
approach strategy
-
piercing type
-
approach method
-
cutting or vaporizing type
-
linear approach length
-
arc radius
-
approach angle
-
precut length
PROGRAMM
This section is structurally different because it contains both a normal DA row and a free-form NC text block.
The metadata portion defines 7 fields:
-
program number
-
program type
-
remark
-
processing time
-
file type
-
increasing record number flag
-
part type index
The general record format is:
DA,'<program number>','<program type>','<remark>',<processing time>,'<file type>',<inc-flag>,<part-type-index>
START_TEXT
...
STOP_TEXT
The second field is the program type. In practice, the important variants are main program HP and sub program SP.
Main Program HP
HP is the main program entry point.
In the example file, the PROGRAMM record is:
DA,'TST630NOMJ_1','HP','',0,'LST',1,0
Its NC block typically contains program-level initialization and execution flow, for example:
-
setup or mode commands such as
G71,F…, andG90 -
technology-table and setup references such as
TC_SHEET_TECH,TC_SHEET_LOAD, andTC_MICROJOINT -
cutting commands such as
TC_LASER_ON, motion blocks, andTC_LASER_OFF -
program termination, usually
M30
Observed HP structure:
DA,'<main program>','HP','',<time>,'LST',1,<part-index>
START_TEXT
N10 MSG("scope begin ...")
N20 G71
N30 F...
N40 TC_POS_LEVEL(...)
N50 TC_SHEET_TECH("...")
N60 TC_SHEET_LOAD("...")
N70 TC_MICROJOINT("...")
N80 G90
... cutting and motion blocks ...
N2890 M30
STOP_TEXT
Sub Program SP
SP uses the same 7-field PROGRAMM schema, but the Program type field is SP instead of HP.
Schema-level structure:
DA,'<sub program>','SP','<remark>',<time>,'LST',1,<part-index>
START_TEXT
... reusable machining sequence ...
STOP_TEXT
Compared with HP, an SP block is typically used as a subordinate machining routine.
It usually contains the contour or operation body that can be called from a higher-level program, while machine-wide setup is kept in the HP block.
Typical SP characteristics:
-
same
BEGIN_PROGRAMM/ZA,MM/ZA,DA/START_TEXT/STOP_TEXTcontainer -
DArow usesSPin the program-type field -
NC text focuses on local machining steps rather than full-job initialization
-
may omit global setup commands and final job termination logic handled by the main
HPprogram
After the DA row, the NC code appears between START_TEXT and STOP_TEXT:
START_TEXT
N10 MSG("scope begin NcProgramGuid: 0434d4a9-f4e7-40e5-9c28-d4b191f20b1a")
N20 G71
N30 F280000
...
N2890 M30
STOP_TEXT
This block is plain program text and should not be parsed as comma-separated DA data.