rename XFactory.Regs to XFactory.Generators.

This commit is contained in:
2026-05-23 21:23:06 +08:00
parent 8b285cc863
commit 058003f395
155 changed files with 16416 additions and 1261 deletions
@@ -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 G54G57 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>