This repository has been archived on 2026-10-11. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
HiNC-2025-win-desktop-Deploy/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.html
T
2026-09-11 03:46:11 +08:00

259 lines
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Namespace Hi.NcParsers.Dependencys.Generic | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Namespace Hi.NcParsers.Dependencys.Generic | HiAPI-C# 2025 ">
<link rel="icon" href="../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
<meta name="docfx:navrel" content="../toc.html">
<meta name="docfx:tocrel" content="toc.html">
<meta name="docfx:rel" content="../">
<meta name="loc:inThisArticle" content="In this article">
<meta name="loc:searchResultsCount" content="{count} results for &quot;{query}&quot;">
<meta name="loc:searchNoResults" content="No results for &quot;{query}&quot;">
<meta name="loc:tocFilter" content="Filter by title">
<meta name="loc:nextArticle" content="Next">
<meta name="loc:prevArticle" content="Previous">
<meta name="loc:themeLight" content="Light">
<meta name="loc:themeDark" content="Dark">
<meta name="loc:themeAuto" content="Auto">
<meta name="loc:changeTheme" content="Change theme">
<meta name="loc:copy" content="Copy">
<meta name="loc:downloadPdf" content="Download PDF">
<script type="module" src="./../public/docfx.min.js"></script>
<script>
const theme = localStorage.getItem('theme') || 'auto'
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
</script>
</head>
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
<header class="bg-body border-bottom">
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
<div class="container-xxl flex-nowrap">
<a class="navbar-brand" href="../index.html">
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
</a>
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
<i class="bi bi-three-dots"></i>
</button>
<div class="collapse navbar-collapse" id="navpanel">
<div id="navbar">
<form class="search" role="search" id="search">
<i class="bi bi-search"></i>
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
</form>
</div>
</div>
</div>
</nav>
</header>
<main class="container-xxl">
<div class="toc-offcanvas">
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<nav class="toc" id="toc"></nav>
</div>
</div>
</div>
<div class="content">
<div class="actionbar">
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
<i class="bi bi-list"></i>
</button>
<nav id="breadcrumb"></nav>
</div>
<article data-uid="Hi.NcParsers.Dependencys.Generic">
<h1 id="Hi_NcParsers_Dependencys_Generic" data-uid="Hi.NcParsers.Dependencys.Generic" class="text-break">Namespace Hi.NcParsers.Dependencys.Generic</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>
<div class="markdown level0 remarks"></div>
<h3 id="classes">
Classes
</h3>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Dependencys.Generic.FallbackConfig.html">FallbackConfig</a></dt>
<dd><p>HiNC-specific fallback dependency that provides default values
for all optional configuration interfaces.</p>
<p>
Should be placed as the <b>last element</b> in
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_PipelineNcDependencyList">PipelineNcDependencyList</a> so that brand-specific
parameter tables (which appear earlier) take priority via
<code>OfType&lt;T&gt;().FirstOrDefault()</code>.
</p>
<p>
When a brand table (e.g., <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.html">FanucParameterTable</a>)
implements the same interface, its values are used instead.
This class serves as a safety net for brands that do not define
certain parameters (e.g., Siemens/Heidenhain have no system
parameter for G83 peck retraction — it is per-call).
</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Dependencys.Generic.GenericBlockSkipConfig.html">GenericBlockSkipConfig</a></dt>
<dd><p>Default <a class="xref" href="Hi.NcParsers.Dependencys.IBlockSkipConfig.html">IBlockSkipConfig</a>. Mirrors the typical Fanuc
factory default: layer 1 (bare <code>/</code> prefix) is ON, other layers
are OFF. Each layer can be toggled individually.</p>
<p>
XML form:
<pre><code class="lang-csharp">&lt;GenericBlockSkipConfig&gt;
&lt;EnabledLayers&gt;1,3&lt;/EnabledLayers&gt;
&lt;/GenericBlockSkipConfig&gt;</code></pre>
When <code>EnabledLayers</code> is absent the default is layer 1 only.
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.html">IsoCoordinateTable</a></dt>
<dd><p>Coordinate table for NC controller.
The dictionary key is a G-code coordinate name (e.g. &ldquo;G54&rdquo;, &ldquo;G59.2&rdquo;);
the dictionary value is machine coordinate offset.</p>
<p>
Brand-agnostic standalone implementation of <a class="xref" href="Hi.NcParsers.Dependencys.IIsoCoordinateConfig.html">IIsoCoordinateConfig</a>.
Brand parameter tables (Fanuc, Syntec, Siemens, Heidenhain) provide
hardware-faithful alternatives that map to real controller parameters.
</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Dependencys.Generic.IsoCoordinateTableProxy.html">IsoCoordinateTableProxy</a></dt>
<dd><p>Get-or-create <a class="xref" href="Hi.NcParsers.Dependencys.INcDependencyProxy.html">INcDependencyProxy</a> for <a class="xref" href="Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.html">IsoCoordinateTable</a>:
a placeholder in the shared <a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_PipelineNcDependencyList">PipelineNcDependencyList</a> that
resolves the host project's own per-case work coordinate offsets (G54–G59…).</p>
<p>
The proxy may carry a <a class="xref" href="Hi.NcParsers.Dependencys.Generic.IsoCoordinateTableProxy.html#Hi_NcParsers_Dependencys_Generic_IsoCoordinateTableProxy_Seed">Seed</a> — the shape (which ids exist,
all zero) a fresh host table is cloned from. The Fanuc, Mazak and Syntec
presets mount this proxy behind their brand parameter table with the
<a class="xref" href="Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.html#Hi_NcParsers_Dependencys_Generic_IsoCoordinateTable_ExtendedG59x">ExtendedG59x</a> seed, so the brand table
keeps G54–G59 and G54.1 P1–P48 while this table carries only the extended
G59.1–G59.9 the brand tables cannot map. Without a seed the fresh table is
the full brand-neutral set (the shape every pre-seed <code>&lt;IsoCoordinateTableProxy/&gt;</code>
element materialized).
</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Dependencys.Generic.MachineAxisConfig.html">MachineAxisConfig</a></dt>
<dd><p>Brand-neutral <a class="xref" href="Hi.NcParsers.Dependencys.IMachineAxisConfig.html">IMachineAxisConfig</a> backed by a plain axis→type
map, for pipelines that have no controller parameter table (e.g. the NX
CLSF runner). Typically populated from the machine chain via
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_ConfigureByMachiningChain_Hi_Mech_IMachiningChain_">ConfigureByMachiningChain(IMachiningChain)</a>; rotary axes default
to modular (<a class="xref" href="Hi.NcParsers.Dependencys.IMachineAxisConfig.html#Hi_NcParsers_Dependencys_IMachineAxisConfig_IsModularRotary_System_String_">IsModularRotary(string)</a> inherited),
matching the cyclic shortest-path treatment of
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.html">McAbcCyclicPathSyntax</a>.</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.html">SubProgramFolderConfig</a></dt>
<dd><p>Folder lookup configuration for
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.SubProgramCallSyntax.html">SubProgramCallSyntax</a>: where to find an
<code>O&lt;n&gt;</code> file when the host program executes <code>M98 P_ L_</code>
(<a class="xref" href="Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.html#Hi_NcParsers_Dependencys_Generic_SubProgramFolderConfig_InternalFolder">InternalFolder</a>) or <code>M198 P_</code>
(<a class="xref" href="Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.html#Hi_NcParsers_Dependencys_Generic_SubProgramFolderConfig_ExternalFolder">ExternalFolder</a>, modelling Fanuc's external storage call —
memory card, USB, DNC drive — whose only difference from M98 is the
search root).</p>
<p>
Either path may be absolute or relative; when relative, it resolves
against the host file's parent directory at lookup time. Either may
be null — a null <a class="xref" href="Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.html#Hi_NcParsers_Dependencys_Generic_SubProgramFolderConfig_ExternalFolder">ExternalFolder</a> falls back to
<a class="xref" href="Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.html#Hi_NcParsers_Dependencys_Generic_SubProgramFolderConfig_InternalFolder">InternalFolder</a>; a null <a class="xref" href="Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.html#Hi_NcParsers_Dependencys_Generic_SubProgramFolderConfig_InternalFolder">InternalFolder</a>
falls back to the host file's parent directory.
</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Dependencys.Generic.ToolOffsetRow.html">ToolOffsetRow</a></dt>
<dd><p>Single row of a <a class="xref" href="Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.html">ToolOffsetTable</a>.
Stores geometry (ideal) and wear components for height and radius.
Matches Fanuc Memory C layout where H and D share the same row.</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.html">ToolOffsetTable</a></dt>
<dd><p>Integer-keyed tool offset table implementing <a class="xref" href="Hi.NcParsers.Dependencys.IToolOffsetConfig.html">IToolOffsetConfig</a>.
Suitable for Fanuc (H/D), Heidenhain (tool number), Mazak, Okuma,
and other ISO-compatible controllers.
Key = offset number (Fanuc H or D number).</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Dependencys.Generic.ToolOffsetTableProxy.html">ToolOffsetTableProxy</a></dt>
<dd><p>Get-or-create <a class="xref" href="Hi.NcParsers.Dependencys.INcDependencyProxy.html">INcDependencyProxy</a> for <a class="xref" href="Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.html">ToolOffsetTable</a>:
a placeholder in the shared <a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_PipelineNcDependencyList">PipelineNcDependencyList</a> that
resolves the host project's own per-case tool offsets. The shared runner file
holds only this proxy, never the offset data.</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Dependencys.Generic.ToolingMcConfig.html">ToolingMcConfig</a></dt>
<dd><p>HiNC-specific: machine position axes move to during tool change (M06).
Not a standard Fanuc parameter — in real Fanuc, tool change motion
is programmed in the macro program (O9006).
Each axis value: a position to move to, or <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double.nan">NaN</a> to stay.</p>
</dd>
</dl>
<h3 id="enums">
Enums
</h3>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Dependencys.Generic.RadiusOffsetBasis.html">RadiusOffsetBasis</a></dt>
<dd><p>Which cutter-radius compensation strategy the NC program was posted
for — decides what a tool-house refresh writes into the radius
(D) column of a tool offset table. The height (H) column is refreshed
the same way under both strategies. This is an output-affecting,
project-level choice: the user or agent picks it after confirming how
the NC program was posted, because a refresh under the wrong basis
silently offsets the tool by a full cutter radius.</p>
</dd>
</dl>
</article>
<div class="contribution d-print-none">
</div>
</div>
<div class="affix">
<nav id="affix"></nav>
</div>
</main>
<div class="container-xxl search-results" id="search-results"></div>
<footer class="border-top text-secondary">
<div class="container-xxl">
<div class="flex-fill">
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
</div>
</div>
</footer>
</body>
</html>