Table of Contents

Class BlockSkip

Namespace
Hi.NcParsers.Keywords
Assembly
HiMech.dll

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.
Not a comment: a comment is static metadata, block skip is a runtime toggle that can change per machine/operator setting.
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

string

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

int

Symbol

Delimiter symbol as it appeared in the NC block (always "/").

public string Symbol { get; set; }

Property Value

string