Class FanucParameterTableProxy
- Namespace
- Hi.NcParsers.Dependencys.Fanuc
- Assembly
- HiMech.dll
Get-or-create INcDependencyProxy for FanucParameterTable
(the Fanuc / Mazak family parameter table): a placeholder in the shared
PipelineNcDependencyList that resolves the host project's own
parameter table. Unlike the pure per-case proxies, the Fanuc-family parameter
table mixes machine config (axis types / reference positions / rapid / stroke)
with per-case work-coordinate offsets (#5221+ / #7001+), so the
proxy carries a fixed machine-config Seed that is serialized into
the shared runner file. On wire, the host receives a deep clone of the seed only
when it has no FanucParameterTable yet; a loaded project's own full
table wins. The resolved host table holds everything (machine config + per-case
coordinates) and is fully serialized on the project.
The proxy deliberately does not implement the machine-config interfaces (IMachineAxisConfig etc.) — every machine-config consumer must go through GetEffectiveNcDependencyList() so it sees the resolved host table, never this placeholder.
public sealed class FanucParameterTableProxy : INcDependencyProxy, INcDependency, IMakeXmlSource
- Inheritance
-
FanucParameterTableProxy
- Implements
- Inherited Members
- Extension Methods
Constructors
FanucParameterTableProxy(FanucParameterTable)
Creates a proxy carrying seed as its machine-config
seed, defaulting to Default3Axis.
public FanucParameterTableProxy(FanucParameterTable seed = null)
Parameters
seedFanucParameterTableThe machine-config seed cloned into a fresh host.
Properties
Seed
The fixed machine-config seed deep-cloned into a host that has no FanucParameterTable yet. Carried on the shared runner and serialized into the runner file — never the per-case instance, which lives on the host (see GetNcDependency()).
public FanucParameterTable Seed { get; }
Property Value
XName
XML element name used to register this dependency with XFactory.
public static string XName { get; }
Property Value
Methods
GetNcDependency()
Takes the host's FanucParameterTable (created during
InitNcDependencyHost(INcDependencyListHost)). Returns null when no host is wired.
public INcDependency GetNcDependency()
Returns
InitNcDependencyHost(INcDependencyListHost)
Wires the host and materializes the host FanucParameterTable: when the host list has none, a deep clone of Seed is installed so machine config + per-case coordinates exist and are editable before any run. GetNcDependency() is then a pure take. Idempotent — an existing host table (a loaded project's) is left untouched.
public void InitNcDependencyHost(INcDependencyListHost host)
Parameters
MakeXmlSource(string, string, bool)
Serializes only the machine-config Seed — the wired host and the resolved host table are runtime-only and not persisted in the shared runner.
public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly)
Parameters
Returns
Reg(XFactory)
Registers this type's deserializer with the given XFactory
(or Default when factory is
null). Rehydrates the carried Seed from the nested
FanucParameterTable element, falling back to
Default3Axis when absent. Idempotent.
public static void Reg(XFactory factory = null)
Parameters
factoryXFactory