rename XFactory.Regs to XFactory.Generators.
This commit is contained in:
+74
@@ -183,6 +183,80 @@ composes into <a class="xref" href="Hi.NcParsers.Keywords.ITransformationDef.htm
|
||||
</dd></dl>
|
||||
|
||||
|
||||
<h2 id="Hi_NcParsers_LogicSyntaxs_Siemens_SiemensCoordinateOffsetSyntax_examples">Examples</h2>
|
||||
<p>Unlike <a class="xref" href="Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.html">IsoCoordinateOffsetSyntax</a> (Fanuc/ISO), this
|
||||
Siemens variant does <b>not</b> consume the coordinate flag from
|
||||
<code>Parsing.Flags</code> — the flag stays for downstream syntaxes /
|
||||
reconstruction. <code>Mat4d</code> arrays are 16 plain doubles in
|
||||
column-major order; pure translation by <code>(tx,ty,tz)</code> is
|
||||
<code>[1,0,0,0, 0,1,0,0, 0,0,1,0, tx,ty,tz,1]</code>.</p>
|
||||
<p>
|
||||
G54 with an <a class="xref" href="Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.html">IsoCoordinateTable</a>
|
||||
providing <code>G54 → (10, 20, -100)</code> — same shape as
|
||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.html">IsoCoordinateOffsetSyntax</a> but the <code>G54</code> flag
|
||||
survives:
|
||||
</p>
|
||||
#BeforeBuild:
|
||||
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["G54"] } }</code></pre>
|
||||
#AfterBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"Parsing": { "Flags": ["G54"] },
|
||||
"CoordinateOffset": {
|
||||
"CoordinateId": "G54",
|
||||
"Offset_X": 10, "Offset_Y": 20, "Offset_Z": -100
|
||||
},
|
||||
"ProgramToMcTransform": [
|
||||
{
|
||||
"Source": "CoordinateOffset",
|
||||
"Kind": "Static",
|
||||
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 10,20,-100,1]
|
||||
}
|
||||
]
|
||||
}</code></pre>
|
||||
Siemens-extended <code>G505</code> with a table entry for the same id —
|
||||
proves the syntax recognises the extended series, not only the
|
||||
ISO-compat G54–G57 subset:
|
||||
#BeforeBuild:
|
||||
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["G505"] } }</code></pre>
|
||||
#AfterBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"Parsing": { "Flags": ["G505"] },
|
||||
"CoordinateOffset": {
|
||||
"CoordinateId": "G505",
|
||||
"Offset_X": 100, "Offset_Y": 50, "Offset_Z": -200
|
||||
},
|
||||
"ProgramToMcTransform": [
|
||||
{
|
||||
"Source": "CoordinateOffset",
|
||||
"Kind": "Static",
|
||||
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 100,50,-200,1]
|
||||
}
|
||||
]
|
||||
}</code></pre>
|
||||
<code>G500</code> cancel with no <a class="xref" href="Hi.NcParsers.Dependencys.IIsoCoordinateConfig.html">IIsoCoordinateConfig</a> on
|
||||
the dep list — falls back to <code>Vec3d.Zero</code>; the resolved
|
||||
offset is zero and the composed translation is identity (matching
|
||||
the special case inside
|
||||
<a class="xref" href="Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensFrameTable_GetCoordinateOffset_System_String_">GetCoordinateOffset(string)</a>
|
||||
for G500):
|
||||
#BeforeBuild:
|
||||
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["G500"] } }</code></pre>
|
||||
#AfterBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"Parsing": { "Flags": ["G500"] },
|
||||
"CoordinateOffset": {
|
||||
"CoordinateId": "G500",
|
||||
"Offset_X": 0, "Offset_Y": 0, "Offset_Z": 0
|
||||
},
|
||||
"ProgramToMcTransform": [
|
||||
{
|
||||
"Source": "CoordinateOffset",
|
||||
"Kind": "Static",
|
||||
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]
|
||||
}
|
||||
]
|
||||
}</code></pre>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user