fix SoftNcRunner GM code normalization.
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Interface ITransformationDef | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Chain of named ProgramXyz → MachineCoordinate transformation entries. Stored as a of entries, each with &ldquo;Source&rdquo; and &ldquo;Mat4d&rdquo; keys. Each contributing adds or replaces its own entry by source name. composes all entries in order: McXyz = ProgramXyz * T[0] * T[1] * ... * T[n].">
|
||||
<meta name="description" content="Chain of named ProgramXyz → MachineCoordinate transformation entries. Stored as a of entries, each with &ldquo;Source&rdquo;, &ldquo;Kind&rdquo;, and &ldquo;Mat4d&rdquo; keys. Each contributing adds or replaces its own entry by source name. composes entries in order: McXyz = ProgramXyz * T[0] * T[1] * ... * T[n]. Kind contour-validity classification. Each entry is either: "Static" — the Mat4d is valid for any point along the contour. Tilt, coord-offset, and the kinematic pivot in non-RTCP / rotary-stable blocks are all Static."Dynamic" — the Mat4d is a block-endpoint snapshot of a rotary-state-dependent transform (RTCP rotary-dynamic). Composition still yields a correct endpoint MC, but the matrix is not contour-valid: intermediate CL-point positions cannot be derived by applying it to an interpolated ProgramXyz. The semantic layer () handles per-step IK separately. Use to detect the presence of any Dynamic entry on this block.">
|
||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
@@ -98,10 +98,26 @@ Interface ITransformationDef
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Chain of named ProgramXyz → MachineCoordinate transformation entries.
|
||||
Stored as a <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonarray">JsonArray</a> of entries, each with “Source” and “Mat4d” keys.
|
||||
Each contributing <a class="xref" href="Hi.NcParsers.Syntaxs.INcSyntax.html">INcSyntax</a> adds or replaces its own entry by source name.
|
||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.html">ProgramXyzSyntax</a> composes all entries in order:
|
||||
<code>McXyz = ProgramXyz * T[0] * T[1] * ... * T[n]</code>.</p>
|
||||
Stored as a <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonarray">JsonArray</a> of entries, each with
|
||||
<code>“Source”</code>, <code>“Kind”</code>, and <code>“Mat4d”</code> keys.
|
||||
Each contributing <a class="xref" href="Hi.NcParsers.Syntaxs.INcSyntax.html">INcSyntax</a> adds or replaces its own
|
||||
entry by source name.
|
||||
<a class="xref" href="Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_GetComposedTransform_System_Text_Json_Nodes_JsonObject_">GetComposedTransform(JsonObject)</a>
|
||||
composes entries in order: <code>McXyz = ProgramXyz * T[0] * T[1] * ... * T[n]</code>.</p>
|
||||
<p>
|
||||
<b><code>Kind</code> contour-validity classification.</b> Each entry is either:
|
||||
<ul><li><code>"Static"</code> — the Mat4d is valid for any point along the contour.
|
||||
Tilt, coord-offset, and the kinematic pivot in non-RTCP / rotary-stable
|
||||
blocks are all Static.</li><li><code>"Dynamic"</code> — the Mat4d is a <i>block-endpoint snapshot</i> of a
|
||||
rotary-state-dependent transform (RTCP rotary-dynamic). Composition still
|
||||
yields a correct endpoint MC, but the matrix is not contour-valid:
|
||||
intermediate CL-point positions cannot be derived by applying it to an
|
||||
interpolated ProgramXyz. The semantic layer
|
||||
(<a class="xref" href="Hi.NcParsers.Semantics.ClLinearMotionSemantic.html">ClLinearMotionSemantic</a>) handles per-step IK
|
||||
separately.</li></ul>
|
||||
Use <a class="xref" href="Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_HasDynamicEntry_System_Text_Json_Nodes_JsonObject_">HasDynamicEntry(JsonObject)</a> to detect
|
||||
the presence of any Dynamic entry on this block.
|
||||
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
@@ -145,9 +161,10 @@ Each contributing <a class="xref" href="Hi.NcParsers.Syntaxs.INcSyntax.html">INc
|
||||
|
||||
<h2 id="Hi_NcParsers_Keywords_ITransformationDef_examples">Examples</h2>
|
||||
<pre><code class="lang-csharp">"ProgramToMcTransform": [
|
||||
{"Source": "TiltTransform", "Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]},
|
||||
{"Source": "ToolHeightCompensation", "Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,99.98,1]},
|
||||
{"Source": "CoordinateOffset", "Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 10,20,-100,1]}
|
||||
{"Source": "TiltTransform", "Kind": "Static", "Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]},
|
||||
{"Source": "ToolHeightCompensation", "Kind": "Static", "Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,99.98,1]},
|
||||
{"Source": "CoordinateOffset", "Kind": "Static", "Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 10,20,-100,1]},
|
||||
{"Source": "PivotTransform", "Kind": "Dynamic", "Mat4d": [cosC,sinC,0,0, -sinC,cosC,0,0, 0,0,1,0, px,py,pz,1]}
|
||||
]</code></pre>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user