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

2009 lines
74 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 SiemensMachineDataTable | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Class SiemensMachineDataTable | HiAPI-C# 2025 ">
<meta name="description" content="Siemens Sinumerik machine data table. Stores machine data (MD numbers) as system and per-axis parameters. MD10000–MD19999: General machine data. MD20000–MD29999: Axis-specific machine data. MD30000–MD39999: Axis-specific machine data (extended). Deliberately not : machine data is control configuration a part program cannot mutate, so there is no session-scoped state to clear.">
<link rel="icon" href="../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
<meta name="docfx:navrel" content="../toc.html">
<meta name="docfx:tocrel" content="toc.html">
<meta name="docfx:rel" content="../">
<meta name="loc:inThisArticle" content="In this article">
<meta name="loc:searchResultsCount" content="{count} results for &quot;{query}&quot;">
<meta name="loc:searchNoResults" content="No results for &quot;{query}&quot;">
<meta name="loc:tocFilter" content="Filter by title">
<meta name="loc:nextArticle" content="Next">
<meta name="loc:prevArticle" content="Previous">
<meta name="loc:themeLight" content="Light">
<meta name="loc:themeDark" content="Dark">
<meta name="loc:themeAuto" content="Auto">
<meta name="loc:changeTheme" content="Change theme">
<meta name="loc:copy" content="Copy">
<meta name="loc:downloadPdf" content="Download PDF">
<script type="module" src="./../public/docfx.min.js"></script>
<script>
const theme = localStorage.getItem('theme') || 'auto'
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
</script>
</head>
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
<header class="bg-body border-bottom">
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
<div class="container-xxl flex-nowrap">
<a class="navbar-brand" href="../index.html">
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
</a>
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
<i class="bi bi-three-dots"></i>
</button>
<div class="collapse navbar-collapse" id="navpanel">
<div id="navbar">
<form class="search" role="search" id="search">
<i class="bi bi-search"></i>
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
</form>
</div>
</div>
</div>
</nav>
</header>
<main class="container-xxl">
<div class="toc-offcanvas">
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<nav class="toc" id="toc"></nav>
</div>
</div>
</div>
<div class="content">
<div class="actionbar">
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
<i class="bi bi-list"></i>
</button>
<nav id="breadcrumb"></nav>
</div>
<article data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable">
<h1 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable" class="text-break">
Class SiemensMachineDataTable
</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.Dependencys.html">Dependencys</a>.<a class="xref" href="Hi.NcParsers.Dependencys.Siemens.html">Siemens</a></dd></dl>
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
</div>
<div class="markdown summary"><p>Siemens Sinumerik machine data table.
Stores machine data (MD numbers) as system and per-axis parameters.</p>
<p>
MD10000–MD19999: General machine data.
MD20000–MD29999: Axis-specific machine data.
MD30000–MD39999: Axis-specific machine data (extended).
</p>
<p>
Deliberately not <a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a>: machine data is
control configuration a part program cannot mutate, so there is no
session-scoped state to clear.
</p>
</div>
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class SiemensMachineDataTable : ControllerParameterTableBase, IHomeMcConfig, IMachineAxisConfig, IRapidFeedrateConfig, IStrokeLimitConfig, ISpindleControlConfig, IMCodeDeclarationConfig, IToolChangeTriggerConfig, IIndexingPositionConfig, INcDependency, IMakeXmlSource</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><a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html">ControllerParameterTableBase</a></div>
<div><span class="xref">SiemensMachineDataTable</span></div>
</dd>
</dl>
<dl class="typelist implements">
<dt>Implements</dt>
<dd>
<div><a class="xref" href="Hi.NcParsers.Dependencys.IHomeMcConfig.html">IHomeMcConfig</a></div>
<div><a class="xref" href="Hi.NcParsers.Dependencys.IMachineAxisConfig.html">IMachineAxisConfig</a></div>
<div><a class="xref" href="Hi.NcParsers.Dependencys.IRapidFeedrateConfig.html">IRapidFeedrateConfig</a></div>
<div><a class="xref" href="Hi.NcParsers.Dependencys.IStrokeLimitConfig.html">IStrokeLimitConfig</a></div>
<div><a class="xref" href="Hi.NcParsers.Dependencys.ISpindleControlConfig.html">ISpindleControlConfig</a></div>
<div><a class="xref" href="Hi.NcParsers.Dependencys.IMCodeDeclarationConfig.html">IMCodeDeclarationConfig</a></div>
<div><a class="xref" href="Hi.NcParsers.Dependencys.IToolChangeTriggerConfig.html">IToolChangeTriggerConfig</a></div>
<div><a class="xref" href="Hi.NcParsers.Dependencys.IIndexingPositionConfig.html">IIndexingPositionConfig</a></div>
<div><a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a></div>
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
</dd>
</dl>
<dl class="typelist inheritedMembers">
<dt>Inherited Members</dt>
<dd>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_GetLinearAxisRapidRate_mmdmin_System_String_">ControllerParameterTableBase.GetLinearAxisRapidRate_mmdmin(string)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_GetRotaryAxisRapidRate_degdmin_System_String_">ControllerParameterTableBase.GetRotaryAxisRapidRate_degdmin(string)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_SetLinearAxisRapidRate_mmdmin_System_String_System_Double_">ControllerParameterTableBase.SetLinearAxisRapidRate_mmdmin(string, double)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_SetRotaryAxisRapidRate_degdmin_System_String_System_Double_">ControllerParameterTableBase.SetRotaryAxisRapidRate_degdmin(string, double)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_GetPositiveLimit_System_String_">ControllerParameterTableBase.GetPositiveLimit(string)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_GetNegativeLimit_System_String_">ControllerParameterTableBase.GetNegativeLimit(string)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_SetPositiveLimit_System_String_System_Double_">ControllerParameterTableBase.SetPositiveLimit(string, double)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_SetNegativeLimit_System_String_System_Double_">ControllerParameterTableBase.SetNegativeLimit(string, double)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_SystemParams">ControllerParameterTableBase.SystemParams</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_AxisParams">ControllerParameterTableBase.AxisParams</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_IntAxisParams">ControllerParameterTableBase.IntAxisParams</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_AxisParam_System_Int32_">ControllerParameterTableBase.AxisParam(int)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_IntAxisParam_System_Int32_">ControllerParameterTableBase.IntAxisParam(int)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_GetHomePosition_System_String_">ControllerParameterTableBase.GetHomePosition(string)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_SetHomePosition_System_String_System_Double_">ControllerParameterTableBase.SetHomePosition(string, double)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_AxisNames">ControllerParameterTableBase.AxisNames</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_IsRotaryAxis_System_String_">ControllerParameterTableBase.IsRotaryAxis(string)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_SetAxis_System_String_Hi_NcParsers_Dependencys_AxisType_">ControllerParameterTableBase.SetAxis(string, AxisType)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_RemoveAxis_System_String_">ControllerParameterTableBase.RemoveAxis(string)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_ConfigureRotaryAxis_System_String_System_Double_System_Double_">ControllerParameterTableBase.ConfigureRotaryAxis(string, double, double)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_MCodeDeclarations">ControllerParameterTableBase.MCodeDeclarations</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_TryGetMCodeEffects_System_String_Hi_NcParsers_Dependencys_MCodeEffects__">ControllerParameterTableBase.TryGetMCodeEffects(string, out MCodeEffects)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_DeclareMCode_System_String_Hi_NcParsers_Dependencys_MCodeEffects_">ControllerParameterTableBase.DeclareMCode(string, MCodeEffects)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_RemoveMCodeDeclaration_System_String_">ControllerParameterTableBase.RemoveMCodeDeclaration(string)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_SpindleDirectionCodes">ControllerParameterTableBase.SpindleDirectionCodes</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_TryResolveDirection_System_String_Hi_Numerical_SpindleDirection__">ControllerParameterTableBase.TryResolveDirection(string, out SpindleDirection)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_ConfigureSpindleDirectionCode_System_String_Hi_Numerical_SpindleDirection_">ControllerParameterTableBase.ConfigureSpindleDirectionCode(string, SpindleDirection)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_RemoveSpindleDirectionCode_System_String_">ControllerParameterTableBase.RemoveSpindleDirectionCode(string)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_ReadXml_System_Xml_Linq_XElement_">ControllerParameterTableBase.ReadXml(XElement)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_WriteXml_System_String_">ControllerParameterTableBase.WriteXml(string)</a>
</div>
<div>
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_CopyParamsTo_Hi_NcParsers_Dependencys_ControllerParameterTableBase_">ControllerParameterTableBase.CopyParamsTo(ControllerParameterTableBase)</a>
</div>
<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>
<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.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_NcParsers_Dependencys_Siemens_SiemensMachineDataTable__ctor_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.#ctor*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable__ctor" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.#ctor">
SiemensMachineDataTable()
</h3>
<div class="markdown level1 summary"><p>Initializes a new instance with empty machine data tables.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public SiemensMachineDataTable()</code></pre>
</div>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable__ctor_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.#ctor*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable__ctor_System_Xml_Linq_XElement_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.#ctor(System.Xml.Linq.XElement)">
SiemensMachineDataTable(XElement)
</h3>
<div class="markdown level1 summary"><p>Initializes a new instance by deserializing from <code class="paramref">src</code>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public SiemensMachineDataTable(XElement src)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>src</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a></dt>
<dd><p>XML element produced by <a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MakeXmlSource_System_String_System_String_System_Boolean_">MakeXmlSource(string, string, bool)</a>.</p>
</dd>
</dl>
<h2 class="section" id="fields">Fields
</h2>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdAxisType" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.MdAxisType">
MdAxisType
</h3>
<div class="markdown level1 summary"><p>MD30300: Axis type per axis (0=linear, 1=rotary, 2=spindle).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int MdAxisType = 30300</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdFixPointPos" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.MdFixPointPos">
MdFixPointPos
</h3>
<div class="markdown level1 summary"><p>MD30600: Fixed point position per axis — the G75 target
(<code>$MA_FIX_POINT_POS</code>). Fixed point 1 only; the Siemens
per-axis array form (<code>FP=2..4</code>) is not modeled.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int MdFixPointPos = 30600</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdIndexAxAssignPosTab" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.MdIndexAxAssignPosTab">
MdIndexAxAssignPosTab
</h3>
<div class="markdown level1 summary"><p>MD30500: Indexing table assignment per axis
(<code>$MA_INDEX_AX_ASSIGN_POS_TAB</code>) — 0 = not an indexing axis,
1 = positions in <a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_IndexAxPosTab1">IndexAxPosTab1</a>, 2 = positions in
<a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_IndexAxPosTab2">IndexAxPosTab2</a>, 3 = equidistant index intervals
(<a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdIndexAxNumerator">MdIndexAxNumerator</a> / <a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdIndexAxDenominator">MdIndexAxDenominator</a>
/ <a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdIndexAxOffset">MdIndexAxOffset</a>). See <a class="xref" href="Hi.NcParsers.Dependencys.IIndexingPositionConfig.html">IIndexingPositionConfig</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int MdIndexAxAssignPosTab = 30500</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdIndexAxDenominator" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.MdIndexAxDenominator">
MdIndexAxDenominator
</h3>
<div class="markdown level1 summary"><p>MD30502: Equidistant indexing denominator per axis
(<code>$MA_INDEX_AX_DENOMINATOR</code>) — on a modular rotary axis, the
number of indexing positions per revolution.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int MdIndexAxDenominator = 30502</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdIndexAxNumerator" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.MdIndexAxNumerator">
MdIndexAxNumerator
</h3>
<div class="markdown level1 summary"><p>MD30501: Equidistant indexing numerator per axis
(<code>$MA_INDEX_AX_NUMERATOR</code>). Position spacing =
numerator / denominator for non-modular axes; ignored on modular
rotary axes, whose spacing is the 360° modulo range /
<a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdIndexAxDenominator">MdIndexAxDenominator</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int MdIndexAxNumerator = 30501</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdIndexAxOffset" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.MdIndexAxOffset">
MdIndexAxOffset
</h3>
<div class="markdown level1 summary"><p>MD30503: Absolute position of indexing position 1 per axis
(<code>$MA_INDEX_AX_OFFSET</code>) for equidistant indexing.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int MdIndexAxOffset = 30503</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdMaxAxisVelocity" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.MdMaxAxisVelocity">
MdMaxAxisVelocity
</h3>
<div class="markdown level1 summary"><p>MD32000: Max axis velocity per axis (mm/min or deg/min).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int MdMaxAxisVelocity = 32000</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdMaxSpindleSpeed" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.MdMaxSpindleSpeed">
MdMaxSpindleSpeed
</h3>
<div class="markdown level1 summary"><p>MD35100: Maximum spindle speed (RPM).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int MdMaxSpindleSpeed = 35100</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdReferencePosition" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.MdReferencePosition">
MdReferencePosition
</h3>
<div class="markdown level1 summary"><p>MD34010: Reference point position per axis.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int MdReferencePosition = 34010</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdStrokeLimitNeg" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.MdStrokeLimitNeg">
MdStrokeLimitNeg
</h3>
<div class="markdown level1 summary"><p>MD36110: Negative stroke limit per axis.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int MdStrokeLimitNeg = 36110</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdStrokeLimitPos" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.MdStrokeLimitPos">
MdStrokeLimitPos
</h3>
<div class="markdown level1 summary"><p>MD36100: Positive stroke limit per axis.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int MdStrokeLimitPos = 36100</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdToolChangeMCode" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.MdToolChangeMCode">
MdToolChangeMCode
</h3>
<div class="markdown level1 summary"><p>MD22560: Tool change M function
(<code>$MC_TOOL_CHANGE_M_CODE</code>, default 6). When the row is present,
the named M code carries <a class="xref" href="Hi.NcParsers.Dependencys.MCodeEffects.html#Hi_NcParsers_Dependencys_MCodeEffects_IsToolChange">IsToolChange</a> in
the effective declaration view (overlaid at read time — see
<a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_EffectiveMCodeDeclarations">EffectiveMCodeDeclarations</a>); when absent, only
explicit <a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_MCodeDeclarations">MCodeDeclarations</a>
entries trigger a change.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int MdToolChangeMCode = 22560</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdToolChangeMode" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.MdToolChangeMode">
MdToolChangeMode
</h3>
<div class="markdown level1 summary"><p>MD22550: Tool change mode (<code>$MC_TOOL_CHANGE_MODE</code>) —
0 = the T word itself performs the change (turret/lathe),
1 = an M function performs it while T only preselects. When the row
is present it drives <a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_ToolWordTriggersChange">ToolWordTriggersChange</a>; when
absent the brand-neutral flag stands alone.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int MdToolChangeMode = 22550</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_OemAuxiliaryNote" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.OemAuxiliaryNote">
OemAuxiliaryNote
</h3>
<div class="markdown level1 summary"><p>Note text for the OEM auxiliary M-codes the default preset declares
note-only (M12/M13/M22/M23/M330/M331) — machine-specific codes
recurring in real Siemens programs whose PLC behavior varies per
machine and is not simulated. A note-only declaration keeps each
occurrence visible as known-but-unmodeled
(<code>DeclaredMCode&ndash;UnmodeledEffects</code>) instead of the unknown-code
<code>Parsing&ndash;Unconsumed</code> warning; a machine table overrides the
declaration with the actual effects when they are known.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string OemAuxiliaryNote = &quot;machine-specific auxiliary function (OEM/PLC); the exact behavior depends on the machine&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_Dependencys_Siemens_SiemensMachineDataTable_AxisMd30300_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.AxisMd30300*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_AxisMd30300" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.AxisMd30300">
AxisMd30300
</h3>
<div class="markdown level1 summary"><p>MD30300: Axis type per axis. See <a class="xref" href="Hi.NcParsers.Dependencys.AxisType.html">AxisType</a>. See <a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_AxisNames">AxisNames</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Dictionary&lt;string, int&gt; AxisMd30300 { 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.string">string</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_AxisMd30500_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.AxisMd30500*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_AxisMd30500" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.AxisMd30500">
AxisMd30500
</h3>
<div class="markdown level1 summary"><p>MD30500: Indexing table assignment per axis. See
<a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdIndexAxAssignPosTab">MdIndexAxAssignPosTab</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Dictionary&lt;string, int&gt; AxisMd30500 { 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.string">string</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_AxisMd30600_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.AxisMd30600*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_AxisMd30600" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.AxisMd30600">
AxisMd30600
</h3>
<div class="markdown level1 summary"><p>MD30600: Fixed point position per axis (fixed point 1 —
the G75 target). See <a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_GetFixPointPosition_System_String_">GetFixPointPosition(string)</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Dictionary&lt;string, double&gt; AxisMd30600 { 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.string">string</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_AxisMd32000_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.AxisMd32000*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_AxisMd32000" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.AxisMd32000">
AxisMd32000
</h3>
<div class="markdown level1 summary"><p>MD32000: Max axis velocity per axis (mm/min or deg/min).
See <a class="xref" href="Hi.NcParsers.Dependencys.IRapidFeedrateConfig.html">IRapidFeedrateConfig</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Dictionary&lt;string, double&gt; AxisMd32000 { 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.string">string</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_AxisMd34010_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.AxisMd34010*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_AxisMd34010" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.AxisMd34010">
AxisMd34010
</h3>
<div class="markdown level1 summary"><p>MD34010: Reference point position per axis. See <a class="xref" href="Hi.NcParsers.Dependencys.IHomeMcConfig.html">IHomeMcConfig</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Dictionary&lt;string, double&gt; AxisMd34010 { 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.string">string</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_AxisTypeParamId_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.AxisTypeParamId*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_AxisTypeParamId" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.AxisTypeParamId">
AxisTypeParamId
</h3>
<div class="markdown level1 summary"><p>Parameter/MD/MP number for axis type (linear/rotary/spindle).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected override int AxisTypeParamId { 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_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_Default3Axis_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.Default3Axis*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_Default3Axis" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.Default3Axis">
Default3Axis
</h3>
<div class="markdown level1 summary"><p>Default 3-axis Siemens milling machine.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static SiemensMachineDataTable Default3Axis { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html">SiemensMachineDataTable</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_EffectiveMCodeDeclarations_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.EffectiveMCodeDeclarations*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_EffectiveMCodeDeclarations" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.EffectiveMCodeDeclarations">
EffectiveMCodeDeclarations
</h3>
<div class="markdown level1 summary"><p>Overlays the MD22560 tool-change M function onto the declared
M-codes: the named code gains <a class="xref" href="Hi.NcParsers.Dependencys.MCodeEffects.html#Hi_NcParsers_Dependencys_MCodeEffects_IsToolChange">IsToolChange</a>
(merged into a clone of its explicit declaration when one exists, so
a note or coolant half is kept and the stored instance is never
mutated). The overlay exists only in this read-time view — XML,
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_MCodeDeclarations">MCodeDeclarations</a>, and
clones stay derivation-free and re-derive from the MD row. With no
MD22560 row (or one already declared as a tool change) the stored
dictionary is returned as-is, allocation-free.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected override IReadOnlyDictionary&lt;string, MCodeEffects&gt; EffectiveMCodeDeclarations { 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.ireadonlydictionary-2">IReadOnlyDictionary</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>, <a class="xref" href="Hi.NcParsers.Dependencys.MCodeEffects.html">MCodeEffects</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_IdAttributeName_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.IdAttributeName*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_IdAttributeName" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.IdAttributeName">
IdAttributeName
</h3>
<div class="markdown level1 summary"><p>XML attribute name for the parameter ID (&ldquo;ParamId&rdquo;, &ldquo;MdId&rdquo;, &ldquo;MpId&rdquo;).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected override string IdAttributeName { 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_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_IndexAxPosTab1_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.IndexAxPosTab1*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_IndexAxPosTab1" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.IndexAxPosTab1">
IndexAxPosTab1
</h3>
<div class="markdown level1 summary"><p>Indexing position table 1 (MD10910 <code>$MN_INDEX_AX_POS_TAB_1</code>),
shared by every axis whose <a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MdIndexAxAssignPosTab">MdIndexAxAssignPosTab</a> value
is 1. Entry order is position-number order: entry [0] is indexing
position 1. The used-length machine data (MD10900) is implied by
the list count. Values follow the Siemens constraints (strictly
ascending; within one revolution for modular rotary axes) — the
lookups do not validate them.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public List&lt;double&gt; IndexAxPosTab1 { 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.list-1">List</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_IndexAxPosTab2_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.IndexAxPosTab2*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_IndexAxPosTab2" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.IndexAxPosTab2">
IndexAxPosTab2
</h3>
<div class="markdown level1 summary"><p>Indexing position table 2 (MD10930 <code>$MN_INDEX_AX_POS_TAB_2</code>) —
see <a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_IndexAxPosTab1">IndexAxPosTab1</a>; used-length MD10920 implied by the
list count.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public List&lt;double&gt; IndexAxPosTab2 { 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.list-1">List</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a>&gt;</dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MaxSpindleSpeed_rpm_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.MaxSpindleSpeed_rpm*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MaxSpindleSpeed_rpm" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.MaxSpindleSpeed_rpm">
MaxSpindleSpeed_rpm
</h3>
<div class="markdown level1 summary"><p>Maximum spindle speed in RPM. Delegates to <a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_Md35100">Md35100</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public double MaxSpindleSpeed_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_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_Md35100_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.Md35100*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_Md35100" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.Md35100">
Md35100
</h3>
<div class="markdown level1 summary"><p>MD35100: Maximum spindle speed (RPM). See <a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MaxSpindleSpeed_rpm">MaxSpindleSpeed_rpm</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public double Md35100 { 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_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_RapidRateParamId_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.RapidRateParamId*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_RapidRateParamId" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.RapidRateParamId">
RapidRateParamId
</h3>
<div class="markdown level1 summary"><p>Parameter/MD/MP number for rapid traverse rate per axis.
Null if not defined for this controller brand.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected override int? RapidRateParamId { 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_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_ReferencePositionParamId_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.ReferencePositionParamId*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_ReferencePositionParamId" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.ReferencePositionParamId">
ReferencePositionParamId
</h3>
<div class="markdown level1 summary"><p>Parameter/MD/MP number for reference position (G28 home).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected override int ReferencePositionParamId { 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_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_StrokeLimitNegParamId_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.StrokeLimitNegParamId*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_StrokeLimitNegParamId" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.StrokeLimitNegParamId">
StrokeLimitNegParamId
</h3>
<div class="markdown level1 summary"><p>Parameter/MD/MP number for negative stroke limit per axis.
Null if not defined for this controller brand.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected override int? StrokeLimitNegParamId { 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_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_StrokeLimitPosParamId_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.StrokeLimitPosParamId*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_StrokeLimitPosParamId" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.StrokeLimitPosParamId">
StrokeLimitPosParamId
</h3>
<div class="markdown level1 summary"><p>Parameter/MD/MP number for positive stroke limit per axis.
Null if not defined for this controller brand.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">protected override int? StrokeLimitPosParamId { 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_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_ToolWordTriggersChange_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.ToolWordTriggersChange*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_ToolWordTriggersChange" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.ToolWordTriggersChange">
ToolWordTriggersChange
</h3>
<div class="markdown level1 summary"><p>The T-word trigger, bound to MD22550 (<code>$MC_TOOL_CHANGE_MODE</code>)
when that row is present: 0 = the T word performs the change, any
other value = an M function does. An absent row falls back to the
brand-neutral flag. The setter writes whichever storage is active,
so an MD-configured table keeps the machine data authoritative
(and visible in the native parameter view) while a table without
the row behaves exactly like the other brands.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override bool ToolWordTriggersChange { 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.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_XName_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.XName*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_XName" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.XName">
XName
</h3>
<div class="markdown level1 summary"><p>XML element name used to register this dependency with <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static string XName { 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>
<h2 class="section" id="methods">Methods
</h2>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_DeepClone_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.DeepClone*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_DeepClone" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.DeepClone">
DeepClone()
</h3>
<div class="markdown level1 summary"><p>Returns an independent deep copy of this table: the three parameter
dictionaries, M-code declarations, and T-word trigger (via
<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_CopyParamsTo_Hi_NcParsers_Dependencys_ControllerParameterTableBase_">CopyParamsTo(ControllerParameterTableBase)</a>) plus this
class's indexing position tables
(<a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_IndexAxPosTab1">IndexAxPosTab1</a>/<a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_IndexAxPosTab2">IndexAxPosTab2</a>). Used by
<a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTableProxy.html">SiemensMachineDataTableProxy</a> to clone its fixed
machine-config seed into a host that has no table yet.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public SiemensMachineDataTable DeepClone()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html">SiemensMachineDataTable</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_DescribeAxisParam_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.DescribeAxisParam*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_DescribeAxisParam_System_Int32_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.DescribeAxisParam(System.Int32)">
DescribeAxisParam(int)
</h3>
<div class="markdown level1 summary"><p>Per-axis double counterpart of <a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_DescribeSystemParam_System_Int32_">DescribeSystemParam(int)</a>.
Covers the role ids the base class consumes (reference position,
rapid rate, stroke limits); brand subclasses may override for their
own vocabulary or extra numbers.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override string DescribeAxisParam(int paramId)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>paramId</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd><p>Brand-specific parameter/MD/MP number.</p>
</dd>
</dl>
<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></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_DescribeIntAxisParam_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.DescribeIntAxisParam*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_DescribeIntAxisParam_System_Int32_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.DescribeIntAxisParam(System.Int32)">
DescribeIntAxisParam(int)
</h3>
<div class="markdown level1 summary"><p>Per-axis integer counterpart of <a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_DescribeSystemParam_System_Int32_">DescribeSystemParam(int)</a>.
Covers the axis-type id the base class consumes.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override string DescribeIntAxisParam(int paramId)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>paramId</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd><p>Brand-specific parameter/MD/MP number.</p>
</dd>
</dl>
<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></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_DescribeSystemParam_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.DescribeSystemParam*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_DescribeSystemParam_System_Int32_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.DescribeSystemParam(System.Int32)">
DescribeSystemParam(int)
</h3>
<div class="markdown level1 summary"><p>Short usage label for a well-known system parameter id, or null when
the id has no modeled meaning (a raw pass-through row). Brand
subclasses extend this with their own well-known numbers; the native
parameter UI shows the label next to the raw id so an operator can
tell the modeled parameters from free extras.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override string DescribeSystemParam(int paramId)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>paramId</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd><p>Brand-specific parameter/MD/MP number.</p>
</dd>
</dl>
<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></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_GetFixPointPosition_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.GetFixPointPosition*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_GetFixPointPosition_System_String_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.GetFixPointPosition(System.String)">
GetFixPointPosition(string)
</h3>
<div class="markdown level1 summary"><p>Fixed-point-1 position (MD30600) for the axis, or null when the
axis has no configured fixed point — the G75 consumer then falls
back to the reference position (<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html#Hi_NcParsers_Dependencys_ControllerParameterTableBase_GetHomePosition_System_String_">GetHomePosition(string)</a>).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public double? GetFixPointPosition(string axisName)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>axisName</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></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></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_GetIndexingPositionCount_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.GetIndexingPositionCount*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_GetIndexingPositionCount_System_String_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.GetIndexingPositionCount(System.String)">
GetIndexingPositionCount(string)
</h3>
<div class="markdown level1 summary"><p>Number of programmable indexing positions: the table length for
table-assigned axes, the per-cycle position count for cyclic
equidistant axes, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32.maxvalue">MaxValue</a> for unbounded
(non-cyclic equidistant) axes, and 0 when the axis is not a usable
indexing axis.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int GetIndexingPositionCount(string axisName)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>axisName</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>Axis name (e.g., &ldquo;C&rdquo;).</p>
</dd>
</dl>
<h4 class="section">Returns</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_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_IsIndexingAxis_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.IsIndexingAxis*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_IsIndexingAxis_System_String_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.IsIndexingAxis(System.String)">
IsIndexingAxis(string)
</h3>
<div class="markdown level1 summary"><p>True when the axis is configured as an indexing axis with a usable
position table (a non-empty table, or a valid equidistant
definition). An axis declared indexing but with an empty/invalid
table reports false — the coded-position words then stay
unrecognized (loud residue) instead of resolving against garbage.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool IsIndexingAxis(string axisName)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>axisName</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>Axis name (e.g., &ldquo;C&rdquo;).</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></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_IsIndexingCyclic_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.IsIndexingCyclic*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_IsIndexingCyclic_System_String_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.IsIndexingCyclic(System.String)">
IsIndexingCyclic(string)
</h3>
<div class="markdown level1 summary"><p>True when position-number arithmetic wraps modulo
<a class="xref" href="Hi.NcParsers.Dependencys.IIndexingPositionConfig.html#Hi_NcParsers_Dependencys_IIndexingPositionConfig_GetIndexingPositionCount_System_String_">GetIndexingPositionCount(string)</a> — an indexing axis that is
also a modular rotary axis
(<a class="xref" href="Hi.NcParsers.Dependencys.IMachineAxisConfig.html#Hi_NcParsers_Dependencys_IMachineAxisConfig_IsModularRotary_System_String_">IsModularRotary(string)</a>). Advancing past
the last position continues at position 1.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool IsIndexingCyclic(string axisName)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>axisName</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>Axis name (e.g., &ldquo;C&rdquo;).</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></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MakeXmlSource_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.MakeXmlSource*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MakeXmlSource_System_String_System_String_System_Boolean_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.MakeXmlSource(System.String,System.String,System.Boolean)">
MakeXmlSource(string, string, bool)
</h3>
<div class="markdown level1 summary"><p>Creates an XML representation of the object.
This method may also generate additional resources such as related files.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public override XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>baseDirectory</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>The base directory for resolving relative paths</p>
</dd>
<dt><code>relFile</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>The relative file path for the XML source</p>
</dd>
<dt><code>exhibitionOnly</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd><p>if true, the extended file creation is suppressed.</p>
</dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a></dt>
<dd><p>An XML element representing the object's state</p>
</dd>
</dl>
<h4 class="section" id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_MakeXmlSource_System_String_System_String_System_Boolean__remarks">Remarks</h4>
<div class="markdown level1 remarks"><p>For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied.
The <code class="paramref">baseDirectory</code> is typically the folder at the nearest configuration file folder.
Since the folder can be moving with the configuration file.</p>
</div>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_Reg_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.Reg*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.Reg(Hi.Common.XmlUtils.XFactory)">
Reg(XFactory)
</h3>
<div class="markdown level1 summary"><p>Registers this type's deserializer with the given <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a>
(or <a class="xref" href="Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Default">Default</a> when <code class="paramref">factory</code> is
<code>null</code>). Idempotent.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static void Reg(XFactory factory = null)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>factory</code> <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_TryFindIndexingAnchor_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.TryFindIndexingAnchor*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_TryFindIndexingAnchor_System_String_System_Double_System_Int32__System_Boolean__" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.TryFindIndexingAnchor(System.String,System.Double,System.Int32@,System.Boolean@)">
TryFindIndexingAnchor(string, double, out int, out bool)
</h3>
<div class="markdown level1 summary"><p>Locates an axis position relative to the indexing table for
incremental (<code>CIC</code>) resolution: <code class="paramref">floorNumber</code>
is the number of the nearest indexing position at or below
<code class="paramref">position</code> (cyclically behind on cyclic axes; 0
when the position lies below the whole table on a non-cyclic axis),
and <code class="paramref">exactlyOnPosition</code> reports a match within
<a class="xref" href="Hi.NcParsers.Dependencys.IIndexingPositionConfig.html#Hi_NcParsers_Dependencys_IIndexingPositionConfig_PositionMatchTolerance">PositionMatchTolerance</a>. False when the axis is not a
usable indexing axis.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool TryFindIndexingAnchor(string axisName, double position, out int floorNumber, out bool exactlyOnPosition)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>axisName</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>Axis name (e.g., &ldquo;C&rdquo;).</p>
</dd>
<dt><code>position</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd><p>Current axis coordinate (degrees or mm); rotary values may lie outside one revolution and are normalized by the implementation.</p>
</dd>
<dt><code>floorNumber</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd><p>Number of the nearest indexing position at or (cyclically) below the given position.</p>
</dd>
<dt><code>exactlyOnPosition</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd><p>True when the position sits on an indexing position within <a class="xref" href="Hi.NcParsers.Dependencys.IIndexingPositionConfig.html#Hi_NcParsers_Dependencys_IIndexingPositionConfig_PositionMatchTolerance">PositionMatchTolerance</a>.</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></dd>
</dl>
<a id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_TryGetIndexingPosition_" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.TryGetIndexingPosition*"></a>
<h3 id="Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_TryGetIndexingPosition_System_String_System_Int32_System_Double__" data-uid="Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.TryGetIndexingPosition(System.String,System.Int32,System.Double@)">
TryGetIndexingPosition(string, int, out double)
</h3>
<div class="markdown level1 summary"><p>Resolves a 1-based indexing position number to its axis coordinate.
False when the axis is not a usable indexing axis or the number is
outside <code>[1, count]</code>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool TryGetIndexingPosition(string axisName, int positionNumber, out double position)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>axisName</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd><p>Axis name (e.g., &ldquo;C&rdquo;).</p>
</dd>
<dt><code>positionNumber</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd><p>1-based indexing position number.</p>
</dd>
<dt><code>position</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
<dd><p>Resolved axis coordinate (degrees or mm).</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></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>