update ISO coordinate rendering for 3+2axis machine.

This commit is contained in:
2026-04-06 15:08:59 +08:00
parent 8dd5309e0e
commit 0fe9497552
219 changed files with 23941 additions and 12629 deletions
@@ -98,6 +98,11 @@ Classes
<dt><a class="xref" href="Hi.NcParsers.Keywords.Comment.html">Comment</a></dt>
<dd></dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Keywords.CompoundMotion.html">CompoundMotion</a></dt>
<dd><p>Section key holder + concrete implementation for <a class="xref" href="Hi.NcParsers.Keywords.ICompoundMotionDef.html">ICompoundMotionDef</a>.</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Keywords.CoordinateOffset.html">CoordinateOffset</a></dt>
<dd><p>Work coordinate offset state written by
@@ -114,6 +119,11 @@ Heidenhain: CYCL DEF 247 (Datum Preset) / CYCL DEF 7 (Datum Shift).
<dt><a class="xref" href="Hi.NcParsers.Keywords.CsScript.html">CsScript</a></dt>
<dd></dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Keywords.Dwell.html">Dwell</a></dt>
<dd><p>Section key holder + concrete implementation for <a class="xref" href="Hi.NcParsers.Keywords.IDwellDef.html">IDwellDef</a>.</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Keywords.Feedrate.html">Feedrate</a></dt>
<dd><p>Section key holder + concrete implementation for <a class="xref" href="Hi.NcParsers.Keywords.IFeedrateDef.html">IFeedrateDef</a>.</p>
@@ -133,6 +143,21 @@ ISO: G52 X Y Z (local coordinate system shift, additive to G54 series).
Cancelled by G52 X0 Y0 Z0 or M30 (program end).
Siemens equivalent: TRANS / ATRANS (handled by separate syntax).
</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Keywords.Motion.html">Motion</a></dt>
<dd><p>Section key holder + concrete implementation for <a class="xref" href="Hi.NcParsers.Keywords.IMotionDef.html">IMotionDef</a>.</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Keywords.SpindleControl.html">SpindleControl</a></dt>
<dd><p>Section key holder + concrete implementation for <a class="xref" href="Hi.NcParsers.Keywords.ISpindleControlDef.html">ISpindleControlDef</a>.</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Keywords.SpindleOrientation.html">SpindleOrientation</a></dt>
<dd><p>Section key holder + concrete implementation for <a class="xref" href="Hi.NcParsers.Keywords.ISpindleOrientationDef.html">ISpindleOrientationDef</a>.</p>
</dd>
</dl>
<dl class="jumplist">
@@ -152,6 +177,33 @@ Siemens equivalent: TRANS / ATRANS (handled by separate syntax).
<h3 id="interfaces">
Interfaces
</h3>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Keywords.IArcMotionDef.html">IArcMotionDef</a></dt>
<dd><p>Arc motion data written by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.html">CircularMotionSyntax</a>.
Stored under the <a class="xref" href="Hi.NcParsers.Keywords.Motion.html">Motion</a> JSON section alongside
<a class="xref" href="Hi.NcParsers.Keywords.IMotionDef.html">IMotionDef</a> properties.</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Keywords.ICompoundMotionDef.html">ICompoundMotionDef</a></dt>
<dd><p>Compound motion section definition for commands that produce
multiple sub-operations (G28, G53.1, G81, G82, etc.).
Contains a <a class="xref" href="Hi.NcParsers.Keywords.CompoundMotion.html#Hi_NcParsers_Keywords_CompoundMotion_ItemsKey">ItemsKey</a> array resolved by
<span class="xref">Hi.NcParsers.Semantics.CompoundMotionSemanticUtil</span>.</p>
<p>Item types (discriminated by key presence):</p>
<ul><li><a class="xref" href="Hi.NcParsers.Keywords.Motion.html">Motion</a> — rapid/feed linear motion
(<a class="xref" href="Hi.NcParsers.Keywords.IMotionDef.html">IMotionDef</a> + <a class="xref" href="Hi.NcParsers.Keywords.IMachineCoordinateDef.html">IMachineCoordinateDef</a>)</li><li><a class="xref" href="Hi.NcParsers.Keywords.Dwell.html">Dwell</a> — pause (<a class="xref" href="Hi.NcParsers.Keywords.IDwellDef.html#Hi_NcParsers_Keywords_IDwellDef_Time">Time</a> in seconds)</li><li><a class="xref" href="Hi.NcParsers.Keywords.SpindleControl.html">SpindleControl</a> — spindle direction change
(<a class="xref" href="Hi.NcParsers.Keywords.ISpindleControlDef.html#Hi_NcParsers_Keywords_ISpindleControlDef_Direction">Direction</a>)</li><li><a class="xref" href="Hi.NcParsers.Keywords.SpindleOrientation.html">SpindleOrientation</a> — oriented spindle stop (OSS)
(ISpindleOrientationDef.Angle_rad)</li></ul>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Keywords.IDwellDef.html">IDwellDef</a></dt>
<dd><p>Dwell/pause section definition for use inside Sequence items.
Resolved by Semantics.SequenceUtil into
<a class="xref" href="Hi.Numerical.Acts.ActDelay.html">ActDelay</a>.</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Keywords.IFeedrateDef.html">IFeedrateDef</a></dt>
<dd><p>Feedrate state written by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.FeedrateSyntax.html">FeedrateSyntax</a>.
@@ -170,6 +222,15 @@ Supported by all major CNC brands.
<dt><a class="xref" href="Hi.NcParsers.Keywords.IMachineCoordinateDef.html">IMachineCoordinateDef</a></dt>
<dd></dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Keywords.IMotionDef.html">IMotionDef</a></dt>
<dd><p>Motion state written by LogicSyntaxs.MotionSyntax.
Property names are used as JSON keys via <code>nameof</code>.</p>
<p>
ISO standard: G00 (rapid) / G01 (linear feed) are Group 01 modal codes.
</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Keywords.IParsingDef.html">IParsingDef</a></dt>
<dd></dd>
@@ -178,20 +239,40 @@ Supported by all major CNC brands.
<dt><a class="xref" href="Hi.NcParsers.Keywords.IPositioningModeDef.html">IPositioningModeDef</a></dt>
<dd><p>JsonObject key for positioning mode (G90 absolute / G91 incremental).
Written by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.PositioningModeSyntax.html">PositioningModeSyntax</a>,
consumed by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.html">ProgramXyzSyntax</a>.</p>
consumed by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.html">IncrementalResolveSyntax</a>
and canned cycle syntaxes.</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Keywords.IProgramXyzDef.html">IProgramXyzDef</a></dt>
<dd></dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Keywords.ISpindleControlDef.html">ISpindleControlDef</a></dt>
<dd><p>Spindle control item for use inside <a class="xref" href="Hi.NcParsers.Keywords.CompoundMotion.html#Hi_NcParsers_Keywords_CompoundMotion_ItemsKey">ItemsKey</a>
arrays. Resolved by <span class="xref">Hi.NcParsers.Semantics.CompoundMotionSemanticUtil</span>
into <a class="xref" href="Hi.Numerical.Acts.ActSpindleDirection.html">ActSpindleDirection</a>.</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Keywords.ISpindleOrientationDef.html">ISpindleOrientationDef</a></dt>
<dd><p>Oriented spindle stop item for use inside
<a class="xref" href="Hi.NcParsers.Keywords.CompoundMotion.html#Hi_NcParsers_Keywords_CompoundMotion_ItemsKey">ItemsKey</a> arrays.
Commands the spindle to stop at a specific angular position (OSS).
Resolved by <span class="xref">Hi.NcParsers.Semantics.CompoundMotionSemanticUtil</span>
into <a class="xref" href="Hi.Numerical.Acts.ActSpindleOrientation.html">ActSpindleOrientation</a>.</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.Keywords.ISpindleSpeedDef.html">ISpindleSpeedDef</a></dt>
<dd><p>Spindle speed state written by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.html">SpindleSpeedSyntax</a>.
<dd><p>Spindle speed and direction state written by
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.html">SpindleSpeedSyntax</a>.
Property names are used as JSON keys via <code>nameof</code>.</p>
<p>
ISO standard: S command.
Supported by all major CNC brands.
ISO: S command for speed, M03/M04/M05 for direction.
Heidenhain: M3/M4/M5. Siemens: M3/M4/M5 or SPOS.
Direction is stored as the conventional <a class="xref" href="Hi.Numerical.SpindleDirection.html">SpindleDirection</a>
enum name (CW/CCW/STOP), not as brand-specific M-codes.
</p>
</dd>
</dl>