Table of Contents

Class FanucSyntaxUtil

Namespace
Hi.NcParsers.Syntaxs
Assembly
HiMech.dll

Pre-built ParameterizedFlagSyntax / flag patterns for Fanuc-style NC text.

public static class FanucSyntaxUtil
Inheritance
FanucSyntaxUtil
Inherited Members

Fields

VarTag

Variable token prefix for Fanuc macro addresses (#).

public const string VarTag = "#"

Field Value

string

Properties

DefaultSyntaxList

Syntax list for general kind of Fanuc Controller.

public static List<INcSyntax> DefaultSyntaxList { get; }

Property Value

List<INcSyntax>

G05Syntax

G05 P{n}: Fanuc HPCC family selector. P is a function-selection code, not a quantity: P10000 enters high-precision contour control (RISC-board look-ahead — never alters programmed coordinates), P0 cancels, P10001–P10999 call high-speed cycle machining (executes cycle data pre-registered in the variable area — real axis motion), and small P values select the high-speed remote buffer modes (binary DNC transfer). Consumed by FanucPathSmoothingSyntax into the block-local FanucHpcc section (see IFanucHpccDef). Both the G05 and G5 spellings are captured (the DwellSyntax G4/G04 discipline); the trailing-character guard keeps G05.1 for G05p1Syntax.

public static ParameterizedFlagSyntax G05Syntax { get; }

Property Value

ParameterizedFlagSyntax

G05p1Syntax

G05.1 High-precision contour control (Fanuc AICC / Nano Smoothing). Q1 enables, Q0 disables. Optional R{n} selects the precision / smoothness level number (R1..R10) — captured here so the parameter does not leak into the standalone Parsing.R tag and so FanucPathSmoothingSyntax can record it in the PathSmoothing modal section for bidirectional NC-text reconstruction.

public static ParameterizedFlagSyntax G05p1Syntax { get; }

Property Value

ParameterizedFlagSyntax

G43p4Syntax

G43.4: Fanuc TCPM (Tool Center Point Management / RTCP). Fanuc-specific — not in GenericSyntaxKit. Siemens equivalent: TRAORI. Heidenhain equivalent: M128. TerminateWords intentionally only M: H (offset id) commonly appears after move axes or other G modifiers in the same block (e.g., G43.4 Z5. H1, G43.4 G54 H1). Using G/X/Y/Z would truncate scope before H and lose the offset id.

public static ParameterizedFlagSyntax G43p4Syntax { get; }

Property Value

ParameterizedFlagSyntax

G54p1Syntax

G54.1 P… additional work coordinate system selection, in both spellings Fanuc's manual gives the chapter (“G54.1 or G54”): G54.1 P4 / G54.1P4 and G54 P4 / G54P4 all land as Parsing.G54.1 = {P: 4}. The G54 spelling is a parameter-gated alias: without a P word it is left alone and stays the ordinary G54 flag for NumberedFlagSyntax. Any P word on a G54 block is taken as the offset index, as the controller does (the manual forbids other P uses on that block). Shared by the Syntec and Mazak presets; consumed by IsoCoordinateOffsetSyntax.

public static ParameterizedFlagSyntax G54p1Syntax { get; }

Property Value

ParameterizedFlagSyntax

G65Syntax

G65: Fanuc one-shot custom macro call. G65 P{program} [L{repeat}] [{arg_letter}{value} ...]

public static ParameterizedFlagSyntax G65Syntax { get; }

Property Value

ParameterizedFlagSyntax

Remarks

Macro argument letters: A-E, F, H-K, M, Q-Z map to local variables #1-#26. G, L, N, O, P are reserved (G-code prefix, repeat count, line number, program number, program to call).

G66Syntax

G66: Fanuc modal custom macro call. G66 P{program} [L{repeat}] [{arg_letter}{value} ...]

public static ParameterizedFlagSyntax G66Syntax { get; }

Property Value

ParameterizedFlagSyntax

Remarks

Same argument letters as G65. Modal: executes at every positioning block until cancelled by G67.

M198Syntax

M198: Fanuc subprogram call from external storage (memory card, USB, DNC drive). Same parameter shape as M98Syntax; only the lookup root differs (see ExternalFolder). M198 P{program} [L{repeat}]

public static ParameterizedFlagSyntax M198Syntax { get; }

Property Value

ParameterizedFlagSyntax

M98Syntax

M98: Fanuc subprogram call. M98 P{program} [L{repeat}]

public static ParameterizedFlagSyntax M98Syntax { get; }

Property Value

ParameterizedFlagSyntax

M99Syntax

M99: Fanuc subprogram end / return. M99 [P{sequence}]

public static ParameterizedFlagSyntax M99Syntax { get; }

Property Value

ParameterizedFlagSyntax