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.Keywords.IncrementalWords.html
T
2026-09-15 01:12:50 +08:00

227 lines
12 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Class IncrementalWords | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Class IncrementalWords | HiAPI-C# 2025 ">
<meta name="description" content="One-shot block-root record of the axis words this block programmed as increments — under modal G91, or through a per-word entry (Siemens IC(), klartext IX+/IC+) — valued with the programmed delta and shaped like the Parsing tree the word came from: a root word is a root key ({ &amp;ldquo;X&amp;rdquo;: 10 }, { &amp;ldquo;C&amp;rdquo;: 20 }), a word inside a nested record sits under that record&#39;s key ({ &amp;ldquo;G28&amp;rdquo;: { &amp;ldquo;X&amp;rdquo;: 0, &amp;ldquo;C&amp;rdquo;: 10 } }, { &amp;ldquo;CC&amp;rdquo;: { &amp;ldquo;X&amp;rdquo;: 0, &amp;ldquo;Y&amp;rdquo;: 11 } }). Why it exists: the resolve is in place. rewrites the word inside Parsing to its absolute value and writes the accumulated angle into MachineCoordinateState, while the modal section must keep saying G91 for the next block&#39;s lookback. From that point on { &quot;Positioning&quot;: G91, &quot;Parsing&quot;: { &quot;G28&quot;: { &quot;X&quot;: 100 } } } is byte-identical to a program that wrote G90 G28 X100., and once the consumer has taken the word out of Parsing the programmed text is gone from the JSON altogether. This section is the trace that the word was an increment, and of what it was. Written by (the words at its working paths — root, G28, the klartext CC record) and (root rotary words). Read by as an idempotency guard — a word already listed at its path is never converted twice, whatever the syntax list looks like (a project file whose serialized list carries two instances, a re-run over a frozen piece) — and by , where a listed rotary axis is a signed traverse that passes the shortest-path wrap literally, whichever spelling made it incremental. Not listed in any key set — it never carries to later blocks. Not recorded: coded-position words (Siemens CIC() counts indexing positions, not an angle — its trace is the rewritten entry), and the words the two consumers ahead of the shared resolve take for themselves (&#39;s cycle words, &#39;s machine-frame words): both consume the word into their own section, so no absolute-looking copy is left in Parsing to be mistaken for a programmed absolute.">
<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.Keywords.IncrementalWords">
<h1 id="Hi_NcParsers_Keywords_IncrementalWords" data-uid="Hi.NcParsers.Keywords.IncrementalWords" class="text-break">
Class IncrementalWords
</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.Keywords.html">Keywords</a></dd></dl>
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
</div>
<div class="markdown summary"><p>One-shot block-root record of the axis words this block programmed as
<b>increments</b> — under modal <code>G91</code>, or through a per-word
<a class="xref" href="Hi.NcParsers.Keywords.Positioning.html#Hi_NcParsers_Keywords_Positioning_Incremental">Incremental</a> entry (Siemens <code>IC()</code>,
klartext <code>IX+</code>/<code>IC+</code>) — valued with the programmed delta
and shaped like the <code>Parsing</code> tree the word came from: a root
word is a root key (<code>{ &ldquo;X&rdquo;: 10 }</code>, <code>{ &ldquo;C&rdquo;: 20 }</code>), a word
inside a nested record sits under that record's key
(<code>{ &ldquo;G28&rdquo;: { &ldquo;X&rdquo;: 0, &ldquo;C&rdquo;: 10 } }</code>,
<code>{ &ldquo;CC&rdquo;: { &ldquo;X&rdquo;: 0, &ldquo;Y&rdquo;: 11 } }</code>).</p>
<p>
Why it exists: the resolve is in place.
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.html">IncrementalResolveSyntax</a> rewrites the word
inside <code>Parsing</code> to its absolute value and
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html">McAbcSyntax</a> writes the accumulated angle
into <code>MachineCoordinateState</code>, while the modal
<a class="xref" href="Hi.NcParsers.Keywords.Positioning.html">Positioning</a> section must keep saying <code>G91</code> for the
next block's lookback. From that point on
<code>{ "Positioning": G91, "Parsing": { "G28": { "X": 100 } } }</code> is
byte-identical to a program that wrote <code>G90 G28 X100.</code>, and once
the consumer has taken the word out of <code>Parsing</code> the programmed
text is gone from the JSON altogether. This section is the trace that
the word was an increment, and of what it was.
</p>
<p>
Written by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.html">IncrementalResolveSyntax</a> (the
words at its working paths — root, <code>G28</code>, the klartext
<code>CC</code> record) and <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html">McAbcSyntax</a> (root
rotary words). Read by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.html">IncrementalResolveSyntax</a>
as an idempotency guard — a word already listed at its path is never
converted twice, whatever the syntax list looks like (a project file
whose serialized list carries two instances, a re-run over a frozen
piece) — and by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.html">McAbcCyclicPathSyntax</a>,
where a listed rotary axis is a signed traverse that passes the
shortest-path wrap literally, whichever spelling made it incremental.
Not listed in any <a class="xref" href="Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html">ModalCarrySyntax</a> key
set — it never carries to later blocks.
</p>
<p>
Not recorded: coded-position words (Siemens <code>CIC()</code> counts
indexing positions, not an angle — its trace is the rewritten
<a class="xref" href="Hi.NcParsers.Keywords.PositioningOverride.html">PositioningOverride</a> entry), and the words the two
consumers ahead of the shared resolve take for themselves
(<a class="xref" href="Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCannedCycleSyntax.html">HeidenhainCannedCycleSyntax</a>'s
cycle words, <a class="xref" href="Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.html">MachineCoordSelectSyntax</a>'s
machine-frame words): both consume the word into their own section, so
no absolute-looking copy is left in <code>Parsing</code> to be mistaken for
a programmed absolute.
</p>
</div>
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static class IncrementalWords</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">IncrementalWords</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 id="Hi_NcParsers_Keywords_IncrementalWords_examples">Examples</h2>
<pre><code class="lang-csharp">"IncrementalWords": { "X": 10, "G28": { "C": 10 } }</code></pre>
</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>