rename XFactory.Regs to XFactory.Generators.
This commit is contained in:
+69
@@ -188,6 +188,75 @@ Modal — persists via backward lookback until changed or cancelled.
|
||||
</dd></dl>
|
||||
|
||||
|
||||
<h2 id="Hi_NcParsers_LogicSyntaxs_IsoLocalCoordinateOffsetSyntax_examples">Examples</h2>
|
||||
<p><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> — see
|
||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.html">IsoCoordinateOffsetSyntax</a> for the column-major template.</p>
|
||||
<p>
|
||||
First block of the stream (no <code>#Previous:</code>) — the syntax
|
||||
stamps a zero-offset section and an identity translation in the
|
||||
chain so downstream lookback always sees a concrete state:
|
||||
</p>
|
||||
#BeforeBuild:
|
||||
<pre><code class="lang-csharp">{ }</code></pre>
|
||||
#AfterBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"IsoLocalCoordinateOffset": { "Offset_X": 0, "Offset_Y": 0, "Offset_Z": 0 },
|
||||
"ProgramToMcTransform": [
|
||||
{
|
||||
"Source": "IsoLocalCoordinateOffset",
|
||||
"Kind": "Static",
|
||||
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]
|
||||
}
|
||||
]
|
||||
}</code></pre>
|
||||
<code>G52 X10 Y20 Z5</code> on a non-first block alongside an unrelated
|
||||
M03 flag — the <code>G52</code> sub-section is consumed (removed from
|
||||
<code>Parsing</code>) and the translation is composed into the chain; the
|
||||
unrelated flag stays because this syntax does not call
|
||||
<code>CleanupParsing</code>:
|
||||
#Previous:
|
||||
<pre><code class="lang-csharp">{ "IsoLocalCoordinateOffset": { "Offset_X": 0, "Offset_Y": 0, "Offset_Z": 0 } }</code></pre>
|
||||
#BeforeBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"Parsing": {
|
||||
"Flags": ["M03"],
|
||||
"G52": { "X": 10, "Y": 20, "Z": 5 }
|
||||
}
|
||||
}</code></pre>
|
||||
#AfterBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"Parsing": { "Flags": ["M03"] },
|
||||
"IsoLocalCoordinateOffset": { "Offset_X": 10, "Offset_Y": 20, "Offset_Z": 5 },
|
||||
"ProgramToMcTransform": [
|
||||
{
|
||||
"Source": "IsoLocalCoordinateOffset",
|
||||
"Kind": "Static",
|
||||
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 10,20,5,1]
|
||||
}
|
||||
]
|
||||
}</code></pre>
|
||||
No G52 on the current block but <code>#Previous:</code> had a non-zero
|
||||
offset — modal lookback inherits it (with the translation
|
||||
re-composed into this block's chain):
|
||||
#Previous:
|
||||
<pre><code class="lang-csharp">{ "IsoLocalCoordinateOffset": { "Offset_X": 10, "Offset_Y": 20, "Offset_Z": 5 } }</code></pre>
|
||||
#BeforeBuild:
|
||||
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["M03"] } }</code></pre>
|
||||
#AfterBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"Parsing": { "Flags": ["M03"] },
|
||||
"IsoLocalCoordinateOffset": { "Offset_X": 10, "Offset_Y": 20, "Offset_Z": 5 },
|
||||
"ProgramToMcTransform": [
|
||||
{
|
||||
"Source": "IsoLocalCoordinateOffset",
|
||||
"Kind": "Static",
|
||||
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 10,20,5,1]
|
||||
}
|
||||
]
|
||||
}</code></pre>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user