2026-02-11 04:11:05 +08:00

2551 lines
68 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Class HardNcLine | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Class HardNcLine | HiAPI-C# 2025 ">
<meta name="description" content="Represents a line in the NC program with its associated data and operations.">
<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.Numerical.HardNcLine">
<h1 id="Hi_Numerical_HardNcLine" data-uid="Hi.Numerical.HardNcLine" class="text-break">
Class HardNcLine
</h1>
<div class="facts text-secondary">
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Numerical.html">Numerical</a></dd></dl>
<dl><dt>Assembly</dt><dd>HiUniNc.dll</dd></dl>
</div>
<div class="markdown summary"><p>Represents a line in the NC program with its associated data and operations.</p>
</div>
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class HardNcLine : IIndexedFileLine, IFileLine, IFileLineIndex, IGetIndexedFileLine, IGetFileLineIndex, IFlagText</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">HardNcLine</span></div>
</dd>
</dl>
<dl class="typelist implements">
<dt>Implements</dt>
<dd>
<div><a class="xref" href="Hi.Common.FileLines.IIndexedFileLine.html">IIndexedFileLine</a></div>
<div><a class="xref" href="Hi.Common.FileLines.IFileLine.html">IFileLine</a></div>
<div><a class="xref" href="Hi.Common.FileLines.IFileLineIndex.html">IFileLineIndex</a></div>
<div><a class="xref" href="Hi.Common.FileLines.IGetIndexedFileLine.html">IGetIndexedFileLine</a></div>
<div><a class="xref" href="Hi.Common.FileLines.IGetFileLineIndex.html">IGetFileLineIndex</a></div>
<div><a class="xref" href="Hi.MachiningSteps.IFlagText.html">IFlagText</a></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>
</dd></dl>
<dl class="typelist extensionMethods">
<dt>Extension Methods</dt>
<dd>
<div>
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate&lt;TSelf&gt;(TSelf, params object[])</a>
</div>
<div>
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke&lt;TSrc&gt;(TSrc, Action&lt;TSrc&gt;)</a>
</div>
<div>
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke&lt;TSrc, TDst&gt;(TSrc, Func&lt;TSrc, TDst&gt;)</a>
</div>
<div>
<a class="xref" href="Hi.Numerical.HardNcUtil.html#Hi_Numerical_HardNcUtil_IsFlagChanging_Hi_Numerical_HardNcLine_Hi_Numerical_HardNcLine_Hi_Numerical_NcFlag_">HardNcUtil.IsFlagChanging(HardNcLine, HardNcLine, NcFlag)</a>
</div>
<div>
<a class="xref" href="Hi.Numerical.HardNcUtil.html#Hi_Numerical_HardNcUtil_IsFlagChanging_Hi_Numerical_HardNcLine_Hi_Numerical_HardNcLine_Hi_Numerical_NcFlag_System_Boolean_">HardNcUtil.IsFlagChanging(HardNcLine, HardNcLine, NcFlag, bool)</a>
</div>
<div>
<a class="xref" href="Hi.Numerical.HardNcUtil.html#Hi_Numerical_HardNcUtil_IsFlagKeeping_Hi_Numerical_HardNcLine_Hi_Numerical_HardNcLine_Hi_Numerical_NcFlag_System_Boolean_">HardNcUtil.IsFlagKeeping(HardNcLine, HardNcLine, NcFlag, bool)</a>
</div>
<div>
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
</div>
<div>
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
</div>
<div>
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
</div>
<div>
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
</div>
</dd></dl>
<h2 class="section" id="constructors">Constructors
</h2>
<a id="Hi_Numerical_HardNcLine__ctor_" data-uid="Hi.Numerical.HardNcLine.#ctor*"></a>
<h3 id="Hi_Numerical_HardNcLine__ctor_Hi_Numerical_HardNcEnv_Hi_Common_FileLines_IndexedFileLine_Hi_Numerical_HardNcLine_Hi_Numerical_NcNoteCache__System_IProgress_System_Object__" data-uid="Hi.Numerical.HardNcLine.#ctor(Hi.Numerical.HardNcEnv,Hi.Common.FileLines.IndexedFileLine,Hi.Numerical.HardNcLine,Hi.Numerical.NcNoteCache@,System.IProgress{System.Object})">
HardNcLine(HardNcEnv, IndexedFileLine, HardNcLine, out NcNoteCache, IProgress&lt;object&gt;)
</h3>
<div class="markdown level1 summary"><p>Ctor from the reference <a class="xref" href="Hi.Numerical.HardNcLine.html">HardNcLine</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public HardNcLine(HardNcEnv ncEnv, IndexedFileLine fileLine, HardNcLine preNcLine, out NcNoteCache ncNoteCache, IProgress&lt;object&gt; messageHost)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>ncEnv</code> <a class="xref" href="Hi.Numerical.HardNcEnv.html">HardNcEnv</a></dt>
<dd><p>NC environment</p>
</dd>
<dt><code>fileLine</code> <a class="xref" href="Hi.Common.FileLines.IndexedFileLine.html">IndexedFileLine</a></dt>
<dd><p>file line</p>
</dd>
<dt><code>preNcLine</code> <a class="xref" href="Hi.Numerical.HardNcLine.html">HardNcLine</a></dt>
<dd><p>reference <a class="xref" href="Hi.Numerical.HardNcLine.html">HardNcLine</a> that this <a class="xref" href="Hi.Numerical.HardNcLine.html">HardNcLine</a> copy from.
If previous <a class="xref" href="Hi.Numerical.HardNcLine.html">HardNcLine</a> is not null, apply previous <a class="xref" href="Hi.Numerical.HardNcLine.html">HardNcLine</a>.</p>
</dd>
<dt><code>ncNoteCache</code> <a class="xref" href="Hi.Numerical.NcNoteCache.html">NcNoteCache</a></dt>
<dd><p>Output NC note cache</p>
</dd>
<dt><code>messageHost</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iprogress-1">IProgress</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>&gt;</dt>
<dd><p>Message host for warnings</p>
</dd>
</dl>
<a id="Hi_Numerical_HardNcLine__ctor_" data-uid="Hi.Numerical.HardNcLine.#ctor*"></a>
<h3 id="Hi_Numerical_HardNcLine__ctor_Hi_Numerical_HardNcEnv_System_IProgress_System_Object__" data-uid="Hi.Numerical.HardNcLine.#ctor(Hi.Numerical.HardNcEnv,System.IProgress{System.Object})">
HardNcLine(HardNcEnv, IProgress&lt;object&gt;)
</h3>
<div class="markdown level1 summary"><p>Ctor for initial state.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public HardNcLine(HardNcEnv ncEnv, IProgress&lt;object&gt; messageHost)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>ncEnv</code> <a class="xref" href="Hi.Numerical.HardNcEnv.html">HardNcEnv</a></dt>
<dd></dd>
<dt><code>messageHost</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iprogress-1">IProgress</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>&gt;</dt>
<dd></dd>
</dl>
<h2 class="section" id="properties">Properties
</h2>
<a id="Hi_Numerical_HardNcLine_ArcNcArg_" data-uid="Hi.Numerical.HardNcLine.ArcNcArg*"></a>
<h3 id="Hi_Numerical_HardNcLine_ArcNcArg" data-uid="Hi.Numerical.HardNcLine.ArcNcArg">
ArcNcArg
</h3>
<div class="markdown level1 summary"><p>NC arguments for arc commands.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public ArcNcArg ArcNcArg { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Numerical.NcArgs.ArcNcArg.html">ArcNcArg</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_CoordinateInterpolationMode_" data-uid="Hi.Numerical.HardNcLine.CoordinateInterpolationMode*"></a>
<h3 id="Hi_Numerical_HardNcLine_CoordinateInterpolationMode" data-uid="Hi.Numerical.HardNcLine.CoordinateInterpolationMode">
CoordinateInterpolationMode
</h3>
<div class="markdown level1 summary"><p>Gets the current coordinate interpolation mode (Cartesian or Polar).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public CoordinateInterpolationMode CoordinateInterpolationMode { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Numerical.CoordinateInterpolationMode.html">CoordinateInterpolationMode</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_F_" data-uid="Hi.Numerical.HardNcLine.F*"></a>
<h3 id="Hi_Numerical_HardNcLine_F" data-uid="Hi.Numerical.HardNcLine.F">
F
</h3>
<div class="markdown level1 summary"><p>F. Feedrate on NC code.
Note that this may not be the working feedrate.
Some NC codes like G00 and G28 doesnt use F code.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public double F { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd></dd>
</dl>
<h4 class="section" id="Hi_Numerical_HardNcLine_F_remarks">Remarks</h4>
<div class="markdown level1 remarks"><p>According to Fanuc manual, the default F is zero.</p>
</div>
<a id="Hi_Numerical_HardNcLine_Feedrate_mmdmin_" data-uid="Hi.Numerical.HardNcLine.Feedrate_mmdmin*"></a>
<h3 id="Hi_Numerical_HardNcLine_Feedrate_mmdmin" data-uid="Hi.Numerical.HardNcLine.Feedrate_mmdmin">
Feedrate_mmdmin
</h3>
<div class="markdown level1 summary"><p>Feedrate on NC code in current mode in mm/min.
See <a class="xref" href="Hi.Numerical.HardNcLine.html#Hi_Numerical_HardNcLine_F">F</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public double Feedrate_mmdmin { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_Feedrate_mmds_" data-uid="Hi.Numerical.HardNcLine.Feedrate_mmds*"></a>
<h3 id="Hi_Numerical_HardNcLine_Feedrate_mmds" data-uid="Hi.Numerical.HardNcLine.Feedrate_mmds">
Feedrate_mmds
</h3>
<div class="markdown level1 summary"><p>Feedrate on NC code in current mode in mm/sec.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public double Feedrate_mmds { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_FileIndex_" data-uid="Hi.Numerical.HardNcLine.FileIndex*"></a>
<h3 id="Hi_Numerical_HardNcLine_FileIndex" data-uid="Hi.Numerical.HardNcLine.FileIndex">
FileIndex
</h3>
<div class="markdown level1 summary"><p>File Index.
Start on 0.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int FileIndex { 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.int32">int</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_FileNo_" data-uid="Hi.Numerical.HardNcLine.FileNo*"></a>
<h3 id="Hi_Numerical_HardNcLine_FileNo" data-uid="Hi.Numerical.HardNcLine.FileNo">
FileNo
</h3>
<div class="markdown level1 summary"><p>Gets the file number.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[Present(&quot;File Number&quot;, &quot;FileNo&quot;, PhysicsUnit.None, &quot;G&quot;)]
public int FileNo { 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.int32">int</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_FilePath_" data-uid="Hi.Numerical.HardNcLine.FilePath*"></a>
<h3 id="Hi_Numerical_HardNcLine_FilePath" data-uid="Hi.Numerical.HardNcLine.FilePath">
FilePath
</h3>
<div class="markdown level1 summary"><p>File path.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[Present(&quot;File&quot;, &quot;File&quot;, PhysicsUnit.None, &quot;G&quot;)]
public string FilePath { 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.string">string</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_FlagsText_" data-uid="Hi.Numerical.HardNcLine.FlagsText*"></a>
<h3 id="Hi_Numerical_HardNcLine_FlagsText" data-uid="Hi.Numerical.HardNcLine.FlagsText">
FlagsText
</h3>
<div class="markdown level1 summary"><p>Gets a string representation of the active NC flags for this line.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public string FlagsText { 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.string">string</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_G28Arg_" data-uid="Hi.Numerical.HardNcLine.G28Arg*"></a>
<h3 id="Hi_Numerical_HardNcLine_G28Arg" data-uid="Hi.Numerical.HardNcLine.G28Arg">
G28Arg
</h3>
<div class="markdown level1 summary"><p>Arguments for G28 commands.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public G28Arg G28Arg { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Numerical.NcArgs.G28Arg.html">G28Arg</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_G52_Xyz_" data-uid="Hi.Numerical.HardNcLine.G52_Xyz*"></a>
<h3 id="Hi_Numerical_HardNcLine_G52_Xyz" data-uid="Hi.Numerical.HardNcLine.G52_Xyz">
G52_Xyz
</h3>
<div class="markdown level1 summary"><p>Local coordinate system translation.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Vec3d G52_Xyz { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Vec3d.html">Vec3d</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_G54SeriesCoordinateNum1000_" data-uid="Hi.Numerical.HardNcLine.G54SeriesCoordinateNum1000*"></a>
<h3 id="Hi_Numerical_HardNcLine_G54SeriesCoordinateNum1000" data-uid="Hi.Numerical.HardNcLine.G54SeriesCoordinateNum1000">
G54SeriesCoordinateNum1000
</h3>
<div class="markdown level1 summary"><p>Faunc Group14 value.
Note that Heidenhain Datum shift is set by <a class="xref" href="Hi.Numerical.NcArgs.HeidenhainCycleDef7Arg.html#Hi_Numerical_NcArgs_HeidenhainCycleDef7Arg_DatumTableId">DatumTableId</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int G54SeriesCoordinateNum1000 { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_Group07NcArg_" data-uid="Hi.Numerical.HardNcLine.Group07NcArg*"></a>
<h3 id="Hi_Numerical_HardNcLine_Group07NcArg" data-uid="Hi.Numerical.HardNcLine.Group07NcArg">
Group07NcArg
</h3>
<div class="markdown level1 summary"><p>Arguments for Group07 NC commands (tool radius compensation).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Group07NcArg Group07NcArg { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Numerical.NcArgs.Group07NcArg.html">Group07NcArg</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_Group07_D_" data-uid="Hi.Numerical.HardNcLine.Group07_D*"></a>
<h3 id="Hi_Numerical_HardNcLine_Group07_D" data-uid="Hi.Numerical.HardNcLine.Group07_D">
Group07_D
</h3>
<div class="markdown level1 summary"><p>Radius compensation ID.
Note that in Siemens controller, each tool ID has several D entry.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int Group07_D { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_Group08_H_" data-uid="Hi.Numerical.HardNcLine.Group08_H*"></a>
<h3 id="Hi_Numerical_HardNcLine_Group08_H" data-uid="Hi.Numerical.HardNcLine.Group08_H">
Group08_H
</h3>
<div class="markdown level1 summary"><p>Height compensation ID.
For Siemens Traori, the value is Tool ID.
For Heidenhain, the value is Tool ID.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int Group08_H { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_Group09NcArg_" data-uid="Hi.Numerical.HardNcLine.Group09NcArg*"></a>
<h3 id="Hi_Numerical_HardNcLine_Group09NcArg" data-uid="Hi.Numerical.HardNcLine.Group09NcArg">
Group09NcArg
</h3>
<div class="markdown level1 summary"><p>NC Argument of NC Group09.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Group09NcArg Group09NcArg { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Numerical.NcArgs.Group09NcArg.html">Group09NcArg</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_HeidenhainBlockCacheArg_" data-uid="Hi.Numerical.HardNcLine.HeidenhainBlockCacheArg*"></a>
<h3 id="Hi_Numerical_HardNcLine_HeidenhainBlockCacheArg" data-uid="Hi.Numerical.HardNcLine.HeidenhainBlockCacheArg">
HeidenhainBlockCacheArg
</h3>
<div class="markdown level1 summary"><p>Heidenhain block cache arguments for various Heidenhain commands.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public IHeidenhainBlockCacheArg HeidenhainBlockCacheArg { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Numerical.NcArgs.IHeidenhainBlockCacheArg.html">IHeidenhainBlockCacheArg</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_HeidenhainCycleDef247Q339_" data-uid="Hi.Numerical.HardNcLine.HeidenhainCycleDef247Q339*"></a>
<h3 id="Hi_Numerical_HardNcLine_HeidenhainCycleDef247Q339" data-uid="Hi.Numerical.HardNcLine.HeidenhainCycleDef247Q339">
HeidenhainCycleDef247Q339
</h3>
<div class="markdown level1 summary"><p>DATUM SETTING DATUM Number.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int HeidenhainCycleDef247Q339 { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_HeidenhainCycleDef7Arg_" data-uid="Hi.Numerical.HardNcLine.HeidenhainCycleDef7Arg*"></a>
<h3 id="Hi_Numerical_HardNcLine_HeidenhainCycleDef7Arg" data-uid="Hi.Numerical.HardNcLine.HeidenhainCycleDef7Arg">
HeidenhainCycleDef7Arg
</h3>
<div class="markdown level1 summary"><p>Arguments for Heidenhain Cycle Definition 7 (datum shift).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public HeidenhainCycleDef7Arg HeidenhainCycleDef7Arg { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Numerical.NcArgs.HeidenhainCycleDef7Arg.html">HeidenhainCycleDef7Arg</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_HeidenhainM140MB_" data-uid="Hi.Numerical.HardNcLine.HeidenhainM140MB*"></a>
<h3 id="Hi_Numerical_HardNcLine_HeidenhainM140MB" data-uid="Hi.Numerical.HardNcLine.HeidenhainM140MB">
HeidenhainM140MB
</h3>
<div class="markdown level1 summary"><p>HeidenhainM140(Retract the tool) MB value. MB is the retraction height.
double.positiveInf is [MB MAX].
One shot command.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public double HeidenhainM140MB { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_HeidenhainQMacroMap_" data-uid="Hi.Numerical.HardNcLine.HeidenhainQMacroMap*"></a>
<h3 id="Hi_Numerical_HardNcLine_HeidenhainQMacroMap" data-uid="Hi.Numerical.HardNcLine.HeidenhainQMacroMap">
HeidenhainQMacroMap
</h3>
<div class="markdown level1 summary"><p>Dictionary mapping Q macro numbers to their string values for Heidenhain controllers.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Dictionary&lt;int, string&gt; HeidenhainQMacroMap { get; set; }</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.dictionary-2">Dictionary</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_HeidenhainToolAxisDir_" data-uid="Hi.Numerical.HardNcLine.HeidenhainToolAxisDir*"></a>
<h3 id="Hi_Numerical_HardNcLine_HeidenhainToolAxisDir" data-uid="Hi.Numerical.HardNcLine.HeidenhainToolAxisDir">
HeidenhainToolAxisDir
</h3>
<div class="markdown level1 summary"><p>Direction of the tool axis for Heidenhain controllers.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int HeidenhainToolAxisDir { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_IndexedFileLine_" data-uid="Hi.Numerical.HardNcLine.IndexedFileLine*"></a>
<h3 id="Hi_Numerical_HardNcLine_IndexedFileLine" data-uid="Hi.Numerical.HardNcLine.IndexedFileLine">
IndexedFileLine
</h3>
<div class="markdown level1 summary"><p>The file line information associated with this NC line.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public IndexedFileLine IndexedFileLine { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Common.FileLines.IndexedFileLine.html">IndexedFileLine</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_IsAbsolutePositioning_" data-uid="Hi.Numerical.HardNcLine.IsAbsolutePositioning*"></a>
<h3 id="Hi_Numerical_HardNcLine_IsAbsolutePositioning" data-uid="Hi.Numerical.HardNcLine.IsAbsolutePositioning">
IsAbsolutePositioning
</h3>
<div class="markdown level1 summary"><p>Gets a value indicating whether absolute positioning (G90) is active.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool IsAbsolutePositioning { 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.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_IsHeightCompensationEnabled_" data-uid="Hi.Numerical.HardNcLine.IsHeightCompensationEnabled*"></a>
<h3 id="Hi_Numerical_HardNcLine_IsHeightCompensationEnabled" data-uid="Hi.Numerical.HardNcLine.IsHeightCompensationEnabled">
IsHeightCompensationEnabled
</h3>
<div class="markdown level1 summary"><p>Gets a value indicating whether height compensation is enabled.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool IsHeightCompensationEnabled { 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.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_IsOnArcCommand_" data-uid="Hi.Numerical.HardNcLine.IsOnArcCommand*"></a>
<h3 id="Hi_Numerical_HardNcLine_IsOnArcCommand" data-uid="Hi.Numerical.HardNcLine.IsOnArcCommand">
IsOnArcCommand
</h3>
<div class="markdown level1 summary"><p>Gets a value indicating whether an arc command (G02 or G03) is active.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool IsOnArcCommand { 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.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_IsPathPrepared_" data-uid="Hi.Numerical.HardNcLine.IsPathPrepared*"></a>
<h3 id="Hi_Numerical_HardNcLine_IsPathPrepared" data-uid="Hi.Numerical.HardNcLine.IsPathPrepared">
IsPathPrepared
</h3>
<div class="markdown level1 summary"><p>Gets a value indicating whether the path is prepared (no radius compensation).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool IsPathPrepared { 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.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_IsRadiusCompensationEnabled_" data-uid="Hi.Numerical.HardNcLine.IsRadiusCompensationEnabled*"></a>
<h3 id="Hi_Numerical_HardNcLine_IsRadiusCompensationEnabled" data-uid="Hi.Numerical.HardNcLine.IsRadiusCompensationEnabled">
IsRadiusCompensationEnabled
</h3>
<div class="markdown level1 summary"><p>Gets a value indicating whether radius compensation is enabled.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool IsRadiusCompensationEnabled { 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.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_IsToolCenterPointManagementEnabled_" data-uid="Hi.Numerical.HardNcLine.IsToolCenterPointManagementEnabled*"></a>
<h3 id="Hi_Numerical_HardNcLine_IsToolCenterPointManagementEnabled" data-uid="Hi.Numerical.HardNcLine.IsToolCenterPointManagementEnabled">
IsToolCenterPointManagementEnabled
</h3>
<div class="markdown level1 summary"><p>Gets a value indicating whether tool center point management is enabled.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool IsToolCenterPointManagementEnabled { 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.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_Line_" data-uid="Hi.Numerical.HardNcLine.Line*"></a>
<h3 id="Hi_Numerical_HardNcLine_Line" data-uid="Hi.Numerical.HardNcLine.Line">
Line
</h3>
<div class="markdown level1 summary"><p>The line.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[Present(&quot;Line&quot;, &quot;Line&quot;, PhysicsUnit.None, &quot;G&quot;)]
public string Line { 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.string">string</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_LineIndex_" data-uid="Hi.Numerical.HardNcLine.LineIndex*"></a>
<h3 id="Hi_Numerical_HardNcLine_LineIndex" data-uid="Hi.Numerical.HardNcLine.LineIndex">
LineIndex
</h3>
<div class="markdown level1 summary"><p>Line Index.
Start on 0.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int LineIndex { 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.int32">int</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_LineNo_" data-uid="Hi.Numerical.HardNcLine.LineNo*"></a>
<h3 id="Hi_Numerical_HardNcLine_LineNo" data-uid="Hi.Numerical.HardNcLine.LineNo">
LineNo
</h3>
<div class="markdown level1 summary"><p>Gets the line number.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[Present(&quot;Line Number&quot;, &quot;LineNo&quot;, PhysicsUnit.None, &quot;G&quot;)]
public int LineNo { 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.int32">int</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_MachiningFeedrate_mmdmin_" data-uid="Hi.Numerical.HardNcLine.MachiningFeedrate_mmdmin*"></a>
<h3 id="Hi_Numerical_HardNcLine_MachiningFeedrate_mmdmin" data-uid="Hi.Numerical.HardNcLine.MachiningFeedrate_mmdmin">
MachiningFeedrate_mmdmin
</h3>
<div class="markdown level1 summary"><p>Machining Feedrate on NC code in machining mode (such as G01,G02,G03 but not G00) in mm/min.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public double MachiningFeedrate_mmdmin { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_MachiningFeedrate_mmds_" data-uid="Hi.Numerical.HardNcLine.MachiningFeedrate_mmds*"></a>
<h3 id="Hi_Numerical_HardNcLine_MachiningFeedrate_mmds" data-uid="Hi.Numerical.HardNcLine.MachiningFeedrate_mmds">
MachiningFeedrate_mmds
</h3>
<div class="markdown level1 summary"><p>Machining Feedrate on NC code in machining mode (such as G01,G02,G03 but not G00) in mm/sec.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public double MachiningFeedrate_mmds { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_McAbc_deg_" data-uid="Hi.Numerical.HardNcLine.McAbc_deg*"></a>
<h3 id="Hi_Numerical_HardNcLine_McAbc_deg" data-uid="Hi.Numerical.HardNcLine.McAbc_deg">
McAbc_deg
</h3>
<div class="markdown level1 summary"><p>Gets or sets the machine ABC coordinates in degrees.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Vec3d McAbc_deg { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Vec3d.html">Vec3d</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_McAbc_rad_" data-uid="Hi.Numerical.HardNcLine.McAbc_rad*"></a>
<h3 id="Hi_Numerical_HardNcLine_McAbc_rad" data-uid="Hi.Numerical.HardNcLine.McAbc_rad">
McAbc_rad
</h3>
<div class="markdown level1 summary"><p>Machine coordinates in ABC format (radians).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Vec3d McAbc_rad { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Vec3d.html">Vec3d</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_McXyz_" data-uid="Hi.Numerical.HardNcLine.McXyz*"></a>
<h3 id="Hi_Numerical_HardNcLine_McXyz" data-uid="Hi.Numerical.HardNcLine.McXyz">
McXyz
</h3>
<div class="markdown level1 summary"><p>Gets or sets the machine coordinate XYZ values.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Vec3d McXyz { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Vec3d.html">Vec3d</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_McXyzabc_" data-uid="Hi.Numerical.HardNcLine.McXyzabc*"></a>
<h3 id="Hi_Numerical_HardNcLine_McXyzabc" data-uid="Hi.Numerical.HardNcLine.McXyzabc">
McXyzabc
</h3>
<div class="markdown level1 summary"><p>Machine coordinate ( with side radius compensation if existed).
<a class="xref" href="Hi.Geom.DVec3d.html#Hi_Geom_DVec3d_Point">Point</a> is XYZ. the unit is mm.
<a class="xref" href="Hi.Geom.DVec3d.html#Hi_Geom_DVec3d_Normal">Normal</a> is ABC. the unit is radian.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public DVec3d McXyzabc { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.DVec3d.html">DVec3d</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_NcFlagBitArray_" data-uid="Hi.Numerical.HardNcLine.NcFlagBitArray*"></a>
<h3 id="Hi_Numerical_HardNcLine_NcFlagBitArray" data-uid="Hi.Numerical.HardNcLine.NcFlagBitArray">
NcFlagBitArray
</h3>
<div class="markdown level1 summary"><p>Internal Used.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public BitArray NcFlagBitArray { 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.bitarray">BitArray</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_PausingNcArg_" data-uid="Hi.Numerical.HardNcLine.PausingNcArg*"></a>
<h3 id="Hi_Numerical_HardNcLine_PausingNcArg" data-uid="Hi.Numerical.HardNcLine.PausingNcArg">
PausingNcArg
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public PausingNcArg PausingNcArg { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Numerical.NcArgs.PausingNcArg.html">PausingNcArg</a></dt>
<dd></dd>
</dl>
<h4 class="section" id="Hi_Numerical_HardNcLine_PausingNcArg_remarks">Remarks</h4>
<div class="markdown level1 remarks"><p>Since this is base on OneShot Flag, so here has no copy ctor.</p>
</div>
<a id="Hi_Numerical_HardNcLine_PolarEntry_" data-uid="Hi.Numerical.HardNcLine.PolarEntry*"></a>
<h3 id="Hi_Numerical_HardNcLine_PolarEntry" data-uid="Hi.Numerical.HardNcLine.PolarEntry">
PolarEntry
</h3>
<div class="markdown level1 summary"><p>Data structure for polar coordinates entry.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public PolarEntry PolarEntry { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Numerical.PolarEntry.html">PolarEntry</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_PreparationT_" data-uid="Hi.Numerical.HardNcLine.PreparationT*"></a>
<h3 id="Hi_Numerical_HardNcLine_PreparationT" data-uid="Hi.Numerical.HardNcLine.PreparationT">
PreparationT
</h3>
<div class="markdown level1 summary"><p>Tool ID for preparation.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int PreparationT { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_ProgramOrthogonalPlaneNormal_" data-uid="Hi.Numerical.HardNcLine.ProgramOrthogonalPlaneNormal*"></a>
<h3 id="Hi_Numerical_HardNcLine_ProgramOrthogonalPlaneNormal" data-uid="Hi.Numerical.HardNcLine.ProgramOrthogonalPlaneNormal">
ProgramOrthogonalPlaneNormal
</h3>
<div class="markdown level1 summary"><p>The orthogonal plane transform after tilting plane transform.
Include <a class="xref" href="Hi.Numerical.NcFlag.html#Hi_Numerical_NcFlag_G17">G17</a>, <a class="xref" href="Hi.Numerical.NcFlag.html#Hi_Numerical_NcFlag_G18">G18</a>, <a class="xref" href="Hi.Numerical.NcFlag.html#Hi_Numerical_NcFlag_G19">G19</a> and plane of called <a class="xref" href="Hi.Numerical.NcFlag.html#Hi_Numerical_NcFlag_G12p1">G12p1</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Vec3d ProgramOrthogonalPlaneNormal { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Vec3d.html">Vec3d</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_ProgramPos_" data-uid="Hi.Numerical.HardNcLine.ProgramPos*"></a>
<h3 id="Hi_Numerical_HardNcLine_ProgramPos" data-uid="Hi.Numerical.HardNcLine.ProgramPos">
ProgramPos
</h3>
<div class="markdown level1 summary"><p>ProgramPos can be cartesian XYZ or polar XCZ with radius-based X, depends on <a class="xref" href="Hi.Numerical.HardNcLine.html#Hi_Numerical_HardNcLine_CoordinateInterpolationMode">CoordinateInterpolationMode</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Vec3d ProgramPos { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Vec3d.html">Vec3d</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_ProgramXyz_" data-uid="Hi.Numerical.HardNcLine.ProgramXyz*"></a>
<h3 id="Hi_Numerical_HardNcLine_ProgramXyz" data-uid="Hi.Numerical.HardNcLine.ProgramXyz">
ProgramXyz
</h3>
<div class="markdown level1 summary"><p>XYZ in Feature Coordinate.
Cartesian Program Position XYZ, Abs Program Position (as G90 position).
NC coordinate position is the position processed by modal flags.
NC coordinate position is the position after radius compensation.
The NC(Program) coordinate position is comprehensible by User.
MC NC conversion may raise floating error.
The floating error raise the cutting force issue, especially for bottom cutting force.
Hence the NC values have to be memorized.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Vec3d ProgramXyz { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Vec3d.html">Vec3d</a></dt>
<dd></dd>
</dl>
<h4 class="section" id="Hi_Numerical_HardNcLine_ProgramXyz_remarks">Remarks</h4>
<div class="markdown level1 remarks"><p>NC is the better source property than MC.
Ex. a NC line command: X100. The Y and Z value may vary if using MC converting back to NC.
The error of Y and Z will keeps accumulating until the next explicit YZ command assignment.
The error maybe up to 3e-5 in current case. the bounding box size of the case is not large (TT.20230815).
Also note that if using Arc command for a complete circle, the begin NC XYZ and the end NC XYZ have to be equaled.
Otherwise, it will become only a very small arc rather than the circle.
So be care that do not change the NC XYZ if not needed.</p>
</div>
<a id="Hi_Numerical_HardNcLine_RadiusCompensationBuf_" data-uid="Hi.Numerical.HardNcLine.RadiusCompensationBuf*"></a>
<h3 id="Hi_Numerical_HardNcLine_RadiusCompensationBuf" data-uid="Hi.Numerical.HardNcLine.RadiusCompensationBuf">
RadiusCompensationBuf
</h3>
<div class="markdown level1 summary"><p>Internal use.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public RadiusCompensationBuf RadiusCompensationBuf { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Numerical.RadiusCompensationBuf.html">RadiusCompensationBuf</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_RapidFeedrate_mmdmin_" data-uid="Hi.Numerical.HardNcLine.RapidFeedrate_mmdmin*"></a>
<h3 id="Hi_Numerical_HardNcLine_RapidFeedrate_mmdmin" data-uid="Hi.Numerical.HardNcLine.RapidFeedrate_mmdmin">
RapidFeedrate_mmdmin
</h3>
<div class="markdown level1 summary"><p>Rapid Feedrate on NC code in rapid mode (such as G00 but not G01,G02,G03) in mm/min.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public double RapidFeedrate_mmdmin { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_RapidFeedrate_mmds_" data-uid="Hi.Numerical.HardNcLine.RapidFeedrate_mmds*"></a>
<h3 id="Hi_Numerical_HardNcLine_RapidFeedrate_mmds" data-uid="Hi.Numerical.HardNcLine.RapidFeedrate_mmds">
RapidFeedrate_mmds
</h3>
<div class="markdown level1 summary"><p>Rapid Feedrate on NC code in rapid mode (such as G00 but not G01,G02,G03) in mm/sec.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public double RapidFeedrate_mmds { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_S_" data-uid="Hi.Numerical.HardNcLine.S*"></a>
<h3 id="Hi_Numerical_HardNcLine_S" data-uid="Hi.Numerical.HardNcLine.S">
S
</h3>
<div class="markdown level1 summary"><p>S. Spindle speed.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int S { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_SpindleSpeed_radds_" data-uid="Hi.Numerical.HardNcLine.SpindleSpeed_radds*"></a>
<h3 id="Hi_Numerical_HardNcLine_SpindleSpeed_radds" data-uid="Hi.Numerical.HardNcLine.SpindleSpeed_radds">
SpindleSpeed_radds
</h3>
<div class="markdown level1 summary"><p>Spindle speed in radian/s.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public double SpindleSpeed_radds { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_SpindleSpeed_rpm_" data-uid="Hi.Numerical.HardNcLine.SpindleSpeed_rpm*"></a>
<h3 id="Hi_Numerical_HardNcLine_SpindleSpeed_rpm" data-uid="Hi.Numerical.HardNcLine.SpindleSpeed_rpm">
SpindleSpeed_rpm
</h3>
<div class="markdown level1 summary"><p>Spindle speed in RPM.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public double SpindleSpeed_rpm { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_T_" data-uid="Hi.Numerical.HardNcLine.T*"></a>
<h3 id="Hi_Numerical_HardNcLine_T" data-uid="Hi.Numerical.HardNcLine.T">
T
</h3>
<div class="markdown level1 summary"><p>Current equiped Tool ID.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int T { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_TiltPlaneNcArg_" data-uid="Hi.Numerical.HardNcLine.TiltPlaneNcArg*"></a>
<h3 id="Hi_Numerical_HardNcLine_TiltPlaneNcArg" data-uid="Hi.Numerical.HardNcLine.TiltPlaneNcArg">
TiltPlaneNcArg
</h3>
<div class="markdown level1 summary"><p>Arguments related to tilted plane operations.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public ITiltPlaneNcArg TiltPlaneNcArg { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Numerical.NcArgs.ITiltPlaneNcArg.html">ITiltPlaneNcArg</a></dt>
<dd></dd>
</dl>
<h2 class="section" id="methods">Methods
</h2>
<a id="Hi_Numerical_HardNcLine_GetAttacherMat_" data-uid="Hi.Numerical.HardNcLine.GetAttacherMat*"></a>
<h3 id="Hi_Numerical_HardNcLine_GetAttacherMat_Hi_Numerical_HardNcEnv_" data-uid="Hi.Numerical.HardNcLine.GetAttacherMat(Hi.Numerical.HardNcEnv)">
GetAttacherMat(HardNcEnv)
</h3>
<div class="markdown level1 summary"><p>Gets the attacher transformation matrix for the current machine coordinates.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Mat4d GetAttacherMat(HardNcEnv ncEnv)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>ncEnv</code> <a class="xref" href="Hi.Numerical.HardNcEnv.html">HardNcEnv</a></dt>
<dd><p>The NC environment.</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Mat4d.html">Mat4d</a></dt>
<dd><p>The attacher transformation matrix.</p>
</dd>
</dl>
<a id="Hi_Numerical_HardNcLine_GetCompensationHeight_" data-uid="Hi.Numerical.HardNcLine.GetCompensationHeight*"></a>
<h3 id="Hi_Numerical_HardNcLine_GetCompensationHeight_Hi_Numerical_HardNcEnv_System_IProgress_System_Object__" data-uid="Hi.Numerical.HardNcLine.GetCompensationHeight(Hi.Numerical.HardNcEnv,System.IProgress{System.Object})">
GetCompensationHeight(HardNcEnv, IProgress&lt;object&gt;)
</h3>
<div class="markdown level1 summary"><p>Gets the tool height compensation value for this NC line.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public double GetCompensationHeight(HardNcEnv ncEnv, IProgress&lt;object&gt; messageHost)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>ncEnv</code> <a class="xref" href="Hi.Numerical.HardNcEnv.html">HardNcEnv</a></dt>
<dd><p>NC environment</p>
</dd>
<dt><code>messageHost</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iprogress-1">IProgress</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>&gt;</dt>
<dd><p>Message host for warnings</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd><p>Height compensation value</p>
</dd>
</dl>
<a id="Hi_Numerical_HardNcLine_GetCompensationRadius_" data-uid="Hi.Numerical.HardNcLine.GetCompensationRadius*"></a>
<h3 id="Hi_Numerical_HardNcLine_GetCompensationRadius_Hi_Numerical_CncBrand_Hi_Numerical_MillingToolOffsetTable_System_IProgress_System_Object__" data-uid="Hi.Numerical.HardNcLine.GetCompensationRadius(Hi.Numerical.CncBrand,Hi.Numerical.MillingToolOffsetTable,System.IProgress{System.Object})">
GetCompensationRadius(CncBrand, MillingToolOffsetTable, IProgress&lt;object&gt;)
</h3>
<div class="markdown level1 summary"><p>Gets the tool radius compensation value for this NC line.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public double GetCompensationRadius(CncBrand cncBrand, MillingToolOffsetTable millingToolOffsetTable, IProgress&lt;object&gt; messageHost)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>cncBrand</code> <a class="xref" href="Hi.Numerical.CncBrand.html">CncBrand</a></dt>
<dd><p>CNC brand</p>
</dd>
<dt><code>millingToolOffsetTable</code> <a class="xref" href="Hi.Numerical.MillingToolOffsetTable.html">MillingToolOffsetTable</a></dt>
<dd><p>Milling tool offset table</p>
</dd>
<dt><code>messageHost</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iprogress-1">IProgress</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>&gt;</dt>
<dd><p>Message host for warnings</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd><p>Radius compensation value</p>
</dd>
</dl>
<a id="Hi_Numerical_HardNcLine_GetFileLineIndex_" data-uid="Hi.Numerical.HardNcLine.GetFileLineIndex*"></a>
<h3 id="Hi_Numerical_HardNcLine_GetFileLineIndex" data-uid="Hi.Numerical.HardNcLine.GetFileLineIndex">
GetFileLineIndex()
</h3>
<div class="markdown level1 summary"><p>Get <a class="xref" href="Hi.Common.FileLines.FileLineIndex.html">FileLineIndex</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public FileLineIndex GetFileLineIndex()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Common.FileLines.FileLineIndex.html">FileLineIndex</a></dt>
<dd><p><a class="xref" href="Hi.Common.FileLines.FileLineIndex.html">FileLineIndex</a></p>
</dd>
</dl>
<a id="Hi_Numerical_HardNcLine_GetG5xCoordinateOffset_" data-uid="Hi.Numerical.HardNcLine.GetG5xCoordinateOffset*"></a>
<h3 id="Hi_Numerical_HardNcLine_GetG5xCoordinateOffset_Hi_Numerical_HardNcEnv_" data-uid="Hi.Numerical.HardNcLine.GetG5xCoordinateOffset(Hi.Numerical.HardNcEnv)">
GetG5xCoordinateOffset(HardNcEnv)
</h3>
<div class="markdown level1 summary"><p>Gets the G5x coordinate offset for this NC line.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Vec3d GetG5xCoordinateOffset(HardNcEnv ncEnv)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>ncEnv</code> <a class="xref" href="Hi.Numerical.HardNcEnv.html">HardNcEnv</a></dt>
<dd><p>NC environment</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.Vec3d.html">Vec3d</a></dt>
<dd><p>The G5x coordinate offset vector</p>
</dd>
</dl>
<a id="Hi_Numerical_HardNcLine_GetIndexedFileLine_" data-uid="Hi.Numerical.HardNcLine.GetIndexedFileLine*"></a>
<h3 id="Hi_Numerical_HardNcLine_GetIndexedFileLine" data-uid="Hi.Numerical.HardNcLine.GetIndexedFileLine">
GetIndexedFileLine()
</h3>
<div class="markdown level1 summary"><p>Gets the file line associated with this object.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public IndexedFileLine GetIndexedFileLine()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Common.FileLines.IndexedFileLine.html">IndexedFileLine</a></dt>
<dd><p>The file line object.</p>
</dd>
</dl>
<a id="Hi_Numerical_HardNcLine_GetMcByProgramPos_" data-uid="Hi.Numerical.HardNcLine.GetMcByProgramPos*"></a>
<h3 id="Hi_Numerical_HardNcLine_GetMcByProgramPos_Hi_Geom_Vec3d_Hi_Numerical_HardNcEnv_Hi_Numerical_NcNoteCache_System_IProgress_System_Object__Hi_Geom_Vec3d__" data-uid="Hi.Numerical.HardNcLine.GetMcByProgramPos(Hi.Geom.Vec3d,Hi.Numerical.HardNcEnv,Hi.Numerical.NcNoteCache,System.IProgress{System.Object},Hi.Geom.Vec3d@)">
GetMcByProgramPos(Vec3d, HardNcEnv, NcNoteCache, IProgress&lt;object&gt;, out Vec3d)
</h3>
<div class="markdown level1 summary"><p>Internal Use.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public DVec3d GetMcByProgramPos(Vec3d programPos, HardNcEnv ncEnv, NcNoteCache ncNoteCache, IProgress&lt;object&gt; messageHost, out Vec3d programXyz)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>programPos</code> <a class="xref" href="Hi.Geom.Vec3d.html">Vec3d</a></dt>
<dd></dd>
<dt><code>ncEnv</code> <a class="xref" href="Hi.Numerical.HardNcEnv.html">HardNcEnv</a></dt>
<dd></dd>
<dt><code>ncNoteCache</code> <a class="xref" href="Hi.Numerical.NcNoteCache.html">NcNoteCache</a></dt>
<dd></dd>
<dt><code>messageHost</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iprogress-1">IProgress</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>&gt;</dt>
<dd></dd>
<dt><code>programXyz</code> <a class="xref" href="Hi.Geom.Vec3d.html">Vec3d</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Geom.DVec3d.html">DVec3d</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_GetSourceCommand_" data-uid="Hi.Numerical.HardNcLine.GetSourceCommand*"></a>
<h3 id="Hi_Numerical_HardNcLine_GetSourceCommand" data-uid="Hi.Numerical.HardNcLine.GetSourceCommand">
GetSourceCommand()
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public IIndexedFileLine GetSourceCommand()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.Common.FileLines.IIndexedFileLine.html">IIndexedFileLine</a></dt>
<dd></dd>
</dl>
<a id="Hi_Numerical_HardNcLine_GetTiltMat4d_" data-uid="Hi.Numerical.HardNcLine.GetTiltMat4d*"></a>
<h3 id="Hi_Numerical_HardNcLine_GetTiltMat4d_Hi_Numerical_HardNcEnv_Hi_Geom_Mat4d__" data-uid="Hi.Numerical.HardNcLine.GetTiltMat4d(Hi.Numerical.HardNcEnv,Hi.Geom.Mat4d@)">
GetTiltMat4d(HardNcEnv, out Mat4d)
</h3>
<div class="markdown level1 summary"><p>Internal Use Only.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool? GetTiltMat4d(HardNcEnv ncEnv, out Mat4d tableToFeatureTransform)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>ncEnv</code> <a class="xref" href="Hi.Numerical.HardNcEnv.html">HardNcEnv</a></dt>
<dd><p>NC environment.</p>
</dd>
<dt><code>tableToFeatureTransform</code> <a class="xref" href="Hi.Geom.Mat4d.html">Mat4d</a></dt>
<dd><p>Transform from NC to Table without tool compensation and linear coordinate offset (such as G55,G56..).</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a>?</dt>
<dd><p>True if G68.2 is successfully applied, false if not, and null if not applicable.</p>
</dd>
</dl>
<a id="Hi_Numerical_HardNcLine_HasSyntexXyz_" data-uid="Hi.Numerical.HardNcLine.HasSyntexXyz*"></a>
<h3 id="Hi_Numerical_HardNcLine_HasSyntexXyz_Hi_Numerical_HardNcEnv_" data-uid="Hi.Numerical.HardNcLine.HasSyntexXyz(Hi.Numerical.HardNcEnv)">
HasSyntexXyz(HardNcEnv)
</h3>
<div class="markdown level1 summary"><p>Determines whether the line contains syntactic XYZ coordinates.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool HasSyntexXyz(HardNcEnv ncEnv)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>ncEnv</code> <a class="xref" href="Hi.Numerical.HardNcEnv.html">HardNcEnv</a></dt>
<dd><p>NC environment</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd><p>True if syntactic XYZ coordinates are present; otherwise, false.</p>
</dd>
</dl>
<a id="Hi_Numerical_HardNcLine_RebuildByMc_" data-uid="Hi.Numerical.HardNcLine.RebuildByMc*"></a>
<h3 id="Hi_Numerical_HardNcLine_RebuildByMc_Hi_Numerical_HardNcEnv_Hi_Geom_DVec3d_Hi_Numerical_NcNoteCache_System_IProgress_System_Object__" data-uid="Hi.Numerical.HardNcLine.RebuildByMc(Hi.Numerical.HardNcEnv,Hi.Geom.DVec3d,Hi.Numerical.NcNoteCache,System.IProgress{System.Object})">
RebuildByMc(HardNcEnv, DVec3d, NcNoteCache, IProgress&lt;object&gt;)
</h3>
<div class="markdown level1 summary"><p>Internal Use Only. For NC opt.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void RebuildByMc(HardNcEnv ncEnv, DVec3d mc, NcNoteCache ncNoteCache, IProgress&lt;object&gt; messageHost)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>ncEnv</code> <a class="xref" href="Hi.Numerical.HardNcEnv.html">HardNcEnv</a></dt>
<dd><p>NC environment.</p>
</dd>
<dt><code>mc</code> <a class="xref" href="Hi.Geom.DVec3d.html">DVec3d</a></dt>
<dd><p>MC coordinates.</p>
</dd>
<dt><code>ncNoteCache</code> <a class="xref" href="Hi.Numerical.NcNoteCache.html">NcNoteCache</a></dt>
<dd><p>NC line cache.</p>
</dd>
<dt><code>messageHost</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iprogress-1">IProgress</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>&gt;</dt>
<dd><p>Message host for logging and reporting.</p>
</dd>
</dl>
<a id="Hi_Numerical_HardNcLine_RebuildByProgramXyz_" data-uid="Hi.Numerical.HardNcLine.RebuildByProgramXyz*"></a>
<h3 id="Hi_Numerical_HardNcLine_RebuildByProgramXyz_Hi_Numerical_HardNcEnv_Hi_Geom_Vec3d_Hi_Numerical_NcNoteCache_System_IProgress_System_Object__" data-uid="Hi.Numerical.HardNcLine.RebuildByProgramXyz(Hi.Numerical.HardNcEnv,Hi.Geom.Vec3d,Hi.Numerical.NcNoteCache,System.IProgress{System.Object})">
RebuildByProgramXyz(HardNcEnv, Vec3d, NcNoteCache, IProgress&lt;object&gt;)
</h3>
<div class="markdown level1 summary"><p>Internal Use Only. For NC opt.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public void RebuildByProgramXyz(HardNcEnv ncEnv, Vec3d programXyz, NcNoteCache ncNoteCache, IProgress&lt;object&gt; messageHost)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>ncEnv</code> <a class="xref" href="Hi.Numerical.HardNcEnv.html">HardNcEnv</a></dt>
<dd><p>NC environment.</p>
</dd>
<dt><code>programXyz</code> <a class="xref" href="Hi.Geom.Vec3d.html">Vec3d</a></dt>
<dd><p>Program XYZ coordinates.</p>
</dd>
<dt><code>ncNoteCache</code> <a class="xref" href="Hi.Numerical.NcNoteCache.html">NcNoteCache</a></dt>
<dd><p>NC note cache.</p>
</dd>
<dt><code>messageHost</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iprogress-1">IProgress</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>&gt;</dt>
<dd><p>Message host for logging and reporting.</p>
</dd>
</dl>
<a id="Hi_Numerical_HardNcLine_ToString_" data-uid="Hi.Numerical.HardNcLine.ToString*"></a>
<h3 id="Hi_Numerical_HardNcLine_ToString" data-uid="Hi.Numerical.HardNcLine.ToString">
ToString()
</h3>
<div class="markdown level1 summary"><p>Returns a string that represents the current object.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override string ToString()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>A string that represents the current object.</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>