deploy webservice static-file routing for docsite folder URLs, per-instance step-cache db, and constant-height panel title bars.

This commit is contained in:
2026-08-27 14:51:37 +08:00
parent 1fc510af5e
commit 2a98ae7556
1468 changed files with 182837 additions and 18888 deletions
@@ -103,7 +103,7 @@ The duration-based step property is based on the duration from previous-step to
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class MachiningStep : IGetIndexedFileLine, IFlexDictionaryHost&lt;object&gt;, IGetFeedrate, IGetSpindleSpeed, IGetRgbWithPriority</code></pre>
<pre><code class="lang-csharp hljs">public class MachiningStep : IGetIndexedFileLine, IFlexDictionaryHost&lt;object&gt;, IGetFeedrate, IGetSpindleSpeed, IGetRgbWithPriority, ISentenceCarrier, IGetSentence, ISentenceIndexed, IMotionStepIndex</code></pre>
</div>
@@ -125,6 +125,10 @@ The duration-based step property is based on the duration from previous-step to
<div><a class="xref" href="Hi.Numerical.IGetFeedrate.html">IGetFeedrate</a></div>
<div><a class="xref" href="Hi.Numerical.IGetSpindleSpeed.html">IGetSpindleSpeed</a></div>
<div><a class="xref" href="Hi.Coloring.IGetRgbWithPriority.html">IGetRgbWithPriority</a></div>
<div><a class="xref" href="Hi.NcParsers.ISentenceCarrier.html">ISentenceCarrier</a></div>
<div><a class="xref" href="Hi.NcParsers.IGetSentence.html">IGetSentence</a></div>
<div><a class="xref" href="Hi.NcParsers.ISentenceIndexed.html">ISentenceIndexed</a></div>
<div><a class="xref" href="Hi.MachiningSteps.IMotionStepIndex.html">IMotionStepIndex</a></div>
</dd>
</dl>
@@ -200,8 +204,8 @@ The duration-based step property is based on the duration from previous-step to
<a id="Hi_MachiningSteps_MachiningStep__ctor_" data-uid="Hi.MachiningSteps.MachiningStep.#ctor*"></a>
<h3 id="Hi_MachiningSteps_MachiningStep__ctor_Hi_MachiningSteps_IMachiningService_System_Int32_Hi_NcParsers_IGetSentence_Hi_MachiningSteps_MachineMotionStep_Hi_MillingSteps_MillingInstance_Hi_MachiningSteps_MachiningStep_CollidedKeyPair___" data-uid="Hi.MachiningSteps.MachiningStep.#ctor(Hi.MachiningSteps.IMachiningService,System.Int32,Hi.NcParsers.IGetSentence,Hi.MachiningSteps.MachineMotionStep,Hi.MillingSteps.MillingInstance,Hi.MachiningSteps.MachiningStep.CollidedKeyPair[])">
MachiningStep(IMachiningService, int, IGetSentence, MachineMotionStep, MillingInstance, CollidedKeyPair[])
<h3 id="Hi_MachiningSteps_MachiningStep__ctor_Hi_MachiningSteps_IMachiningService_System_Int32_Hi_NcParsers_ISentenceCarrier_Hi_MachiningSteps_MachineMotionStep_Hi_MillingSteps_MillingInstance_Hi_MachiningSteps_MachiningStep_CollidedKeyPair___" data-uid="Hi.MachiningSteps.MachiningStep.#ctor(Hi.MachiningSteps.IMachiningService,System.Int32,Hi.NcParsers.ISentenceCarrier,Hi.MachiningSteps.MachineMotionStep,Hi.MillingSteps.MillingInstance,Hi.MachiningSteps.MachiningStep.CollidedKeyPair[])">
MachiningStep(IMachiningService, int, ISentenceCarrier, MachineMotionStep, MillingInstance, CollidedKeyPair[])
</h3>
@@ -210,7 +214,7 @@ The duration-based step property is based on the duration from previous-step to
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public MachiningStep(IMachiningService host, int stepIndex, IGetSentence sourceCommand, MachineMotionStep machineMotionStep, MillingInstance millingInstance, MachiningStep.CollidedKeyPair[] collidedKeyPairs)</code></pre>
<pre><code class="lang-csharp hljs">public MachiningStep(IMachiningService host, int stepIndex, ISentenceCarrier sourceCommand, MachineMotionStep machineMotionStep, MillingInstance millingInstance, MachiningStep.CollidedKeyPair[] collidedKeyPairs)</code></pre>
</div>
<h4 class="section">Parameters</h4>
@@ -221,7 +225,7 @@ The duration-based step property is based on the duration from previous-step to
<dt><code>stepIndex</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd><p>The index of the step.</p>
</dd>
<dt><code>sourceCommand</code> <a class="xref" href="Hi.NcParsers.IGetSentence.html">IGetSentence</a></dt>
<dt><code>sourceCommand</code> <a class="xref" href="Hi.NcParsers.ISentenceCarrier.html">ISentenceCarrier</a></dt>
<dd><p>The source command.</p>
</dd>
<dt><code>machineMotionStep</code> <a class="xref" href="Hi.MachiningSteps.MachineMotionStep.html">MachineMotionStep</a></dt>
@@ -393,14 +397,16 @@ public double AccumulatedSpindleEnergyConsumption_kWh { get; }</code></pre>
</h3>
<div class="markdown level1 summary"><p>Ideal accumulated worked time by simulation.
Ideal Program duration.</p>
<div class="markdown level1 summary"><p>Legacy alias for <a class="xref" href="Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_EndTimecode">EndTimecode</a>. The value is a
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.timespan">TimeSpan</a> timecode (position from run start), so the
canonical member carries the <code>Timecode</code> suffix and owns the
<code>[Present]</code> / <code>[JsAce]</code> surface; this stays only as a
source-compatible delegate.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[Present(&quot;Time&quot;, null, PhysicsUnit.None, &quot;G&quot;)]
[JsAce(ClassExt = &quot;MachiningStep&quot;)]
<pre><code class="lang-csharp hljs">[Obsolete(&quot;Renamed to EndTimecode.&quot;)]
public TimeSpan AccumulatedTime { get; }</code></pre>
</div>
@@ -421,6 +427,44 @@ public TimeSpan AccumulatedTime { get; }</code></pre>
<a id="Hi_MachiningSteps_MachiningStep_ActualDateTime_" data-uid="Hi.MachiningSteps.MachiningStep.ActualDateTime*"></a>
<h3 id="Hi_MachiningSteps_MachiningStep_ActualDateTime" data-uid="Hi.MachiningSteps.MachiningStep.ActualDateTime">
ActualDateTime
</h3>
<div class="markdown level1 summary"><p>Absolute controller timestamp (wall-clock <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.datetime">DateTime</a>) of the
step, preserved alongside <a class="xref" href="Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_ActualTimecode">ActualTimecode</a> so the calendar
date survives. Resolved to a timecode against the project mapping anchor
(<code>TimeMapping.MappingAnchorDateTime</code>). null when the source row had
no actual time. View onto <a class="xref" href="Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_ActualTime">ActualTime</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[Present(&quot;Actual DateTime&quot;, &quot;Act.DT&quot;, PhysicsUnit.None, &quot;G&quot;)]
[JsAce(ClassExt = &quot;MachiningStep&quot;)]
public DateTime? ActualDateTime { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.datetime">DateTime</a>?</dt>
<dd></dd>
</dl>
<a id="Hi_MachiningSteps_MachiningStep_ActualTime_" data-uid="Hi.MachiningSteps.MachiningStep.ActualTime*"></a>
<h3 id="Hi_MachiningSteps_MachiningStep_ActualTime" data-uid="Hi.MachiningSteps.MachiningStep.ActualTime">
@@ -428,15 +472,52 @@ public TimeSpan AccumulatedTime { get; }</code></pre>
</h3>
<div class="markdown level1 summary"><p>Wall-clock stamp of the step end (the controller-recorded timeline), or
null when the scene has no measured time source (pure NC simulation).
Dense on CSV plays: original controller stamps plus machine-timeline
extrapolation marked by <a class="xref" href="Hi.MachiningSteps.StepActualTime.html#Hi_MachiningSteps_StepActualTime_IsInterpolated">IsInterpolated</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public StepActualTime ActualTime { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.MachiningSteps.StepActualTime.html">StepActualTime</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningSteps_MachiningStep_ActualTimecode_" data-uid="Hi.MachiningSteps.MachiningStep.ActualTimecode*"></a>
<h3 id="Hi_MachiningSteps_MachiningStep_ActualTimecode" data-uid="Hi.MachiningSteps.MachiningStep.ActualTimecode">
ActualTimecode
</h3>
<div class="markdown level1 summary"><p>Actual accumulated worked time.
Actual Program time.</p>
End Actual Timecode.
Actual Program time.
View onto <a class="xref" href="Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_ActualTime">ActualTime</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[Present(&quot;Actual Time&quot;, &quot;Act.Time&quot;, PhysicsUnit.None, &quot;G&quot;)]
[JsAce(ClassExt = &quot;MachiningStep&quot;)]
public TimeSpan? ActualTime { get; set; }</code></pre>
public TimeSpan? ActualTimecode { get; }</code></pre>
</div>
@@ -1774,6 +1855,41 @@ public Vec3d DeltaTipDeflectionOnToolRunningCoordinate_um { get; }</code></pre>
<a id="Hi_MachiningSteps_MachiningStep_EndTimecode_" data-uid="Hi.MachiningSteps.MachiningStep.EndTimecode*"></a>
<h3 id="Hi_MachiningSteps_MachiningStep_EndTimecode" data-uid="Hi.MachiningSteps.MachiningStep.EndTimecode">
EndTimecode
</h3>
<div class="markdown level1 summary"><p>Ideal accumulated worked time by simulation.
Ideal Program duration.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[Present(&quot;Time&quot;, null, PhysicsUnit.None, &quot;G&quot;)]
[JsAce(ClassExt = &quot;MachiningStep&quot;)]
public TimeSpan EndTimecode { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.timespan">TimeSpan</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningSteps_MachiningStep_FeedPerCycle_mm_" data-uid="Hi.MachiningSteps.MachiningStep.FeedPerCycle_mm*"></a>
<h3 id="Hi_MachiningSteps_MachiningStep_FeedPerCycle_mm" data-uid="Hi.MachiningSteps.MachiningStep.FeedPerCycle_mm">
@@ -2111,6 +2227,42 @@ public double? InstantCraterWear_um { get; }</code></pre>
<a id="Hi_MachiningSteps_MachiningStep_IsActualTimeInterpolated_" data-uid="Hi.MachiningSteps.MachiningStep.IsActualTimeInterpolated*"></a>
<h3 id="Hi_MachiningSteps_MachiningStep_IsActualTimeInterpolated" data-uid="Hi.MachiningSteps.MachiningStep.IsActualTimeInterpolated">
IsActualTimeInterpolated
</h3>
<div class="markdown level1 summary"><p>Whether the wall-clock stamp was extrapolated rather than read directly
from a controller row. View onto <a class="xref" href="Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_ActualTime">ActualTime</a>; null when the
step has no wall-clock stamp at all.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[Present(&quot;Actual Interpolated&quot;, &quot;Act.Int&quot;, PhysicsUnit.None, &quot;G&quot;)]
[JsAce(ClassExt = &quot;MachiningStep&quot;)]
public bool? IsActualTimeInterpolated { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a>?</dt>
<dd></dd>
</dl>
<a id="Hi_MachiningSteps_MachiningStep_IsReliefFaceCollided_" data-uid="Hi.MachiningSteps.MachiningStep.IsReliefFaceCollided*"></a>
<h3 id="Hi_MachiningSteps_MachiningStep_IsReliefFaceCollided" data-uid="Hi.MachiningSteps.MachiningStep.IsReliefFaceCollided">
@@ -2997,6 +3149,42 @@ public double? ReliefFaceCollidingVelocity_mmds { get; }</code></pre>
<a id="Hi_MachiningSteps_MachiningStep_SentenceIndex_" data-uid="Hi.MachiningSteps.MachiningStep.SentenceIndex*"></a>
<h3 id="Hi_MachiningSteps_MachiningStep_SentenceIndex" data-uid="Hi.MachiningSteps.MachiningStep.SentenceIndex">
SentenceIndex
</h3>
<div class="markdown level1 summary"><p>Execution-order ordinal of the NC source block this step came from,
delegated from <a class="xref" href="Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_SourceCommand">SourceCommand</a>. This is the source block's
position — distinct from this step's own <a class="xref" href="Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_StepIndex">StepIndex</a>, since one
block can expand into several steps. Returns <code>-1</code> (the &ldquo;not in pipeline&rdquo;
sentinel) when there is no source carrier.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int SentenceIndex { get; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningSteps_MachiningStep_SideCuspList_um_" data-uid="Hi.MachiningSteps.MachiningStep.SideCuspList_um*"></a>
<h3 id="Hi_MachiningSteps_MachiningStep_SideCuspList_um" data-uid="Hi.MachiningSteps.MachiningStep.SideCuspList_um">
@@ -3037,12 +3225,14 @@ public List&lt;double&gt; SideCuspList_um { get; }</code></pre>
</h3>
<div class="markdown level1 summary"><p>Gets or sets the source command.</p>
<div class="markdown level1 summary"><p>Gets or sets the source command — the NC-source carrier that produced this
step, exposing both the <a class="xref" href="Hi.NcParsers.Sentence.html">Sentence</a> (via <a class="xref" href="Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_GetSentence">GetSentence()</a>)
and the execution-order <a class="xref" href="Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_SentenceIndex">SentenceIndex</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public IGetSentence SourceCommand { get; set; }</code></pre>
<pre><code class="lang-csharp hljs">public ISentenceCarrier SourceCommand { get; set; }</code></pre>
</div>
@@ -3051,7 +3241,7 @@ public List&lt;double&gt; SideCuspList_um { get; }</code></pre>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.NcParsers.IGetSentence.html">IGetSentence</a></dt>
<dt><a class="xref" href="Hi.NcParsers.ISentenceCarrier.html">ISentenceCarrier</a></dt>
<dd></dd>
</dl>
@@ -3915,6 +4105,38 @@ public double? GetMcValue(int index)</code></pre>
<a id="Hi_MachiningSteps_MachiningStep_GetSentence_" data-uid="Hi.MachiningSteps.MachiningStep.GetSentence*"></a>
<h3 id="Hi_MachiningSteps_MachiningStep_GetSentence" data-uid="Hi.MachiningSteps.MachiningStep.GetSentence">
GetSentence()
</h3>
<div class="markdown level1 summary"><p>Returns the source <a class="xref" href="Hi.NcParsers.Sentence.html">Sentence</a> carried by this object.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Sentence GetSentence()</code></pre>
</div>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="Hi.NcParsers.Sentence.html">Sentence</a></dt>
<dd></dd>
</dl>
<a id="Hi_MachiningSteps_MachiningStep_GetSpindleDirection_" data-uid="Hi.MachiningSteps.MachiningStep.GetSpindleDirection*"></a>
<h3 id="Hi_MachiningSteps_MachiningStep_GetSpindleDirection" data-uid="Hi.MachiningSteps.MachiningStep.GetSpindleDirection">