deploy.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"engineVersion": "3.2.27.0",
|
||||
"filesParsed": 1276,
|
||||
"engineVersion": "3.2.28.0",
|
||||
"filesParsed": 1280,
|
||||
"siteCount": 365,
|
||||
"sites": [
|
||||
{
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -11,9 +11,9 @@
|
||||
"dependencies": {
|
||||
"AvalonEdit": "6.3.0.90",
|
||||
"FontAwesome.Sharp": "6.3.0",
|
||||
"Hi.WpfPlus": "3.2.23",
|
||||
"HiNc": "3.2.24",
|
||||
"HiNc-Resource": "3.2.21",
|
||||
"Hi.WpfPlus": "3.2.24",
|
||||
"HiNc": "3.2.25",
|
||||
"HiNc-Resource": "3.2.22",
|
||||
"Serilog.Extensions.Hosting": "10.0.0",
|
||||
"Serilog.Sinks.Console": "6.1.1",
|
||||
"Serilog.Sinks.File": "7.0.0",
|
||||
@@ -1598,36 +1598,36 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"Hi.WpfPlus/3.2.23": {
|
||||
"Hi.WpfPlus/3.2.24": {
|
||||
"dependencies": {
|
||||
"HiDisp": "3.2.30"
|
||||
"HiDisp": "3.2.31"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0-windows7.0/Hi.WpfPlus.dll": {
|
||||
"assemblyVersion": "3.2.23.0",
|
||||
"fileVersion": "3.2.23.0"
|
||||
"assemblyVersion": "3.2.24.0",
|
||||
"fileVersion": "3.2.24.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"HiCbtr/3.2.26": {
|
||||
"HiCbtr/3.2.27": {
|
||||
"dependencies": {
|
||||
"HiDisp": "3.2.30"
|
||||
"HiDisp": "3.2.31"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/HiCbtr.dll": {
|
||||
"assemblyVersion": "3.2.26.0",
|
||||
"fileVersion": "3.2.26.0"
|
||||
"assemblyVersion": "3.2.27.0",
|
||||
"fileVersion": "3.2.27.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"HiDisp/3.2.30": {
|
||||
"HiDisp/3.2.31": {
|
||||
"dependencies": {
|
||||
"HiGeom": "3.2.23"
|
||||
"HiGeom": "3.2.24"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/HiDisp.dll": {
|
||||
"assemblyVersion": "3.2.30.0",
|
||||
"fileVersion": "3.2.30.0"
|
||||
"assemblyVersion": "3.2.31.0",
|
||||
"fileVersion": "3.2.31.0"
|
||||
}
|
||||
},
|
||||
"native": {
|
||||
@@ -1645,15 +1645,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"HiGeom/3.2.23": {
|
||||
"HiGeom/3.2.24": {
|
||||
"dependencies": {
|
||||
"MathNet.Numerics": "5.0.0",
|
||||
"Microsoft.CodeAnalysis.Scripting.Common": "5.9.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/HiGeom.dll": {
|
||||
"assemblyVersion": "3.2.23.0",
|
||||
"fileVersion": "3.2.23.0"
|
||||
"assemblyVersion": "3.2.24.0",
|
||||
"fileVersion": "3.2.24.0"
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
@@ -1665,27 +1665,27 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"HiLicense/3.2.23": {
|
||||
"HiLicense/3.2.24": {
|
||||
"dependencies": {
|
||||
"HiGeom": "3.2.23"
|
||||
"HiGeom": "3.2.24"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/HiLicense.dll": {
|
||||
"assemblyVersion": "3.2.23.0",
|
||||
"fileVersion": "3.2.23.0"
|
||||
"assemblyVersion": "3.2.24.0",
|
||||
"fileVersion": "3.2.24.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"HiMech/3.2.27": {
|
||||
"HiMech/3.2.28": {
|
||||
"dependencies": {
|
||||
"CommandLineParser": "2.9.1",
|
||||
"HiCbtr": "3.2.26",
|
||||
"HiCbtr": "3.2.27",
|
||||
"Microsoft.CodeAnalysis.CSharp.Scripting": "5.9.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/HiMech.dll": {
|
||||
"assemblyVersion": "3.2.27.0",
|
||||
"fileVersion": "3.2.27.0"
|
||||
"assemblyVersion": "3.2.28.0",
|
||||
"fileVersion": "3.2.28.0"
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
@@ -1694,19 +1694,19 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"HiNc/3.2.24": {
|
||||
"HiNc/3.2.25": {
|
||||
"dependencies": {
|
||||
"Dapper": "2.1.79",
|
||||
"HiLicense": "3.2.23",
|
||||
"HiMech": "3.2.27",
|
||||
"HiUniNc": "3.2.25",
|
||||
"HiLicense": "3.2.24",
|
||||
"HiMech": "3.2.28",
|
||||
"HiUniNc": "3.2.26",
|
||||
"Microsoft.Data.Sqlite": "10.0.9",
|
||||
"SQLitePCLRaw.bundle_e_sqlite3": "3.0.3"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/HiNc.dll": {
|
||||
"assemblyVersion": "3.2.24.0",
|
||||
"fileVersion": "3.2.24.0"
|
||||
"assemblyVersion": "3.2.25.0",
|
||||
"fileVersion": "3.2.25.0"
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
@@ -1718,22 +1718,22 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"HiNc-Resource/3.2.21": {
|
||||
"HiNc-Resource/3.2.22": {
|
||||
"runtime": {
|
||||
"lib/net10.0/HiNc-Resource.dll": {
|
||||
"assemblyVersion": "3.2.21.0",
|
||||
"fileVersion": "3.2.21.0"
|
||||
"assemblyVersion": "3.2.22.0",
|
||||
"fileVersion": "3.2.22.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"HiUniNc/3.2.25": {
|
||||
"HiUniNc/3.2.26": {
|
||||
"dependencies": {
|
||||
"HiMech": "3.2.27"
|
||||
"HiMech": "3.2.28"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net10.0/HiUniNc.dll": {
|
||||
"assemblyVersion": "3.2.25.0",
|
||||
"fileVersion": "3.2.25.0"
|
||||
"assemblyVersion": "3.2.26.0",
|
||||
"fileVersion": "3.2.26.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -2117,68 +2117,68 @@
|
||||
"path": "fontawesome.sharp/6.3.0",
|
||||
"hashPath": "fontawesome.sharp.6.3.0.nupkg.sha512"
|
||||
},
|
||||
"Hi.WpfPlus/3.2.23": {
|
||||
"Hi.WpfPlus/3.2.24": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-KfbvR4lk3hML/AqbSefK9r+54WmJJnsvhjr6agmsrJlV5zNVW5UxEMonMD6ndjX4NnKFPtrusdS5yJmRZSa0eQ==",
|
||||
"path": "hi.wpfplus/3.2.23",
|
||||
"hashPath": "hi.wpfplus.3.2.23.nupkg.sha512"
|
||||
"sha512": "sha512-wJGdZWt5bhN4i+1gHxAwijt5ugzZJa1yAiMRpiquS4Y9eaauJPZyTRb9mYFfqH7ketV1z6YI07XiXMKDWFXSxA==",
|
||||
"path": "hi.wpfplus/3.2.24",
|
||||
"hashPath": "hi.wpfplus.3.2.24.nupkg.sha512"
|
||||
},
|
||||
"HiCbtr/3.2.26": {
|
||||
"HiCbtr/3.2.27": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-9dLKdrw91K620JeyhKmnsOWiWdPm5WAMuLZu3ezf5JDyEaUUh2sH0eiHu7ia2O856Uo5N/+4gOE+1M4wnFGP/A==",
|
||||
"path": "hicbtr/3.2.26",
|
||||
"hashPath": "hicbtr.3.2.26.nupkg.sha512"
|
||||
"sha512": "sha512-R670R7hWJvDYWcHVfTb77cN+rrNI/aPcFeNf/I9RI5bn6vw5IBXYaPcHYEVFGIGI8Cc1cO72Asx8vLQZNix6yQ==",
|
||||
"path": "hicbtr/3.2.27",
|
||||
"hashPath": "hicbtr.3.2.27.nupkg.sha512"
|
||||
},
|
||||
"HiDisp/3.2.30": {
|
||||
"HiDisp/3.2.31": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-4lgDHCrYRpmDg64ltfk7wOfGkYGTkoq0/UHXinZyEwqVGkUBSnUs9LMh0qnQMzv4qZpEoYYrPQrBgasiqSiPSg==",
|
||||
"path": "hidisp/3.2.30",
|
||||
"hashPath": "hidisp.3.2.30.nupkg.sha512"
|
||||
"sha512": "sha512-0MDxstmt9aatV8psR5t2dKmOjNsfgp5k1hnC/2i/f/U/nVfCYB3XawOSrF7p7PkUTUg5s6g4LD4RQLqNa6JglA==",
|
||||
"path": "hidisp/3.2.31",
|
||||
"hashPath": "hidisp.3.2.31.nupkg.sha512"
|
||||
},
|
||||
"HiGeom/3.2.23": {
|
||||
"HiGeom/3.2.24": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-8NbqCnYokemejxzu+/meFJ1y0J7lOloshIzX0lDvHeHhmG1p3CxnXFEMf960+zSB3HVit7KG/X/MnCJ1br0K9A==",
|
||||
"path": "higeom/3.2.23",
|
||||
"hashPath": "higeom.3.2.23.nupkg.sha512"
|
||||
"sha512": "sha512-XgK3iHUfYJlqeGrc2ZYhAOXcFP5Izuhwm34J3cCID/iN6gYUsHR075TM4yyaoABvde+wkiRGp1/vb5FUavZ4MQ==",
|
||||
"path": "higeom/3.2.24",
|
||||
"hashPath": "higeom.3.2.24.nupkg.sha512"
|
||||
},
|
||||
"HiLicense/3.2.23": {
|
||||
"HiLicense/3.2.24": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-uRXpo0b1vLnbGLPRJ/XSOoI7JXljfVAZmrqAvGOvhg4QsZxqj80lbwWhScnbLY9fhjF+LMRXBokUaThyKs+1zA==",
|
||||
"path": "hilicense/3.2.23",
|
||||
"hashPath": "hilicense.3.2.23.nupkg.sha512"
|
||||
"sha512": "sha512-eYWwIRdk3Nz+tjbdgi5EgoWe1+g57A8RcMktZXQjuxFN8ja5flz6jmy0v4PiK/8oKbKA7HdloU0eCK3vB2FlPA==",
|
||||
"path": "hilicense/3.2.24",
|
||||
"hashPath": "hilicense.3.2.24.nupkg.sha512"
|
||||
},
|
||||
"HiMech/3.2.27": {
|
||||
"HiMech/3.2.28": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-t/Uzmb4uNrnXw2SYi66Op7uTzqoKUjPWMSwOl2xotE7PcKHV4dWJI7vTEasSyhQszC867wOmawdYKCy3bdLP1g==",
|
||||
"path": "himech/3.2.27",
|
||||
"hashPath": "himech.3.2.27.nupkg.sha512"
|
||||
"sha512": "sha512-SxUofgDRrDdf44g3pKnWSs6LAQZJK7lDfFu9zKPBsnSx9LNwCzh9xN0d3nTCCj9SI0qVCKd1jcuugKlS7ERaRg==",
|
||||
"path": "himech/3.2.28",
|
||||
"hashPath": "himech.3.2.28.nupkg.sha512"
|
||||
},
|
||||
"HiNc/3.2.24": {
|
||||
"HiNc/3.2.25": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-jviTXkgP61dfAN3jGJMb20RpkKdurz0xRjRJnXYElc+tQBwKnKtxIIRueHxkdnJeAXya4SG27UEyGPwd/s25IQ==",
|
||||
"path": "hinc/3.2.24",
|
||||
"hashPath": "hinc.3.2.24.nupkg.sha512"
|
||||
"sha512": "sha512-TNDUQ35MFEjIP+SkbkR6WyCsOU4EjoyWFJBmBMAAvjCmOuk2zqAkWF/Z77pcfnRXnfAnfKnbgjkEV0K0l4BW1Q==",
|
||||
"path": "hinc/3.2.25",
|
||||
"hashPath": "hinc.3.2.25.nupkg.sha512"
|
||||
},
|
||||
"HiNc-Resource/3.2.21": {
|
||||
"HiNc-Resource/3.2.22": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-LSF8i+B6vYvUlNk+Tfk/s9UAKjPM5n/f9NYtE1GpsjoTzl+bDF0ugclG0jBBhyOvtse45U8YaFZQwQAgUmHzWA==",
|
||||
"path": "hinc-resource/3.2.21",
|
||||
"hashPath": "hinc-resource.3.2.21.nupkg.sha512"
|
||||
"sha512": "sha512-HEWpSyOgRmmT1iXvv3Pzg8uMFoaYW0jmfQjqNrubEUigPJ8FwbAg6Yz1XaN7J5U59EP+jOWt65IN4SaXSNqGJA==",
|
||||
"path": "hinc-resource/3.2.22",
|
||||
"hashPath": "hinc-resource.3.2.22.nupkg.sha512"
|
||||
},
|
||||
"HiUniNc/3.2.25": {
|
||||
"HiUniNc/3.2.26": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-L+rvtClSGfDlAGcHAOurrxtIki/YHvRHHz2ZEU3AipcWxqmVg8np0LiP44C7Kq79hDkQ3Cwt0KB0dQ2eSelHBA==",
|
||||
"path": "hiuninc/3.2.25",
|
||||
"hashPath": "hiuninc.3.2.25.nupkg.sha512"
|
||||
"sha512": "sha512-dm4RYwFHbAZhkpAxNUNrrraq6gNndM6PWiBO0MBGnUi3nRWeL2GOFiV6k3LAWAIrVY6Ud6dQWwiWMl+q0X/4kw==",
|
||||
"path": "hiuninc/3.2.26",
|
||||
"hashPath": "hiuninc.3.2.26.nupkg.sha512"
|
||||
},
|
||||
"MathNet.Numerics/5.0.0": {
|
||||
"type": "package",
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"engineVersion": "3.2.27.0",
|
||||
"engineVersion": "3.2.28.0",
|
||||
"recordCount": 98,
|
||||
"records": [
|
||||
{
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+13
-9
@@ -2,9 +2,9 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Delegate DispEngine.ImageRequestedDelegate | HiAPI-C# 2025 </title>
|
||||
<title>Delegate DispEngine.FrameReadyDelegate | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Delegate DispEngine.ImageRequestedDelegate | HiAPI-C# 2025 ">
|
||||
<meta name="title" content="Delegate DispEngine.FrameReadyDelegate | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="For .">
|
||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||
@@ -84,12 +84,12 @@
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="Hi.Disp.DispEngine.ImageRequestedDelegate">
|
||||
<article data-uid="Hi.Disp.DispEngine.FrameReadyDelegate">
|
||||
|
||||
|
||||
|
||||
<h1 id="Hi_Disp_DispEngine_ImageRequestedDelegate" data-uid="Hi.Disp.DispEngine.ImageRequestedDelegate" class="text-break">
|
||||
Delegate DispEngine.ImageRequestedDelegate
|
||||
<h1 id="Hi_Disp_DispEngine_FrameReadyDelegate" data-uid="Hi.Disp.DispEngine.FrameReadyDelegate" class="text-break">
|
||||
Delegate DispEngine.FrameReadyDelegate
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
@@ -97,25 +97,29 @@ Delegate DispEngine.ImageRequestedDelegate
|
||||
<dl><dt>Assembly</dt><dd>HiDisp.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>For <a class="xref" href="Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_ImageRequestAfterBufferSwapped">ImageRequestAfterBufferSwapped</a>.</p>
|
||||
<div class="markdown summary"><p>For <a class="xref" href="Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_FrameReady">FrameReady</a>.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public delegate void DispEngine.ImageRequestedDelegate(byte* bgra_unsignedbyte_pixels, int w, int h)</code></pre>
|
||||
<pre><code class="lang-csharp hljs">public delegate void DispEngine.FrameReadyDelegate(byte* bgra_unsignedbyte_pixels, int w, int h, FramePins pins)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>bgra_unsignedbyte_pixels</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.byte">byte</a>*</dt>
|
||||
<dd><p>BGRA convention pixels in unsigned bytes.
|
||||
The size is w<em>h</em>4.</p>
|
||||
<dd><p>BGRA convention pixels in unsigned bytes, top row first.
|
||||
The size is w<em>h</em>4. Valid only during the callback.</p>
|
||||
</dd>
|
||||
<dt><code>w</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
|
||||
<dd><p>width</p>
|
||||
</dd>
|
||||
<dt><code>h</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
|
||||
<dd><p>height</p>
|
||||
</dd>
|
||||
<dt><code>pins</code> <a class="xref" href="Hi.Disp.FramePins.html">FramePins</a></dt>
|
||||
<dd><p>The pin table of the same frame (see <a class="xref" href="Hi.Disp.PinDrawing.html">PinDrawing</a>); never null.
|
||||
<a class="xref" href="Hi.Disp.FramePins.html#Hi_Disp_FramePins_PixelsChanged">PixelsChanged</a> tells whether the pixels differ from the previous frame.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
@@ -1808,6 +1808,35 @@ which mouse buttons perform which transformations:</p>
|
||||
|
||||
|
||||
|
||||
<a id="Hi_Disp_DispEngine_MouseLeave_" data-uid="Hi.Disp.DispEngine.MouseLeave*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_DispEngine_MouseLeave" data-uid="Hi.Disp.DispEngine.MouseLeave">
|
||||
MouseLeave()
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>The cursor left the canvas, e.g. onto an element laid over it. The next pick pass sends
|
||||
<span class="xref">Hi.Disp.PickEvent</span> Mouse_Exited to the hovered pickable, if any; the cursor position and
|
||||
the drag state are untouched, so a drag that returns to the canvas continues normally.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public void MouseLeave()</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_Disp_DispEngine_MouseMove_" data-uid="Hi.Disp.DispEngine.MouseMove*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_DispEngine_MouseMove_System_Int32_System_Int32_" data-uid="Hi.Disp.DispEngine.MouseMove(System.Int32,System.Int32)">
|
||||
@@ -2623,17 +2652,18 @@ The function unlock the opengl context for <a class="xref" href="Hi.Disp.DispEng
|
||||
|
||||
|
||||
|
||||
<h3 id="Hi_Disp_DispEngine_ImageRequestAfterBufferSwapped" data-uid="Hi.Disp.DispEngine.ImageRequestAfterBufferSwapped">
|
||||
ImageRequestAfterBufferSwapped
|
||||
<h3 id="Hi_Disp_DispEngine_FrameReady" data-uid="Hi.Disp.DispEngine.FrameReady">
|
||||
FrameReady
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Triggered after swap buffer of gl context.</p>
|
||||
<div class="markdown level1 summary"><p>Triggered on the render thread after every frame whose pixels or pin table changed.
|
||||
Handlers must not touch the engine's GL state and must not block.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public event DispEngine.ImageRequestedDelegate ImageRequestAfterBufferSwapped</code></pre>
|
||||
<pre><code class="lang-csharp hljs">public event DispEngine.FrameReadyDelegate FrameReady</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -2643,7 +2673,7 @@ The function unlock the opengl context for <a class="xref" href="Hi.Disp.DispEng
|
||||
|
||||
<h4 class="section">Event Type</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="Hi.Disp.DispEngine.html">DispEngine</a>.<a class="xref" href="Hi.Disp.DispEngine.ImageRequestedDelegate.html">ImageRequestedDelegate</a></dt>
|
||||
<dt><a class="xref" href="Hi.Disp.DispEngine.html">DispEngine</a>.<a class="xref" href="Hi.Disp.DispEngine.FrameReadyDelegate.html">FrameReadyDelegate</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
@@ -0,0 +1,523 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class FramePins | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class FramePins | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="The pin table of one rendered frame, handed to together with the pixels. Records are sorted by name and every displayed pin is listed, visible or not; filter with .">
|
||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
<meta name="docfx:navrel" content="../toc.html">
|
||||
<meta name="docfx:tocrel" content="toc.html">
|
||||
|
||||
<meta name="docfx:rel" content="../">
|
||||
|
||||
|
||||
|
||||
<meta name="loc:inThisArticle" content="In this article">
|
||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<meta name="loc:tocFilter" content="Filter by title">
|
||||
<meta name="loc:nextArticle" content="Next">
|
||||
<meta name="loc:prevArticle" content="Previous">
|
||||
<meta name="loc:themeLight" content="Light">
|
||||
<meta name="loc:themeDark" content="Dark">
|
||||
<meta name="loc:themeAuto" content="Auto">
|
||||
<meta name="loc:changeTheme" content="Change theme">
|
||||
<meta name="loc:copy" content="Copy">
|
||||
<meta name="loc:downloadPdf" content="Download PDF">
|
||||
|
||||
<script type="module" src="./../public/docfx.min.js"></script>
|
||||
|
||||
<script>
|
||||
const theme = localStorage.getItem('theme') || 'auto'
|
||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../index.html">
|
||||
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="Hi.Disp.FramePins">
|
||||
|
||||
|
||||
|
||||
<h1 id="Hi_Disp_FramePins" data-uid="Hi.Disp.FramePins" class="text-break">
|
||||
Class FramePins
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Disp.html">Disp</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>HiDisp.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>The pin table of one rendered frame, handed to <a class="xref" href="Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_FrameReady">FrameReady</a> together with the pixels.
|
||||
Records are sorted by name and every displayed pin is listed, visible or not; filter with <a class="xref" href="Hi.Disp.FramePins.html#Hi_Disp_FramePins_Visible">Visible</a>.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public sealed class FramePins</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">FramePins</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="typelist extensionMethods">
|
||||
<dt>Extension Methods</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 class="section" id="properties">Properties
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Hi_Disp_FramePins_ByName_" data-uid="Hi.Disp.FramePins.ByName*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_FramePins_ByName" data-uid="Hi.Disp.FramePins.ByName">
|
||||
ByName
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Records keyed by name (names are unique within a frame).</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public IReadOnlyDictionary<string, PinRecord> ByName { 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.collections.generic.ireadonlydictionary-2">IReadOnlyDictionary</a><<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>, <a class="xref" href="Hi.Disp.PinRecord.html">PinRecord</a>></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_Disp_FramePins_Empty_" data-uid="Hi.Disp.FramePins.Empty*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_FramePins_Empty" data-uid="Hi.Disp.FramePins.Empty">
|
||||
Empty
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>The table of a frame that carried no pins. <a class="xref" href="Hi.Disp.FramePins.html#Hi_Disp_FramePins_PixelsChanged">PixelsChanged</a> is true.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static FramePins Empty { get; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="Hi.Disp.FramePins.html">FramePins</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_Disp_FramePins_FrameSerial_" data-uid="Hi.Disp.FramePins.FrameSerial*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_FramePins_FrameSerial" data-uid="Hi.Disp.FramePins.FrameSerial">
|
||||
FrameSerial
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Increments once per transported frame of the engine.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public long FrameSerial { 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.int64">long</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_Disp_FramePins_Height_" data-uid="Hi.Disp.FramePins.Height*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_FramePins_Height" data-uid="Hi.Disp.FramePins.Height">
|
||||
Height
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Frame height in pixels.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public int Height { 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_Disp_FramePins_Pins_" data-uid="Hi.Disp.FramePins.Pins*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_FramePins_Pins" data-uid="Hi.Disp.FramePins.Pins">
|
||||
Pins
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>All records of the frame, sorted by name.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public IReadOnlyList<PinRecord> Pins { 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.collections.generic.ireadonlylist-1">IReadOnlyList</a><<a class="xref" href="Hi.Disp.PinRecord.html">PinRecord</a>></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_Disp_FramePins_PinsChanged_" data-uid="Hi.Disp.FramePins.PinsChanged*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_FramePins_PinsChanged" data-uid="Hi.Disp.FramePins.PinsChanged">
|
||||
PinsChanged
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>The pin table differs from the previously transported frame.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public bool PinsChanged { 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_Disp_FramePins_PixelsChanged_" data-uid="Hi.Disp.FramePins.PixelsChanged*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_FramePins_PixelsChanged" data-uid="Hi.Disp.FramePins.PixelsChanged">
|
||||
PixelsChanged
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>The pixels differ from the previously transported frame.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public bool PixelsChanged { 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_Disp_FramePins_ProjDepth_" data-uid="Hi.Disp.FramePins.ProjDepth*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_FramePins_ProjDepth" data-uid="Hi.Disp.FramePins.ProjDepth">
|
||||
ProjDepth
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Projection depth D of the engine: one pixel unit of z is 1/D of window depth.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public double ProjDepth { 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.double">double</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_Disp_FramePins_Visible_" data-uid="Hi.Disp.FramePins.Visible*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_FramePins_Visible" data-uid="Hi.Disp.FramePins.Visible">
|
||||
Visible
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>The records whose anchor is on the canvas and not occluded.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public IEnumerable<PinRecord> Visible { 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.collections.generic.ienumerable-1">IEnumerable</a><<a class="xref" href="Hi.Disp.PinRecord.html">PinRecord</a>></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_Disp_FramePins_Width_" data-uid="Hi.Disp.FramePins.Width*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_FramePins_Width" data-uid="Hi.Disp.FramePins.Width">
|
||||
Width
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Frame width in pixels.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public int Width { 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>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,519 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class PinDrawing | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class PinDrawing | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="A named, scale-less anchor. Displaying it draws nothing; the engine reports where the anchor landed in each frame, its depth and whether scene geometry hides it, through as a of the same name. Use it to place external UI (an HTML element, say) over a 3D point of the canvas.">
|
||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
<meta name="docfx:navrel" content="../toc.html">
|
||||
<meta name="docfx:tocrel" content="toc.html">
|
||||
|
||||
<meta name="docfx:rel" content="../">
|
||||
|
||||
|
||||
|
||||
<meta name="loc:inThisArticle" content="In this article">
|
||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<meta name="loc:tocFilter" content="Filter by title">
|
||||
<meta name="loc:nextArticle" content="Next">
|
||||
<meta name="loc:prevArticle" content="Previous">
|
||||
<meta name="loc:themeLight" content="Light">
|
||||
<meta name="loc:themeDark" content="Dark">
|
||||
<meta name="loc:themeAuto" content="Auto">
|
||||
<meta name="loc:changeTheme" content="Change theme">
|
||||
<meta name="loc:copy" content="Copy">
|
||||
<meta name="loc:downloadPdf" content="Download PDF">
|
||||
|
||||
<script type="module" src="./../public/docfx.min.js"></script>
|
||||
|
||||
<script>
|
||||
const theme = localStorage.getItem('theme') || 'auto'
|
||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../index.html">
|
||||
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="Hi.Disp.PinDrawing">
|
||||
|
||||
|
||||
|
||||
<h1 id="Hi_Disp_PinDrawing" data-uid="Hi.Disp.PinDrawing" class="text-break">
|
||||
Class PinDrawing
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Disp.html">Disp</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>HiDisp.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>A named, scale-less anchor. Displaying it draws nothing; the engine reports where the anchor
|
||||
landed in each frame, its depth and whether scene geometry hides it, through
|
||||
<a class="xref" href="Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_FrameReady">FrameReady</a> as a <a class="xref" href="Hi.Disp.PinRecord.html">PinRecord</a> of the same name.
|
||||
Use it to place external UI (an HTML element, say) over a 3D point of the canvas.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public sealed class PinDrawing : IDisplayee, IExpandToBox3d, IDisposable</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">PinDrawing</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl class="typelist implements">
|
||||
<dt>Implements</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="Hi.Disp.IDisplayee.html">IDisplayee</a></div>
|
||||
<div><a class="xref" href="Hi.Geom.IExpandToBox3d.html">IExpandToBox3d</a></div>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable">IDisposable</a></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="typelist extensionMethods">
|
||||
<dt>Extension Methods</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Disp.DispUtil.html#Hi_Disp_DispUtil_Display_Hi_Disp_IDisplayee_Hi_Disp_Bind_Hi_Geom_Mat4d_">DispUtil.Display(IDisplayee, Bind, Mat4d)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
<h2 id="Hi_Disp_PinDrawing_remarks">Remarks</h2>
|
||||
<div class="markdown level0 remarks"><p>The wrapper owns no GL object and has no thread affinity: it may be created, displayed and
|
||||
disposed from any thread. Names must be unique within a frame (prefix them by owner);
|
||||
they are UTF-8 and truncated to 63 bytes. Pins displayed while a picking id is set on the
|
||||
<a class="xref" href="Hi.Disp.Bind.html">Bind</a> carry that id in their record.</p>
|
||||
</div>
|
||||
|
||||
|
||||
<h2 class="section" id="constructors">Constructors
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Hi_Disp_PinDrawing__ctor_" data-uid="Hi.Disp.PinDrawing.#ctor*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinDrawing__ctor_System_String_" data-uid="Hi.Disp.PinDrawing.#ctor(System.String)">
|
||||
PinDrawing(string)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Constructor.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public PinDrawing(string name)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>name</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd><p>pin name; unique within a frame</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 class="section" id="properties">Properties
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Hi_Disp_PinDrawing_IsAlwaysOnTop_" data-uid="Hi.Disp.PinDrawing.IsAlwaysOnTop*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinDrawing_IsAlwaysOnTop" data-uid="Hi.Disp.PinDrawing.IsAlwaysOnTop">
|
||||
IsAlwaysOnTop
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Display the anchor as never occluded by geometry: the record is on-canvas or not, no depth probe.
|
||||
Set it for a pin paired with an always-on-top <a class="xref" href="Hi.Disp.StringDrawing.html">StringDrawing</a> at the same point,
|
||||
otherwise the label's own rectangle hides the pin.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public bool IsAlwaysOnTop { get; set; }</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_Disp_PinDrawing_Name_" data-uid="Hi.Disp.PinDrawing.Name*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinDrawing_Name" data-uid="Hi.Disp.PinDrawing.Name">
|
||||
Name
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>The pin name as given to the constructor (the record carries at most 63 UTF-8 bytes of it).</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public string Name { 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.string">string</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_Disp_PinDrawing_ProbeBiasPx_" data-uid="Hi.Disp.PinDrawing.ProbeBiasPx*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinDrawing_ProbeBiasPx" data-uid="Hi.Disp.PinDrawing.ProbeBiasPx">
|
||||
ProbeBiasPx
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Occlusion bias in pixel units of depth: geometry closer to the viewer than the anchor by
|
||||
less than this does not count as hiding it, so an anchor placed on a surface stays visible.
|
||||
The engine also applies a floor of a few depth-buffer LSB.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public double ProbeBiasPx { get; set; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 class="section" id="methods">Methods
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Hi_Disp_PinDrawing_Display_" data-uid="Hi.Disp.PinDrawing.Display*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinDrawing_Display_Hi_Disp_Bind_" data-uid="Hi.Disp.PinDrawing.Display(Hi.Disp.Bind)">
|
||||
Display(Bind)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Display function called in <a class="xref" href="Hi.Disp.DispEngine.html">DispEngine</a> rendering loop.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public void Display(Bind bind)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>bind</code> <a class="xref" href="Hi.Disp.Bind.html">Bind</a></dt>
|
||||
<dd><p>Bind with <a class="xref" href="Hi.Disp.DispEngine.html">DispEngine</a>. See <a class="xref" href="Hi.Disp.Bind.html">Bind</a>.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_Disp_PinDrawing_Display_" data-uid="Hi.Disp.PinDrawing.Display*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinDrawing_Display_Hi_Disp_Bind_Hi_Geom_Vec3d_" data-uid="Hi.Disp.PinDrawing.Display(Hi.Disp.Bind,Hi.Geom.Vec3d)">
|
||||
Display(Bind, Vec3d)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Display the anchor at <code class="paramref">p</code> under the current model matrix.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public void Display(Bind bind, Vec3d p)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>bind</code> <a class="xref" href="Hi.Disp.Bind.html">Bind</a></dt>
|
||||
<dd><p>bind</p>
|
||||
</dd>
|
||||
<dt><code>p</code> <a class="xref" href="Hi.Geom.Vec3d.html">Vec3d</a></dt>
|
||||
<dd><p>anchor position</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_Disp_PinDrawing_Dispose_" data-uid="Hi.Disp.PinDrawing.Dispose*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinDrawing_Dispose" data-uid="Hi.Disp.PinDrawing.Dispose">
|
||||
Dispose()
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public void Dispose()</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_Disp_PinDrawing_ExpandToBox3d_" data-uid="Hi.Disp.PinDrawing.ExpandToBox3d*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinDrawing_ExpandToBox3d_Hi_Geom_Box3d_" data-uid="Hi.Disp.PinDrawing.ExpandToBox3d(Hi.Geom.Box3d)">
|
||||
ExpandToBox3d(Box3d)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Expands the destination box.
|
||||
This function is usually used to compute the bounding box of elements.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public void ExpandToBox3d(Box3d dst)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>dst</code> <a class="xref" href="Hi.Geom.Box3d.html">Box3d</a></dt>
|
||||
<dd><p>Destination box</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_Disp_PinDrawing_Finalize_" data-uid="Hi.Disp.PinDrawing.Finalize*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinDrawing_Finalize" data-uid="Hi.Disp.PinDrawing.Finalize">
|
||||
~PinDrawing()
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"></div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">protected ~PinDrawing()</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,200 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Enum PinFlags | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Enum PinFlags | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Flag bits of a .">
|
||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
<meta name="docfx:navrel" content="../toc.html">
|
||||
<meta name="docfx:tocrel" content="toc.html">
|
||||
|
||||
<meta name="docfx:rel" content="../">
|
||||
|
||||
|
||||
|
||||
<meta name="loc:inThisArticle" content="In this article">
|
||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<meta name="loc:tocFilter" content="Filter by title">
|
||||
<meta name="loc:nextArticle" content="Next">
|
||||
<meta name="loc:prevArticle" content="Previous">
|
||||
<meta name="loc:themeLight" content="Light">
|
||||
<meta name="loc:themeDark" content="Dark">
|
||||
<meta name="loc:themeAuto" content="Auto">
|
||||
<meta name="loc:changeTheme" content="Change theme">
|
||||
<meta name="loc:copy" content="Copy">
|
||||
<meta name="loc:downloadPdf" content="Download PDF">
|
||||
|
||||
<script type="module" src="./../public/docfx.min.js"></script>
|
||||
|
||||
<script>
|
||||
const theme = localStorage.getItem('theme') || 'auto'
|
||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../index.html">
|
||||
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="Hi.Disp.PinFlags">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="Hi_Disp_PinFlags" data-uid="Hi.Disp.PinFlags" class="text-break">
|
||||
Enum PinFlags
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Disp.html">Disp</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>HiDisp.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Flag bits of a <a class="xref" href="Hi.Disp.PinRecord.html">PinRecord</a>.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">[Flags]
|
||||
public enum PinFlags</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist extensionMethods">
|
||||
<dt>Extension Methods</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.MaskUtil.html#Hi_Common_MaskUtil_GetMaskedValue__1___0___0_System_Boolean_">MaskUtil.GetMaskedValue<T>(T, T, bool)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.MaskUtil.html#Hi_Common_MaskUtil_SetMask__1___0____0_System_Boolean_">MaskUtil.SetMask<T>(ref T, T, bool)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<h2 id="fields">Fields
|
||||
</h2>
|
||||
<dl class="parameters">
|
||||
<dt id="Hi_Disp_PinFlags_AlwaysOnTop"><code>AlwaysOnTop = 1</code></dt>
|
||||
|
||||
<dd><p>The pin was displayed always-on-top: never occluded by geometry, so no depth probe.</p>
|
||||
</dd>
|
||||
<dt id="Hi_Disp_PinFlags_DuplicateNameDropped"><code>DuplicateNameDropped = 16</code></dt>
|
||||
|
||||
<dd><p>Another pin of the same name was dropped this frame; this one survived.</p>
|
||||
</dd>
|
||||
<dt id="Hi_Disp_PinFlags_None"><code>None = 0</code></dt>
|
||||
|
||||
<dd><p>No flag.</p>
|
||||
</dd>
|
||||
<dt id="Hi_Disp_PinFlags_Occluded"><code>Occluded = 4</code></dt>
|
||||
|
||||
<dd><p>Scene geometry is nearer than the anchor at its pixel (beyond the probe bias).</p>
|
||||
</dd>
|
||||
<dt id="Hi_Disp_PinFlags_OcclusionTested"><code>OcclusionTested = 8</code></dt>
|
||||
|
||||
<dd><p>The depth probe ran for this pin.</p>
|
||||
</dd>
|
||||
<dt id="Hi_Disp_PinFlags_OnCanvas"><code>OnCanvas = 2</code></dt>
|
||||
|
||||
<dd><p>The anchor lies inside the canvas and inside the depth range.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,578 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Struct PinRecord | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Struct PinRecord | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="One named anchor of a rendered frame: where it landed on the canvas, how deep, and whether it is visible. Positions are canvas pixels with a top-left origin, y down; they may lie outside the canvas.">
|
||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
<meta name="docfx:navrel" content="../toc.html">
|
||||
<meta name="docfx:tocrel" content="toc.html">
|
||||
|
||||
<meta name="docfx:rel" content="../">
|
||||
|
||||
|
||||
|
||||
<meta name="loc:inThisArticle" content="In this article">
|
||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<meta name="loc:tocFilter" content="Filter by title">
|
||||
<meta name="loc:nextArticle" content="Next">
|
||||
<meta name="loc:prevArticle" content="Previous">
|
||||
<meta name="loc:themeLight" content="Light">
|
||||
<meta name="loc:themeDark" content="Dark">
|
||||
<meta name="loc:themeAuto" content="Auto">
|
||||
<meta name="loc:changeTheme" content="Change theme">
|
||||
<meta name="loc:copy" content="Copy">
|
||||
<meta name="loc:downloadPdf" content="Download PDF">
|
||||
|
||||
<script type="module" src="./../public/docfx.min.js"></script>
|
||||
|
||||
<script>
|
||||
const theme = localStorage.getItem('theme') || 'auto'
|
||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../index.html">
|
||||
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="Hi.Disp.PinRecord">
|
||||
|
||||
|
||||
|
||||
<h1 id="Hi_Disp_PinRecord" data-uid="Hi.Disp.PinRecord" class="text-break">
|
||||
Struct PinRecord
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Disp.html">Disp</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>HiDisp.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>One named anchor of a rendered frame: where it landed on the canvas, how deep, and whether it is visible.
|
||||
Positions are canvas pixels with a top-left origin, y down; they may lie outside the canvas.</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public readonly record struct PinRecord : IEquatable<PinRecord></code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist implements">
|
||||
<dt>Implements</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iequatable-1">IEquatable</a><<a class="xref" href="Hi.Disp.PinRecord.html">PinRecord</a>></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.valuetype.equals">ValueType.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.valuetype.gethashcode">ValueType.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.valuetype.tostring">ValueType.ToString()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="typelist extensionMethods">
|
||||
<dt>Extension Methods</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.MaskUtil.html#Hi_Common_MaskUtil_GetMaskedValue__1___0___0_System_Boolean_">MaskUtil.GetMaskedValue<T>(T, T, bool)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.MaskUtil.html#Hi_Common_MaskUtil_SetMask__1___0____0_System_Boolean_">MaskUtil.SetMask<T>(ref T, T, bool)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 class="section" id="constructors">Constructors
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Hi_Disp_PinRecord__ctor_" data-uid="Hi.Disp.PinRecord.#ctor*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinRecord__ctor_System_String_System_Double_System_Double_System_Double_System_Int32_Hi_Disp_PinFlags_" data-uid="Hi.Disp.PinRecord.#ctor(System.String,System.Double,System.Double,System.Double,System.Int32,Hi.Disp.PinFlags)">
|
||||
PinRecord(string, double, double, double, int, PinFlags)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>One named anchor of a rendered frame: where it landed on the canvas, how deep, and whether it is visible.
|
||||
Positions are canvas pixels with a top-left origin, y down; they may lie outside the canvas.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public PinRecord(string Name, double X, double Y, double Depth, int PickID, PinFlags Flags)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>Name</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd><p>The pin name given to <a class="xref" href="Hi.Disp.PinDrawing.html">PinDrawing</a>.</p>
|
||||
</dd>
|
||||
<dt><code>X</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
|
||||
<dd><p>Anchor x in canvas pixels.</p>
|
||||
</dd>
|
||||
<dt><code>Y</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
|
||||
<dd><p>Anchor y in canvas pixels, y down.</p>
|
||||
</dd>
|
||||
<dt><code>Depth</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
|
||||
<dd><p>GL window depth clamped to [0, 1]; 0 is nearest. Comparable within one engine only.</p>
|
||||
</dd>
|
||||
<dt><code>PickID</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
|
||||
<dd><p>The picking id current when the pin was displayed.</p>
|
||||
</dd>
|
||||
<dt><code>Flags</code> <a class="xref" href="Hi.Disp.PinFlags.html">PinFlags</a></dt>
|
||||
<dd><p>Flag bits.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 class="section" id="properties">Properties
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="Hi_Disp_PinRecord_AlwaysOnTop_" data-uid="Hi.Disp.PinRecord.AlwaysOnTop*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinRecord_AlwaysOnTop" data-uid="Hi.Disp.PinRecord.AlwaysOnTop">
|
||||
AlwaysOnTop
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>The pin was displayed always-on-top.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public bool AlwaysOnTop { 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_Disp_PinRecord_Depth_" data-uid="Hi.Disp.PinRecord.Depth*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinRecord_Depth" data-uid="Hi.Disp.PinRecord.Depth">
|
||||
Depth
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>GL window depth clamped to [0, 1]; 0 is nearest. Comparable within one engine only.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public double Depth { get; init; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_Disp_PinRecord_Flags_" data-uid="Hi.Disp.PinRecord.Flags*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinRecord_Flags" data-uid="Hi.Disp.PinRecord.Flags">
|
||||
Flags
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Flag bits.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public PinFlags Flags { get; init; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="Hi.Disp.PinFlags.html">PinFlags</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_Disp_PinRecord_IsVisible_" data-uid="Hi.Disp.PinRecord.IsVisible*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinRecord_IsVisible" data-uid="Hi.Disp.PinRecord.IsVisible">
|
||||
IsVisible
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>On the canvas and not occluded.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public bool IsVisible { 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_Disp_PinRecord_Name_" data-uid="Hi.Disp.PinRecord.Name*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinRecord_Name" data-uid="Hi.Disp.PinRecord.Name">
|
||||
Name
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>The pin name given to <a class="xref" href="Hi.Disp.PinDrawing.html">PinDrawing</a>.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public string Name { get; init; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_Disp_PinRecord_Occluded_" data-uid="Hi.Disp.PinRecord.Occluded*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinRecord_Occluded" data-uid="Hi.Disp.PinRecord.Occluded">
|
||||
Occluded
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Scene geometry hides the anchor.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public bool Occluded { 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_Disp_PinRecord_OnCanvas_" data-uid="Hi.Disp.PinRecord.OnCanvas*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinRecord_OnCanvas" data-uid="Hi.Disp.PinRecord.OnCanvas">
|
||||
OnCanvas
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>The anchor lies inside the canvas.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public bool OnCanvas { 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_Disp_PinRecord_PickID_" data-uid="Hi.Disp.PinRecord.PickID*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinRecord_PickID" data-uid="Hi.Disp.PinRecord.PickID">
|
||||
PickID
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>The picking id current when the pin was displayed.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public int PickID { get; init; }</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_Disp_PinRecord_X_" data-uid="Hi.Disp.PinRecord.X*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinRecord_X" data-uid="Hi.Disp.PinRecord.X">
|
||||
X
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Anchor x in canvas pixels.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public double X { get; init; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_Disp_PinRecord_Y_" data-uid="Hi.Disp.PinRecord.Y*"></a>
|
||||
|
||||
<h3 id="Hi_Disp_PinRecord_Y" data-uid="Hi.Disp.PinRecord.Y">
|
||||
Y
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Anchor y in canvas pixels, y down.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public double Y { get; init; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -140,6 +140,12 @@ A bind_t object is generated by rendering in the every beginning of each renderi
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.Disp.Drawing.html">Drawing</a></dt>
|
||||
<dd><p>The most efficient elemental 3D rendering unit.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.Disp.FramePins.html">FramePins</a></dt>
|
||||
<dd><p>The pin table of one rendered frame, handed to <a class="xref" href="Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_FrameReady">FrameReady</a> together with the pixels.
|
||||
Records are sorted by name and every displayed pin is listed, visible or not; filter with <a class="xref" href="Hi.Disp.FramePins.html#Hi_Disp_FramePins_Visible">Visible</a>.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
@@ -166,6 +172,14 @@ A bind_t object is generated by rendering in the every beginning of each renderi
|
||||
<dt><a class="xref" href="Hi.Disp.Pickable.html">Pickable</a></dt>
|
||||
<dd><p>Picking event handler for rendering.
|
||||
Note that it has to be disposed manually or the object occurs memory leak.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.Disp.PinDrawing.html">PinDrawing</a></dt>
|
||||
<dd><p>A named, scale-less anchor. Displaying it draws nothing; the engine reports where the anchor
|
||||
landed in each frame, its depth and whether scene geometry hides it, through
|
||||
<a class="xref" href="Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_FrameReady">FrameReady</a> as a <a class="xref" href="Hi.Disp.PinRecord.html">PinRecord</a> of the same name.
|
||||
Use it to place external UI (an HTML element, say) over a 3D point of the canvas.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
@@ -213,6 +227,15 @@ Multi-line text is supported: ‘\n’ starts a new line.</p>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.Disp.WrappedDisplayee.html">WrappedDisplayee</a></dt>
|
||||
<dd><p>A wrapper class for IDisplayee that allows customizing display and bounding box behavior.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<h3 id="structs">
|
||||
Structs
|
||||
</h3>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.Disp.PinRecord.html">PinRecord</a></dt>
|
||||
<dd><p>One named anchor of a rendered frame: where it landed on the canvas, how deep, and whether it is visible.
|
||||
Positions are canvas pixels with a top-left origin, y down; they may lie outside the canvas.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<h3 id="interfaces">
|
||||
@@ -244,6 +267,11 @@ Enums
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.Disp.MvpBoxRelation.html">MvpBoxRelation</a></dt>
|
||||
<dd><p>Relation between mvpBox and an AABB</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.Disp.PinFlags.html">PinFlags</a></dt>
|
||||
<dd><p>Flag bits of a <a class="xref" href="Hi.Disp.PinRecord.html">PinRecord</a>.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
@@ -260,8 +288,8 @@ Delegates
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.Disp.DispEngine.ImageRequestedDelegate.html">DispEngine.ImageRequestedDelegate</a></dt>
|
||||
<dd><p>For <a class="xref" href="Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_ImageRequestAfterBufferSwapped">ImageRequestAfterBufferSwapped</a>.</p>
|
||||
<dt><a class="xref" href="Hi.Disp.DispEngine.FrameReadyDelegate.html">DispEngine.FrameReadyDelegate</a></dt>
|
||||
<dd><p>For <a class="xref" href="Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_FrameReady">FrameReady</a>.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Interface ICompoundMotionDef | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Compound motion section definition for commands that produce multiple sub-operations (G28, G53.1, G81, G82, etc.). Contains a array resolved by . Item types (discriminated by key presence): — rapid/feed linear motion ( + ) — pause ( in seconds) — spindle direction change () — oriented spindle stop (OSS) ()">
|
||||
<meta name="description" content="Compound motion section definition for commands that produce multiple sub-operations (G28, G53.1, G81, G82, etc.). Contains a array resolved by . Item types (discriminated by key presence): — rapid/feed linear motion ( + ; an item's MachineCoordinateState may carry A/B/C — G28 / tool-change stages write them, and on a canned-cycle block that spoke a rotary word () the first motion item carries the block's root ABC — in which case the semantic emits the 6-axis contour act) — pause ( in seconds) — spindle direction change () — oriented spindle stop (OSS) ()">
|
||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
@@ -103,7 +103,11 @@ Contains a <a class="xref" href="Hi.NcParsers.Keywords.CompoundMotion.html#Hi_Nc
|
||||
<span class="xref">Hi.NcParsers.Semantics.CompoundMotionSemanticUtil</span>.</p>
|
||||
<p>Item types (discriminated by key presence):</p>
|
||||
<ul><li><a class="xref" href="Hi.Motion.html">Hi.Motion</a> — rapid/feed linear motion
|
||||
(<a class="xref" href="Hi.NcParsers.Keywords.IMotionEventDef.html">IMotionEventDef</a> + <a class="xref" href="Hi.NcParsers.Keywords.IMachineCoordinateStateDef.html">IMachineCoordinateStateDef</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.IMotionEventDef.html">IMotionEventDef</a> + <a class="xref" href="Hi.NcParsers.Keywords.IMachineCoordinateStateDef.html">IMachineCoordinateStateDef</a>;
|
||||
an item's <code>MachineCoordinateState</code> may carry A/B/C — G28 / tool-change
|
||||
stages write them, and on a canned-cycle block that spoke a rotary word
|
||||
(<a class="xref" href="Hi.NcParsers.Keywords.RotaryWords.html">RotaryWords</a>) the first motion item carries the block's
|
||||
root ABC — in which case the semantic emits the 6-axis contour act)</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)
|
||||
(<a class="xref" href="Hi.NcParsers.Keywords.ISpindleOrientationDef.html#Hi_NcParsers_Keywords_ISpindleOrientationDef_Angle_deg">Angle_deg</a>)</li></ul>
|
||||
</div>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Interface IMachineCoordinateStateDef | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Modal machine-coordinate state — absolute six-axis machine position after the block has executed. Written on every block by motion-related LogicSyntaxs (, , , , , ); seeded on the init block by ; carried across non-motion blocks — and per-key completed on partially-written blocks (an XYZ-only motion block receives the carried modal rotary values) — by . Only configured axes appear as keys (X/Y/Z/A/B/C). Non-existent axes (e.g., A/B/C on a 3-axis machine) are omitted rather than written as NaN sentinels. After the PostLogic carry the section is a MODAL record: key presence means "state known", never "this block commanded the axis". Consumers needing "commanded" must read the block's Parsing words or compare values against the previous block (see LinearMotionUtil.HasRotaryMotion). The only presence-as-commanded carve-out is CompoundMotion.Items[*] item-level sections, which the carry never touches.">
|
||||
<meta name="description" content="Modal machine-coordinate state — absolute six-axis machine position after the block has executed. Written on every block by motion-related LogicSyntaxs (, , , , , ); seeded on the init block by ; carried across non-motion blocks — and per-key completed on partially-written blocks (an XYZ-only motion block receives the carried modal rotary values) — by . Only configured axes appear as keys (X/Y/Z/A/B/C). Non-existent axes (e.g., A/B/C on a 3-axis machine) are omitted rather than written as NaN sentinels. After the PostLogic carry the section is a MODAL record: key presence means "state known", never "this block commanded the axis". Consumers needing "commanded" must read the block's Parsing words, the one-shot record (the rotary words this block itself spoke, written by ), or compare values against the previous block (see LinearMotionUtil.HasRotaryMotion). The only presence-as-commanded carve-out is CompoundMotion.Items[*] item-level sections, which the carry never touches.">
|
||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
@@ -117,7 +117,9 @@ as NaN sentinels.
|
||||
<p>
|
||||
After the PostLogic carry the section is a MODAL record: key presence
|
||||
means "state known", never "this block commanded the axis". Consumers
|
||||
needing "commanded" must read the block's Parsing words or compare
|
||||
needing "commanded" must read the block's Parsing words, the one-shot
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.RotaryWords.html">RotaryWords</a> record (the rotary words this block itself
|
||||
spoke, written by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html">McAbcSyntax</a>), or compare
|
||||
values against the previous block (see
|
||||
<code>LinearMotionUtil.HasRotaryMotion</code>). The only presence-as-commanded
|
||||
carve-out is <code>CompoundMotion.Items[*]</code> item-level sections, which
|
||||
|
||||
@@ -0,0 +1,205 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Class RotaryWords | HiAPI-C# 2025 </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class RotaryWords | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="One-shot block-root record of the rotary axis words the block itself commanded — keyed by axis name (A/B/C), valued with the word as programmed: degrees for a plain word, the signed delta for a per-word incremental word (Siemens IC(), klartext IC+), the indexing position number for a coded-position word (CAC()/CIC()/…). The resolved absolute angle lives in ; this section only says which rotary axes this block spoke. Written by when it consumes A/B/C from Parsing into MachineCoordinateState — and only for axes the declares rotary. After the PostLogic carry MachineCoordinateState is a modal record (key presence never means "commanded"), so consumers that must know whether this block carried a rotary word read this section instead: (a rotary-only block under an active canned cycle is a modal repeat — Fanuc's any-axis-word rule, HardNc parity: the table indexes, then the cycle drills again) and (the cycle's pre-positioning item carries the block's MC A/B/C so the physical rotary state matches the root record instead of lagging one block behind). Not listed in any key set — it never carries to later blocks.">
|
||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
<meta name="docfx:navrel" content="../toc.html">
|
||||
<meta name="docfx:tocrel" content="toc.html">
|
||||
|
||||
<meta name="docfx:rel" content="../">
|
||||
|
||||
|
||||
|
||||
<meta name="loc:inThisArticle" content="In this article">
|
||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<meta name="loc:tocFilter" content="Filter by title">
|
||||
<meta name="loc:nextArticle" content="Next">
|
||||
<meta name="loc:prevArticle" content="Previous">
|
||||
<meta name="loc:themeLight" content="Light">
|
||||
<meta name="loc:themeDark" content="Dark">
|
||||
<meta name="loc:themeAuto" content="Auto">
|
||||
<meta name="loc:changeTheme" content="Change theme">
|
||||
<meta name="loc:copy" content="Copy">
|
||||
<meta name="loc:downloadPdf" content="Download PDF">
|
||||
|
||||
<script type="module" src="./../public/docfx.min.js"></script>
|
||||
|
||||
<script>
|
||||
const theme = localStorage.getItem('theme') || 'auto'
|
||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../index.html">
|
||||
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
||||
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="Hi.NcParsers.Keywords.RotaryWords">
|
||||
|
||||
|
||||
|
||||
<h1 id="Hi_NcParsers_Keywords_RotaryWords" data-uid="Hi.NcParsers.Keywords.RotaryWords" class="text-break">
|
||||
Class RotaryWords
|
||||
</h1>
|
||||
|
||||
<div class="facts text-secondary">
|
||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.NcParsers.html">NcParsers</a>.<a class="xref" href="Hi.NcParsers.Keywords.html">Keywords</a></dd></dl>
|
||||
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>One-shot block-root record of the rotary axis words the block itself
|
||||
commanded — keyed by axis name (<code>A</code>/<code>B</code>/<code>C</code>), valued
|
||||
with the word as programmed: degrees for a plain word, the signed
|
||||
delta for a per-word incremental word (Siemens <code>IC()</code>, klartext
|
||||
<code>IC+</code>), the indexing position number for a coded-position word
|
||||
(<code>CAC()</code>/<code>CIC()</code>/…). The resolved absolute angle lives in
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.IMachineCoordinateStateDef.html#Hi_NcParsers_Keywords_IMachineCoordinateStateDef_MachineCoordinateState">MachineCoordinateState</a>; this
|
||||
section only says <i>which</i> rotary axes this block spoke.</p>
|
||||
<p>
|
||||
Written by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html">McAbcSyntax</a> when it consumes
|
||||
A/B/C from <code>Parsing</code> into <code>MachineCoordinateState</code> — and
|
||||
only for axes the <a class="xref" href="Hi.NcParsers.Dependencys.IMachineAxisConfig.html">IMachineAxisConfig</a> declares
|
||||
rotary. After the PostLogic carry <code>MachineCoordinateState</code> is a
|
||||
modal record (key presence never means "commanded"), so consumers that
|
||||
must know whether <b>this</b> block carried a rotary word read this
|
||||
section instead:
|
||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html">CannedCycleResolveSyntax</a> (a rotary-only
|
||||
block under an active canned cycle is a modal repeat — Fanuc's
|
||||
any-axis-word rule, HardNc parity: the table indexes, then the cycle
|
||||
drills again) and
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">WriteCompoundMotion(JsonObject, string, JsonArray, Vec3d)</a>
|
||||
(the cycle's pre-positioning item carries the block's MC A/B/C so the
|
||||
physical rotary state matches the root record instead of lagging one
|
||||
block behind). Not listed in any
|
||||
<a class="xref" href="Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html">ModalCarrySyntax</a> key set — it never
|
||||
carries to later blocks.
|
||||
</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static class RotaryWords</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritance">
|
||||
<dt>Inheritance</dt>
|
||||
<dd>
|
||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||
<div><span class="xref">RotaryWords</span></div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
<dl class="typelist inheritedMembers">
|
||||
<dt>Inherited Members</dt>
|
||||
<dd>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
|
||||
|
||||
<h2 id="Hi_NcParsers_Keywords_RotaryWords_examples">Examples</h2>
|
||||
<pre><code class="lang-csharp">"RotaryWords": { "C": 40 }</code></pre>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -518,6 +518,37 @@ never carries to later blocks.
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.Keywords.RadiusCompensation.html">RadiusCompensation</a></dt>
|
||||
<dd><p>Section key holder + concrete implementation for <a class="xref" href="Hi.NcParsers.Keywords.IRadiusCompensationDef.html">IRadiusCompensationDef</a>.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
<dt><a class="xref" href="Hi.NcParsers.Keywords.RotaryWords.html">RotaryWords</a></dt>
|
||||
<dd><p>One-shot block-root record of the rotary axis words the block itself
|
||||
commanded — keyed by axis name (<code>A</code>/<code>B</code>/<code>C</code>), valued
|
||||
with the word as programmed: degrees for a plain word, the signed
|
||||
delta for a per-word incremental word (Siemens <code>IC()</code>, klartext
|
||||
<code>IC+</code>), the indexing position number for a coded-position word
|
||||
(<code>CAC()</code>/<code>CIC()</code>/…). The resolved absolute angle lives in
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.IMachineCoordinateStateDef.html#Hi_NcParsers_Keywords_IMachineCoordinateStateDef_MachineCoordinateState">MachineCoordinateState</a>; this
|
||||
section only says <i>which</i> rotary axes this block spoke.</p>
|
||||
<p>
|
||||
Written by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html">McAbcSyntax</a> when it consumes
|
||||
A/B/C from <code>Parsing</code> into <code>MachineCoordinateState</code> — and
|
||||
only for axes the <a class="xref" href="Hi.NcParsers.Dependencys.IMachineAxisConfig.html">IMachineAxisConfig</a> declares
|
||||
rotary. After the PostLogic carry <code>MachineCoordinateState</code> is a
|
||||
modal record (key presence never means "commanded"), so consumers that
|
||||
must know whether <b>this</b> block carried a rotary word read this
|
||||
section instead:
|
||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html">CannedCycleResolveSyntax</a> (a rotary-only
|
||||
block under an active canned cycle is a modal repeat — Fanuc's
|
||||
any-axis-word rule, HardNc parity: the table indexes, then the cycle
|
||||
drills again) and
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">WriteCompoundMotion(JsonObject, string, JsonArray, Vec3d)</a>
|
||||
(the cycle's pre-positioning item carries the block's MC A/B/C so the
|
||||
physical rotary state matches the root record instead of lagging one
|
||||
block behind). Not listed in any
|
||||
<a class="xref" href="Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html">ModalCarrySyntax</a> key set — it never
|
||||
carries to later blocks.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="jumplist">
|
||||
@@ -650,7 +681,11 @@ Contains a <a class="xref" href="Hi.NcParsers.Keywords.CompoundMotion.html#Hi_Nc
|
||||
<span class="xref">Hi.NcParsers.Semantics.CompoundMotionSemanticUtil</span>.</p>
|
||||
<p>Item types (discriminated by key presence):</p>
|
||||
<ul><li><a class="xref" href="Hi.Motion.html">Hi.Motion</a> — rapid/feed linear motion
|
||||
(<a class="xref" href="Hi.NcParsers.Keywords.IMotionEventDef.html">IMotionEventDef</a> + <a class="xref" href="Hi.NcParsers.Keywords.IMachineCoordinateStateDef.html">IMachineCoordinateStateDef</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.IMotionEventDef.html">IMotionEventDef</a> + <a class="xref" href="Hi.NcParsers.Keywords.IMachineCoordinateStateDef.html">IMachineCoordinateStateDef</a>;
|
||||
an item's <code>MachineCoordinateState</code> may carry A/B/C — G28 / tool-change
|
||||
stages write them, and on a canned-cycle block that spoke a rotary word
|
||||
(<a class="xref" href="Hi.NcParsers.Keywords.RotaryWords.html">RotaryWords</a>) the first motion item carries the block's
|
||||
root ABC — in which case the semantic emits the 6-axis contour act)</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)
|
||||
(<a class="xref" href="Hi.NcParsers.Keywords.ISpindleOrientationDef.html#Hi_NcParsers_Keywords_ISpindleOrientationDef_Angle_deg">Angle_deg</a>)</li></ul>
|
||||
</dd>
|
||||
@@ -763,7 +798,9 @@ as NaN sentinels.
|
||||
<p>
|
||||
After the PostLogic carry the section is a MODAL record: key presence
|
||||
means "state known", never "this block commanded the axis". Consumers
|
||||
needing "commanded" must read the block's Parsing words or compare
|
||||
needing "commanded" must read the block's Parsing words, the one-shot
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.RotaryWords.html">RotaryWords</a> record (the rotary words this block itself
|
||||
spoke, written by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html">McAbcSyntax</a>), or compare
|
||||
values against the previous block (see
|
||||
<code>LinearMotionUtil.HasRotaryMotion</code>). The only presence-as-commanded
|
||||
carve-out is <code>CompoundMotion.Items[*]</code> item-level sections, which
|
||||
|
||||
+106
-2
@@ -6,7 +6,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class CannedCycleResolveSyntax | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Resolves the canned-cycle Group-09 state for the current block and writes the result to the section. Active cycle (direct G81..G89 or modal repeat): merges Parsing overrides with previous-cycle stored params, applies G91 incremental-to-absolute conversion and missing-axis fallback, writes with , , and . The resolved cycle sub-section is left in Parsing under the cycle code for downstream cycle syntaxes (, etc.) to read.Explicit cancel (G80 flag present on a non-cycle block): consumes the G80 flag and writes = { Term: "G80" }, acting as a hard sentinel for modal lookback.No Group-09 activity: leaves the block untouched. Must be placed after and before the individual cycle syntaxes in the chain.">
|
||||
<meta name="description" content="Resolves the canned-cycle Group-09 state for the current block and writes the result to the section. Active cycle (direct G81..G89 or modal repeat): merges Parsing overrides with previous-cycle stored params, applies G91 incremental-to-absolute conversion and missing-axis fallback, writes with , , and . The resolved cycle sub-section is left in Parsing under the cycle code for downstream cycle syntaxes (, etc.) to read.Explicit cancel (G80 flag present on a non-cycle block): consumes the G80 flag and writes = { Term: "G80" }, acting as a hard sentinel for modal lookback.No Group-09 activity: leaves the block untouched. A rotary-only block (C40.) reaches this syntax without a Parsing node — consumed the word into MachineCoordinateState and dropped the emptied node — but its one-shot record marks it as a block that spoke an axis word, so under an active cycle it is a modal repeat like any X/Y block (Fanuc's any-axis-word rule; HardNc indexes the table and drills again). The cycle's pre-positioning item then carries the block's ABC (). Must be placed after and before the individual cycle syntaxes in the chain.">
|
||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
@@ -111,6 +111,16 @@ consumes the G80 flag and writes
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.CannedCycle.html">CannedCycle</a> = <code>{ Term: "G80" }</code>, acting as a hard
|
||||
sentinel for <span class="xref">Hi.NcParsers.LogicSyntaxs.CannedCycleSyntaxUtil</span> modal lookback.</li><li><b>No Group-09 activity</b>: leaves the block untouched.</li></ul>
|
||||
<p>
|
||||
A rotary-only block (<code>C40.</code>) reaches this syntax without a
|
||||
<code>Parsing</code> node — <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html">McAbcSyntax</a> consumed the word into
|
||||
<code>MachineCoordinateState</code> and dropped the emptied node — but its
|
||||
one-shot <a class="xref" href="Hi.NcParsers.Keywords.RotaryWords.html">RotaryWords</a> record marks it as a block that
|
||||
spoke an axis word, so under an active cycle it is a modal repeat like
|
||||
any X/Y block (Fanuc's any-axis-word rule; HardNc indexes the table and
|
||||
drills again). The cycle's pre-positioning item then carries the
|
||||
block's ABC (<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">WriteCompoundMotion(JsonObject, string, JsonArray, Vec3d)</a>).
|
||||
</p>
|
||||
<p>
|
||||
Must be placed after <a class="xref" href="Hi.NcParsers.LogicSyntaxs.PositioningSyntax.html">PositioningSyntax</a> and before
|
||||
the individual cycle syntaxes in the chain.
|
||||
</p>
|
||||
@@ -218,7 +228,7 @@ neither the current block nor a previous block declares G98/G99:
|
||||
}</code></pre>
|
||||
<p>Modal repeat: the current block carries only an X override and no
|
||||
cycle code, but <code>#Previous:</code> has an active G81 with stored
|
||||
params. <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">MergeModalCycleSection(JsonObject, JsonObject, ISentenceCarrier, NcDiagnosticProgress)</a>
|
||||
params. <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">MergeModalCycleSection(JsonObject, JsonObject, ISentenceCarrier, NcDiagnosticProgress, out HashSet<string>)</a>
|
||||
merges X=60 (override) with Y/Z/R from stored params, removes the
|
||||
consumed X from <code>Parsing</code> root, and writes the merged section
|
||||
back to <code>Parsing.G81</code>. <code>ReturnMode</code> inherits “G98” from
|
||||
@@ -278,6 +288,100 @@ default applies after reset:
|
||||
"Parsing": { "X": 60 },
|
||||
"CannedCycle": { "Term": "G80" }
|
||||
}</code></pre>
|
||||
<p>Rotary-only modal repeat: the block carries no <code>Parsing</code> at all
|
||||
(<a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html">McAbcSyntax</a> consumed <code>C40.</code> into
|
||||
<code>MachineCoordinateState</code> and dropped the emptied node) but its
|
||||
one-shot <a class="xref" href="Hi.NcParsers.Keywords.RotaryWords.html">RotaryWords</a> record says it spoke an axis word,
|
||||
so the active G81 from <code>#Previous:</code> repeats with every stored
|
||||
parameter (no override to merge). The <code>Parsing</code> node is
|
||||
re-created to host the resolved cycle sub-section for the downstream
|
||||
cycle syntax:
|
||||
#Previous:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"CannedCycle": {
|
||||
"Term": "G81",
|
||||
"ReturnMode": "G98",
|
||||
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||
},
|
||||
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||
}</code></pre>
|
||||
<p>#BeforeBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"MachineCoordinateState": { "C": 40 },
|
||||
"RotaryWords": { "C": 40 }
|
||||
}</code></pre>
|
||||
<p>#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"MachineCoordinateState": { "C": 40 },
|
||||
"RotaryWords": { "C": 40 },
|
||||
"Parsing": { "G81": { "X": 50, "Y": 30, "Z": -10, "R": 2 } },
|
||||
"CannedCycle": {
|
||||
"Term": "G81",
|
||||
"ReturnMode": "G98",
|
||||
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||
}
|
||||
}</code></pre>
|
||||
<p>Modal repeat under G91 (<code>X10.</code> pitch): only the block's own X
|
||||
word is an increment (50 + 10 = 60, from the previous block's
|
||||
machine position read back through this block's identity chain);
|
||||
the stored Y / Z / R are the previous cycle's <b>absolute</b>
|
||||
results and are reused verbatim instead of being added onto the
|
||||
anchors again (which would have moved Y to 60 and lifted Z to
|
||||
R + Z):
|
||||
#Previous:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"CannedCycle": {
|
||||
"Term": "G81",
|
||||
"ReturnMode": "G98",
|
||||
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||
},
|
||||
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 },
|
||||
"MachineCoordinateState": { "X": 50, "Y": 30, "Z": 0 }
|
||||
}</code></pre>
|
||||
<p>#BeforeBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"Positioning": { "Term": "G91", "Mode": "Incremental" },
|
||||
"Parsing": { "X": 10 }
|
||||
}</code></pre>
|
||||
<p>#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"Positioning": { "Term": "G91", "Mode": "Incremental" },
|
||||
"Parsing": { "G81": { "X": 60, "Y": 30, "Z": -10, "R": 2 } },
|
||||
"CannedCycle": {
|
||||
"Term": "G81",
|
||||
"ReturnMode": "G98",
|
||||
"Params": { "X": 60, "Y": 30, "Z": -10, "R": 2 }
|
||||
}
|
||||
}</code></pre>
|
||||
<p>A block whose Group-09 state a brand syntax already authored (the
|
||||
shape <code>SiemensModalCycleSyntax</code> writes for a bare <code>MCALL</code>
|
||||
cancel or an <code>MCALL CYCLE8x(…)</code> arm) is left alone even though
|
||||
<code>#Previous:</code> still carries an active G81 and the block spoke a
|
||||
rotary word: the authoring syntax owns the block, nothing repeats,
|
||||
and the sentinel survives for the blocks after it. (The Siemens
|
||||
parser only accepts <code>MCALL</code> alone on its block, so today this is
|
||||
the contract's guard rather than a reachable program line.)
|
||||
#Previous:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"CannedCycle": {
|
||||
"Term": "G81",
|
||||
"ReturnMode": "G98",
|
||||
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||
},
|
||||
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||
}</code></pre>
|
||||
<p>#BeforeBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"MachineCoordinateState": { "C": 40 },
|
||||
"RotaryWords": { "C": 40 },
|
||||
"CannedCycle": { "Term": "G80" }
|
||||
}</code></pre>
|
||||
<p>#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{
|
||||
"MachineCoordinateState": { "C": 40 },
|
||||
"RotaryWords": { "C": 40 },
|
||||
"CannedCycle": { "Term": "G80" }
|
||||
}</code></pre>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -264,6 +264,44 @@ to G81. Five items total:
|
||||
},
|
||||
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||
}</code></pre>
|
||||
G81 on a block that spoke a rotary word — the one-shot
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.RotaryWords.html">RotaryWords</a> record from <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html">McAbcSyntax</a>, whose
|
||||
root <code>MachineCoordinateState</code> already holds the resolved C and
|
||||
the lookback-filled A. <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">WriteCompoundMotion(JsonObject, string, JsonArray, Vec3d)</a>
|
||||
copies both onto the first (pre-positioning) item so the rapid to the
|
||||
initial level indexes the table at the same time; the remaining items
|
||||
stay XYZ-only exactly as in the first case. Root MC and the record
|
||||
are left untouched:
|
||||
#BeforeBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"Parsing": { "G81": { "X": 50, "Y": 30, "Z": -10, "R": 2, "F": 600 } },
|
||||
"CannedCycle": {
|
||||
"Term": "G81", "ReturnMode": "G98",
|
||||
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||
},
|
||||
"MachineCoordinateState": { "A": 0, "C": 40 },
|
||||
"RotaryWords": { "C": 40 }
|
||||
}</code></pre>
|
||||
#AfterBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"CannedCycle": {
|
||||
"Term": "G81", "ReturnMode": "G98",
|
||||
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||
},
|
||||
"MachineCoordinateState": { "A": 0, "C": 40 },
|
||||
"RotaryWords": { "C": 40 },
|
||||
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
|
||||
"CompoundMotion": {
|
||||
"Term": "G81",
|
||||
"Items": [
|
||||
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true }, "MachineCoordinateState": { "A": 0, "C": 40 } },
|
||||
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 2 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": -10 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
|
||||
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } }
|
||||
]
|
||||
},
|
||||
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||
}</code></pre>
|
||||
|
||||
|
||||
<h2 id="Hi_NcParsers_LogicSyntaxs_DrillingCycleSyntax_remarks">Remarks</h2>
|
||||
|
||||
+1
-1
@@ -149,7 +149,7 @@ Canned cycle paths (Parsing.G81, G82, G83, …) are intentionally
|
||||
excluded — their Z/R incremental semantics differ from normal axes
|
||||
(R is relative to init level, Z is relative to R-point).
|
||||
Resolution is handled by
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">ResolveCycleCoordinates(JsonObject, Vec3d, double?, double?, double, double)</a>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">ResolveCycleCoordinates(JsonObject, Vec3d, double?, double?, double, double, HashSet<string>)</a>
|
||||
inside each cycle syntax class, which runs before this syntax.
|
||||
</p>
|
||||
<p>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class McAbcCyclicPathSyntax | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Resolve modular rotary axes to the shortest cyclic path relative to the previous node. Uses to determine which axes within need cyclic resolution. Falls back to hardcoded A/B/C if no is available. Must be placed after in . Two stages, mirroring : Root MachineCoordinateState — anchored at the previous block's modal rotary state..[*] — sequential walk through items, anchoring item 0 at the previous block's modal state and item i &gt; 0 at item i-1's post-cycle value (per-axis chain). Items without a rotary MachineCoordinateState are skipped. The items pass enables rotary motion (e.g. G28 ABC intermediate / home stages) to surface as motion segments rather than a single root-MC stamp. Per-word directional override: a block-root entry (stamped by ) valued (Siemens ACP()) or (ACN()) swaps that axis's window for this block only: [anchor, anchor+360°) / (anchor-360°, anchor] instead of the default ±180° — the approach direction is forced even when it is the longer way around. A target congruent with the anchor (within an ULP-scale epsilon) keeps the anchor value verbatim — no move, never a spurious full turn, and no deg→rad→deg drift. (DC()) is the default window and needs no special path here. The override is read from the current block only (it is one-shot, never carried — deliberately unlike the modal RotaryWrap gate's one-step previous fallback) and applies to the root MC stage only, not to items (G28/G74/G75 expansions capture their words in sub-objects the stamping syntax never sees, so an override can only ever describe a root word). Directional/shortest entries keyed by an axis outside the modular set are reported as Coord-McAbc--003 — the promise cannot be honored there and silence would mis-read the program's intent; an entry with no anchor to resolve against (first rotary value in the stream) is reported as Coord-McAbc--004 and adopted unwrapped, matching the default path. Per-word incremental override: an entry (Siemens IC(), klartext IC+270) is a signed traverse by definition — already wrote anchor + delta — so this pass keeps that value verbatim for the axis instead of folding it into the ±180° window (a +270° chain dimension must not become a -90° swing). Incremental entries on non-modular axes need no warning: the literal value is what the axis would do anyway.">
|
||||
<meta name="description" content="Resolve modular rotary axes to the shortest cyclic path relative to the previous node. Uses to determine which axes within need cyclic resolution. Falls back to hardcoded A/B/C if no is available. Must be placed after in . Two stages, mirroring : Root MachineCoordinateState — anchored at the previous block's modal rotary state..[*] — sequential walk through items, anchoring item 0 at the previous block's modal state and item i &gt; 0 at item i-1's post-cycle value (per-axis chain). Items without a rotary MachineCoordinateState are skipped. The items pass enables rotary motion (e.g. G28 ABC intermediate / home stages) to surface as motion segments rather than a single root-MC stamp. Per-word directional override: a block-root entry (stamped by ) valued (Siemens ACP()) or (ACN()) swaps that axis's window for this block only: [anchor, anchor+360°) / (anchor-360°, anchor] instead of the default ±180° — the approach direction is forced even when it is the longer way around. A target congruent with the anchor (within an ULP-scale epsilon) keeps the anchor value verbatim — no move, never a spurious full turn, and no deg→rad→deg drift. (DC()) is the default window and needs no special path here. The override is read from the current block only (it is one-shot, never carried — deliberately unlike the modal RotaryWrap gate's one-step previous fallback) and applies to the root MC stage, not to items in general (G28/G74/G75 expansions capture their words in sub-objects the stamping syntax never sees, so an override can only ever describe a root word) — with one exception: an item whose value for an axis equals the root's pre-pass value verbatim carries that same root word (the canned-cycle pre-positioning item that stamps from the root MC) and inherits the root's directive for that axis, so the default window cannot fold the forced swing the root resolved into the short way. Directional/shortest entries keyed by an axis outside the modular set are reported as Coord-McAbc--003 — the promise cannot be honored there and silence would mis-read the program's intent; an entry with no anchor to resolve against (first rotary value in the stream) is reported as Coord-McAbc--004 and adopted unwrapped, matching the default path. Per-word incremental override: an entry (Siemens IC(), klartext IC+270) is a signed traverse by definition — already wrote anchor + delta — so this pass keeps that value verbatim for the axis instead of folding it into the ±180° window (a +270° chain dimension must not become a -90° swing). Incremental entries on non-modular axes need no warning: the literal value is what the axis would do anyway.">
|
||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
@@ -129,10 +129,17 @@ deg→rad→deg drift. <a class="xref" href="Hi.NcParsers.Keywords.Positioning.h
|
||||
is the default window and needs no special path here. The override
|
||||
is read from the current block only (it is one-shot, never carried —
|
||||
deliberately unlike the modal <code>RotaryWrap</code> gate's one-step
|
||||
previous fallback) and applies to the root MC stage only, not to
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.CompoundMotion.html">CompoundMotion</a> items (G28/G74/G75 expansions capture
|
||||
their words in sub-objects the stamping syntax never sees, so an
|
||||
override can only ever describe a root word). Directional/shortest
|
||||
previous fallback) and applies to the root MC stage, not to
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.CompoundMotion.html">CompoundMotion</a> items in general (G28/G74/G75 expansions
|
||||
capture their words in sub-objects the stamping syntax never sees, so
|
||||
an override can only ever describe a root word) — with one exception:
|
||||
an item whose value for an axis equals the root's pre-pass value
|
||||
verbatim carries that same root word (the canned-cycle
|
||||
pre-positioning item that
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">WriteCompoundMotion(JsonObject, string, JsonArray, Vec3d)</a> stamps
|
||||
from the root MC) and inherits the root's directive for that axis, so
|
||||
the default window cannot fold the forced swing the root resolved
|
||||
into the short way. Directional/shortest
|
||||
entries keyed by an axis outside the modular set are reported as
|
||||
<code>Coord-McAbc--003</code> — the promise cannot be honored there and
|
||||
silence would mis-read the program's intent; an entry with no anchor
|
||||
@@ -362,6 +369,39 @@ rewrote to -90° stays +270°:
|
||||
"MachineCoordinateState": { "B": 270 },
|
||||
"PositioningOverride": { "B": "Incremental" }
|
||||
}</code></pre>
|
||||
A <code>CompoundMotion</code> item carrying the root word verbatim — the
|
||||
canned-cycle pre-positioning item that
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">WriteCompoundMotion(JsonObject, string, JsonArray, Vec3d)</a> stamps from
|
||||
the root MC of a <code>B=ACP(270)</code> block — inherits the root's
|
||||
<code>PositiveOnly</code> directive: both stay +270 instead of the item
|
||||
folding to -90 as the plain items-walk case above would (same
|
||||
numbers, opposite outcome). The second item is not a copy (170 ≠ 270)
|
||||
and resolves under the default window against the chained anchor
|
||||
270°, where 170 is already the short way:
|
||||
#Previous:
|
||||
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "B": 0 } }</code></pre>
|
||||
#BeforeBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"MachineCoordinateState": { "B": 270 },
|
||||
"PositioningOverride": { "B": "PositiveOnly" },
|
||||
"CompoundMotion": {
|
||||
"Items": [
|
||||
{ "MachineCoordinateState": { "B": 270 } },
|
||||
{ "MachineCoordinateState": { "B": 170 } }
|
||||
]
|
||||
}
|
||||
}</code></pre>
|
||||
#AfterBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"MachineCoordinateState": { "B": 270 },
|
||||
"PositioningOverride": { "B": "PositiveOnly" },
|
||||
"CompoundMotion": {
|
||||
"Items": [
|
||||
{ "MachineCoordinateState": { "B": 270 } },
|
||||
{ "MachineCoordinateState": { "B": 170 } }
|
||||
]
|
||||
}
|
||||
}</code></pre>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class McAbcSyntax | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Writes rotary axis values (A/B/C) into from and modal lookback. Only active when declares rotary axes. Works for both 3+2-axis (no ) and simultaneous 5-axis configurations. This syntax is intentionally ABC-only. When the block is rotary-only (no ProgramXyz, e.g. G00 A30.) the section is created with ABC but without X/Y/Z. — placed after — copies X/Y/Z from the previous block's to finish the section. Splitting the XYZ fill out lets this syntax run before (and before ) without accidentally filling X/Y/Z from prev and thereby short-circuiting . Missing rotary axes are filled from previous lookback, unless the current section already has the value (e.g., from ). Values are stored in degrees (matching ). Per-word override: a block-root section (written by for the Siemens AC()/IC() coordinate functions, and by the Heidenhain L / C parsers for the klartext IA+/IB+/IC+ words) marks a rotary word : the parsed value is then added to the previous modal value of that axis (previous MachineCoordinateState lookback, falling back to a value already present in the current section, then 0) instead of being written as an absolute angle. The accumulated raw degrees stay monotonic across iterations: the tail-pass keeps an Incremental-stamped axis literal (a chain dimension is a signed traverse, never re-shortened), so even a +270° step survives as net rotation. An entry (from AC()) matches the default write and needs no special path — and so, deliberately, do the rotary-family entries (DC()) / (ACP()) / (ACN()): this syntax writes the raw absolute target and the shortest/directional swing is resolved by the tail-pass, which owns the wrap math. Brands that never write the section keep the exact legacy behavior. Coded-position overrides (Siemens CAC()/CIC()/CDC()/CACP()/CACN()) carry an indexing position number instead of an angle: the number is resolved through via and the override entry is rewritten to the plain vocabulary ( / / / — a cyclic CIC keeps its programmed direction through the directional values) before the tail-pass runs, so the tail-pass never sees a coded value. A failed resolve (invalid number, missing table) reports an error and holds the axis at its previous value. Must be placed before so syntaxes that need the current-block ABC to compute transforms (e.g. ) can see it; and before and .">
|
||||
<meta name="description" content="Writes rotary axis values (A/B/C) into from and modal lookback. Only active when declares rotary axes. Works for both 3+2-axis (no ) and simultaneous 5-axis configurations. This syntax is intentionally ABC-only. When the block is rotary-only (no ProgramXyz, e.g. G00 A30.) the section is created with ABC but without X/Y/Z. — placed after — copies X/Y/Z from the previous block's to finish the section. Splitting the XYZ fill out lets this syntax run before (and before ) without accidentally filling X/Y/Z from prev and thereby short-circuiting . Missing rotary axes are filled from previous lookback, unless the current section already has the value (e.g., from ). Values are stored in degrees (matching ). Per-word override: a block-root section (written by for the Siemens AC()/IC() coordinate functions, and by the Heidenhain L / C parsers for the klartext IA+/IB+/IC+ words) marks a rotary word : the parsed value is then added to the previous modal value of that axis (previous MachineCoordinateState lookback, falling back to a value already present in the current section, then 0) instead of being written as an absolute angle. The accumulated raw degrees stay monotonic across iterations: the tail-pass keeps an Incremental-stamped axis literal (a chain dimension is a signed traverse, never re-shortened), so even a +270° step survives as net rotation. An entry (from AC()) matches the default write and needs no special path — and so, deliberately, do the rotary-family entries (DC()) / (ACP()) / (ACN()): this syntax writes the raw absolute target and the shortest/directional swing is resolved by the tail-pass, which owns the wrap math. Brands that never write the section keep the exact legacy behavior. Coded-position overrides (Siemens CAC()/CIC()/CDC()/CACP()/CACN()) carry an indexing position number instead of an angle: the number is resolved through via and the override entry is rewritten to the plain vocabulary ( / / / — a cyclic CIC keeps its programmed direction through the directional values) before the tail-pass runs, so the tail-pass never sees a coded value. A failed resolve (invalid number, missing table) reports an error and holds the axis at its previous value. Every rotary word the block actually carried is also recorded, as programmed, in the one-shot block-root section ({ "C": 40 }) — the resolved angle goes into MachineCoordinateState, which after the modal carry can no longer tell "commanded" from "carried". Downstream consumers that need that distinction ( repeating an active canned cycle on a rotary-only block, riding the block's ABC on the cycle's pre-positioning item) read the record; the section is never modal-carried. Must be placed before so syntaxes that need the current-block ABC to compute transforms (e.g. ) can see it; and before and .">
|
||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
@@ -168,6 +168,18 @@ resolve (invalid number, missing table) reports an error and holds
|
||||
the axis at its previous value.
|
||||
</p>
|
||||
<p>
|
||||
Every rotary word the block actually carried is also recorded, as
|
||||
programmed, in the one-shot block-root <a class="xref" href="Hi.NcParsers.Keywords.RotaryWords.html">RotaryWords</a>
|
||||
section (<code>{ "C": 40 }</code>) — the resolved angle goes into
|
||||
<code>MachineCoordinateState</code>, which after the modal carry can no
|
||||
longer tell "commanded" from "carried". Downstream consumers that need
|
||||
that distinction (<a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html">CannedCycleResolveSyntax</a> repeating an
|
||||
active canned cycle on a rotary-only block,
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">WriteCompoundMotion(JsonObject, string, JsonArray, Vec3d)</a> riding the
|
||||
block's ABC on the cycle's pre-positioning item) read the record; the
|
||||
section is never modal-carried.
|
||||
</p>
|
||||
<p>
|
||||
Must be placed <b>before</b> <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McXyzSyntax.html">McXyzSyntax</a> so syntaxes
|
||||
that need the current-block ABC to compute transforms
|
||||
(e.g. <a class="xref" href="Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.html">G43p4RtcpSyntax</a>) can see it; and <b>before</b>
|
||||
@@ -270,24 +282,34 @@ no-op (the syntax only fires when rotary axes are declared):
|
||||
AxisConfig declares B+C rotary; <code>Parsing.B/C</code> are consumed
|
||||
into a freshly created <code>MachineCoordinateState</code> section
|
||||
(X/Y/Z are deliberately left out so <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McXyzSyntax.html">McXyzSyntax</a> can
|
||||
still derive XYZ later — see class summary):
|
||||
still derive XYZ later — see class summary). The words the block
|
||||
spoke are recorded as programmed in the one-shot
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.RotaryWords.html">RotaryWords</a> section:
|
||||
#BeforeBuild:
|
||||
<pre><code class="lang-csharp">{ "Parsing": { "B": 45, "C": 90 } }</code></pre>
|
||||
#AfterBuild:
|
||||
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "B": 45, "C": 90 } }</code></pre>
|
||||
<pre><code class="lang-csharp">{
|
||||
"MachineCoordinateState": { "B": 45, "C": 90 },
|
||||
"RotaryWords": { "B": 45, "C": 90 }
|
||||
}</code></pre>
|
||||
Only <code>Parsing.B</code> on the current block; <code>#Previous:</code>
|
||||
carries a full MC including C=0. The missing C is filled from the
|
||||
per-axis backward lookback (<a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">FindPreviousMcAxis(LazyLinkedListNode<SyntaxPiece>, string)</a>):
|
||||
per-axis backward lookback (<a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">FindPreviousMcAxis(LazyLinkedListNode<SyntaxPiece>, string)</a>) — and
|
||||
stays out of <code>RotaryWords</code>, which lists commanded words only:
|
||||
#Previous:
|
||||
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "B": 0, "C": 0 } }</code></pre>
|
||||
#BeforeBuild:
|
||||
<pre><code class="lang-csharp">{ "Parsing": { "B": 30 } }</code></pre>
|
||||
#AfterBuild:
|
||||
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "B": 30, "C": 0 } }</code></pre>
|
||||
<pre><code class="lang-csharp">{
|
||||
"MachineCoordinateState": { "B": 30, "C": 0 },
|
||||
"RotaryWords": { "B": 30 }
|
||||
}</code></pre>
|
||||
Per-word incremental override (the Siemens <code>C=IC(...)</code> shape
|
||||
after the unwrap + evaluation stages) — the parsed 21.5 is added onto
|
||||
the previous modal C instead of overwriting it; B has no override
|
||||
entry and fills from lookback as usual:
|
||||
entry and fills from lookback as usual. <code>RotaryWords</code> keeps the
|
||||
programmed delta, not the accumulated angle:
|
||||
#Previous:
|
||||
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "B": 10, "C": 40 } }</code></pre>
|
||||
#BeforeBuild:
|
||||
@@ -298,14 +320,16 @@ entry and fills from lookback as usual:
|
||||
#AfterBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"PositioningOverride": { "C": "Incremental" },
|
||||
"MachineCoordinateState": { "B": 10, "C": 61.5 }
|
||||
"MachineCoordinateState": { "B": 10, "C": 61.5 },
|
||||
"RotaryWords": { "C": 21.5 }
|
||||
}</code></pre>
|
||||
Coded-position absolute (the Siemens <code>C=CAC(3)</code> shape after the
|
||||
unwrap + evaluation stages). The case injects a
|
||||
<code>SiemensMachineDataTable</code> declaring C rotary and assigned to
|
||||
indexing table 1 = <code>[0, 90, 180, 270]</code>: position number 3
|
||||
resolves to 180° and the override entry is rewritten to
|
||||
<code>Absolute</code> for the tail-pass:
|
||||
<code>Absolute</code> for the tail-pass (<code>RotaryWords</code> keeps the
|
||||
position number the program spoke):
|
||||
#BeforeBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"PositioningOverride": { "C": "CodedAbsolute" },
|
||||
@@ -314,7 +338,8 @@ resolves to 180° and the override entry is rewritten to
|
||||
#AfterBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"PositioningOverride": { "C": "Absolute" },
|
||||
"MachineCoordinateState": { "C": 180 }
|
||||
"MachineCoordinateState": { "C": 180 },
|
||||
"RotaryWords": { "C": 3 }
|
||||
}</code></pre>
|
||||
Coded-position incremental with the same table — from 270° (position
|
||||
4), advancing 2 positions wraps the 4-position cycle to position 2
|
||||
@@ -330,7 +355,8 @@ so the swing keeps the programmed direction:
|
||||
#AfterBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"PositioningOverride": { "C": "PositiveOnly" },
|
||||
"MachineCoordinateState": { "C": 90 }
|
||||
"MachineCoordinateState": { "C": 90 },
|
||||
"RotaryWords": { "C": 2 }
|
||||
}</code></pre>
|
||||
|
||||
|
||||
|
||||
@@ -204,6 +204,69 @@ stays Static.</p>
|
||||
|
||||
|
||||
|
||||
<a id="Hi_NcParsers_LogicSyntaxs_PivotTransformUtil_PinTiltInMachineSpaceAcrossRotaryWords_" data-uid="Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.PinTiltInMachineSpaceAcrossRotaryWords*"></a>
|
||||
|
||||
<h3 id="Hi_NcParsers_LogicSyntaxs_PivotTransformUtil_PinTiltInMachineSpaceAcrossRotaryWords_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_Text_Json_Nodes_JsonObject_System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__" data-uid="Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.PinTiltInMachineSpaceAcrossRotaryWords(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},System.Text.Json.Nodes.JsonObject,System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency})">
|
||||
PinTiltInMachineSpaceAcrossRotaryWords(LazyLinkedListNode<SyntaxPiece>, JsonObject, List<INcDependency>)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Pins the tilted-plane feature frame in <b>machine</b> space across a
|
||||
rotary word: on a block that spoke A/B/C (one-shot
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.RotaryWords.html">RotaryWords</a> record) under an active tilt, rewrites the
|
||||
block's <a class="xref" href="Hi.NcParsers.LogicSyntaxs.TiltTransformUtil.html#Hi_NcParsers_LogicSyntaxs_TiltTransformUtil_TransformSource">TransformSource</a> entry so that
|
||||
<code>Tilt(cur)·Pivot(cur) == Tilt(prev)·Pivot(prev)</code> — the feature
|
||||
point the program addresses stays where it was in machine space and
|
||||
the table turns underneath it. This is the Fanuc TWP behaviour HardNc
|
||||
reproduces through <code>NcArgG68p2.PostMcAbc_rad</code> (the delta between
|
||||
the line's rotary word and the IJK solution re-anchors the feature
|
||||
frame; the comment there cites CHEM20180926 N10, whose
|
||||
<code>G81 … C20.</code>/<code>C40.</code>/… drill a bolt circle on the periphery
|
||||
while the tip never leaves its machine position). Without it the
|
||||
carried tilt stays attached to the table and every C-indexed hole
|
||||
lands on the same spot of the part.</p>
|
||||
<p>
|
||||
Silently no-ops when the block spoke no rotary word, when
|
||||
<a class="xref" href="Hi.Numerical.Xyzabc.IMachineKinematics.html">IMachineKinematics</a> is absent, or when the previous
|
||||
block carries no <a class="xref" href="Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_PivotTransformSource">PivotTransformSource</a>
|
||||
entry (the tilt was not yet active there — nothing to pin). Must run
|
||||
before <a class="xref" href="Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.html#Hi_NcParsers_LogicSyntaxs_PivotTransformUtil_ComposePivotEntry_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_Text_Json_Nodes_JsonObject_System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__">ComposePivotEntry(LazyLinkedListNode<SyntaxPiece>, JsonObject, List<INcDependency>)</a> on the same block so the
|
||||
pivot it composes is the one the rewritten tilt was solved against.
|
||||
Brand gates decide whether their tilt vocabulary wants this
|
||||
(<a class="xref" href="Hi.NcParsers.LogicSyntaxs.PivotTransformationSyntax.html">PivotTransformationSyntax</a> applies it to G68.2 without
|
||||
RTCP: under G43.4 the tool centre point is tracked in the
|
||||
workpiece-fixed feature frame while the rotaries move — the tilted
|
||||
CL→NC writeback replays on that contract — so a rotary word there is
|
||||
contouring, not indexing, and the carried tilt stays on the table).
|
||||
</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static void PinTiltInMachineSpaceAcrossRotaryWords(LazyLinkedListNode<SyntaxPiece> syntaxPieceNode, JsonObject json, List<INcDependency> ncDependencyList)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>syntaxPieceNode</code> <a class="xref" href="Hi.Common.Collections.LazyLinkedListNode-1.html">LazyLinkedListNode</a><<a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">SyntaxPiece</a>></dt>
|
||||
<dd></dd>
|
||||
<dt><code>json</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">JsonObject</a></dt>
|
||||
<dd></dd>
|
||||
<dt><code>ncDependencyList</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1">List</a><<a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a>></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="Hi_NcParsers_LogicSyntaxs_PivotTransformUtil_ResolveEndpointAbc_" data-uid="Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.ResolveEndpointAbc*"></a>
|
||||
|
||||
<h3 id="Hi_NcParsers_LogicSyntaxs_PivotTransformUtil_ResolveEndpointAbc_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__Hi_NcParsers_Dependencys_IMachineAxisConfig_" data-uid="Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.ResolveEndpointAbc(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},Hi.NcParsers.Dependencys.IMachineAxisConfig)">
|
||||
|
||||
+81
@@ -358,6 +358,87 @@ the chain so the new entry stays Static:
|
||||
],
|
||||
"MachineCoordinateState": { "A": 45 }
|
||||
}</code></pre>
|
||||
<p>
|
||||
Active G68.2 across a rotary word — the feature frame stays pinned
|
||||
in machine space (<a class="xref" href="Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.html#Hi_NcParsers_LogicSyntaxs_PivotTransformUtil_PinTiltInMachineSpaceAcrossRotaryWords_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_Text_Json_Nodes_JsonObject_System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__">PinTiltInMachineSpaceAcrossRotaryWords(LazyLinkedListNode<SyntaxPiece>, JsonObject, List<INcDependency>)</a>).
|
||||
<code>#Previous:</code> had the tilt Rx(30°) composed with the pivot at
|
||||
table-A = 0 (identity on this chain); the current block spoke
|
||||
<code>A45.</code> (one-shot <code>RotaryWords</code>, root MC A = 45) and
|
||||
arrived with the carried Rx(30°) tilt. The tilt entry is rewritten to
|
||||
<code>Tilt·Pivot(prev)·Pivot(cur)⁻¹</code> = Rx(30°)·Rx(45°) = Rx(75°) —
|
||||
so that composed with the new pivot Rx(−45°) the chain still maps the
|
||||
feature frame exactly where the previous block had it — and the
|
||||
pivot entry is written for A = 45 as in the case above. No tool
|
||||
height entry is present, so nothing else is re-aimed:
|
||||
</p>
|
||||
#Previous:
|
||||
<pre><code class="lang-csharp">{
|
||||
"TiltTransform": { "Term": "G68.2" },
|
||||
"ProgramToMcTransform": [
|
||||
{
|
||||
"Source": "TiltTransform",
|
||||
"Kind": "Static",
|
||||
"Mat4d": [
|
||||
1, 0, 0, 0,
|
||||
0, 0.8660254037844387, 0.49999999999999994, 0,
|
||||
0, -0.49999999999999994, 0.8660254037844387, 0,
|
||||
0, 0, 0, 1
|
||||
]
|
||||
},
|
||||
{
|
||||
"Source": "PivotTransform",
|
||||
"Kind": "Static",
|
||||
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]
|
||||
}
|
||||
],
|
||||
"MachineCoordinateState": { "X": 0, "Y": 0, "Z": 0, "A": 0, "B": 0 }
|
||||
}</code></pre>
|
||||
#BeforeBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"TiltTransform": { "Term": "G68.2" },
|
||||
"ProgramToMcTransform": [
|
||||
{
|
||||
"Source": "TiltTransform",
|
||||
"Kind": "Static",
|
||||
"Mat4d": [
|
||||
1, 0, 0, 0,
|
||||
0, 0.8660254037844387, 0.49999999999999994, 0,
|
||||
0, -0.49999999999999994, 0.8660254037844387, 0,
|
||||
0, 0, 0, 1
|
||||
]
|
||||
}
|
||||
],
|
||||
"MachineCoordinateState": { "A": 45, "B": 0 },
|
||||
"RotaryWords": { "A": 45 }
|
||||
}</code></pre>
|
||||
#AfterBuild:
|
||||
<pre><code class="lang-csharp">{
|
||||
"TiltTransform": { "Term": "G68.2" },
|
||||
"ProgramToMcTransform": [
|
||||
{
|
||||
"Source": "TiltTransform",
|
||||
"Kind": "Static",
|
||||
"Mat4d": [
|
||||
1, 0, 0, 0,
|
||||
0, 0.25881904510252085, 0.9659258262890683, 0,
|
||||
0, -0.9659258262890683, 0.25881904510252085, 0,
|
||||
0, 0, 0, 1
|
||||
]
|
||||
},
|
||||
{
|
||||
"Source": "PivotTransform",
|
||||
"Kind": "Static",
|
||||
"Mat4d": [
|
||||
1, 0, 0, 0,
|
||||
0, 0.7071067811865475, -0.7071067811865475, 0,
|
||||
0, 0.7071067811865475, 0.7071067811865475, 0,
|
||||
0, 0, 0, 1
|
||||
]
|
||||
}
|
||||
],
|
||||
"MachineCoordinateState": { "A": 45, "B": 0 },
|
||||
"RotaryWords": { "A": 45 }
|
||||
}</code></pre>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -151,6 +151,16 @@ consumes the G80 flag and writes
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.CannedCycle.html">CannedCycle</a> = <code>{ Term: "G80" }</code>, acting as a hard
|
||||
sentinel for <span class="xref">Hi.NcParsers.LogicSyntaxs.CannedCycleSyntaxUtil</span> modal lookback.</li><li><b>No Group-09 activity</b>: leaves the block untouched.</li></ul>
|
||||
<p>
|
||||
A rotary-only block (<code>C40.</code>) reaches this syntax without a
|
||||
<code>Parsing</code> node — <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html">McAbcSyntax</a> consumed the word into
|
||||
<code>MachineCoordinateState</code> and dropped the emptied node — but its
|
||||
one-shot <a class="xref" href="Hi.NcParsers.Keywords.RotaryWords.html">RotaryWords</a> record marks it as a block that
|
||||
spoke an axis word, so under an active cycle it is a modal repeat like
|
||||
any X/Y block (Fanuc's any-axis-word rule; HardNc indexes the table and
|
||||
drills again). The cycle's pre-positioning item then carries the
|
||||
block's ABC (<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">WriteCompoundMotion(JsonObject, string, JsonArray, Vec3d)</a>).
|
||||
</p>
|
||||
<p>
|
||||
Must be placed after <a class="xref" href="Hi.NcParsers.LogicSyntaxs.PositioningSyntax.html">PositioningSyntax</a> and before
|
||||
the individual cycle syntaxes in the chain.
|
||||
</p>
|
||||
@@ -486,7 +496,7 @@ Canned cycle paths (Parsing.G81, G82, G83, …) are intentionally
|
||||
excluded — their Z/R incremental semantics differ from normal axes
|
||||
(R is relative to init level, Z is relative to R-point).
|
||||
Resolution is handled by
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">ResolveCycleCoordinates(JsonObject, Vec3d, double?, double?, double, double)</a>
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">ResolveCycleCoordinates(JsonObject, Vec3d, double?, double?, double, double, HashSet<string>)</a>
|
||||
inside each cycle syntax class, which runs before this syntax.
|
||||
</p>
|
||||
<p>
|
||||
@@ -714,10 +724,17 @@ deg→rad→deg drift. <a class="xref" href="Hi.NcParsers.Keywords.Positioning.h
|
||||
is the default window and needs no special path here. The override
|
||||
is read from the current block only (it is one-shot, never carried —
|
||||
deliberately unlike the modal <code>RotaryWrap</code> gate's one-step
|
||||
previous fallback) and applies to the root MC stage only, not to
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.CompoundMotion.html">CompoundMotion</a> items (G28/G74/G75 expansions capture
|
||||
their words in sub-objects the stamping syntax never sees, so an
|
||||
override can only ever describe a root word). Directional/shortest
|
||||
previous fallback) and applies to the root MC stage, not to
|
||||
<a class="xref" href="Hi.NcParsers.Keywords.CompoundMotion.html">CompoundMotion</a> items in general (G28/G74/G75 expansions
|
||||
capture their words in sub-objects the stamping syntax never sees, so
|
||||
an override can only ever describe a root word) — with one exception:
|
||||
an item whose value for an axis equals the root's pre-pass value
|
||||
verbatim carries that same root word (the canned-cycle
|
||||
pre-positioning item that
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">WriteCompoundMotion(JsonObject, string, JsonArray, Vec3d)</a> stamps
|
||||
from the root MC) and inherits the root's directive for that axis, so
|
||||
the default window cannot fold the forced swing the root resolved
|
||||
into the short way. Directional/shortest
|
||||
entries keyed by an axis outside the modular set are reported as
|
||||
<code>Coord-McAbc--003</code> — the promise cannot be honored there and
|
||||
silence would mis-read the program's intent; an entry with no anchor
|
||||
@@ -810,6 +827,18 @@ resolve (invalid number, missing table) reports an error and holds
|
||||
the axis at its previous value.
|
||||
</p>
|
||||
<p>
|
||||
Every rotary word the block actually carried is also recorded, as
|
||||
programmed, in the one-shot block-root <a class="xref" href="Hi.NcParsers.Keywords.RotaryWords.html">RotaryWords</a>
|
||||
section (<code>{ "C": 40 }</code>) — the resolved angle goes into
|
||||
<code>MachineCoordinateState</code>, which after the modal carry can no
|
||||
longer tell "commanded" from "carried". Downstream consumers that need
|
||||
that distinction (<a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html">CannedCycleResolveSyntax</a> repeating an
|
||||
active canned cycle on a rotary-only block,
|
||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">WriteCompoundMotion(JsonObject, string, JsonArray, Vec3d)</a> riding the
|
||||
block's ABC on the cycle's pre-positioning item) read the record; the
|
||||
section is never modal-carried.
|
||||
</p>
|
||||
<p>
|
||||
Must be placed <b>before</b> <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McXyzSyntax.html">McXyzSyntax</a> so syntaxes
|
||||
that need the current-block ABC to compute transforms
|
||||
(e.g. <a class="xref" href="Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.html">G43p4RtcpSyntax</a>) can see it; and <b>before</b>
|
||||
|
||||
@@ -650,6 +650,47 @@ sibling section. Throws if any entry lacks <a class="xref" href="Hi.NcParsers.Sy
|
||||
|
||||
|
||||
|
||||
<a id="Hi_NcParsers_Syntaxs_TransformationUtil_HasTransformEntry_" data-uid="Hi.NcParsers.Syntaxs.TransformationUtil.HasTransformEntry*"></a>
|
||||
|
||||
<h3 id="Hi_NcParsers_Syntaxs_TransformationUtil_HasTransformEntry_System_Text_Json_Nodes_JsonObject_System_String_" data-uid="Hi.NcParsers.Syntaxs.TransformationUtil.HasTransformEntry(System.Text.Json.Nodes.JsonObject,System.String)">
|
||||
HasTransformEntry(JsonObject, string)
|
||||
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>True when the chain carries an entry with the given source name
|
||||
(<a class="xref" href="Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_GetTransformBySource_System_Text_Json_Nodes_JsonObject_System_String_">GetTransformBySource(JsonObject, string)</a> cannot tell “absent” from
|
||||
“identity”).</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public static bool HasTransformEntry(JsonObject json, string source)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
<dl class="parameters">
|
||||
<dt><code>json</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">JsonObject</a></dt>
|
||||
<dd></dd>
|
||||
<dt><code>source</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
<h4 class="section">Returns</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_NcParsers_Syntaxs_TransformationUtil_MakePivotTransformMat_" data-uid="Hi.NcParsers.Syntaxs.TransformationUtil.MakePivotTransformMat*"></a>
|
||||
|
||||
<h3 id="Hi_NcParsers_Syntaxs_TransformationUtil_MakePivotTransformMat_Hi_Numerical_Xyzabc_IMachineKinematics_Hi_Geom_Vec3d_" data-uid="Hi.NcParsers.Syntaxs.TransformationUtil.MakePivotTransformMat(Hi.Numerical.Xyzabc.IMachineKinematics,Hi.Geom.Vec3d)">
|
||||
|
||||
@@ -786,7 +786,7 @@
|
||||
<a href="Hi.Disp.DispEngine.html" name="" title="DispEngine">DispEngine</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Hi.Disp.DispEngine.ImageRequestedDelegate.html" name="" title="DispEngine.ImageRequestedDelegate">DispEngine.ImageRequestedDelegate</a>
|
||||
<a href="Hi.Disp.DispEngine.FrameReadyDelegate.html" name="" title="DispEngine.FrameReadyDelegate">DispEngine.FrameReadyDelegate</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Hi.Disp.DispEngineConfig.html" name="" title="DispEngineConfig">DispEngineConfig</a>
|
||||
@@ -803,6 +803,9 @@
|
||||
<li>
|
||||
<a href="Hi.Disp.Drawing.html" name="" title="Drawing">Drawing</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Hi.Disp.FramePins.html" name="" title="FramePins">FramePins</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Hi.Disp.FuncDisplayee.html" name="" title="FuncDisplayee">FuncDisplayee</a>
|
||||
</li>
|
||||
@@ -833,6 +836,15 @@
|
||||
<li>
|
||||
<a href="Hi.Disp.Pickable.html" name="" title="Pickable">Pickable</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Hi.Disp.PinDrawing.html" name="" title="PinDrawing">PinDrawing</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Hi.Disp.PinFlags.html" name="" title="PinFlags">PinFlags</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Hi.Disp.PinRecord.html" name="" title="PinRecord">PinRecord</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Hi.Disp.PopModelMat.html" name="" title="PopModelMat">PopModelMat</a>
|
||||
</li>
|
||||
@@ -3172,6 +3184,9 @@
|
||||
<li>
|
||||
<a href="Hi.NcParsers.Keywords.RadiusCompensation.html" name="" title="RadiusCompensation">RadiusCompensation</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Hi.NcParsers.Keywords.RotaryWords.html" name="" title="RotaryWords">RotaryWords</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="Hi.NcParsers.Keywords.SpindleControl.html" name="" title="SpindleControl">SpindleControl</a>
|
||||
</li>
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -87,7 +87,68 @@
|
||||
<article data-uid="">
|
||||
<h1 id="release-note">Release Note</h1>
|
||||
|
||||
<h2 id="hinc-packages-32">HiNc Packages 3.2</h2>
|
||||
<h2 id="hinc-packages-version-3224">HiNc Packages Version 3.2.24</h2>
|
||||
<p>Correctness and coverage that landed after 3.2.7. The 3.1.175 → 3.2 line jump is the
|
||||
3.2.7 entry below; the long form is still
|
||||
<a href="upgrading-to-3.2/index.html">Upgrading from 3.1.175 to 3.2</a>.</p>
|
||||
<div class="IMPORTANT">
|
||||
<h5>Important</h5>
|
||||
<p><strong>Adoption status.</strong> Verification is still in progress across most areas.</p>
|
||||
<p><strong>Do not put 3.2 NC optimization into production.</strong> It is not finished on this line.
|
||||
Work that depends on optimization should stay on the 3.1 line, serviced as
|
||||
<code>3.1.175.<patch></code>. The Blazor front end tracks the 3.2 packages, so it is not a way
|
||||
to stay on the 3.1 behaviour.</p>
|
||||
<p><strong>Do not put SoftNc canned-cycle indexing with rotary words into production.</strong> SoftNc is
|
||||
the default engine, and its G81–G89 family does not take A / B / C words on a repeat
|
||||
block: a rotary-only repeat does not fire the cycle, a mixed block drops the rotary
|
||||
word, and under G68.2 the hole follows the table. Programs that index a rotary axis that
|
||||
way should run with
|
||||
<a class="xref" href="../api/Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_EnableSoftNcRunner">EnableSoftNcRunner</a> set <code>false</code> — the
|
||||
HardNc fallback indexes those blocks the way a control does. See
|
||||
<a href="upgrading-to-3.2/brand-nc-language-coverage.html#fanuc-and-iso-common">Brand NC language coverage</a>.</p>
|
||||
</div>
|
||||
<ul>
|
||||
<li><strong>Whole-program throughput against the last 3.1 set is 2.5×–18.8×</strong> in steps per
|
||||
second (paired on one 32-logical-processor Linux workstation; the ratio grows with
|
||||
program length and mesh fineness). The six-core ceiling that used to cap the 3.1
|
||||
pipeline is about 6% of that gap. Figures and conditions:
|
||||
<a href="upgrading-to-3.2/performance-and-footprint.html">Performance and footprint</a></li>
|
||||
<li><strong><code>M02</code> / <code>M30</code> / <code>END PGM</code> is a reset edge on SoftNc.</strong> Tool-length compensation
|
||||
(including TCP), tilt, cutter-radius compensation and canned cycles cancel on the <em>next</em>
|
||||
block; the end-of-program block itself still runs under the modal state it executed with.
|
||||
HardNc still carries <code>G43.4</code> across <code>M02</code>. See
|
||||
<a href="upgrading-to-3.2/results-that-change-on-upgrade.html">Results that change on upgrade</a></li>
|
||||
<li><strong>An omitted H is no longer a silent zero</strong> — it takes the equipped tool's offset row
|
||||
first, then warns <code>Comp-ToolHeight--NoToolForOmittedH</code> / <code>--NoToolForOmittedHRtcp</code>. A
|
||||
vacant table row warns <code>Comp-ToolHeight--RowMissing</code></li>
|
||||
<li><strong>Cutter-radius compensation runs in the selected G17 / G18 / G19 plane.</strong> An
|
||||
interference path that used to swap sides silently now reports
|
||||
<code>RadiusComp--Interference</code></li>
|
||||
<li><strong>Siemens <code>ROTS</code> / <code>AROTS</code> are simulated</strong> into the tilt chain in Sinumerik RPY order.
|
||||
<code>SCALE</code> / <code>MIRROR</code> / <code>CROTS</code> remain recognized, not simulated</li>
|
||||
<li><strong>Heidenhain <code>LN</code> vector blocks</strong> resolve into rotary axes through
|
||||
<a class="xref" href="../api/Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainLnOrientationSyntax.html">HeidenhainLnOrientationSyntax</a></li>
|
||||
<li><strong>Fanuc <code>G54.1 Pn</code> (also written <code>G54 Pn</code>) and <code>G59.1</code>–<code>G59.9</code></strong> resolve additional work
|
||||
offsets. A selected row nobody has entered reports <code>Coord-WorkOffset--AdditionalZero</code></li>
|
||||
<li><strong>Runner feedrate members rename to <code>CommandedClFeedrate_mmds</code>.</strong> Physics follows the
|
||||
equipped tool's tip via
|
||||
<a class="xref" href="../api/Hi.MachiningSteps.MachineMotionStep.html#Hi_MachiningSteps_MachineMotionStep_ActualTipFeedrate_mmds">ActualTipFeedrate_mmds</a>. A project-level
|
||||
<a class="xref" href="../api/Hi.NcParsers.Dependencys.Generic.RadiusOffsetBasis.html">RadiusOffsetBasis</a> decides what a tool-house
|
||||
refresh writes into the D column — see
|
||||
<a href="../anatomy/general-setup/controller/program-data/tool-offsets.html#the-radius-basis">Tool Offsets</a></li>
|
||||
<li><strong><code>GetMillingEquipment</code> → <code>GetMachiningEquipment</code>.</strong> <code>CodeXyzabcMachineTool</code> is absorbed
|
||||
into <a class="xref" href="../api/Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.html">GeneralXyzabcMachineTool</a> (the old XML name still loads). The
|
||||
equipment splits into authored
|
||||
<a class="xref" href="../api/Hi.Machining.MachiningEquipmentUtils.SetupEquipment.html">SetupEquipment</a> and runtime
|
||||
<a class="xref" href="../api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html">MachiningEquipment</a></li>
|
||||
<li><strong>Close joins the <a class="xref" href="../api/Hi.MachiningProcs.ProjectFileBusyException.html">ProjectFileBusyException</a> gate.</strong>
|
||||
<a class="xref" href="../api/Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_LoadProject_">LoadProject</a> and
|
||||
<a class="xref" href="../api/Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_ReloadProject_">ReloadProject</a> take a message sink for
|
||||
load-time diagnostics</li>
|
||||
<li><strong><a class="xref" href="../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_OmitLeadingZero">OmitLeadingZero</a></strong> is an output style the project can pin
|
||||
(<code>.5</code> vs <code>0.5</code>)</li>
|
||||
</ul>
|
||||
<h2 id="hinc-packages-version-327">HiNc Packages Version 3.2.7</h2>
|
||||
<h3 id="at-a-glance">At a glance</h3>
|
||||
<p>3.2 is largely one piece of work: the NC interpreter that reads a controller program is now composed
|
||||
from configurable parts rather than written into one class, and most of this release is the brand
|
||||
@@ -152,7 +213,7 @@ depends on optimization should stay on the 3.1 line, which is serviced as <code>
|
||||
Blazor front end tracks the 3.2 packages, so it is not a way to stay on the 3.1 behaviour.</p>
|
||||
</div>
|
||||
<h3 id="what-changed">What changed</h3>
|
||||
<p><strong>This one entry covers everything since 3.1.175.</strong> The 3.1 line is closed at the 3.1.175 package
|
||||
<p><strong>This 3.2.7 entry covers everything since 3.1.175.</strong> The 3.1 line is closed at the 3.1.175 package
|
||||
set and is serviced only as <code>3.1.175.<patch></code>; <code>master</code> moved all ten packages onto the <strong>3.2</strong> line
|
||||
on 2026-08-24 and restarted their build counters. So a 3.2 build number starts low, the two
|
||||
counters are not comparable, and the gap between the last 3.1 number a feed served and the first
|
||||
|
||||
+36
-8
@@ -107,11 +107,13 @@ data, <code>DEF REAL/INT</code> declarations lower into assignments, and <code>$
|
||||
to <a class="xref" href="../../api/Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.html">SiemensFrameTable</a>. Any other <code>$</code>-variable is recorded
|
||||
with an unsupported note rather than dropped.</li>
|
||||
<li><strong>Five axis</strong> — <a class="xref" href="../../api/Hi.NcParsers.LogicSyntaxs.Siemens.SiemensProgrammableFrameSyntax.html">SiemensProgrammableFrameSyntax</a> simulates
|
||||
<code>TRANS</code> / <code>ATRANS</code> / <code>ROT</code> / <code>AROT</code> (with <code>RPL=</code>) into the tilt-transform chain in Sinumerik RPY
|
||||
order; <a class="xref" href="../../api/Hi.NcParsers.LogicSyntaxs.Siemens.SiemensTraoriSyntax.html">SiemensTraoriSyntax</a> makes <code>TRAORI</code> a real RTCP mode,
|
||||
the sibling of ISO G43.4, with <code>TRAFOOF</code> handing the offset back;
|
||||
<code>TRANS</code> / <code>ATRANS</code> / <code>ROT</code> / <code>AROT</code> (with <code>RPL=</code>) and the solid-angle forms <code>ROTS</code> / <code>AROTS</code> into the
|
||||
tilt-transform chain in Sinumerik RPY order (<code>ROTS</code> / <code>AROTS</code> behave as <code>ROT</code> / <code>AROT</code>: at most two
|
||||
angles, first-named axis first); <a class="xref" href="../../api/Hi.NcParsers.LogicSyntaxs.Siemens.SiemensTraoriSyntax.html">SiemensTraoriSyntax</a> makes
|
||||
<code>TRAORI</code> a real RTCP mode, the sibling of ISO G43.4, with <code>TRAFOOF</code> handing the offset back;
|
||||
<a class="xref" href="../../api/Hi.NcParsers.LogicSyntaxs.Siemens.SiemensCycle800TiltSyntax.html">SiemensCycle800TiltSyntax</a> decodes <code>CYCLE800</code>'s MODE bits for
|
||||
all four swivel modes. <code>ROTS</code> / <code>SCALE</code> / <code>MIRROR</code> are recognized and reported, not simulated.</li>
|
||||
all four swivel modes. <code>SCALE</code> / <code>MIRROR</code> / <code>CROTS</code> are recognized and reported
|
||||
(<code>SiemensFrame--Unsupported</code>), not simulated.</li>
|
||||
<li><strong>Calls</strong> — L-prefixed and named subprogram calls resolve against
|
||||
<a class="xref" href="../../api/Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.html">SubProgramFolderConfig</a> (<code>{name}.SPF</code>, then <code>.MPF</code>, then the
|
||||
bare name) and inline with their <code>P</code> repetition count; <code>M17</code> / <code>RET</code> pop a frame; <code>REPEAT</code> re-runs a
|
||||
@@ -155,9 +157,13 @@ and <code>DL</code>. Datum handling follows TNC semantics: <code>CYCL DEF 247</c
|
||||
<em>additive</em> shift on top of it, composing as separate transform-chain entries instead of replacing
|
||||
each other, resolved against <a class="xref" href="../../api/Hi.NcParsers.Dependencys.HeidenhainDatumTable.html">HeidenhainDatumTable</a>. Arcs (<code>CC</code> pole
|
||||
plus <code>C</code> statement, <code>DR-</code> = CW, closed arc = full circle), <code>RL</code> / <code>RR</code> / <code>R0</code> radius compensation,
|
||||
the <code>M126</code> / <code>M127</code> rotary-wrap state, <code>M140 MB</code> retract, and <code>CYCL DEF 32 TOLERANCE</code>. A <code>C</code> block
|
||||
never states its own centre: each in-plane component comes from the <code>CC</code> block's own axis word,
|
||||
else from the previous <code>CC</code> section's same axis, else from the arc's own start point. A bare <code>CC</code>
|
||||
the <code>M126</code> / <code>M127</code> rotary-wrap state, <code>M140 MB</code> retract, and <code>CYCL DEF 32 TOLERANCE</code>.
|
||||
<a class="xref" href="../../api/Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainLnOrientationSyntax.html">HeidenhainLnOrientationSyntax</a> resolves an <code>LN</code> vector
|
||||
block into rotary axes through the same RTCP machinery the rotary-word programs use: <code>T</code> present
|
||||
plus <code>M128</code> / <code>FUNCTION TCPM</code> keeps the tool on T; <code>T</code> absent plus RTCP holds the tool on the
|
||||
surface normal N; RTCP inactive ignores T (<code>Orientation-Vector--IgnoredNoTcpm</code>), as the control
|
||||
does. A <code>C</code> block never states its own centre: each in-plane component comes from the <code>CC</code> block's
|
||||
own axis word, else from the previous <code>CC</code> section's same axis, else from the arc's own start point. A bare <code>CC</code>
|
||||
is the one spelling that states all of them at once — it takes the last programmed position, read
|
||||
at the <code>CC</code> block, and replaces the modal centre rather than inheriting it. A centre that lands on
|
||||
the arc's own start point leaves the block with no radius, so it warns
|
||||
@@ -204,7 +210,9 @@ fabricated value. <strong>FN 9–12 conditional jumps execute</strong>, with a (
|
||||
<code>STAY</code> / <code>MOVE</code> / <code>TURN</code> positioning; VECTOR structurally captured; EULER / POINTS / RELATIV /
|
||||
AXIAL / PROJECTED consumed and warned with the previous tilt retained, so a <code>PLANE AXIAL B+45</code> B
|
||||
word can never be mistaken for a rotary axis command), <code>FUNCTION TCPM</code>, and real <code>M128</code> / <code>M129</code>
|
||||
tool-centre-point control.</li>
|
||||
tool-centre-point control. A centre-referenced <code>FUNCTION TCPM REFPNT</code> (<code>TIP-CENTER</code> /
|
||||
<code>CENTER-CENTER</code>) is recorded and reported (<code>Orientation-RefPoint--CntNotSimulated</code>) rather than
|
||||
silently read as TIP-TIP.</li>
|
||||
<li><strong>Cycles and calls</strong> — <code>CYCL DEF 2xx</code> bodies with their Q parameters mirrored into the block
|
||||
assignments, cycles 200 / 232 / 251 / 252 / 253 mapped onto the shared G81 / G82 / G83 slots,
|
||||
<code>CYCL CALL</code> / <code>CYCL CALL POS</code> / <code>M99</code> / <code>M89</code> splitting call-once from modal firing, <code>CALL LBL</code>
|
||||
@@ -241,6 +249,20 @@ codes before the mode syntaxes consume them.</li>
|
||||
<code>WHILE[..]DO m / END m</code> with a bounded-loop watchdog, and position and tool-offset system variables.
|
||||
<code>M98 P_ L_</code>, <code>M198</code> external call, <code>M99</code> return and <code>M99 P{seq}</code> early return; <code>G65</code> one-shot macro
|
||||
call with A–Z → <code>#1</code>–<code>#26</code> argument binding, and <code>G66</code> / <code>G67</code> modal macro.</li>
|
||||
<li><strong>Additional work coordinate systems</strong> — <code>G54.1 Pn</code>, also written <code>G54 Pn</code>, resolves against the
|
||||
extended table (P1–P48). A selected row nobody has entered reports <code>Coord-WorkOffset--AdditionalZero</code>.
|
||||
<code>G59.1</code>–<code>G59.9</code> have a provider on the Fanuc, Mazak and Syntec presets. See
|
||||
<a href="../../anatomy/general-setup/controller/program-data/work-coordinates.html">Work Coordinates</a> and
|
||||
<a href="../../technique/nc-dialects/controller-iso.html">ISO core</a>.</li>
|
||||
<li><strong>Fanuc / Syntec unit codes and G05.</strong> <code>G71</code> is the metric spelling of <code>G21</code>; <code>G70</code> is the inch
|
||||
spelling of <code>G20</code> and reports <code>Unit--InchNotSupported</code> rather than silently switching units.
|
||||
<code>G05.1 Q1</code> / <code>Q0</code> is AICC / Nano Smoothing (recognized). Bare <code>G05 P{n}</code> is a different feature
|
||||
(HPCC) and is consumed without changing programmed coordinates, reported under the <code>Hpcc--*</code> ids.</li>
|
||||
<li><strong>Canned-cycle repeats do not take rotary words on SoftNc.</strong> The G73–G89 family expands XYZ / R /
|
||||
Q / F / P / K strokes. An A / B / C word on a repeat is not taken: a rotary-only repeat does not
|
||||
fire the cycle, a mixed block drops the rotary word, and under G68.2 the hole follows the table.
|
||||
<em>Not finished on this line, see Adoption status on the <a href="../index.html">release-note page</a>.</em> The
|
||||
HardNc fallback indexes those blocks the way a control does.</li>
|
||||
</ul>
|
||||
<h2 id="cross-brand">Cross-brand</h2>
|
||||
<ul>
|
||||
@@ -304,6 +326,12 @@ re-read the host file by that path — the existence check always failed, so loo
|
||||
without looping. <code>RunNc</code> now registers the raw lines on
|
||||
<a class="xref" href="../../api/Hi.NcParsers.Dependencys.SystemWired.NcLineSourceDependency.html">NcLineSourceDependency</a> and
|
||||
<a class="xref" href="../../api/Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.html">LabelScanUtil</a> reads memory first, disk second.</li>
|
||||
<li><strong><code>M02</code> / <code>M30</code> / <code>END PGM</code> is a reset edge.</strong> SoftNc models program-end as the edge <em>between</em> that
|
||||
block and the next, so a concatenated multi-program file does not keep TCP, tilt, CRC or a canned
|
||||
cycle alive into the next program. Each modal owner writes an explicit cancel section on the
|
||||
successor (G49 / G69 / G40 / G80); the end-of-program block itself still runs under the modal state
|
||||
it executed with. HardNc still carries G43.4 across <code>M02</code> — see
|
||||
<a href="results-that-change-on-upgrade.html">Results that change on upgrade</a>.</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
@@ -225,6 +225,14 @@ everything else falls back to brand G-code, so an exotic brand extension can nev
|
||||
<td><code>StateActRunner.Feedrate_mmds</code> / <code>Feedrate_mmdmin</code>, <code>ActFeedrate.Feedrate_mmds</code> / <code>Feedrate_mmdmin</code> (and <code>ActRapid</code>), <code>MachineMotionStep.Feedrate_mmds</code>, the <code>MachineMotionStep</code> constructor's <code>feedrate_mmds</code> parameter</td>
|
||||
<td><a class="xref" href="../../api/Hi.Numerical.Acts.StateActRunner.html#Hi_Numerical_Acts_StateActRunner_CommandedClFeedrate_mmds">CommandedClFeedrate_mmds</a> / <a class="xref" href="../../api/Hi.Numerical.Acts.StateActRunner.html#Hi_Numerical_Acts_StateActRunner_CommandedClFeedrate_mmdmin">CommandedClFeedrate_mmdmin</a>, <a class="xref" href="../../api/Hi.Numerical.Acts.ActFeedrate.html#Hi_Numerical_Acts_ActFeedrate_CommandedClFeedrate_mmds">CommandedClFeedrate_mmds</a> / <a class="xref" href="../../api/Hi.Numerical.Acts.ActFeedrate.html#Hi_Numerical_Acts_ActFeedrate_CommandedClFeedrate_mmdmin">CommandedClFeedrate_mmdmin</a>, <a class="xref" href="../../api/Hi.MachiningSteps.MachineMotionStep.html#Hi_MachiningSteps_MachineMotionStep_CommandedClFeedrate_mmds">CommandedClFeedrate_mmds</a>, <code>commandedClFeedrate_mmds</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>GetMillingEquipment</code></td>
|
||||
<td><a class="xref" href="../../api/Hi.Machining.MachiningEquipmentUtils.IGetMachiningEquipment.html#Hi_Machining_MachiningEquipmentUtils_IGetMachiningEquipment_GetMachiningEquipment_">GetMachiningEquipment</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>CodeXyzabcMachineTool</code> / <code>CodeXyzabcMachineToolUri</code></td>
|
||||
<td><a class="xref" href="../../api/Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.html">GeneralXyzabcMachineTool</a> (the old XML names still load)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>Four notes on that table.</p>
|
||||
@@ -371,6 +379,13 @@ updated in lockstep.</li>
|
||||
It is a public <code>const</code>, so an assembly compiled against 3.1.175 already carries the old literal and
|
||||
keeps passing it — <code>Init</code> still accepts it — but a rebuild changes what it passes, and no font file
|
||||
is extracted to the working directory any more.</li>
|
||||
<li>The equipment splits into two faces. <a class="xref" href="../../api/Hi.Machining.MachiningEquipmentUtils.SetupEquipment.html">SetupEquipment</a> is
|
||||
the authored one — the only face a project file persists, reached as
|
||||
<a class="xref" href="../../api/Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_SetupEquipment">SetupEquipment</a>.
|
||||
<a class="xref" href="../../api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html">MachiningEquipment</a> is the runtime face the runner,
|
||||
physics, collision and execution display read; it is rebuilt from the authored face at project
|
||||
assignment and at session boundaries, so a value written onto it is discarded rather than saved.
|
||||
See <a href="../../technique/api-foundations/getting-started.html">Getting started</a>.</li>
|
||||
</ul>
|
||||
<h2 id="8-defaults-and-gates-that-changed">8. Defaults and gates that changed</h2>
|
||||
<ul>
|
||||
@@ -393,6 +408,13 @@ and scripts are skipped with <code>Script--NotLicensed</code>. An unlicensed ins
|
||||
<em>different simulation</em>, not an error. Calling the public API from your own application or session
|
||||
script needs no extra licence; composing the interpretation pipeline does. See
|
||||
<a class="xref" href="../../technique/nc-dialects/nc-parsing.html">NC Parsing Engine</a>.</li>
|
||||
<li><strong><a class="xref" href="../../api/Hi.MachiningProcs.MachiningActRunnerConfig.html#Hi_MachiningProcs_MachiningActRunnerConfig_RadiusOffsetBasis">RadiusOffsetBasis</a></strong> decides what a tool-house
|
||||
refresh writes into the D column:
|
||||
<a class="xref" href="../../api/Hi.NcParsers.Dependencys.Generic.RadiusOffsetBasis.html#Hi_NcParsers_Dependencys_Generic_RadiusOffsetBasis_CutterRadius">CutterRadius</a> (default — geometry plus wear,
|
||||
the only behaviour before the basis existed) or
|
||||
<a class="xref" href="../../api/Hi.NcParsers.Dependencys.Generic.RadiusOffsetBasis.html#Hi_NcParsers_Dependencys_Generic_RadiusOffsetBasis_ZeroBased">ZeroBased</a> (wear only, for a tool-centre
|
||||
CAM path). An older project refreshes exactly as before until the basis is changed. See
|
||||
<a href="../../anatomy/general-setup/controller/program-data/tool-offsets.html#the-radius-basis">Tool Offsets</a>.</li>
|
||||
<li>The four <code>SnapshotSyntax</code> entries in the Fanuc preset default to <code>IsEnabled = false</code>, so projects
|
||||
stop serializing enabled debug snapshots. A project saved by an earlier build keeps what it
|
||||
serialized until its pipeline list is refreshed from the current preset.</li>
|
||||
|
||||
@@ -87,7 +87,8 @@
|
||||
<article data-uid="Release-Upgrading-To-3.2">
|
||||
<h1 id="upgrading-from-31175-to-32">Upgrading from 3.1.175 to 3.2</h1>
|
||||
|
||||
<p>These pages are the long form of the <a href="../index.html">3.2 release-note entry</a>. They exist because 3.2 is not
|
||||
<p>These pages are the long form of the 3.1.175 → 3.2 line — the 3.2.7 entry and the
|
||||
<a href="../index.html">3.2.24</a> incremental drop. They exist because 3.2 is not
|
||||
an increment on the last release most callers hold — it is the accumulation of everything that
|
||||
landed after the 3.1.175 package set, delivered in one step.</p>
|
||||
<p>Read them in order the first time. The two sections that decide whether an upgrade is a recompile or
|
||||
@@ -98,8 +99,9 @@ capability you can adopt when you need it.</p>
|
||||
<h5>Important</h5>
|
||||
<p>Read the <strong>Adoption status</strong> note on the <a href="../index.html">release-note page</a> before planning around this.
|
||||
The short version: 3.2 is published for review, verification is still in progress across most
|
||||
areas, and <strong>NC optimization is not finished on this line</strong> — work that depends on it should stay
|
||||
on 3.1, serviced as <code>3.1.175.<patch></code>.</p>
|
||||
areas, <strong>NC optimization is not finished on this line</strong>, and <strong>SoftNc canned-cycle indexing
|
||||
with rotary A/B/C words is not finished</strong> — work that depends on either should stay on 3.1,
|
||||
serviced as <code>3.1.175.<patch></code>, or run with SoftNc off for the rotary-cycle case.</p>
|
||||
</div>
|
||||
<h2 id="pages">Pages</h2>
|
||||
<p>Ordered the way to read them: what the package numbers mean, then the two sections that decide whether the upgrade is a recompile or an afternoon, then the new capability, adopted when needed.</p>
|
||||
|
||||
+5
@@ -142,6 +142,11 @@ fourth — an alarm on controllers strict about their least input increment. Dig
|
||||
scanned per word family over the played source texts with comment spans masked, floored at 3/3/0 and
|
||||
capped at 9, and threaded through the whole write path. The word-suppression tolerances and the F
|
||||
comparison grid derive from the resolved digits instead of the old fixed literals.</li>
|
||||
<li><strong>Leading zeros follow the source, and the project can pin the spelling.</strong>
|
||||
<a class="xref" href="../../api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_OmitLeadingZero">OmitLeadingZero</a> is an output style: on, the writer drops a leading
|
||||
zero before the decimal (<code>.5</code> rather than <code>0.5</code>); off, it writes the zero. The option is carried on
|
||||
the project so two machines produce the same bytes, and a report names which style the source
|
||||
itself used.</li>
|
||||
<li><strong>Optimized NC is written back in the source file's encoding.</strong> NC play reads and optimized writes go
|
||||
through <a class="xref" href="../../api/Hi.Common.FileLines.FileUtil.html#Hi_Common_FileLines_FileUtil_DetectRoundTripEncoding_">DetectRoundTripEncoding</a> — BOM, then strict UTF-8, then
|
||||
Latin-1 — so an ANSI-family file (GBK, Big5, Shift-JIS) re-encodes to its original bytes instead of
|
||||
|
||||
@@ -134,6 +134,22 @@ they are the fastest way to find out what a run actually did.</p>
|
||||
<td>a G43.4 H word could not be resolved</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Comp-ToolHeight--NoToolForOmittedH</code> / <code>--NoToolForOmittedHRtcp</code></td>
|
||||
<td>a G43 / G43.4 with no H, no equipped tool number and no non-zero modal offset id</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Comp-ToolHeight--RowMissing</code></td>
|
||||
<td>the resolved offset id has no table row</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Comp-ToolHeight--RtcpOutlivesToolChange</code></td>
|
||||
<td>a tool change left <code>G43.4 Hm</code> alive for a different tool; the new tool keeps the previous tool's length</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>StrokeLimit--Unconfigured</code></td>
|
||||
<td>stroke-limit checking is on but the chain's linear axes carry no travel limit; once per session at BeginSession</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>RadiusComp--Interference</code></td>
|
||||
<td>a G41/G42 block whose compensated path runs against the programmed direction (an inner arc or groove smaller than the offset radius); a real control stops there with an interference alarm (Fanuc PS0041) while the simulation continues on the swapped-side path — on a tool-centre CAM path the radius offset row (D row) must hold the wear only, not the tool radius</td>
|
||||
</tr>
|
||||
@@ -210,6 +226,22 @@ they are the fastest way to find out what a run actually did.</p>
|
||||
<td>the construct is recognized and consumed safely, but not simulated</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>HeidenhainCyclCall--IncrementalNoReference</code> / <code>--IncrementalAfterMove</code></td>
|
||||
<td>a klartext <code>CYCL CALL POS</code> <code>I</code>-prefixed word has no previous call to measure from, or the tool moved between the two calls</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Orientation-RefPoint--CntNotSimulated</code></td>
|
||||
<td><code>FUNCTION TCPM REFPNT</code> with a centre-referenced tool point is not simulated — coordinates are read as TIP-TIP</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Orientation-Vector--IgnoredNoTcpm</code></td>
|
||||
<td>an <code>LN</code> tool vector arrived with RTCP inactive and was ignored, as the control ignores it</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Hpcc--NoOp</code> / <code>--HighSpeedCycleIgnored</code> / <code>--UnsupportedFunction</code> / <code>--UnevaluatedFunction</code> / <code>--MissingFunctionWord</code></td>
|
||||
<td>a bare <code>G05 P</code> HPCC selection; the programmed coordinates are unchanged, except <code>P10001</code>–<code>P10999</code> which is real machining the simulation cannot see</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>DeclaredMCode--UnmodeledEffects</code></td>
|
||||
<td>a machine-declared OEM M-code occurred; no effects are simulated for it</td>
|
||||
</tr>
|
||||
|
||||
+22
-5
@@ -91,6 +91,23 @@
|
||||
correctness that is said too. Read the ratios rather than the absolute times: several campaigns were
|
||||
run on Debug builds or on small machines, deliberately, because a paired A/B on one machine answers
|
||||
“did this get faster” far more reliably than an unpaired Release number on a fast one.</p>
|
||||
<h2 id="against-the-last-31-set">Against the last 3.1 set</h2>
|
||||
<p>Paired on one 32-logical-processor Linux workstation, deployed stacks, <strong>whole</strong> NC programs, steps per
|
||||
second. The 3.1 side is HardNc (the 3.1 default); the 3.2 side is SoftNc (the 3.2 default). Throughput
|
||||
on this line is <strong>2.5×–18.8×</strong>; the ratio grows with program length and mesh fineness. Memory is mixed:
|
||||
a cutting-dominated long program peaked higher on 3.2, a large-surface short-NC job peaked lower.</p>
|
||||
<p>The six-core ceiling that used to cap the 3.1 pipeline is <strong>not</strong> where that gap comes from. On the
|
||||
same workstation, pinning 3.2's worker counts to the products of that ceiling moved a ~193,000-step
|
||||
play from 15.0 s to 15.9 s (+6%); at six available cores the version advantage is still 2.8×–3.8×,
|
||||
and at two cores 2.73×. 3.1 saturates from eight cores; 3.2 from twelve. On that fixture, 3.1 allocated
|
||||
6–8× more managed memory, and the 3.1 allocation climbed as the mesh got finer while 3.2 stayed
|
||||
almost flat.</p>
|
||||
<blockquote>
|
||||
<p><strong>Conditions.</strong> Deployed x64 stacks, one machine, whole programs, steps/s (not wall-clock — a
|
||||
defect that inflated 3.2 step counts on an earlier drop is fixed on this line). Core-count figures
|
||||
used <code>DOTNET_PROCESSOR_COUNT</code> plus CPU affinity, so they are “restricted cores on a large machine”,
|
||||
not a small one: memory bandwidth and cache stay those of the 32-LP host.</p>
|
||||
</blockquote>
|
||||
<h2 id="milling-physics-in-the-native-kernel">Milling physics in the native kernel</h2>
|
||||
<p>The per-step physics moved into <code>core.dll</code> in stages — engagement scan conversion, the force kernel,
|
||||
then the sequential temperature and wear chain. Measured as a same-day paired A/B, managed leg
|
||||
@@ -166,11 +183,11 @@ parallel physics stage is about 3.3% of wall time</strong>, while the <strong>si
|
||||
about 77%</strong> — and that subtraction is single-worker as a correctness requirement, not as an
|
||||
oversight. Raising the force-worker count therefore buys nothing on any machine; the bottleneck
|
||||
moved rather than disappearing.</p>
|
||||
<p>What did change in the worker derivation is narrower than it sounds. An unmeasured six-core ceiling
|
||||
was removed, but it only ever governed the sweep workers, and only machines with <strong>nine or more
|
||||
logical processors</strong> see a different count; force workers are unchanged everywhere. The throughput
|
||||
benefit on such a machine has <strong>not</strong> been measured — the development machines are smaller — so this
|
||||
is a ceiling removal, not a claimed speedup.</p>
|
||||
<p>What did change in the worker derivation is narrower than it sounds. The six-core ceiling
|
||||
was removed, and on a 32-logical-processor machine that is about <strong>6%</strong> of the 3.1→3.2 wall-time gap
|
||||
measured above — force workers are unchanged everywhere, and the sweep-worker count only differs on
|
||||
machines with <strong>nine or more</strong> logical processors. The rest of the gap is allocation and the rest of
|
||||
the pipeline, not the extra cores.</p>
|
||||
<p>Queue depths became fixed item budgets (120 geometry, 3840 physics) rather than scaling with the core
|
||||
count, because those queues bound per-item memory: uncapped, a 64-core machine would have been handed
|
||||
40,960-deep physics queues. On machines with fewer than six cores this is a small <em>increase</em> in
|
||||
|
||||
+36
-6
@@ -114,8 +114,29 @@ pieces now carry the positioning section forward like every other modal syntax.<
|
||||
program machined one tool length low. The read point now falls back to the generic tool-number-keyed
|
||||
height and emits <code>SiemensToolOffset--TcdpRowMissing</code>.</li>
|
||||
<li><strong>G43.4 with an unresolvable H word activated RTCP with a zero-length tool.</strong> It now reports
|
||||
<code>Comp-ToolHeight--001</code> as a warning and keeps processing the block. An absent H stays silent —
|
||||
re-activating G43.4 on the modal offset id is legitimate input.</li>
|
||||
<code>Comp-ToolHeight--001</code> as a warning and keeps processing the block. An omitted H is no longer a
|
||||
silent zero: it takes the equipped tool's own offset row first (HardNc parity), then a non-zero
|
||||
modal id, and only then warns <code>Comp-ToolHeight--NoToolForOmittedH</code> (plain G43) or
|
||||
<code>Comp-ToolHeight--NoToolForOmittedHRtcp</code> (G43.4). A vacant table row warns
|
||||
<code>Comp-ToolHeight--RowMissing</code> instead of compensating a zero length.</li>
|
||||
<li><strong><code>G43.4</code> survived <code>M02</code> / <code>M30</code> and a rotary-only <code>G53</code> still coupled through RTCP.</strong> A sequence
|
||||
that ended one program with <code>M02</code> and started the next with a rotary rapid — without a <code>G49</code> —
|
||||
kept tool-centre-point control on, pinned the tip, and dragged machine XYZ through the stock. On
|
||||
SoftNc the program-end block is a <strong>reset edge</strong>: tool-length compensation (G43 / G44 / G43.4,
|
||||
Siemens <code>TRAORI</code>, Heidenhain <code>M128</code>), tilt (G68 / G68.2 / CYCLE800 / <code>PLANE</code> / TRANS), G41/G42 and
|
||||
G81–G89 cancel on the <em>next</em> block, written as explicit cancel sections so modal carry cannot copy
|
||||
the previous state. The <code>M02</code> block itself still runs under the modal state it executed with, so a
|
||||
retract on the same line as <code>M30</code> still carries tool length. A rotary-only <code>G53</code> under active
|
||||
RTCP now holds the linear axes at the previous machine position and stays McLinear, which is what
|
||||
G53 does on a control (no compensation). <strong>HardNc still carries G43.4 across <code>M02</code></strong> — the two
|
||||
engines are deliberately divergent on that edge; 3.2's default is SoftNc. A tool change that
|
||||
leaves <code>G43.4 Hm</code> alive for a different tool warns
|
||||
<code>Comp-ToolHeight--RtcpOutlivesToolChange</code> on the change block.</li>
|
||||
<li><strong>Fanuc <code>G54.1 Pn</code> (also written <code>G54 Pn</code>) was not resolved.</strong> Additional work coordinate systems
|
||||
now resolve against the extended table; a selected row nobody has entered reports
|
||||
<code>Coord-WorkOffset--AdditionalZero</code> and runs on the machine origin. <code>G59.1</code>–<code>G59.9</code> have a
|
||||
provider on the ISO presets. See
|
||||
<a href="../../anatomy/general-setup/controller/program-data/work-coordinates.html">Work Coordinates</a>.</li>
|
||||
<li><strong>Heidenhain DIN/ISO arc centres.</strong> <code>I</code> / <code>J</code> / <code>K</code> are <strong>absolute</strong> circle centres on Heidenhain —
|
||||
the ISO face of the klartext <code>CC</code> pole — not start-to-centre offsets. Reading them incrementally
|
||||
turned arcs into near-full phantom circles. Fixed in all three engines: the HardNc reader
|
||||
@@ -132,10 +153,19 @@ to the workpiece over the step duration. On XYZ moves, CL files and RTCP with th
|
||||
offset the two agree (the recomputation moves forces by at most about 1e-4 relative, from the
|
||||
<code>TimeSpan</code>-quantised step duration); they part under RTCP with a tool-length offset that does not
|
||||
describe the equipped tool, on rotary-axis-limited simultaneous five-axis blocks (the tip is slower
|
||||
than F, up to a few percent), and wherever the commanded value was stale. One such stale case is
|
||||
fixed alongside: a feed block that repeats the current position (<code>X.. Y.. Z.. F1600.</code> right after
|
||||
the same point at <code>F800.</code>) lost its F word, so every following block showed and cut at the old
|
||||
feed; its <code>ActFeedrate</code> now lands.</li>
|
||||
than F, up to a few percent), and wherever the commanded value was stale.</li>
|
||||
<li><strong>A feed block that does not move lost its F word.</strong> A block that repeats the current position
|
||||
(<code>X.. Y.. Z.. F1600.</code> right after the same point at <code>F800.</code>, a common CAM habit) returned on
|
||||
zero distance before emitting anything, so every following block showed and cut at the old
|
||||
feed. Its <code>ActFeedrate</code> now lands on a zero-length linear, arc or polar block alike. The same
|
||||
stale commanded value is one of the cases the tip-feedrate split above parts on.</li>
|
||||
<li><strong>A rotary-bearing act mixed tip travel with the commanded CL feed resolution.</strong> On a pure RTCP
|
||||
rapid swing the CL point stands still, the commanded feed is ~0, and dividing the equipped tool's
|
||||
tip sweep by that resolution saturated the step count (the play appeared to hang on one line). A
|
||||
rotary-bearing act now splits by posture change (each rotary-axis delta over the rotary
|
||||
resolution) and by spindle cycles when the spindle turns — never by tip travel over the CL-feed
|
||||
resolution. Step counts of existing five-axis projects therefore shift on non-RTCP rotary
|
||||
blocks; XYZ-only programs are unaffected.</li>
|
||||
<li><strong>A <code>K0</code> word on a HardNc G02/G03 saturated the turn count.</strong> Under the default G17 plane a
|
||||
written-but-zero plane-normal word divided the axial travel by zero, the additional-turn count
|
||||
saturated to <code>int.MaxValue</code>, and one arc block became a spiral act of roughly 302 simulated years —
|
||||
|
||||
+10
-2
@@ -169,8 +169,16 @@ converting after a switch to a CL device; and
|
||||
<a class="xref" href="../../api/Hi.NcMech.Workpieces.WorkpieceService.html#Hi_NcMech_Workpieces_WorkpieceService_ClearIdealGeomCache_">ClearIdealGeomCache</a>, so loading another project stops
|
||||
rendering the previous project's target geometry.</li>
|
||||
<li><strong>Project-file operations are serialized through a zero-wait gate.</strong> A New / Load / Save / Reload
|
||||
arriving while another is in progress throws <a class="xref" href="../../api/Hi.MachiningProcs.ProjectFileBusyException.html">ProjectFileBusyException</a>
|
||||
immediately instead of racing into a file-in-use <code>IOException</code>.</li>
|
||||
/ Close arriving while another is in progress throws
|
||||
<a class="xref" href="../../api/Hi.MachiningProcs.ProjectFileBusyException.html">ProjectFileBusyException</a> immediately instead of racing into a file-in-use
|
||||
<code>IOException</code>. Close was the one operation left outside the gate, so a Close arriving during a Save
|
||||
could let the Save finish without writing and still return 200; it now refuses with the same 409
|
||||
the other five ops already used.</li>
|
||||
<li><strong><a class="xref" href="../../api/Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_LoadProject_">LoadProject</a> and
|
||||
<a class="xref" href="../../api/Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_ReloadProject_">ReloadProject</a> take a message sink</strong> for load-time
|
||||
diagnostics (a referenced STL missing on disk, a child XML that will not deserialize). A load-time
|
||||
diagnostic does not fail the load; passing no sink leaves the application log as the only witness.
|
||||
See <a class="xref" href="../../technique/api-foundations/message-management.html">Message Management</a>.</li>
|
||||
<li><strong><a class="xref" href="../../api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentUtil_AlignWorkpieceProgramZeroToIso_">AlignWorkpieceProgramZeroToIso</a>
|
||||
computes in the machine-zero state.</strong> It reflects the assembly and zeroes every dynamic axis before
|
||||
querying displacements, so the alignment is correct even when the live machine's axes are
|
||||
|
||||
@@ -109,8 +109,9 @@ own, so the set is quoted as <code>3.1.175.<patch></code> after its HiNc p
|
||||
it publish under their own frozen builds — looking on the feed for every package at <code>3.1.175.x</code>
|
||||
finds only HiNc. A reference left on that set receives correctness fixes for it and none of the
|
||||
capability on this page. The 3.1 builds above 3.1.175 were never published as a release set —
|
||||
which is why the release note carries one 3.2 entry where it might have carried a dozen: for a
|
||||
caller moving off 3.1.175, they were never separate releases.</li>
|
||||
which is why <strong>3.2.7</strong> is the first numbered 3.2 drop and absorbs what a caller moving off
|
||||
3.1.175 has not seen as a published set. Later 3.2 builds are incremental, the same way
|
||||
3.1.175 / 3.1.173 / … were.</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
@@ -376,6 +376,11 @@ tool-house refresh is chosen on <a class="xref" href="../../anatomy/general-setu
|
||||
with its own feedrate, so material removal and cycle time come out of the real motion rather than an
|
||||
approximation. Modal repetition and <code>G91</code> incremental cycle data are resolved before the strokes are
|
||||
built.</p>
|
||||
<p>On SoftNc (the 3.2 default) a repeat block is the XYZ / <code>R</code> / <code>Q</code> / <code>F</code> / <code>P</code> / <code>K</code> family. An
|
||||
A / B / C word on a repeat is <strong>not taken</strong>: a rotary-only repeat does not fire the cycle, a mixed
|
||||
block drops the rotary word, and under <code>G68.2</code> the hole follows the table. Programs that index a
|
||||
rotary axis that way should run with SoftNc off — the HardNc fallback indexes those blocks the way a
|
||||
control does. See the <a href="../../release-note/index.html">Adoption status</a> note.</p>
|
||||
<h3 id="polar-interpolation">Polar interpolation</h3>
|
||||
<p><code>G12.1</code> turns polar coordinate interpolation on and <code>G13.1</code> turns it off. Inside a polar section the
|
||||
<code>X</code> word is a <strong>diameter</strong> and the <code>C</code> word is a hypothetical Cartesian axis in millimetres, not
|
||||
@@ -437,7 +442,7 @@ the Fanuc, Syntec and Mazak presets:</p>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>M02</code> / <code>M30</code></td>
|
||||
<td>Program end.</td>
|
||||
<td>Program end. On SoftNc the next block starts with tool-length compensation (including TCP), tilt, cutter-radius compensation and canned cycles cancelled; the <code>M02</code> / <code>M30</code> block itself still runs under the modal state it executed with. The HardNc fallback does not apply that reset.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>M03</code> / <code>M04</code> / <code>M05</code></td>
|
||||
@@ -511,10 +516,11 @@ tool table — lengths and radius plus additive wear.</p>
|
||||
<code>DEF INT</code> declarations lower into assignments, and a full expression evaluator means <code>Z=R63+150</code> and
|
||||
<code>X=SIN(R10)*20</code> drive real motion. <code>$P_UIFR[n,axis,TR]</code> binds both ways to the frame table. Any other
|
||||
<code>$</code> variable is recorded with an unsupported note rather than silently dropped.</p>
|
||||
<p><strong>Frames and five-axis.</strong> <code>TRANS</code> / <code>ATRANS</code> / <code>ROT</code> / <code>AROT</code> (with <code>RPL=</code>) compose into the tilt
|
||||
chain in Sinumerik RPY order; <code>TRAORI</code> is a real RTCP mode, the sibling of ISO <code>G43.4</code>, with
|
||||
<code>TRAFOOF</code> handing the offset back; <code>CYCLE800</code> is decoded from its MODE bits across all four swivel
|
||||
modes.</p>
|
||||
<p><strong>Frames and five-axis.</strong> <code>TRANS</code> / <code>ATRANS</code> / <code>ROT</code> / <code>AROT</code> (with <code>RPL=</code>) and the solid-angle
|
||||
forms <code>ROTS</code> / <code>AROTS</code> compose into the tilt chain in Sinumerik RPY order (<code>ROTS</code> / <code>AROTS</code> behave
|
||||
as <code>ROT</code> / <code>AROT</code>: at most two angles, first-named axis first); <code>TRAORI</code> is a real RTCP mode, the
|
||||
sibling of ISO <code>G43.4</code>, with <code>TRAFOOF</code> handing the offset back; <code>CYCLE800</code> is decoded from its MODE
|
||||
bits across all four swivel modes.</p>
|
||||
<p><strong>Calls and control flow.</strong> <code>L</code>-prefixed and named subprogram calls, inlined with their <code>P</code> repetition
|
||||
count; <code>M17</code> / <code>RET</code>; <code>REPEAT</code> over a labelled slice; <code>MCALL CYCLE81</code> / <code>82</code> / <code>83</code> / <code>85</code> mapped onto
|
||||
the shared canned-cycle machinery; <code>PROC</code> headers and labels. <code>GOTOF</code> / <code>GOTOB</code>, <code>IF</code> / <code>ELSE</code> /
|
||||
@@ -528,7 +534,7 @@ instead of a coordinate, resolved against the machine's own indexing-position ta
|
||||
<p><strong>OEM auxiliary M-codes.</strong> The preset declares <code>M12</code> / <code>M13</code> / <code>M22</code> / <code>M23</code> and <code>M330</code> / <code>M331</code> as
|
||||
note-only, so each occurrence voices <code>DeclaredMCode--UnmodeledEffects</code> rather than an unknown-code
|
||||
warning. A machine's own table overrides the declaration once the real effects are known.</p>
|
||||
<p><strong>Recognized, not simulated.</strong> <code>ROTS</code> / <code>AROTS</code>, <code>SCALE</code> / <code>ASCALE</code>, and <code>MIRROR</code> / <code>AMIRROR</code> — each
|
||||
<p><strong>Recognized, not simulated.</strong> <code>SCALE</code> / <code>ASCALE</code>, <code>MIRROR</code> / <code>AMIRROR</code> and <code>CROTS</code> — each
|
||||
reported as <code>SiemensFrame--Unsupported</code>.</p>
|
||||
<p><strong>Not supported.</strong> <code>SETAL</code>.</p>
|
||||
<h2 id="see-also">See Also</h2>
|
||||
|
||||
@@ -374,14 +374,14 @@ misread as something else — a <code>PLANE AXIAL B+45</code> will not be mistak
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>Fanuc</strong></td>
|
||||
<td>ISO core, canned cycles G73–G89, G41/G42, G43.4 RTCP, G53/G53.1, G68/G68.2/G69, G12.1/G13.1 polar with compensation, Custom Macro B (<code>#</code> variables, <code>IF</code>/<code>GOTO</code>, <code>WHILE</code>/<code>DO</code>), <code>M98</code>/<code>M99</code> subprograms, <code>G65</code>/<code>G66</code>/<code>G67</code> macro calls</td>
|
||||
<td>ISO core, canned cycles G73–G89 (XYZ / R / Q / F / P / K; rotary A/B/C words on a repeat are not taken on SoftNc), G41/G42, G43.4 RTCP, G53/G53.1, G68/G68.2/G69, G12.1/G13.1 polar with compensation, Custom Macro B (<code>#</code> variables, <code>IF</code>/<code>GOTO</code>, <code>WHILE</code>/<code>DO</code>), <code>M98</code>/<code>M99</code> subprograms, <code>G65</code>/<code>G66</code>/<code>G67</code> macro calls, <code>G54.1 Pn</code> / <code>G54 Pn</code>, <code>G59.1</code>–<code>G59.9</code></td>
|
||||
<td>bare <code>G05 P</code> HPCC selections (<code>Hpcc--NoOp</code>, <code>Hpcc--HighSpeedCycleIgnored</code>, <code>Hpcc--UnsupportedFunction</code>, <code>Hpcc--UnevaluatedFunction</code>, <code>Hpcc--MissingFunctionWord</code>)</td>
|
||||
<td><code>G10</code> programmable data setting, <code>G50</code> spindle limit, <code>G31</code> skip</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Siemens</strong></td>
|
||||
<td>modal vocabulary, <code>SUPA</code>/<code>G153</code>, <code>T="name"</code> with <code>D</code> offsets, <code>$TC_DP</code> tool tables, R-parameters and <code>DEF</code> variables with a full expression evaluator, <code>$P_UIFR</code>, <code>TRANS</code>/<code>ATRANS</code>/<code>ROT</code>/<code>AROT</code> frames, <code>TRAORI</code>/<code>TRAFOOF</code>, <code>CYCLE800</code>, <code>MSG</code>/<code>STOPRE</code>, <code>CR=</code>/<code>TURN=</code> arcs, <code>L</code>/named subprograms, <code>MCALL</code>, <code>REPEAT</code>, <code>PROC</code>/labels, <code>GOTOF</code>/<code>GOTOB</code>, <code>IF</code>/<code>ELSE</code>/<code>ENDIF</code>, <code>WHILE</code>/<code>FOR</code>/<code>REPEAT-UNTIL</code>/<code>LOOP</code>, <code>AC()</code>/<code>IC()</code>/<code>DC()</code>/<code>ACP()</code>/<code>ACN()</code>, the coded-position family, <code>G74</code>/<code>G75</code></td>
|
||||
<td><code>ROTS</code>/<code>AROTS</code>, <code>SCALE</code>/<code>ASCALE</code>, <code>MIRROR</code>/<code>AMIRROR</code> (<code>SiemensFrame--Unsupported</code>)</td>
|
||||
<td>modal vocabulary, <code>SUPA</code>/<code>G153</code>, <code>T="name"</code> with <code>D</code> offsets, <code>$TC_DP</code> tool tables, R-parameters and <code>DEF</code> variables with a full expression evaluator, <code>$P_UIFR</code>, <code>TRANS</code>/<code>ATRANS</code>/<code>ROT</code>/<code>AROT</code>/<code>ROTS</code>/<code>AROTS</code> frames, <code>TRAORI</code>/<code>TRAFOOF</code>, <code>CYCLE800</code>, <code>MSG</code>/<code>STOPRE</code>, <code>CR=</code>/<code>TURN=</code> arcs, <code>L</code>/named subprograms, <code>MCALL</code>, <code>REPEAT</code>, <code>PROC</code>/labels, <code>GOTOF</code>/<code>GOTOB</code>, <code>IF</code>/<code>ELSE</code>/<code>ENDIF</code>, <code>WHILE</code>/<code>FOR</code>/<code>REPEAT-UNTIL</code>/<code>LOOP</code>, <code>AC()</code>/<code>IC()</code>/<code>DC()</code>/<code>ACP()</code>/<code>ACN()</code>, the coded-position family, <code>G74</code>/<code>G75</code></td>
|
||||
<td><code>SCALE</code>/<code>ASCALE</code>, <code>MIRROR</code>/<code>AMIRROR</code>, <code>CROTS</code> (<code>SiemensFrame--Unsupported</code>)</td>
|
||||
<td><code>SETAL</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -185,7 +185,7 @@ public unsafe RenderingCanvas(params IDisplayee[] displayees)
|
||||
DispEngine.BackgroundColor = new Vec3d(0.1, 0.1, 0.5);
|
||||
DispEngine.BackgroundOpacity = 0.1;
|
||||
DispEngine.SetViewToHomeView();
|
||||
DispEngine.ImageRequestAfterBufferSwapped += DispEngine_ImageRequestAfterBufferSwapped;
|
||||
DispEngine.FrameReady += DispEngine_FrameReady;
|
||||
|
||||
// Set initial size and start the rendering engine
|
||||
this.Size = new System.Drawing.Size(500, 300);
|
||||
@@ -193,7 +193,7 @@ public unsafe RenderingCanvas(params IDisplayee[] displayees)
|
||||
}
|
||||
</code></pre><h3 id="rendering-pipeline">Rendering Pipeline</h3>
|
||||
<p>The rendering pipeline processes images from DispEngine and displays them:</p>
|
||||
<pre><code class="lang-csharp" name="RenderingCanvas">private unsafe void DispEngine_ImageRequestAfterBufferSwapped(byte* bgra_unsignedbyte_pixels, int w, int h)
|
||||
<pre><code class="lang-csharp" name="RenderingCanvas">private unsafe void DispEngine_FrameReady(byte* bgra_unsignedbyte_pixels, int w, int h, FramePins pins)
|
||||
{
|
||||
// Create a bitmap from the raw pixel data provided by DispEngine
|
||||
Bitmap bitmap;
|
||||
@@ -500,7 +500,7 @@ public RenderingCanvas()
|
||||
<pre><code class="lang-csharp" name="RenderingCanvas">/// <summary>
|
||||
/// Handles the buffer swapped event from DispEngine
|
||||
/// </summary>
|
||||
private unsafe void RenderingCanvas_BufferSwapped(byte* data, int w, int h)
|
||||
private unsafe void RenderingCanvas_BufferSwapped(byte* data, int w, int h, FramePins pins)
|
||||
{
|
||||
if (data == null)
|
||||
return;
|
||||
@@ -703,11 +703,11 @@ private unsafe void CanvasDataContextChanged(object sender, DependencyPropertyCh
|
||||
if (pre != null) //this section will never occur if the datacontext not set twice.
|
||||
{
|
||||
pre.Terminate();
|
||||
pre.ImageRequestAfterBufferSwapped -= RenderingCanvas_BufferSwapped;
|
||||
pre.FrameReady -= RenderingCanvas_BufferSwapped;
|
||||
}
|
||||
if (cur != null)
|
||||
{
|
||||
cur.ImageRequestAfterBufferSwapped += RenderingCanvas_BufferSwapped;
|
||||
cur.FrameReady += RenderingCanvas_BufferSwapped;
|
||||
cur.Start((int)DisplayerPane.RenderSize.Width, (int)DisplayerPane.RenderSize.Height);
|
||||
|
||||
cur.IsVisible = IsVisible;
|
||||
@@ -743,8 +743,8 @@ private unsafe void RenderingCanvas_Loaded(object sender, RoutedEventArgs e)
|
||||
CurrentWindow = Window.GetWindow(this);
|
||||
|
||||
// Set up DispEngine rendering
|
||||
DispEngine.ImageRequestAfterBufferSwapped -= RenderingCanvas_BufferSwapped;
|
||||
DispEngine.ImageRequestAfterBufferSwapped += RenderingCanvas_BufferSwapped;
|
||||
DispEngine.FrameReady -= RenderingCanvas_BufferSwapped;
|
||||
DispEngine.FrameReady += RenderingCanvas_BufferSwapped;
|
||||
DispEngine.Start((int)DisplayerPane.RenderSize.Width, (int)DisplayerPane.RenderSize.Height);
|
||||
DispEngine.IsVisible = IsVisible;
|
||||
}
|
||||
@@ -755,7 +755,7 @@ private unsafe void RenderingCanvas_Loaded(object sender, RoutedEventArgs e)
|
||||
private unsafe void RenderingCanvas_Unloaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
DispEngine.IsVisible = IsVisible;
|
||||
DispEngine.ImageRequestAfterBufferSwapped -= RenderingCanvas_BufferSwapped;
|
||||
DispEngine.FrameReady -= RenderingCanvas_BufferSwapped;
|
||||
CurrentWindow = null;
|
||||
}
|
||||
</code></pre><h3 id="resource-cleanup-1">Resource Cleanup</h3>
|
||||
|
||||
@@ -20158,6 +20158,18 @@ references:
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.DispEngine.FontFile
|
||||
nameWithType: DispEngine.FontFile
|
||||
- uid: Hi.Disp.DispEngine.FrameReady
|
||||
name: FrameReady
|
||||
href: api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_FrameReady
|
||||
commentId: E:Hi.Disp.DispEngine.FrameReady
|
||||
fullName: Hi.Disp.DispEngine.FrameReady
|
||||
nameWithType: DispEngine.FrameReady
|
||||
- uid: Hi.Disp.DispEngine.FrameReadyDelegate
|
||||
name: DispEngine.FrameReadyDelegate
|
||||
href: api/Hi.Disp.DispEngine.FrameReadyDelegate.html
|
||||
commentId: T:Hi.Disp.DispEngine.FrameReadyDelegate
|
||||
fullName: Hi.Disp.DispEngine.FrameReadyDelegate
|
||||
nameWithType: DispEngine.FrameReadyDelegate
|
||||
- uid: Hi.Disp.DispEngine.GetDispEngine
|
||||
name: GetDispEngine()
|
||||
href: api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_GetDispEngine
|
||||
@@ -20184,18 +20196,6 @@ references:
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.DispEngine.IdleBackoffHeartbeat
|
||||
nameWithType: DispEngine.IdleBackoffHeartbeat
|
||||
- uid: Hi.Disp.DispEngine.ImageRequestAfterBufferSwapped
|
||||
name: ImageRequestAfterBufferSwapped
|
||||
href: api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_ImageRequestAfterBufferSwapped
|
||||
commentId: E:Hi.Disp.DispEngine.ImageRequestAfterBufferSwapped
|
||||
fullName: Hi.Disp.DispEngine.ImageRequestAfterBufferSwapped
|
||||
nameWithType: DispEngine.ImageRequestAfterBufferSwapped
|
||||
- uid: Hi.Disp.DispEngine.ImageRequestedDelegate
|
||||
name: DispEngine.ImageRequestedDelegate
|
||||
href: api/Hi.Disp.DispEngine.ImageRequestedDelegate.html
|
||||
commentId: T:Hi.Disp.DispEngine.ImageRequestedDelegate
|
||||
fullName: Hi.Disp.DispEngine.ImageRequestedDelegate
|
||||
nameWithType: DispEngine.ImageRequestedDelegate
|
||||
- uid: Hi.Disp.DispEngine.Init(System.String)
|
||||
name: Init(string)
|
||||
href: api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_Init_System_String_
|
||||
@@ -20405,6 +20405,19 @@ references:
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.DispEngine.MouseDragTransform
|
||||
nameWithType: DispEngine.MouseDragTransform
|
||||
- uid: Hi.Disp.DispEngine.MouseLeave
|
||||
name: MouseLeave()
|
||||
href: api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_MouseLeave
|
||||
commentId: M:Hi.Disp.DispEngine.MouseLeave
|
||||
fullName: Hi.Disp.DispEngine.MouseLeave()
|
||||
nameWithType: DispEngine.MouseLeave()
|
||||
- uid: Hi.Disp.DispEngine.MouseLeave*
|
||||
name: MouseLeave
|
||||
href: api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_MouseLeave_
|
||||
commentId: Overload:Hi.Disp.DispEngine.MouseLeave
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.DispEngine.MouseLeave
|
||||
nameWithType: DispEngine.MouseLeave
|
||||
- uid: Hi.Disp.DispEngine.MouseMove(System.Int32,System.Int32)
|
||||
name: MouseMove(int, int)
|
||||
href: api/Hi.Disp.DispEngine.html#Hi_Disp_DispEngine_MouseMove_System_Int32_System_Int32_
|
||||
@@ -21736,6 +21749,142 @@ references:
|
||||
commentId: F:Hi.Disp.Flag.DispCoverUtil.BarPointSize
|
||||
fullName: Hi.Disp.Flag.DispCoverUtil.BarPointSize
|
||||
nameWithType: DispCoverUtil.BarPointSize
|
||||
- uid: Hi.Disp.FramePins
|
||||
name: FramePins
|
||||
href: api/Hi.Disp.FramePins.html
|
||||
commentId: T:Hi.Disp.FramePins
|
||||
fullName: Hi.Disp.FramePins
|
||||
nameWithType: FramePins
|
||||
- uid: Hi.Disp.FramePins.ByName
|
||||
name: ByName
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_ByName
|
||||
commentId: P:Hi.Disp.FramePins.ByName
|
||||
fullName: Hi.Disp.FramePins.ByName
|
||||
nameWithType: FramePins.ByName
|
||||
- uid: Hi.Disp.FramePins.ByName*
|
||||
name: ByName
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_ByName_
|
||||
commentId: Overload:Hi.Disp.FramePins.ByName
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.FramePins.ByName
|
||||
nameWithType: FramePins.ByName
|
||||
- uid: Hi.Disp.FramePins.Empty
|
||||
name: Empty
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_Empty
|
||||
commentId: P:Hi.Disp.FramePins.Empty
|
||||
fullName: Hi.Disp.FramePins.Empty
|
||||
nameWithType: FramePins.Empty
|
||||
- uid: Hi.Disp.FramePins.Empty*
|
||||
name: Empty
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_Empty_
|
||||
commentId: Overload:Hi.Disp.FramePins.Empty
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.FramePins.Empty
|
||||
nameWithType: FramePins.Empty
|
||||
- uid: Hi.Disp.FramePins.FrameSerial
|
||||
name: FrameSerial
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_FrameSerial
|
||||
commentId: P:Hi.Disp.FramePins.FrameSerial
|
||||
fullName: Hi.Disp.FramePins.FrameSerial
|
||||
nameWithType: FramePins.FrameSerial
|
||||
- uid: Hi.Disp.FramePins.FrameSerial*
|
||||
name: FrameSerial
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_FrameSerial_
|
||||
commentId: Overload:Hi.Disp.FramePins.FrameSerial
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.FramePins.FrameSerial
|
||||
nameWithType: FramePins.FrameSerial
|
||||
- uid: Hi.Disp.FramePins.Height
|
||||
name: Height
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_Height
|
||||
commentId: P:Hi.Disp.FramePins.Height
|
||||
fullName: Hi.Disp.FramePins.Height
|
||||
nameWithType: FramePins.Height
|
||||
- uid: Hi.Disp.FramePins.Height*
|
||||
name: Height
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_Height_
|
||||
commentId: Overload:Hi.Disp.FramePins.Height
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.FramePins.Height
|
||||
nameWithType: FramePins.Height
|
||||
- uid: Hi.Disp.FramePins.Pins
|
||||
name: Pins
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_Pins
|
||||
commentId: P:Hi.Disp.FramePins.Pins
|
||||
fullName: Hi.Disp.FramePins.Pins
|
||||
nameWithType: FramePins.Pins
|
||||
- uid: Hi.Disp.FramePins.Pins*
|
||||
name: Pins
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_Pins_
|
||||
commentId: Overload:Hi.Disp.FramePins.Pins
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.FramePins.Pins
|
||||
nameWithType: FramePins.Pins
|
||||
- uid: Hi.Disp.FramePins.PinsChanged
|
||||
name: PinsChanged
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_PinsChanged
|
||||
commentId: P:Hi.Disp.FramePins.PinsChanged
|
||||
fullName: Hi.Disp.FramePins.PinsChanged
|
||||
nameWithType: FramePins.PinsChanged
|
||||
- uid: Hi.Disp.FramePins.PinsChanged*
|
||||
name: PinsChanged
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_PinsChanged_
|
||||
commentId: Overload:Hi.Disp.FramePins.PinsChanged
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.FramePins.PinsChanged
|
||||
nameWithType: FramePins.PinsChanged
|
||||
- uid: Hi.Disp.FramePins.PixelsChanged
|
||||
name: PixelsChanged
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_PixelsChanged
|
||||
commentId: P:Hi.Disp.FramePins.PixelsChanged
|
||||
fullName: Hi.Disp.FramePins.PixelsChanged
|
||||
nameWithType: FramePins.PixelsChanged
|
||||
- uid: Hi.Disp.FramePins.PixelsChanged*
|
||||
name: PixelsChanged
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_PixelsChanged_
|
||||
commentId: Overload:Hi.Disp.FramePins.PixelsChanged
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.FramePins.PixelsChanged
|
||||
nameWithType: FramePins.PixelsChanged
|
||||
- uid: Hi.Disp.FramePins.ProjDepth
|
||||
name: ProjDepth
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_ProjDepth
|
||||
commentId: P:Hi.Disp.FramePins.ProjDepth
|
||||
fullName: Hi.Disp.FramePins.ProjDepth
|
||||
nameWithType: FramePins.ProjDepth
|
||||
- uid: Hi.Disp.FramePins.ProjDepth*
|
||||
name: ProjDepth
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_ProjDepth_
|
||||
commentId: Overload:Hi.Disp.FramePins.ProjDepth
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.FramePins.ProjDepth
|
||||
nameWithType: FramePins.ProjDepth
|
||||
- uid: Hi.Disp.FramePins.Visible
|
||||
name: Visible
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_Visible
|
||||
commentId: P:Hi.Disp.FramePins.Visible
|
||||
fullName: Hi.Disp.FramePins.Visible
|
||||
nameWithType: FramePins.Visible
|
||||
- uid: Hi.Disp.FramePins.Visible*
|
||||
name: Visible
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_Visible_
|
||||
commentId: Overload:Hi.Disp.FramePins.Visible
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.FramePins.Visible
|
||||
nameWithType: FramePins.Visible
|
||||
- uid: Hi.Disp.FramePins.Width
|
||||
name: Width
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_Width
|
||||
commentId: P:Hi.Disp.FramePins.Width
|
||||
fullName: Hi.Disp.FramePins.Width
|
||||
nameWithType: FramePins.Width
|
||||
- uid: Hi.Disp.FramePins.Width*
|
||||
name: Width
|
||||
href: api/Hi.Disp.FramePins.html#Hi_Disp_FramePins_Width_
|
||||
commentId: Overload:Hi.Disp.FramePins.Width
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.FramePins.Width
|
||||
nameWithType: FramePins.Width
|
||||
- uid: Hi.Disp.FuncDisplayee
|
||||
name: FuncDisplayee
|
||||
href: api/Hi.Disp.FuncDisplayee.html
|
||||
@@ -48797,6 +48946,328 @@ references:
|
||||
commentId: F:Hi.Disp.Pickable.mark
|
||||
fullName: Hi.Disp.Pickable.mark
|
||||
nameWithType: Pickable.mark
|
||||
- uid: Hi.Disp.PinDrawing
|
||||
name: PinDrawing
|
||||
href: api/Hi.Disp.PinDrawing.html
|
||||
commentId: T:Hi.Disp.PinDrawing
|
||||
fullName: Hi.Disp.PinDrawing
|
||||
nameWithType: PinDrawing
|
||||
- uid: Hi.Disp.PinDrawing.#ctor(System.String)
|
||||
name: PinDrawing(string)
|
||||
href: api/Hi.Disp.PinDrawing.html#Hi_Disp_PinDrawing__ctor_System_String_
|
||||
commentId: M:Hi.Disp.PinDrawing.#ctor(System.String)
|
||||
name.vb: New(String)
|
||||
fullName: Hi.Disp.PinDrawing.PinDrawing(string)
|
||||
fullName.vb: Hi.Disp.PinDrawing.New(String)
|
||||
nameWithType: PinDrawing.PinDrawing(string)
|
||||
nameWithType.vb: PinDrawing.New(String)
|
||||
- uid: Hi.Disp.PinDrawing.#ctor*
|
||||
name: PinDrawing
|
||||
href: api/Hi.Disp.PinDrawing.html#Hi_Disp_PinDrawing__ctor_
|
||||
commentId: Overload:Hi.Disp.PinDrawing.#ctor
|
||||
isSpec: "True"
|
||||
name.vb: New
|
||||
fullName: Hi.Disp.PinDrawing.PinDrawing
|
||||
fullName.vb: Hi.Disp.PinDrawing.New
|
||||
nameWithType: PinDrawing.PinDrawing
|
||||
nameWithType.vb: PinDrawing.New
|
||||
- uid: Hi.Disp.PinDrawing.Display(Hi.Disp.Bind)
|
||||
name: Display(Bind)
|
||||
href: api/Hi.Disp.PinDrawing.html#Hi_Disp_PinDrawing_Display_Hi_Disp_Bind_
|
||||
commentId: M:Hi.Disp.PinDrawing.Display(Hi.Disp.Bind)
|
||||
fullName: Hi.Disp.PinDrawing.Display(Hi.Disp.Bind)
|
||||
nameWithType: PinDrawing.Display(Bind)
|
||||
- uid: Hi.Disp.PinDrawing.Display(Hi.Disp.Bind,Hi.Geom.Vec3d)
|
||||
name: Display(Bind, Vec3d)
|
||||
href: api/Hi.Disp.PinDrawing.html#Hi_Disp_PinDrawing_Display_Hi_Disp_Bind_Hi_Geom_Vec3d_
|
||||
commentId: M:Hi.Disp.PinDrawing.Display(Hi.Disp.Bind,Hi.Geom.Vec3d)
|
||||
fullName: Hi.Disp.PinDrawing.Display(Hi.Disp.Bind, Hi.Geom.Vec3d)
|
||||
nameWithType: PinDrawing.Display(Bind, Vec3d)
|
||||
- uid: Hi.Disp.PinDrawing.Display*
|
||||
name: Display
|
||||
href: api/Hi.Disp.PinDrawing.html#Hi_Disp_PinDrawing_Display_
|
||||
commentId: Overload:Hi.Disp.PinDrawing.Display
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.PinDrawing.Display
|
||||
nameWithType: PinDrawing.Display
|
||||
- uid: Hi.Disp.PinDrawing.Dispose
|
||||
name: Dispose()
|
||||
href: api/Hi.Disp.PinDrawing.html#Hi_Disp_PinDrawing_Dispose
|
||||
commentId: M:Hi.Disp.PinDrawing.Dispose
|
||||
fullName: Hi.Disp.PinDrawing.Dispose()
|
||||
nameWithType: PinDrawing.Dispose()
|
||||
- uid: Hi.Disp.PinDrawing.Dispose*
|
||||
name: Dispose
|
||||
href: api/Hi.Disp.PinDrawing.html#Hi_Disp_PinDrawing_Dispose_
|
||||
commentId: Overload:Hi.Disp.PinDrawing.Dispose
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.PinDrawing.Dispose
|
||||
nameWithType: PinDrawing.Dispose
|
||||
- uid: Hi.Disp.PinDrawing.ExpandToBox3d(Hi.Geom.Box3d)
|
||||
name: ExpandToBox3d(Box3d)
|
||||
href: api/Hi.Disp.PinDrawing.html#Hi_Disp_PinDrawing_ExpandToBox3d_Hi_Geom_Box3d_
|
||||
commentId: M:Hi.Disp.PinDrawing.ExpandToBox3d(Hi.Geom.Box3d)
|
||||
fullName: Hi.Disp.PinDrawing.ExpandToBox3d(Hi.Geom.Box3d)
|
||||
nameWithType: PinDrawing.ExpandToBox3d(Box3d)
|
||||
- uid: Hi.Disp.PinDrawing.ExpandToBox3d*
|
||||
name: ExpandToBox3d
|
||||
href: api/Hi.Disp.PinDrawing.html#Hi_Disp_PinDrawing_ExpandToBox3d_
|
||||
commentId: Overload:Hi.Disp.PinDrawing.ExpandToBox3d
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.PinDrawing.ExpandToBox3d
|
||||
nameWithType: PinDrawing.ExpandToBox3d
|
||||
- uid: Hi.Disp.PinDrawing.Finalize
|
||||
name: ~PinDrawing()
|
||||
href: api/Hi.Disp.PinDrawing.html#Hi_Disp_PinDrawing_Finalize
|
||||
commentId: M:Hi.Disp.PinDrawing.Finalize
|
||||
name.vb: ''
|
||||
fullName: Hi.Disp.PinDrawing.~PinDrawing()
|
||||
fullName.vb: ''
|
||||
nameWithType: PinDrawing.~PinDrawing()
|
||||
nameWithType.vb: ''
|
||||
- uid: Hi.Disp.PinDrawing.Finalize*
|
||||
name: ~PinDrawing
|
||||
href: api/Hi.Disp.PinDrawing.html#Hi_Disp_PinDrawing_Finalize_
|
||||
commentId: Overload:Hi.Disp.PinDrawing.Finalize
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.PinDrawing.~PinDrawing
|
||||
nameWithType: PinDrawing.~PinDrawing
|
||||
- uid: Hi.Disp.PinDrawing.IsAlwaysOnTop
|
||||
name: IsAlwaysOnTop
|
||||
href: api/Hi.Disp.PinDrawing.html#Hi_Disp_PinDrawing_IsAlwaysOnTop
|
||||
commentId: P:Hi.Disp.PinDrawing.IsAlwaysOnTop
|
||||
fullName: Hi.Disp.PinDrawing.IsAlwaysOnTop
|
||||
nameWithType: PinDrawing.IsAlwaysOnTop
|
||||
- uid: Hi.Disp.PinDrawing.IsAlwaysOnTop*
|
||||
name: IsAlwaysOnTop
|
||||
href: api/Hi.Disp.PinDrawing.html#Hi_Disp_PinDrawing_IsAlwaysOnTop_
|
||||
commentId: Overload:Hi.Disp.PinDrawing.IsAlwaysOnTop
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.PinDrawing.IsAlwaysOnTop
|
||||
nameWithType: PinDrawing.IsAlwaysOnTop
|
||||
- uid: Hi.Disp.PinDrawing.Name
|
||||
name: Name
|
||||
href: api/Hi.Disp.PinDrawing.html#Hi_Disp_PinDrawing_Name
|
||||
commentId: P:Hi.Disp.PinDrawing.Name
|
||||
fullName: Hi.Disp.PinDrawing.Name
|
||||
nameWithType: PinDrawing.Name
|
||||
- uid: Hi.Disp.PinDrawing.Name*
|
||||
name: Name
|
||||
href: api/Hi.Disp.PinDrawing.html#Hi_Disp_PinDrawing_Name_
|
||||
commentId: Overload:Hi.Disp.PinDrawing.Name
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.PinDrawing.Name
|
||||
nameWithType: PinDrawing.Name
|
||||
- uid: Hi.Disp.PinDrawing.ProbeBiasPx
|
||||
name: ProbeBiasPx
|
||||
href: api/Hi.Disp.PinDrawing.html#Hi_Disp_PinDrawing_ProbeBiasPx
|
||||
commentId: P:Hi.Disp.PinDrawing.ProbeBiasPx
|
||||
fullName: Hi.Disp.PinDrawing.ProbeBiasPx
|
||||
nameWithType: PinDrawing.ProbeBiasPx
|
||||
- uid: Hi.Disp.PinDrawing.ProbeBiasPx*
|
||||
name: ProbeBiasPx
|
||||
href: api/Hi.Disp.PinDrawing.html#Hi_Disp_PinDrawing_ProbeBiasPx_
|
||||
commentId: Overload:Hi.Disp.PinDrawing.ProbeBiasPx
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.PinDrawing.ProbeBiasPx
|
||||
nameWithType: PinDrawing.ProbeBiasPx
|
||||
- uid: Hi.Disp.PinFlags
|
||||
name: PinFlags
|
||||
href: api/Hi.Disp.PinFlags.html
|
||||
commentId: T:Hi.Disp.PinFlags
|
||||
fullName: Hi.Disp.PinFlags
|
||||
nameWithType: PinFlags
|
||||
- uid: Hi.Disp.PinFlags.AlwaysOnTop
|
||||
name: AlwaysOnTop
|
||||
href: api/Hi.Disp.PinFlags.html#Hi_Disp_PinFlags_AlwaysOnTop
|
||||
commentId: F:Hi.Disp.PinFlags.AlwaysOnTop
|
||||
fullName: Hi.Disp.PinFlags.AlwaysOnTop
|
||||
nameWithType: PinFlags.AlwaysOnTop
|
||||
- uid: Hi.Disp.PinFlags.DuplicateNameDropped
|
||||
name: DuplicateNameDropped
|
||||
href: api/Hi.Disp.PinFlags.html#Hi_Disp_PinFlags_DuplicateNameDropped
|
||||
commentId: F:Hi.Disp.PinFlags.DuplicateNameDropped
|
||||
fullName: Hi.Disp.PinFlags.DuplicateNameDropped
|
||||
nameWithType: PinFlags.DuplicateNameDropped
|
||||
- uid: Hi.Disp.PinFlags.None
|
||||
name: None
|
||||
href: api/Hi.Disp.PinFlags.html#Hi_Disp_PinFlags_None
|
||||
commentId: F:Hi.Disp.PinFlags.None
|
||||
fullName: Hi.Disp.PinFlags.None
|
||||
nameWithType: PinFlags.None
|
||||
- uid: Hi.Disp.PinFlags.Occluded
|
||||
name: Occluded
|
||||
href: api/Hi.Disp.PinFlags.html#Hi_Disp_PinFlags_Occluded
|
||||
commentId: F:Hi.Disp.PinFlags.Occluded
|
||||
fullName: Hi.Disp.PinFlags.Occluded
|
||||
nameWithType: PinFlags.Occluded
|
||||
- uid: Hi.Disp.PinFlags.OcclusionTested
|
||||
name: OcclusionTested
|
||||
href: api/Hi.Disp.PinFlags.html#Hi_Disp_PinFlags_OcclusionTested
|
||||
commentId: F:Hi.Disp.PinFlags.OcclusionTested
|
||||
fullName: Hi.Disp.PinFlags.OcclusionTested
|
||||
nameWithType: PinFlags.OcclusionTested
|
||||
- uid: Hi.Disp.PinFlags.OnCanvas
|
||||
name: OnCanvas
|
||||
href: api/Hi.Disp.PinFlags.html#Hi_Disp_PinFlags_OnCanvas
|
||||
commentId: F:Hi.Disp.PinFlags.OnCanvas
|
||||
fullName: Hi.Disp.PinFlags.OnCanvas
|
||||
nameWithType: PinFlags.OnCanvas
|
||||
- uid: Hi.Disp.PinRecord
|
||||
name: PinRecord
|
||||
href: api/Hi.Disp.PinRecord.html
|
||||
commentId: T:Hi.Disp.PinRecord
|
||||
fullName: Hi.Disp.PinRecord
|
||||
nameWithType: PinRecord
|
||||
- uid: Hi.Disp.PinRecord.#ctor(System.String,System.Double,System.Double,System.Double,System.Int32,Hi.Disp.PinFlags)
|
||||
name: PinRecord(string, double, double, double, int, PinFlags)
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord__ctor_System_String_System_Double_System_Double_System_Double_System_Int32_Hi_Disp_PinFlags_
|
||||
commentId: M:Hi.Disp.PinRecord.#ctor(System.String,System.Double,System.Double,System.Double,System.Int32,Hi.Disp.PinFlags)
|
||||
name.vb: New(String, Double, Double, Double, Integer, PinFlags)
|
||||
fullName: Hi.Disp.PinRecord.PinRecord(string, double, double, double, int, Hi.Disp.PinFlags)
|
||||
fullName.vb: Hi.Disp.PinRecord.New(String, Double, Double, Double, Integer, Hi.Disp.PinFlags)
|
||||
nameWithType: PinRecord.PinRecord(string, double, double, double, int, PinFlags)
|
||||
nameWithType.vb: PinRecord.New(String, Double, Double, Double, Integer, PinFlags)
|
||||
- uid: Hi.Disp.PinRecord.#ctor*
|
||||
name: PinRecord
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord__ctor_
|
||||
commentId: Overload:Hi.Disp.PinRecord.#ctor
|
||||
isSpec: "True"
|
||||
name.vb: New
|
||||
fullName: Hi.Disp.PinRecord.PinRecord
|
||||
fullName.vb: Hi.Disp.PinRecord.New
|
||||
nameWithType: PinRecord.PinRecord
|
||||
nameWithType.vb: PinRecord.New
|
||||
- uid: Hi.Disp.PinRecord.AlwaysOnTop
|
||||
name: AlwaysOnTop
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_AlwaysOnTop
|
||||
commentId: P:Hi.Disp.PinRecord.AlwaysOnTop
|
||||
fullName: Hi.Disp.PinRecord.AlwaysOnTop
|
||||
nameWithType: PinRecord.AlwaysOnTop
|
||||
- uid: Hi.Disp.PinRecord.AlwaysOnTop*
|
||||
name: AlwaysOnTop
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_AlwaysOnTop_
|
||||
commentId: Overload:Hi.Disp.PinRecord.AlwaysOnTop
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.PinRecord.AlwaysOnTop
|
||||
nameWithType: PinRecord.AlwaysOnTop
|
||||
- uid: Hi.Disp.PinRecord.Depth
|
||||
name: Depth
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_Depth
|
||||
commentId: P:Hi.Disp.PinRecord.Depth
|
||||
fullName: Hi.Disp.PinRecord.Depth
|
||||
nameWithType: PinRecord.Depth
|
||||
- uid: Hi.Disp.PinRecord.Depth*
|
||||
name: Depth
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_Depth_
|
||||
commentId: Overload:Hi.Disp.PinRecord.Depth
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.PinRecord.Depth
|
||||
nameWithType: PinRecord.Depth
|
||||
- uid: Hi.Disp.PinRecord.Flags
|
||||
name: Flags
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_Flags
|
||||
commentId: P:Hi.Disp.PinRecord.Flags
|
||||
fullName: Hi.Disp.PinRecord.Flags
|
||||
nameWithType: PinRecord.Flags
|
||||
- uid: Hi.Disp.PinRecord.Flags*
|
||||
name: Flags
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_Flags_
|
||||
commentId: Overload:Hi.Disp.PinRecord.Flags
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.PinRecord.Flags
|
||||
nameWithType: PinRecord.Flags
|
||||
- uid: Hi.Disp.PinRecord.IsVisible
|
||||
name: IsVisible
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_IsVisible
|
||||
commentId: P:Hi.Disp.PinRecord.IsVisible
|
||||
fullName: Hi.Disp.PinRecord.IsVisible
|
||||
nameWithType: PinRecord.IsVisible
|
||||
- uid: Hi.Disp.PinRecord.IsVisible*
|
||||
name: IsVisible
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_IsVisible_
|
||||
commentId: Overload:Hi.Disp.PinRecord.IsVisible
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.PinRecord.IsVisible
|
||||
nameWithType: PinRecord.IsVisible
|
||||
- uid: Hi.Disp.PinRecord.Name
|
||||
name: Name
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_Name
|
||||
commentId: P:Hi.Disp.PinRecord.Name
|
||||
fullName: Hi.Disp.PinRecord.Name
|
||||
nameWithType: PinRecord.Name
|
||||
- uid: Hi.Disp.PinRecord.Name*
|
||||
name: Name
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_Name_
|
||||
commentId: Overload:Hi.Disp.PinRecord.Name
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.PinRecord.Name
|
||||
nameWithType: PinRecord.Name
|
||||
- uid: Hi.Disp.PinRecord.Occluded
|
||||
name: Occluded
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_Occluded
|
||||
commentId: P:Hi.Disp.PinRecord.Occluded
|
||||
fullName: Hi.Disp.PinRecord.Occluded
|
||||
nameWithType: PinRecord.Occluded
|
||||
- uid: Hi.Disp.PinRecord.Occluded*
|
||||
name: Occluded
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_Occluded_
|
||||
commentId: Overload:Hi.Disp.PinRecord.Occluded
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.PinRecord.Occluded
|
||||
nameWithType: PinRecord.Occluded
|
||||
- uid: Hi.Disp.PinRecord.OnCanvas
|
||||
name: OnCanvas
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_OnCanvas
|
||||
commentId: P:Hi.Disp.PinRecord.OnCanvas
|
||||
fullName: Hi.Disp.PinRecord.OnCanvas
|
||||
nameWithType: PinRecord.OnCanvas
|
||||
- uid: Hi.Disp.PinRecord.OnCanvas*
|
||||
name: OnCanvas
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_OnCanvas_
|
||||
commentId: Overload:Hi.Disp.PinRecord.OnCanvas
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.PinRecord.OnCanvas
|
||||
nameWithType: PinRecord.OnCanvas
|
||||
- uid: Hi.Disp.PinRecord.PickID
|
||||
name: PickID
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_PickID
|
||||
commentId: P:Hi.Disp.PinRecord.PickID
|
||||
fullName: Hi.Disp.PinRecord.PickID
|
||||
nameWithType: PinRecord.PickID
|
||||
- uid: Hi.Disp.PinRecord.PickID*
|
||||
name: PickID
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_PickID_
|
||||
commentId: Overload:Hi.Disp.PinRecord.PickID
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.PinRecord.PickID
|
||||
nameWithType: PinRecord.PickID
|
||||
- uid: Hi.Disp.PinRecord.X
|
||||
name: X
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_X
|
||||
commentId: P:Hi.Disp.PinRecord.X
|
||||
fullName: Hi.Disp.PinRecord.X
|
||||
nameWithType: PinRecord.X
|
||||
- uid: Hi.Disp.PinRecord.X*
|
||||
name: X
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_X_
|
||||
commentId: Overload:Hi.Disp.PinRecord.X
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.PinRecord.X
|
||||
nameWithType: PinRecord.X
|
||||
- uid: Hi.Disp.PinRecord.Y
|
||||
name: Y
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_Y
|
||||
commentId: P:Hi.Disp.PinRecord.Y
|
||||
fullName: Hi.Disp.PinRecord.Y
|
||||
nameWithType: PinRecord.Y
|
||||
- uid: Hi.Disp.PinRecord.Y*
|
||||
name: Y
|
||||
href: api/Hi.Disp.PinRecord.html#Hi_Disp_PinRecord_Y_
|
||||
commentId: Overload:Hi.Disp.PinRecord.Y
|
||||
isSpec: "True"
|
||||
fullName: Hi.Disp.PinRecord.Y
|
||||
nameWithType: PinRecord.Y
|
||||
- uid: Hi.Disp.PopModelMat
|
||||
name: PopModelMat
|
||||
href: api/Hi.Disp.PopModelMat.html
|
||||
@@ -130036,6 +130507,12 @@ references:
|
||||
isSpec: "True"
|
||||
fullName: Hi.NcParsers.Keywords.RadiusCompensation.Term
|
||||
nameWithType: RadiusCompensation.Term
|
||||
- uid: Hi.NcParsers.Keywords.RotaryWords
|
||||
name: RotaryWords
|
||||
href: api/Hi.NcParsers.Keywords.RotaryWords.html
|
||||
commentId: T:Hi.NcParsers.Keywords.RotaryWords
|
||||
fullName: Hi.NcParsers.Keywords.RotaryWords
|
||||
nameWithType: RotaryWords
|
||||
- uid: Hi.NcParsers.Keywords.Siemens
|
||||
name: Hi.NcParsers.Keywords.Siemens
|
||||
href: api/Hi.NcParsers.Keywords.Siemens.html
|
||||
@@ -137096,6 +137573,22 @@ references:
|
||||
isSpec: "True"
|
||||
fullName: Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.ComposePivotEntry
|
||||
nameWithType: PivotTransformUtil.ComposePivotEntry
|
||||
- uid: Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.PinTiltInMachineSpaceAcrossRotaryWords(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},System.Text.Json.Nodes.JsonObject,System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency})
|
||||
name: PinTiltInMachineSpaceAcrossRotaryWords(LazyLinkedListNode<SyntaxPiece>, JsonObject, List<INcDependency>)
|
||||
href: api/Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.html#Hi_NcParsers_LogicSyntaxs_PivotTransformUtil_PinTiltInMachineSpaceAcrossRotaryWords_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_Text_Json_Nodes_JsonObject_System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__
|
||||
commentId: M:Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.PinTiltInMachineSpaceAcrossRotaryWords(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},System.Text.Json.Nodes.JsonObject,System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency})
|
||||
name.vb: PinTiltInMachineSpaceAcrossRotaryWords(LazyLinkedListNode(Of SyntaxPiece), JsonObject, List(Of INcDependency))
|
||||
fullName: Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.PinTiltInMachineSpaceAcrossRotaryWords(Hi.Common.Collections.LazyLinkedListNode<Hi.NcParsers.Syntaxs.SyntaxPiece>, System.Text.Json.Nodes.JsonObject, System.Collections.Generic.List<Hi.NcParsers.Dependencys.INcDependency>)
|
||||
fullName.vb: Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.PinTiltInMachineSpaceAcrossRotaryWords(Hi.Common.Collections.LazyLinkedListNode(Of Hi.NcParsers.Syntaxs.SyntaxPiece), System.Text.Json.Nodes.JsonObject, System.Collections.Generic.List(Of Hi.NcParsers.Dependencys.INcDependency))
|
||||
nameWithType: PivotTransformUtil.PinTiltInMachineSpaceAcrossRotaryWords(LazyLinkedListNode<SyntaxPiece>, JsonObject, List<INcDependency>)
|
||||
nameWithType.vb: PivotTransformUtil.PinTiltInMachineSpaceAcrossRotaryWords(LazyLinkedListNode(Of SyntaxPiece), JsonObject, List(Of INcDependency))
|
||||
- uid: Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.PinTiltInMachineSpaceAcrossRotaryWords*
|
||||
name: PinTiltInMachineSpaceAcrossRotaryWords
|
||||
href: api/Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.html#Hi_NcParsers_LogicSyntaxs_PivotTransformUtil_PinTiltInMachineSpaceAcrossRotaryWords_
|
||||
commentId: Overload:Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.PinTiltInMachineSpaceAcrossRotaryWords
|
||||
isSpec: "True"
|
||||
fullName: Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.PinTiltInMachineSpaceAcrossRotaryWords
|
||||
nameWithType: PivotTransformUtil.PinTiltInMachineSpaceAcrossRotaryWords
|
||||
- uid: Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.ResolveEndpointAbc(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},Hi.NcParsers.Dependencys.IMachineAxisConfig)
|
||||
name: ResolveEndpointAbc(LazyLinkedListNode<SyntaxPiece>, IMachineAxisConfig)
|
||||
href: api/Hi.NcParsers.LogicSyntaxs.PivotTransformUtil.html#Hi_NcParsers_LogicSyntaxs_PivotTransformUtil_ResolveEndpointAbc_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__Hi_NcParsers_Dependencys_IMachineAxisConfig_
|
||||
@@ -152465,6 +152958,22 @@ references:
|
||||
isSpec: "True"
|
||||
fullName: Hi.NcParsers.Syntaxs.TransformationUtil.HasDynamicEntry
|
||||
nameWithType: TransformationUtil.HasDynamicEntry
|
||||
- uid: Hi.NcParsers.Syntaxs.TransformationUtil.HasTransformEntry(System.Text.Json.Nodes.JsonObject,System.String)
|
||||
name: HasTransformEntry(JsonObject, string)
|
||||
href: api/Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_HasTransformEntry_System_Text_Json_Nodes_JsonObject_System_String_
|
||||
commentId: M:Hi.NcParsers.Syntaxs.TransformationUtil.HasTransformEntry(System.Text.Json.Nodes.JsonObject,System.String)
|
||||
name.vb: HasTransformEntry(JsonObject, String)
|
||||
fullName: Hi.NcParsers.Syntaxs.TransformationUtil.HasTransformEntry(System.Text.Json.Nodes.JsonObject, string)
|
||||
fullName.vb: Hi.NcParsers.Syntaxs.TransformationUtil.HasTransformEntry(System.Text.Json.Nodes.JsonObject, String)
|
||||
nameWithType: TransformationUtil.HasTransformEntry(JsonObject, string)
|
||||
nameWithType.vb: TransformationUtil.HasTransformEntry(JsonObject, String)
|
||||
- uid: Hi.NcParsers.Syntaxs.TransformationUtil.HasTransformEntry*
|
||||
name: HasTransformEntry
|
||||
href: api/Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_HasTransformEntry_
|
||||
commentId: Overload:Hi.NcParsers.Syntaxs.TransformationUtil.HasTransformEntry
|
||||
isSpec: "True"
|
||||
fullName: Hi.NcParsers.Syntaxs.TransformationUtil.HasTransformEntry
|
||||
nameWithType: TransformationUtil.HasTransformEntry
|
||||
- uid: Hi.NcParsers.Syntaxs.TransformationUtil.KindDynamic
|
||||
name: KindDynamic
|
||||
href: api/Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_KindDynamic
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user