Class BlockSkip
Optional block skip marker extracted from the head of an NC block.
ISO 6983 / Fanuc calls this feature Block Delete (BDT switch);
Siemens / Syntec / Mazak use the same / prefix with matching
behaviour.
The section is only present on blocks that carry a / prefix.
Whether the block's NC commands are actually skipped at runtime
depends on IBlockSkipConfig:
- Config absent or the Layer bit OFF → the
/prefix is consumed, Body is left null, and the rest of the line parses as a regular NC block (comments still take effect). - Config present and the Layer bit ON → the rest
of the line is moved into Body and cleared from
UnparsedText, so downstream parsing syntaxes see nothing and no NC action is emitted. Comment syntaxes run before this one so comments (and any embedded CsScript) still take effect.
public class BlockSkip
- Inheritance
-
BlockSkip
- Inherited Members
- Extension Methods
Properties
Body
NC commands from the block that were moved out of
UnparsedText because the skip took effect (after comment
and CsScript extraction, with surrounding whitespace trimmed).
Represents the semantic payload of the skipped block — not a
verbatim snapshot; recover human-readable NC text with a
dedicated formatter if needed.
null when the skip did not take effect (no IBlockSkipConfig
or its layer bit was OFF); in that case the block's commands are
still in UnparsedText and parse normally.
public string Body { get; set; }
Property Value
Layer
Skip layer (1..9). A bare / without a digit is layer 1
(most controllers treat / and /1 as the same switch).
/2../9 map to layers 2..9.
public int Layer { get; set; }
Property Value
Symbol
Delimiter symbol as it appeared in the NC block (always "/").
public string Symbol { get; set; }