Class NcRunnerSuit
A switchable “runner suit”: bundles the per-machine NC pipeline (SoftNcRunner plus its optional side-file path SoftNcRunnerFile) with the per-workpiece PerCaseNcDependencyList the runner's INcDependencyProxy placeholders resolve against. The suit is the proxies' INcDependencyListHost, so the runner and its case data switch together as one unit — load a different suit to switch the active parser (NC or CSV) within a session.
Read/Write only (pure IO, no own XxxFile identity pointer): the owning
project serializes the suit's two members flat in the project XML,
keeping the per-workpiece PerCaseNcDependencyList project-local
rather than a shared side file.
public class NcRunnerSuit : IMakeXmlSource, INcDependencyListHost
- Inheritance
-
NcRunnerSuit
- Implements
- Inherited Members
- Extension Methods
Constructors
NcRunnerSuit()
Creates a default suit (Fanuc preset runner, empty per-case list).
public NcRunnerSuit()
NcRunnerSuit(XElement, string, string, IProgress<IMessage>, object[])
Reconstructs a suit from a <NcRunnerSuit> element previously
produced by MakeXmlSource(string, string, bool). The runner unwraps an optional
SoftNcRunnerFile side-file ref (stamped back onto
SoftNcRunnerFile); the per-case list falls back to the legacy
element name NcDependencyList. Proxies are bound to this suit before
returning.
public NcRunnerSuit(XElement src, string baseDirectory, string relFile, IProgress<IMessage> progress, object[] res = null)
Parameters
Properties
PerCaseNcDependencyList
The case-specific dependencies (tool offsets, coordinate tables, parameter tables, …) that proxies take from — never the runner's own fixed list. A get-or-create proxy may also append the dependency it makes here.
public List<INcDependency> PerCaseNcDependencyList { get; set; }
Property Value
SoftNcRunner
The per-machine NC pipeline. Plain auto-property: callers that (re)assign it at construction or switch time call WireNcDependencyProxies() explicitly once the per-case list is also in place (so proxy host binding is not run prematurely against a stale list).
public SoftNcRunner SoftNcRunner { get; set; }
Property Value
SoftNcRunnerFile
Project-relative file path of the SoftNcRunner XML. When
non-null the runner is written to a sibling side file and referenced;
when null it is inlined. Mirrors MachiningEquipment.MachiningChainFile.
public string SoftNcRunnerFile { get; set; }
Property Value
XName
XML element name for Generators registration.
public static string XName { get; }
Property Value
Methods
MakeXmlSource(string, string, bool)
Serializes the suit as <NcRunnerSuit> containing
<SoftNcRunner> (honouring SoftNcRunnerFile —
inline when null, side-file ref otherwise) and
<PerCaseNcDependencyList>. The owning project wraps this in its
own <NcRunnerSuit> slot and reloads it via
XFactory's GenByChild.
public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly)
Parameters
Returns
Reg(XFactory)
Registers NcRunnerSuit and chains Reg(XFactory) for every pipeline component a suit may deserialize. Idempotent.
public static void Reg(XFactory factory = null)
Parameters
factoryXFactory
WireNcDependencyProxies()
Binds every INcDependencyProxy in SoftNcRunner's pipeline list to THIS suit as host; a get-or-create proxy materializes its data into PerCaseNcDependencyList. Idempotent. Call after (re)assigning SoftNcRunner or PerCaseNcDependencyList.
public void WireNcDependencyProxies()