Class FanucMacroCall
One-shot custom-macro-call record written by
FanucMacroCallSyntax. Lives on both the
G65 host block (the caller) and every inlined block of the
macro body — so a cache-dump reader can land on any block inside the
macro and immediately see “this block belongs to a G65 call of
FileName with these argument bindings” without back-walking
to find the host.
Each inlined block additionally carries the resolved
Vars.Local #1-#26 bindings derived from Args
(see FanucMacroArgumentMap), so
LocalVariableLookup
resolves macro args in a single-block lookup. Frame isolation is
structural: caller blocks never have Vars.Local written, so
after the macro body ends, the next caller block reads null
for any #1-#26 without any explicit frame marker.
public class FanucMacroCall
- Inheritance
-
FanucMacroCall
- Inherited Members
- Extension Methods
Properties
Args
Argument-letter → numeric-value map captured from the call line
(e.g., G65 P9100 A1.5 B2. ⇒ { “A”: 1.5, “B”: 2.0 }).
The matching Vars.Local bindings on each inlined block are
derived from this via the Type-I argument-letter map
(FanucMacroArgumentMap).
public JsonObject Args { get; set; }
Property Value
FileName
Bare matched file name (e.g. “O9100.NC”). The resolver
tries several fallback patterns
(FilenamePatterns);
this records which one hit. JSON-portable across environments —
the folder context lives on the host's
SubProgramFolderConfig dependency, not encoded here.
public string FileName { get; set; }
Property Value
L
Repeat count from the L parameter; defaults to 1 when absent.
public int L { get; set; }
Property Value
P
Macro program number from the P parameter (e.g., 9100 for O9100).
public int P { get; set; }
Property Value
Term
Triggering keyword (always “G65”).
public string Term { get; set; }