DSTV block codes explained
Every DSTV NC1 file is a sequence of blocks. A block starts with a two-letter code alone on a line, followed by indented data lines, and runs until the next block code. This page is a working reference for the codes you will actually meet in production files — with the details and exporter quirks the official documentation glosses over. (New to the format? Start with What is a DSTV NC1 file?)
Quick reference
| Code | German origin | Meaning |
|---|---|---|
ST | Start | Part header: identifiers, grade, profile, dimensions |
EN | Ende | End of the part description |
BO | Bohrung | Holes (incl. slots and counterbores) |
AK | Außenkontur | Outer contour: end cuts, copes, bevels |
IK | Innenkontur | Inner contour: openings and cut-outs |
SI | Signierung | Numbering: piece-mark text on the part |
PU | Pulver | Powder marking: layout lines/points |
KO | Körner | Punch (center-punch) marks |
KA | Kanten | Bend lines (mainly plates/sheet) |
SC | Schnitt | Saw cut information |
TO | Toleranz | Tolerances |
UE | Überhöhung | Camber |
PR | Profil | Profile data (rarely used) |
IN | Information | Free-form information |
Face codes: v, o, u, h
Data lines in BO, SI, PU, KO,
AK, and IK begin with a lowercase letter saying which face of
the profile the feature sits on:
v— front / web (Vorderseite)o— top (Oben), e.g. the top flange of an I-beamu— bottom (Unten)h— rear (Hinten), e.g. the back side of a channel or angle
Coordinates are per-face: X along the member from the start end, Y within that face. The same physical location has different Y values on different faces, which is the single biggest source of confusion when reading raw files.
ST — the header
One per file, and everything else depends on it. In order (one value per line): order identification, drawing number, phase, piece/position mark, steel grade, quantity, profile type code (see profile types), profile name, then numeric dimensions — length, profile height, flange width, flange thickness, web thickness, radius, weight per metre, painting surface, and web/flange start angles for pre-cut ends. The profile type code determines how a consumer interprets every coordinate that follows.
BO — holes
BO v 200.00 95.00 18.00 0.00 0.00 o 100.00u 50.00 14.00 10.00 40.00 0.00
Each line: face, X, Y, diameter, then optional fields depending on the feature:
- Plain hole — face, X, Y, diameter.
- Slotted hole — additional depth/angle plus slot length and width fields; some exporters mark slots with extra tokens on the same line.
- Counterbore / stepped hole — expressed as paired definitions (a larger shallow bore plus a through hole at the same position); a robust parser has to match the pair to render one physical hole.
- Suffix letters on coordinates (like
uin the example) indicate the reference edge used for measuring — another exporter-dependent quirk.
AK and IK — outer and inner contours
AK traces the outer boundary of a face as a polyline of X/Y vertices —
this is how end cuts, copes (notches at beam ends), miters, and bevels are described.
A third value on a vertex line is a bulge/radius indicating the segment
to the next vertex is an arc, which is how curved copes and radiused corners appear.
IK uses the same vertex syntax for holes that are not round drilled holes:
rectangular openings, slots cut by plasma, and irregular cut-outs. A face can have
multiple IK contours.
SI, PU, KO — markings
SI— where to write or stamp the piece mark: face, X, Y, text height, angle, and the text itself.PU— powder/scribe layout marking: sequences of points defining lines the machine marks on the steel (e.g. where a stiffener lands during fit-up).KO— punch marks: points to be center-punched, often used the same way.
KA — bends
Mostly relevant for plate (B) parts headed to a press brake: each line
defines a bend line and angle so folded plates can be described in flat pattern.
Plane-suffixed blocks: E1, B2, S1…
Some exporters emit numbered plane variants instead of the classic codes — for example
E1/E2 for contours or B1 for holes on a numbered
plane, following the extended-plane convention for parts with more than four faces
(or exporter-specific face numbering). A practical parser (including
NC1-Viewer.com's) maps these plane-suffixed blocks
(E, B, S, A, I,
P, K + digit) back onto the standard block semantics so the
file renders correctly regardless of which dialect produced it.
Common exporter quirks to expect
- Different token spacing and padding — the format is column-ish but real files vary, so parse by tokens, not columns.
- Reference-edge suffix letters on coordinates (
u,o…) that shift where a measurement is taken from. - Counterbores split across lines that must be recombined.
- Numbered plane blocks (
E1,B1) instead of classic codes. - Missing optional fields that some machines require and others ignore.
Check a real file against this reference
The fastest way to make this concrete is to open one of your own files and click through the faces: every hole, contour vertex, and marking in the text appears in the drawing.