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.Syntaxs.FanucSyntaxUtil.html
T
2026-09-09 17:35:23 +08:00

588 lines
19 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>Class FanucSyntaxUtil | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Class FanucSyntaxUtil | HiAPI-C# 2025 ">
<meta name="description" content="Pre-built / flag patterns for Fanuc-style NC text.">
<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.Syntaxs.FanucSyntaxUtil">
<h1 id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil" class="text-break">
Class FanucSyntaxUtil
</h1>
<div class="facts text-secondary">
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.NcParsers.html">NcParsers</a>.<a class="xref" href="Hi.NcParsers.Syntaxs.html">Syntaxs</a></dd></dl>
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
</div>
<div class="markdown summary"><p>Pre-built <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html">ParameterizedFlagSyntax</a> / flag patterns for Fanuc-style NC text.</p>
</div>
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static class FanucSyntaxUtil</code></pre>
</div>
<dl class="typelist inheritance">
<dt>Inheritance</dt>
<dd>
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
<div><span class="xref">FanucSyntaxUtil</span></div>
</dd>
</dl>
<dl class="typelist inheritedMembers">
<dt>Inherited Members</dt>
<dd>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
</div>
</dd></dl>
<h2 class="section" id="fields">Fields
</h2>
<h3 id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_VarTag" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.VarTag">
VarTag
</h3>
<div class="markdown level1 summary"><p>Variable token prefix for Fanuc macro addresses (<code>#</code>).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string VarTag = &quot;#&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h2 class="section" id="properties">Properties
</h2>
<a id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_DefaultSyntaxList_" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.DefaultSyntaxList*"></a>
<h3 id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_DefaultSyntaxList" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.DefaultSyntaxList">
DefaultSyntaxList
</h3>
<div class="markdown level1 summary"><p>Syntax list for general kind of Fanuc Controller.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static List&lt;INcSyntax&gt; DefaultSyntaxList { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1">List</a>&lt;<a class="xref" href="Hi.NcParsers.Syntaxs.INcSyntax.html">INcSyntax</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_G05Syntax_" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.G05Syntax*"></a>
<h3 id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_G05Syntax" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.G05Syntax">
G05Syntax
</h3>
<div class="markdown level1 summary"><p>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
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.html">FanucPathSmoothingSyntax</a> into the
block-local <code>FanucHpcc</code> section (see
<a class="xref" href="Hi.NcParsers.Keywords.IFanucHpccDef.html">IFanucHpccDef</a>). Both the <code>G05</code> and
<code>G5</code> spellings are captured (the
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.DwellSyntax.html">DwellSyntax</a> G4/G04 discipline); the
trailing-character guard keeps <code>G05.1</code> for
<a class="xref" href="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.html#Hi_NcParsers_Syntaxs_FanucSyntaxUtil_G05p1Syntax">G05p1Syntax</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static ParameterizedFlagSyntax G05Syntax { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html">ParameterizedFlagSyntax</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_G05p1Syntax_" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.G05p1Syntax*"></a>
<h3 id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_G05p1Syntax" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.G05p1Syntax">
G05p1Syntax
</h3>
<div class="markdown level1 summary"><p>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
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.html">FanucPathSmoothingSyntax</a> can record it
in the <code>PathSmoothing</code> modal section for bidirectional NC-text
reconstruction.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static ParameterizedFlagSyntax G05p1Syntax { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html">ParameterizedFlagSyntax</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_G43p4Syntax_" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.G43p4Syntax*"></a>
<h3 id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_G43p4Syntax" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.G43p4Syntax">
G43p4Syntax
</h3>
<div class="markdown level1 summary"><p>G43.4: Fanuc TCPM (Tool Center Point Management / RTCP).
Fanuc-specific — not in <a class="xref" href="Hi.NcParsers.Syntaxs.GenericSyntaxKit.html">GenericSyntaxKit</a>.
Siemens equivalent: TRAORI. Heidenhain equivalent: M128.
TerminateWords intentionally only <code>M</code>: H (offset id) commonly
appears after move axes or other G modifiers in the same block
(e.g., <code>G43.4 Z5. H1</code>, <code>G43.4 G54 H1</code>). Using G/X/Y/Z
would truncate scope before H and lose the offset id.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static ParameterizedFlagSyntax G43p4Syntax { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html">ParameterizedFlagSyntax</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_G54p1Syntax_" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.G54p1Syntax*"></a>
<h3 id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_G54p1Syntax" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.G54p1Syntax">
G54p1Syntax
</h3>
<div class="markdown level1 summary"><p>G54.1 P… additional work coordinate system selection, in both
spellings Fanuc's manual gives the chapter (&ldquo;G54.1 or G54&rdquo;):
<code>G54.1 P4</code> / <code>G54.1P4</code> and <code>G54 P4</code> / <code>G54P4</code>
all land as <code>Parsing.G54.1 = {P: 4}</code>. The <code>G54</code> spelling is
a <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html#Hi_NcParsers_ParsingSyntaxs_ParameterizedFlagSyntax_ParamGatedAliases">parameter-gated
alias</a>: without a P word it is left alone and stays the ordinary
G54 flag for <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.html">NumberedFlagSyntax</a>. 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
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.html">IsoCoordinateOffsetSyntax</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static ParameterizedFlagSyntax G54p1Syntax { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html">ParameterizedFlagSyntax</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_G65Syntax_" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.G65Syntax*"></a>
<h3 id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_G65Syntax" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.G65Syntax">
G65Syntax
</h3>
<div class="markdown level1 summary"><p>G65: Fanuc one-shot custom macro call.
G65 P{program} [L{repeat}] [{arg_letter}{value} ...]</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static ParameterizedFlagSyntax G65Syntax { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html">ParameterizedFlagSyntax</a></dt>
<dd></dd>
</dl>
<h4 class="section" id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_G65Syntax_remarks">Remarks</h4>
<div class="markdown level1 remarks"><p>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).</p>
</div>
<a id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_G66Syntax_" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.G66Syntax*"></a>
<h3 id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_G66Syntax" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.G66Syntax">
G66Syntax
</h3>
<div class="markdown level1 summary"><p>G66: Fanuc modal custom macro call.
G66 P{program} [L{repeat}] [{arg_letter}{value} ...]</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static ParameterizedFlagSyntax G66Syntax { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html">ParameterizedFlagSyntax</a></dt>
<dd></dd>
</dl>
<h4 class="section" id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_G66Syntax_remarks">Remarks</h4>
<div class="markdown level1 remarks"><p>Same argument letters as G65. Modal: executes at every positioning block
until cancelled by G67.</p>
</div>
<a id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_M198Syntax_" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.M198Syntax*"></a>
<h3 id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_M198Syntax" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.M198Syntax">
M198Syntax
</h3>
<div class="markdown level1 summary"><p>M198: Fanuc subprogram call from external storage (memory card,
USB, DNC drive). Same parameter shape as <a class="xref" href="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.html#Hi_NcParsers_Syntaxs_FanucSyntaxUtil_M98Syntax">M98Syntax</a>;
only the lookup root differs (see
<a class="xref" href="Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.html#Hi_NcParsers_Dependencys_Generic_SubProgramFolderConfig_ExternalFolder">ExternalFolder</a>).
M198 P{program} [L{repeat}]</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static ParameterizedFlagSyntax M198Syntax { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html">ParameterizedFlagSyntax</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_M98Syntax_" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.M98Syntax*"></a>
<h3 id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_M98Syntax" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.M98Syntax">
M98Syntax
</h3>
<div class="markdown level1 summary"><p>M98: Fanuc subprogram call.
M98 P{program} [L{repeat}]</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static ParameterizedFlagSyntax M98Syntax { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html">ParameterizedFlagSyntax</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_M99Syntax_" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.M99Syntax*"></a>
<h3 id="Hi_NcParsers_Syntaxs_FanucSyntaxUtil_M99Syntax" data-uid="Hi.NcParsers.Syntaxs.FanucSyntaxUtil.M99Syntax">
M99Syntax
</h3>
<div class="markdown level1 summary"><p>M99: Fanuc subprogram end / return.
M99 [P{sequence}]</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static ParameterizedFlagSyntax M99Syntax { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html">ParameterizedFlagSyntax</a></dt>
<dd></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>