diff --git a/App/Hi.Wpf.dll b/App/Hi.Wpf.dll index 27bbc4d..25b94c7 100644 Binary files a/App/Hi.Wpf.dll and b/App/Hi.Wpf.dll differ diff --git a/App/HiCbtr.dll b/App/HiCbtr.dll index cc7e479..076b5b9 100644 Binary files a/App/HiCbtr.dll and b/App/HiCbtr.dll differ diff --git a/App/HiDisp.dll b/App/HiDisp.dll index af2657f..246755f 100644 Binary files a/App/HiDisp.dll and b/App/HiDisp.dll differ diff --git a/App/HiGeom.dll b/App/HiGeom.dll index 9a2073a..eda7923 100644 Binary files a/App/HiGeom.dll and b/App/HiGeom.dll differ diff --git a/App/HiLicense.dll b/App/HiLicense.dll index 9484c65..bdbdd99 100644 Binary files a/App/HiLicense.dll and b/App/HiLicense.dll differ diff --git a/App/HiMech.dll b/App/HiMech.dll index 2175ada..5912fd6 100644 Binary files a/App/HiMech.dll and b/App/HiMech.dll differ diff --git a/App/HiNC-2025-win-desktop.deps.json b/App/HiNC-2025-win-desktop.deps.json index 2430dda..48f0126 100644 --- a/App/HiNC-2025-win-desktop.deps.json +++ b/App/HiNC-2025-win-desktop.deps.json @@ -11,8 +11,8 @@ "dependencies": { "AvalonEdit": "6.3.0.90", "FontAwesome.Sharp": "6.3.0", - "Hi.Wpf": "3.1.72", - "HiNc": "3.1.93", + "Hi.Wpf": "3.1.73", + "HiNc": "3.1.94", "runtimepack.Microsoft.NETCore.App.Runtime.win-x64": "9.0.11", "runtimepack.Microsoft.WindowsDesktop.App.Runtime.win-x64": "9.0.11", "runtimepack.Microsoft.AspNetCore.App.Runtime.win-x64": "9.0.11" @@ -1600,39 +1600,39 @@ } } }, - "Hi.Wpf/3.1.72": { + "Hi.Wpf/3.1.73": { "dependencies": { - "HiDisp": "3.1.77" + "HiDisp": "3.1.78" }, "runtime": { "lib/net9.0-windows7.0/Hi.Wpf.dll": { - "assemblyVersion": "3.1.72.0", - "fileVersion": "3.1.72.0" + "assemblyVersion": "3.1.73.0", + "fileVersion": "3.1.73.0" } } }, - "HiCbtr/3.1.77": { + "HiCbtr/3.1.78": { "dependencies": { - "HiDisp": "3.1.77" + "HiDisp": "3.1.78" }, "runtime": { "lib/net9.0/HiCbtr.dll": { - "assemblyVersion": "3.1.77.0", - "fileVersion": "3.1.77.0" + "assemblyVersion": "3.1.78.0", + "fileVersion": "3.1.78.0" } } }, - "HiDisp/3.1.77": { + "HiDisp/3.1.78": { "dependencies": { - "HiGeom": "3.1.72", + "HiGeom": "3.1.73", "System.Configuration.ConfigurationManager": "10.0.1", "System.Drawing.Common": "10.0.1", "System.Resources.Extensions": "10.0.1" }, "runtime": { "lib/net9.0/HiDisp.dll": { - "assemblyVersion": "3.1.77.0", - "fileVersion": "3.1.77.0" + "assemblyVersion": "3.1.78.0", + "fileVersion": "3.1.78.0" } }, "native": { @@ -1647,7 +1647,7 @@ } } }, - "HiGeom/3.1.72": { + "HiGeom/3.1.73": { "dependencies": { "Google.Protobuf": "3.28.3", "Grpc.AspNetCore": "2.66.0", @@ -1658,8 +1658,8 @@ }, "runtime": { "lib/net9.0/HiGeom.dll": { - "assemblyVersion": "3.1.72.0", - "fileVersion": "3.1.72.0" + "assemblyVersion": "3.1.73.0", + "fileVersion": "3.1.73.0" } }, "resources": { @@ -1671,27 +1671,27 @@ } } }, - "HiLicense/3.1.72": { + "HiLicense/3.1.73": { "dependencies": { - "HiGeom": "3.1.72" + "HiGeom": "3.1.73" }, "runtime": { "lib/net9.0/HiLicense.dll": { - "assemblyVersion": "3.1.72.0", - "fileVersion": "3.1.72.0" + "assemblyVersion": "3.1.73.0", + "fileVersion": "3.1.73.0" } } }, - "HiMech/3.1.84": { + "HiMech/3.1.85": { "dependencies": { "CommandLineParser": "2.9.1", - "HiCbtr": "3.1.77", + "HiCbtr": "3.1.78", "Microsoft.CodeAnalysis.CSharp.Scripting": "5.0.0" }, "runtime": { "lib/net9.0/HiMech.dll": { - "assemblyVersion": "3.1.84.0", - "fileVersion": "3.1.84.0" + "assemblyVersion": "3.1.85.0", + "fileVersion": "3.1.85.0" } }, "resources": { @@ -1706,20 +1706,20 @@ } } }, - "HiNc/3.1.93": { + "HiNc/3.1.94": { "dependencies": { "Google.Protobuf": "3.28.3", "Grpc.AspNetCore": "2.66.0", "Grpc.Net.Client": "2.66.0", - "HiLicense": "3.1.72", - "HiMech": "3.1.84", - "HiUniNc": "3.1.81", + "HiLicense": "3.1.73", + "HiMech": "3.1.85", + "HiUniNc": "3.1.82", "System.IO.Pipelines": "10.0.1" }, "runtime": { "lib/net9.0/HiNc.dll": { - "assemblyVersion": "3.1.93.0", - "fileVersion": "3.1.93.0" + "assemblyVersion": "3.1.94.0", + "fileVersion": "3.1.94.0" } }, "resources": { @@ -1731,14 +1731,14 @@ } } }, - "HiUniNc/3.1.81": { + "HiUniNc/3.1.82": { "dependencies": { - "HiMech": "3.1.84" + "HiMech": "3.1.85" }, "runtime": { "lib/net9.0/HiUniNc.dll": { - "assemblyVersion": "3.1.81.0", - "fileVersion": "3.1.81.0" + "assemblyVersion": "3.1.82.0", + "fileVersion": "3.1.82.0" } } }, @@ -2219,61 +2219,61 @@ "path": "grpc.net.common/2.66.0", "hashPath": "grpc.net.common.2.66.0.nupkg.sha512" }, - "Hi.Wpf/3.1.72": { + "Hi.Wpf/3.1.73": { "type": "package", "serviceable": true, - "sha512": "sha512-NQaubHBgRvAhZa8iZH8x5cA0zvDcdQ8fCJIeN1zayQucjLEiXRygoY/xnYXyZVkCyUfO23JMnUcyvsjRjWK4WA==", - "path": "hi.wpf/3.1.72", - "hashPath": "hi.wpf.3.1.72.nupkg.sha512" + "sha512": "sha512-X/JWRuM/0lhD3BPlBsZCo9hCdUAPrfJ8v/L6SoQCLZo5vmr2IyK0mp9A9lb2jXRF2bNnKDlskHZ3ofIDudbUdw==", + "path": "hi.wpf/3.1.73", + "hashPath": "hi.wpf.3.1.73.nupkg.sha512" }, - "HiCbtr/3.1.77": { + "HiCbtr/3.1.78": { "type": "package", "serviceable": true, - "sha512": "sha512-mswWxnGlO89W7oZSBrBdrw6agKcRfGZl9niGUwHX0NsIpPuxCqUer+lcTd/3DyqIYSiPxnVG5+mFViu6DFgfkg==", - "path": "hicbtr/3.1.77", - "hashPath": "hicbtr.3.1.77.nupkg.sha512" + "sha512": "sha512-nteCc2FB7xxDMwnnEuAXsv6WXUnFznxZFhhQnAfsRJNr56Tk+FncXGroCVIAjoUgYKKFhIkBC+jYsR1X+d4l+w==", + "path": "hicbtr/3.1.78", + "hashPath": "hicbtr.3.1.78.nupkg.sha512" }, - "HiDisp/3.1.77": { + "HiDisp/3.1.78": { "type": "package", "serviceable": true, - "sha512": "sha512-YArm7eCFR0YqV8wXe6tF7yjeHuf5M0o73W7eZfFJGsOmVTIwz1XNigjA7NzO65SMHkGWlwfIldLPXh7EJvlyrA==", - "path": "hidisp/3.1.77", - "hashPath": "hidisp.3.1.77.nupkg.sha512" + "sha512": "sha512-mHV9RsR+Gr+zrAprbFoIdNqGW/0ykYt5KfOjwUP1fwXsBreEUDLtzWY/Ad1bj1IzYLdtDrjxnBXWORYgFP4VvQ==", + "path": "hidisp/3.1.78", + "hashPath": "hidisp.3.1.78.nupkg.sha512" }, - "HiGeom/3.1.72": { + "HiGeom/3.1.73": { "type": "package", "serviceable": true, - "sha512": "sha512-saOJSyk/+jn+LhtLZx6mZo2NjZ6h8lagQaEEuAe26sNpzbEortww+uF2rMtoxT19naxYiZZXv9c1tcvfOB5UsA==", - "path": "higeom/3.1.72", - "hashPath": "higeom.3.1.72.nupkg.sha512" + "sha512": "sha512-g1+JsgQNPFs2MNOmTxCmhx9DfpW30bpdzmlnapJq7RCqRQCKtogMNwZRhAUKaPZDmfGntoHrI9wJNEWRswIHqg==", + "path": "higeom/3.1.73", + "hashPath": "higeom.3.1.73.nupkg.sha512" }, - "HiLicense/3.1.72": { + "HiLicense/3.1.73": { "type": "package", "serviceable": true, - "sha512": "sha512-QPHcBgVzUTzMT/c4JknmN63PPnBTcmPRy780wQ1A23YXBg0U5mmovGnuJZLSSbZhKBjRVir+q9APveC0cU9T3A==", - "path": "hilicense/3.1.72", - "hashPath": "hilicense.3.1.72.nupkg.sha512" + "sha512": "sha512-1BNiFSHIpr42QblW/mbBR/1M1L5g0Poe7ugnW0ztA6KthKrHn6nSSiOLnxUMlrE0WjiniXGUkSor1bTCyPpu2g==", + "path": "hilicense/3.1.73", + "hashPath": "hilicense.3.1.73.nupkg.sha512" }, - "HiMech/3.1.84": { + "HiMech/3.1.85": { "type": "package", "serviceable": true, - "sha512": "sha512-4J0pXTp5US3nXSN2FeANz6Llhs98gdulBchFubyL8z/sgn9ReDnIhkuokAmvj6vtZi1Vc1wbiTJrkmRoUHBvFg==", - "path": "himech/3.1.84", - "hashPath": "himech.3.1.84.nupkg.sha512" + "sha512": "sha512-T6+j7SkCpLZRcyvns8tcogvB4iwKBzDYwV2nTpUoMP+XmSY0uztsQC76BK3O1ORpYYEr+dLCmFntdjWUTPdCxQ==", + "path": "himech/3.1.85", + "hashPath": "himech.3.1.85.nupkg.sha512" }, - "HiNc/3.1.93": { + "HiNc/3.1.94": { "type": "package", "serviceable": true, - "sha512": "sha512-TohSj2y6cg++luARXYje0bV/6awKdIL9vCZRdAhPyZLz4gWNvL1JU+36qN7TVNv0OuFSK3EKRbbsavcCb7Yg6Q==", - "path": "hinc/3.1.93", - "hashPath": "hinc.3.1.93.nupkg.sha512" + "sha512": "sha512-W4Z9JwU1FSHYw0u+mOKmeb0kMCnkK9KrkuBCB9QEI5jIwbKE/noWSgpdgWYMCxyDmQVTOL8uxRjpqxm4YjrcpA==", + "path": "hinc/3.1.94", + "hashPath": "hinc.3.1.94.nupkg.sha512" }, - "HiUniNc/3.1.81": { + "HiUniNc/3.1.82": { "type": "package", "serviceable": true, - "sha512": "sha512-VKQq5Uw5G4UDXXF6kV2OlZAxuUTX4ZMFhYu1PUBEALJpsIJ1lQpVL0CnowccFFdCamuyqK/024uXFgygvHcJ+w==", - "path": "hiuninc/3.1.81", - "hashPath": "hiuninc.3.1.81.nupkg.sha512" + "sha512": "sha512-msUPkCHId362e34plKLQnf6BL82TXTyNFOmG5V6PtrmwhG0Y08vQ9M7/l+H+yxywS+oVbzbiSP0VBcU+8WdWwA==", + "path": "hiuninc/3.1.82", + "hashPath": "hiuninc.3.1.82.nupkg.sha512" }, "MathNet.Numerics/5.0.0": { "type": "package", diff --git a/App/HiNC-2025-win-desktop.dll b/App/HiNC-2025-win-desktop.dll index 6f096e8..5a636c1 100644 Binary files a/App/HiNC-2025-win-desktop.dll and b/App/HiNC-2025-win-desktop.dll differ diff --git a/App/HiNC-2025-win-desktop.pdb b/App/HiNC-2025-win-desktop.pdb index 5366bdf..bc1e932 100644 Binary files a/App/HiNC-2025-win-desktop.pdb and b/App/HiNC-2025-win-desktop.pdb differ diff --git a/App/HiNc.dll b/App/HiNc.dll index 426196e..767f6a9 100644 Binary files a/App/HiNc.dll and b/App/HiNc.dll differ diff --git a/App/HiUniNc.dll b/App/HiUniNc.dll index 2f7a302..6b9c39d 100644 Binary files a/App/HiUniNc.dll and b/App/HiUniNc.dll differ diff --git a/App/en/HiGeom.resources.dll b/App/en/HiGeom.resources.dll index 969f17b..545238f 100644 Binary files a/App/en/HiGeom.resources.dll and b/App/en/HiGeom.resources.dll differ diff --git a/App/en/HiMech.resources.dll b/App/en/HiMech.resources.dll index 05b48ec..6ad2004 100644 Binary files a/App/en/HiMech.resources.dll and b/App/en/HiMech.resources.dll differ diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.Collections.SortedListUtil.SeekDirection.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.Collections.SortedListUtil.SeekDirection.html index 6c92a1c..064611e 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.Collections.SortedListUtil.SeekDirection.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.Collections.SortedListUtil.SeekDirection.html @@ -6,7 +6,7 @@ - + @@ -98,7 +98,8 @@ Enum SortedListUtil.SeekDirection
Assembly
HiGeom.dll
-
+

Specifies the seek direction for sorted list operations.

+
@@ -146,13 +147,16 @@ Enum SortedListUtil.SeekDirection
Backward = 2
-
+

Backward seek direction.

+
Forward = 1
-
+

Forward seek direction.

+
Free = 0
-
+

Free seek direction without additional performance cost.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.Collections.SortedListUtil.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.Collections.SortedListUtil.html index 8c7e8da..7990871 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.Collections.SortedListUtil.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.Collections.SortedListUtil.html @@ -244,9 +244,11 @@ If return value is int -
+

The starting index for the search range (inclusive).

+
endListIndex int
-
+

The ending index for the search range (exclusive).

+

Returns

@@ -282,7 +284,8 @@ If return value is
+

Get ceil value by key without returning the ceil index.

+
@@ -292,29 +295,37 @@ If return value is Parameters
src SortedList<TKey, V>
-
+

The source sorted list.

+
key TKey
-
+

The key to search for.

+
resultValue V
-
+

The ceil value.

+
beginIndex int
-
+

The starting index for the search range (inclusive).

+
endIndex int
-
+

The ending index for the search range (exclusive).

+

Returns

BinarySearchResult
-
+

The binary search result.

+

Type Parameters

TKey
-
+

Key type.

+
V
-
+

Value type.

+
@@ -354,7 +365,8 @@ If return value is int -
+

The output ceil index.

+
beginIndex int

The starting index for the search range (inclusive). Default is 0.

@@ -462,7 +474,8 @@ If return value is
+

Gets the floor value by seeking with the specified direction.

+
@@ -472,31 +485,40 @@ If return value is Parameters
src SortedList<TKey, V>
-
+

The source sorted list.

+
key TKey
-
+

The key to search for.

+
floorValue V
-
+

The output floor value.

+
floorListIndex int
-
+

The output floor list index.

+
startListIndex int
-
+

The start list index.

+
seekDirection SortedListUtil.SeekDirection
-
+

The seek direction.

+

Returns

BinarySearchResult
-
+

The binary search result.

+

Type Parameters

TKey
-
+

The type of keys in the sorted list.

+
V
-
+

The type of values in the sorted list.

+
@@ -590,9 +612,11 @@ The seek direction only effect the resulting value by the

When this method returns, contains the index of the floor element if found; otherwise, -1.

beginListIndex int
-
+

The starting index for the search range (inclusive).

+
endListIndex int
-
+

The ending index for the search range (exclusive).

+

Returns

@@ -710,7 +734,8 @@ If return value is int -
+

The output floor index.

+
beginIndex int

The starting index for the search range (inclusive). Default is 0.

@@ -752,7 +777,8 @@ If return value is
+

Gets the index range by key boundary.

+
@@ -762,33 +788,43 @@ If return value is Parameters
src SortedList<TKey, V>
-
+

The source sorted list.

+
begin TKey
-
+

The begin key.

+
isIncludingBeginFloor bool
-
+

Whether to include the floor of begin key.

+
end TKey
-
+

The end key.

+
isIncludingEndCeil bool
-
+

Whether to include the ceil of end key.

+
beginListIndex int
-
+

The starting index for the search range (inclusive).

+
endListIndex int
-
+

The ending index for the search range (exclusive).

+

Returns

Range<int>
-
+

The index range, or null if not found.

+

Type Parameters

TKey
-
+

The type of keys in the sorted list.

+
V
-
+

The type of values in the sorted list.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.Collections.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.Collections.html index 70d5c6a..3e5bd45 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.Collections.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.Collections.html @@ -149,7 +149,8 @@ Enums
SortedListUtil.SeekDirection
-
+

Specifies the seek direction for sorted list operations.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.FileLines.IndexedFileLine.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.FileLines.IndexedFileLine.html index e55b657..885b101 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.FileLines.IndexedFileLine.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.FileLines.IndexedFileLine.html @@ -791,7 +791,8 @@ Start on 0.

-
+

Returns a human-readable string representation of this file line.

+
@@ -802,7 +803,8 @@ Start on 0.

Returns

string
-
+

A formatted string with file number, path, line number, and line content.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Box3d.html b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Box3d.html index 0d38739..fac5fed 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Box3d.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Box3d.html @@ -1627,7 +1627,8 @@ The Ctor keeps Min -
+

Expands the box to include all specified points.

+
@@ -1637,13 +1638,15 @@ The Ctor keeps MinParameters
ps IEnumerable<Vec3d>
-
+

The points to include in the box.

+

Returns

Box3d
-
+

This box after expansion.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningProject.html b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningProject.html index 39ba9bd..e8197f4 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningProject.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningProject.html @@ -1758,7 +1758,8 @@ Since the folder can be moving with the configuration file.

-
+

Plays a CSV file from the specified path.

+
@@ -1768,9 +1769,11 @@ Since the folder can be moving with the configuration file.

Parameters

baseDirectory string
-
+

Base directory for resolving relative paths.

+
relFilePath string
-
+

Relative path to the CSV file.

+
@@ -2000,7 +2003,8 @@ Since the folder can be moving with the configuration file.

-
+

Runs a CSV file from the specified path.

+
@@ -2010,15 +2014,18 @@ Since the folder can be moving with the configuration file.

Parameters

baseDirectory string
-
+

Base directory for resolving relative paths.

+
relFilePath string
-
+

Relative path to the CSV file.

+

Returns

IEnumerable<Action>
-
+

An enumerable of actions to be executed.

+
@@ -2091,16 +2098,17 @@ Since the folder can be moving with the configuration file.

Parameters

baseDirectory string
-

Base directory for resolving relative paths. If the value is null, BaseDirectory substitudes the value.

+

Base directory for resolving relative paths. If the value is null, BaseDirectory substitutes the value.

relFilePath string
-
+

Relative path to the NC file.

+

Returns

IEnumerable<Action>
-

An enumerable of actions to be executed

+

An enumerable of actions to be executed.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningProjectDisplayee.html b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningProjectDisplayee.html index fa87ec1..0f0fa28 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningProjectDisplayee.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningProjectDisplayee.html @@ -205,9 +205,11 @@ Class MachiningProjectDisplayee

Parameters

machiningProject MachiningProject
-
+

The machining project to display.

+
renderingFlagBitArray BitArray
-
+

The bit array controlling rendering flags.

+
@@ -239,7 +241,8 @@ Class MachiningProjectDisplayee

Parameters

machiningProjectGetter Func<MachiningProject>
-
+

The function that provides the machining project.

+
@@ -360,7 +363,8 @@ Class MachiningProjectDisplayee -
+

Gets or sets the function that provides the machining project.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeApi.html b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeApi.html index ce62138..553b1f8 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeApi.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeApi.html @@ -323,7 +323,8 @@ public long DispCache_Mb { get; set; } -
+

Gets or sets the embedded log mode for NC optimization.

+
@@ -421,7 +422,8 @@ public bool EnableCollisionDetection { get; set; } -
+

Gets or sets whether to enable individual step adjustment logging.

+
@@ -652,7 +654,8 @@ public FeedPerToothMachiningMotionResolution FeedPerTooth { get; } -
+

Gets or sets the fixture.

+
@@ -1611,7 +1614,8 @@ public double OptSpindlePowerUtilizationFactor { get; set; } -
+

Gets or sets the spindle torque safety factor for NC optimization.

+
@@ -1909,7 +1913,8 @@ public int StepCount { get; } -
+

Gets or sets the workpiece.

+
@@ -2575,7 +2580,8 @@ public double GetUniformContourTrayShiftAngle_deg(int toolId) -
+

Loads cutting parameters from a file.

+
@@ -2586,7 +2592,8 @@ public void LoadCuttingParaByFile(string relFile)

Parameters

relFile string
-
+

File path relative to BaseDirectory.

+
@@ -2652,7 +2659,8 @@ public void LoadCuttingParaByFile(string relFile) -
+

Maps machining steps by actual time from a time shot file.

+
@@ -2663,9 +2671,11 @@ public void MapByActualTime(string timeShotRelFile, StepTimeShotUtil.CycleSampli

Parameters

timeShotRelFile string
-
+

Relative path to the time shot file.

+
cycleSamplingMode StepTimeShotUtil.CycleSamplingMode
-
+

The cycle sampling mode.

+
@@ -2720,7 +2730,8 @@ public void Message(string message) -
+

Gets the dictionary of preferred function index for NC optimization.

+
@@ -2732,7 +2743,8 @@ public Dictionary<Func<MillingPhysicsBrief, double>, double> OptCall

Returns

Dictionary<Func<MillingPhysicsBrief, double>, double>
-
+

Dictionary mapping functions to their preference indexes.

+
@@ -3722,7 +3734,8 @@ public void TrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double ou

Outlier ratio for data filtering

paraTemplate ICuttingPara
-
+

Optional parameter template for cutting operations.

+
@@ -3959,7 +3972,7 @@ public void WriteStepFiles(string relFileTemplate = "Output/[NcName].step.c

Gets or sets the action to configure steps during execution. -The event will be cleared by the calling of ResetRuntime().

+The event will be cleared by the calling of ResetRuntime().

@@ -3992,7 +4005,7 @@ public event MachiningActRunner.MachiningStepBuiltDelegate MachiningStepBuilt

Event that is triggered when a milling step is selected. -The event will be cleared by the calling of ResetRuntime().

+The event will be cleared by the calling of ResetRuntime().

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningSteps.MachineMotionStep.html b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningSteps.MachineMotionStep.html index 598cdac..a70c4ab 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningSteps.MachineMotionStep.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningSteps.MachineMotionStep.html @@ -1676,7 +1676,8 @@ The value is
+

Gets the spindle speed in cycles per second.

+
@@ -1687,7 +1688,8 @@ The value is Returns
double
-
+

The spindle speed in cycles per second.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningSteps.MachiningStep.html b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningSteps.MachiningStep.html index 4224771..c918ca8 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningSteps.MachiningStep.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningSteps.MachiningStep.html @@ -3993,7 +3993,8 @@ public SpindleDirection GetSpindleDirection() -
+

Gets the spindle speed in cycles per second.

+
@@ -4004,7 +4005,8 @@ public SpindleDirection GetSpindleDirection()

Returns

double
-
+

The spindle speed in cycles per second.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptProc.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptProc.html index 295fd43..65da869 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptProc.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptProc.html @@ -299,7 +299,8 @@ Class NcOptProc -
+

Gets or sets the embedded log mode for NC optimization.

+
@@ -460,40 +461,41 @@ Since the folder can be moving with the configuration file.

Parameters

millingPara ICuttingPara
-

The cutting parameters for optimization

+

The cutting parameters for optimization.

machiningSession MachiningSession
-

The current machining session

+

The current machining session.

srcNcLines LinkedList<NcLine>
-

The source NC lines to optimize

+

The source NC lines to optimize.

ncEnv NcEnv
-

The NC environment settings

+

The NC environment settings.

machiningSteps List<MachiningStep>
-

The list of milling steps

+

The list of milling steps.

millingToolHouse MachiningToolHouse
-

The machining tool house

+

The machining tool house.

messageHost IMessageHost
-

The message host for logging

+

The message host for logging.

cancellationToken CancellationToken
-

Cancellation token to cancel the operation

+

Cancellation token to cancel the operation.

baseDirectory string
-
+

The base directory for file operations.

+
relFileTemplate string
-

The relative file template for output

+

The relative file template for output.

Returns

IEnumerable<(NcLine SrcNcLine, NcLine OptNcLine)>
-

Enumerable of source and optimized NC line pairs

+

Enumerable of source and optimized NC line pairs.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptimizationEmbeddedLogMode.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptimizationEmbeddedLogMode.html index 0740c10..c67ede7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptimizationEmbeddedLogMode.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptimizationEmbeddedLogMode.html @@ -6,7 +6,7 @@ - + @@ -98,7 +98,8 @@ Enum NcOptimizationEmbeddedLogMode
Assembly
HiNc.dll
-
+

Embedded log mode for NC optimization.

+
@@ -150,7 +151,8 @@ Enum NcOptimizationEmbeddedLogMode
None = 0
-
+

No embedded logging.

+
SimpleLog = 1

Only the re-interpolated lines are added the log of StepIndex. diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.html index d358ab5..fafa6b6 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.html @@ -166,7 +166,8 @@ Enums

NcOptimizationEmbeddedLogMode
-
+

Embedded log mode for NC optimization.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.CsvRunner.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.CsvRunner.html index f71cccd..0e5fbbb 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.CsvRunner.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.CsvRunner.html @@ -191,7 +191,8 @@ Class CsvRunner -
+

Initializes a new instance.

+
@@ -201,9 +202,11 @@ Class CsvRunner

Parameters

pacePlayer PacePlayer
-
+

The pace player for controlling playback.

+
sessionMessageHost SessionMessageHost
-
+

The session message host for logging.

+
@@ -260,7 +263,8 @@ Class CsvRunner -
+

Gets the pace player for controlling playback.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.CsvRunnerConfig.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.CsvRunnerConfig.html index ff8a48e..63e71cf 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.CsvRunnerConfig.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.CsvRunnerConfig.html @@ -255,7 +255,8 @@ Class CsvRunnerConfig -
+

Actual time tag for CSV parsing.

+
@@ -318,7 +319,8 @@ Class CsvRunnerConfig -
+

Duration tag for CSV parsing.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.NcRunner.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.NcRunner.html index f421ea3..bfd5733 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.NcRunner.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.NcRunner.html @@ -191,7 +191,7 @@ Class NcRunner -

Initializes a new instance of the NcRunner class.

+

Initializes a new instance.

@@ -202,12 +202,13 @@ Class NcRunner

Parameters

pacePlayer PacePlayer
-
+

The pace player for controlling playback.

+
ncEnv NcEnv
-

The NC environment settings

+

The NC environment settings.

millingProcessMessage SessionMessageHost
-

The milling process message host

+

The milling process message host.

@@ -329,7 +330,8 @@ Class NcRunner -
+

Gets the pace player for controlling playback.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.SourceCommandActEntry.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.SourceCommandActEntry.html index c88a807..86c915f 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.SourceCommandActEntry.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.SourceCommandActEntry.html @@ -6,7 +6,7 @@ - + @@ -97,7 +97,8 @@ Class SourceCommandActEntry
Assembly
HiNc.dll
-
+

Represents an entry containing a source command and its associated act.

+
@@ -190,7 +191,8 @@ Class SourceCommandActEntry -
+

Represents an entry containing a source command and its associated act.

+
@@ -200,9 +202,11 @@ Class SourceCommandActEntry

Parameters

SourceCommand IIndexedFileLine
-
+

The source command file line.

+
Act IAct
-
+

The act associated with the source command.

+
@@ -227,7 +231,8 @@ Class SourceCommandActEntry -
+

The act associated with the source command.

+
@@ -258,7 +263,8 @@ Class SourceCommandActEntry -
+

The source command file line.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.html index 4e5b83c..371a599 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.html @@ -111,7 +111,8 @@ Classes
SourceCommandActEntry
-
+

Represents an entry containing a source command and its associated act.

+

Interfaces diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcFlag.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcFlag.html index 2b4e837..577d8cc 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcFlag.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcFlag.html @@ -152,7 +152,7 @@ Enum NcFlag

[NcLifeCycle(NcLifeCycleMode.Modal)] -Cooling = 75
+Cooling = 76

Cooling enabled.

@@ -193,11 +193,18 @@ G04 = 6

Group00. Dwell.

+
+
[NcLifeCycle(NcLifeCycleMode.OneShot)] +G10p9 = 7
+ +

Not standard code. +For Mazak NC. +Generally not supported.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup21))] [NcName("G12.1")] -G12p1 = 7
+G12p1 = 8

Group21. Polar coordinate interpolation mode ON. @@ -206,7 +213,7 @@ Use G1

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup21))] [NcName("G13.1")] -G13p1 = 8
+G13p1 = 9

Group21. Polar coordinate interpolation mode OFF. @@ -214,28 +221,28 @@ Use G1

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup02))] -G17 = 9
+G17 = 10

Group02. XY plane selection.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup02))] -G18 = 10
+G18 = 11

Group02. ZX plane selection.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup02))] -G19 = 11
+G19 = 12

Group02. YZ plane selection.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup06))] -G20 = 12
+G20 = 13

Group06. Input in inch. @@ -244,7 +251,7 @@ RS274D specification is [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup06))] -G21 = 13 +G21 = 14

Group06. Input in mm. @@ -253,7 +260,7 @@ RS274D specification is [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcGroup(typeof(NcGroup01))] -G28 = 14 +G28 = 15

Group01. Automatic reference position return.

Positioning to the intermediate or reference positions are performed at the rapid traverse rate of each axis. @@ -265,7 +272,7 @@ For the other axes, the previously specified coordinates are used.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup07))] -G40 = 15
+G40 = 16

Group07. Cancel radius compensation. @@ -273,7 +280,7 @@ See G41<

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup07))] -G41 = 16
+G41 = 17

Group07. Tool radius/tool nose radius compensation. @@ -282,7 +289,7 @@ See G40<

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup07))] -G42 = 17
+G42 = 18

Group07. Tool radius/tool nose radius compensation. @@ -291,7 +298,7 @@ See G40<

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] -G43 = 18
+G43 = 19

Group08 Positive height compensation.

@@ -299,28 +306,28 @@ Positive height compensation.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] [NcName("G43.4")] -G43p4 = 19
+G43p4 = 20

Group08 G43.4: start RTCP (Rotational Tool Center Point).

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] -G44 = 20
+G44 = 21

Group08 Negative height compensation.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] -G49 = 21
+G49 = 22

Group08. Cancel height compensation.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup00))] -G52 = 26
+G52 = 27

Group00. Local coordinate system setting. @@ -328,7 +335,7 @@ It can be cancelled by G52X0Y0Z0 or M30.

[NcLifeCycle(NcLifeCycleMode.OneShot)] [NcGroup(typeof(NcGroup00))] -G53 = 27
+G53 = 28

Group00. Machine coordinate system setting.

When an incremental command is specified, the G53 command is ignored.

@@ -336,7 +343,7 @@ Machine coordinate system setting.

[NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName("G53P1")] -G53WithP1Flag = 28
+G53WithP1Flag = 29

Enables the high-speed G53 function. P1 flag accompanies with G53.

@@ -344,35 +351,35 @@ P1 flag accompanies with [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcGroup(typeof(NcGroup00))] [NcName("G53.1")] -G53p1 = 30 +G53p1 = 31

Group00. Tool axis direction control.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup14))] -G54Series = 31
+G54Series = 32

Group14. Coordinate settings.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup15))] -G61 = 32
+G61 = 33

Group15. Exact stop mode.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup15))] -G62 = 33
+G62 = 34

Group15. Automatic corner override.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup15))] -G63 = 34
+G63 = 35

Group15. Tapping mode. @@ -380,14 +387,14 @@ Not support.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup15))] -G64 = 35
+G64 = 36

Group15. Cutting mode.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup16))] -G68 = 40
+G68 = 41

Group16. 3-dimensional coordinate system conversion. @@ -396,21 +403,21 @@ run a pattern of operations in a rotated angle.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup16))] [NcName("G68.2")] -G68p2 = 41
+G68p2 = 42

Group16. Tilted working plane command.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup16))] -G69 = 42
+G69 = 43

Group16. Coordinate system rotation cancel or 3-dimensional coordinate conversion mode off

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup06))] -G70 = 44
+G70 = 45

Group06. Input in inch. @@ -420,7 +427,7 @@ Fanuc system A,B specification is [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup06))] -G71 = 45 +G71 = 46

Group06. Input in mm. @@ -430,7 +437,7 @@ Fanuc system A,B specification is [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup09))] -G80 = 46 +G80 = 47

Group09. Canned cycle cancel. @@ -439,7 +446,7 @@ See G81<

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup09))] -G81 = 47
+G81 = 48

Group09. Drilling cycle or spot boring cycle. @@ -448,14 +455,14 @@ The same parsing behavior group: [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup09))] -G82 = 48 +G82 = 49

Group09. Drilling cycle or spot boring cycle with bottom staying time.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup09))] -G83 = 49
+G83 = 50

Group09. Drilling cycle or spot boring cycle. @@ -463,7 +470,7 @@ drilling cycle in form of pecking.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup09))] -G85 = 50
+G85 = 51

Group09. Drilling cycle or spot boring cycle. @@ -472,7 +479,7 @@ The same parsing behavior group: [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup09))] -G86 = 51 +G86 = 52

Group09. Drilling cycle or spot boring cycle. @@ -481,28 +488,28 @@ The same parsing behavior group: [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup03))] -G90 = 52 +G90 = 53

Group03. Absolute coordinate system.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup03))] -G91 = 53
+G91 = 54

Group03. Relative coordinate system.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup05))] -G94 = 54
+G94 = 55

Group05. Use F as mm/min.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup13))] -G96 = 55
+G96 = 56

Group13. Constant surface speed control cancel. @@ -510,14 +517,14 @@ not support.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup13))] -G97 = 56
+G97 = 57

Group13. Constant surface speed control cancel.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup10))] -G98 = 57
+G98 = 58

Group10. Canned cycle : return to initial level. @@ -525,7 +532,7 @@ See G99<

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup10))] -G99 = 58
+G99 = 59

Group10. Canned cycle : return to R point level. @@ -534,7 +541,7 @@ See G98<

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup14))] [NcName("DATUM")] -HeidenhainDatum = 39
+HeidenhainDatum = 40

Group14. Heidenhain flag. @@ -542,7 +549,7 @@ Coordinate settings for CYCL DEF 7 and CYCL DEF 247.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcName("FMAX")] -HeidenhainFMax = 59
+HeidenhainFMax = 60

Heidenhain flag. Flag Name ‘FMAX’.

@@ -568,7 +575,7 @@ Nonlinear motion.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupHeidenhainM107M108))] [NcName("M107")] -HeidenhainM107 = 82
+HeidenhainM107 = 83

Heidenhain flag. Enable Suppress error message for replacement tools with oversize.

@@ -576,7 +583,7 @@ Enable Suppress error message for replacement tools with oversize.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupHeidenhainM107M108))] [NcName("M108")] -HeidenhainM108 = 83
+HeidenhainM108 = 84

Heidenhain flag. Reset M107. disable Suppress error message for replacement tools with oversize.

@@ -584,7 +591,7 @@ Reset M107. disable Suppress error message for replacement tools with oversize.<
[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupHeidenhainShortestRotaryPath))] [NcName("M126")] -HeidenhainM126 = 84
+HeidenhainM126 = 85

NcGroup.HeidenhainShortestRotaryPath. Heidenhain flag. @@ -595,7 +602,7 @@ For Heidenhain.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupHeidenhainShortestRotaryPath))] [NcName("M127")] -HeidenhainM127 = 85
+HeidenhainM127 = 86

NcGroup.HeidenhainShortestRotaryPath. Heidenhain flag. @@ -605,7 +612,7 @@ For Heidenhain.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] [NcName("M128")] -HeidenhainM128 = 24
+HeidenhainM128 = 25

Group08. Heidenhain flag. @@ -614,7 +621,7 @@ M128: start RTCP (Rotational Tool Center Point).

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] [NcName("M129")] -HeidenhainM129 = 25
+HeidenhainM129 = 26

Group08. Heidenhain flag. @@ -622,7 +629,7 @@ M129: cancel RTCP (Rotational Tool Center Point).

[NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName("M140")] -HeidenhainM140 = 86
+HeidenhainM140 = 87

From TNC640 documentation: Retraction from the contour in the tool-axis direction: M140. @@ -634,7 +641,7 @@ Always define a TOOL CALL with a tool axis before entering M140, otherwise the d

[NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName("M140")] -HeidenhainM140InitiativeF = 87
+HeidenhainM140InitiativeF = 88

Feedrate on HeidenhainM140. The TNC640 documentation does not show that the Feedrate on M140 is one shot or modal. @@ -642,14 +649,14 @@ HiNC assumes Feedrate on M140 is one shot feedrate with M140 command.

[NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName("M91")] -HeidenhainM91 = 81
+HeidenhainM91 = 82

Heidenhain flag. If you want the coordinates in a positioning block to be referenced to the machine datum, end the block with M91.

[NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName("MOVE")] -HeidenhainMove = 80
+HeidenhainMove = 81

Heidenhain flag. MOVE indicates to position the rotary axes and simultaneously compensate position.

@@ -657,27 +664,27 @@ MOVE indicates to position the rotary axes and simultaneously compensate positio
[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupHeidenhainPlane))] [NcName("PLANE RESET")] -HeidenhainPlaneReset = 76
+HeidenhainPlaneReset = 77

Heidenhain Plane command is exclusive

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupHeidenhainPlane))] [NcName("PLANE SPATIAL")] -HeidenhainPlaneSpatial = 77
+HeidenhainPlaneSpatial = 78

Heidenhain Plane command is exclusive

[NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName("STAY")] -HeidenhainStay = 78
+HeidenhainStay = 79

Heidenhain flag. STAY indicates to maintain the current rotary axis positioning.

[NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName("TOOL CALL")] -HeidenhainToolCall = 64
+HeidenhainToolCall = 65

Heidenhain flag. Tool call. @@ -685,7 +692,7 @@ Flag Name ‘TOOL CALL’.

[NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName("TOOL DEF")] -HeidenhainToolDef = 65
+HeidenhainToolDef = 66

Heidenhain flag. tool definition. @@ -693,7 +700,7 @@ Flag Name ‘TOOL DEF’.

[NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName("TURN")] -HeidenhainTurn = 79
+HeidenhainTurn = 80

Heidenhain flag. TURN indicates to automatically position the rotary axes.

@@ -701,7 +708,7 @@ TURN indicates to automatically position the rotary axes.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup14))] [NcName("CYCL DEF 247")] -Heidenhain_CYCL_DEF_247 = 37
+Heidenhain_CYCL_DEF_247 = 38

Group14. Heidenhain flag. With the DATUM SETTING cycle you can activate as the new datum a preset defined in a preset table. @@ -713,66 +720,66 @@ If you activate preset number 0 (line 0), then you activate the datum that you l

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup14))] [NcName("CYCL DEF 7")] -Heidenhain_CYCL_DEF_7 = 36
+Heidenhain_CYCL_DEF_7 = 37

Group14. Heidenhain flag. For shifting contours directly within the program or from datum tables.

[NcLifeCycle(NcLifeCycleMode.Modal)] -M02 = 66
+M02 = 67

Program end.

[NcLifeCycle(NcLifeCycleMode.OneShot)] -M03 = 60
+M03 = 61

Activate spindle rotation in CW.

[NcLifeCycle(NcLifeCycleMode.OneShot)] -M04 = 61
+M04 = 62

Activate spindle rotation in CCW.

[NcLifeCycle(NcLifeCycleMode.OneShot)] -M05 = 62
+M05 = 63

deactivate spindle rotation.

[NcLifeCycle(NcLifeCycleMode.OneShot)] -M06 = 63
+M06 = 64

Tool changed.

[NcLifeCycle(NcLifeCycleMode.OneShot)] -M08 = 67
+M08 = 68

Start cooling.

[NcLifeCycle(NcLifeCycleMode.OneShot)] -M09 = 68
+M09 = 69

Stop cooling.

[NcLifeCycle(NcLifeCycleMode.OneShot)] -M13 = 69
+M13 = 70

Spindle CW & Coolant ON.

[NcLifeCycle(NcLifeCycleMode.OneShot)] -M14 = 70
+M14 = 71

Spindle CCW & Coolant ON

[NcLifeCycle(NcLifeCycleMode.Modal)] -M30 = 71
+M30 = 72

Program end.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup16))] [NcName("CYCLE800")] -SiemensCycle800 = 43
+SiemensCycle800 = 44

Group16. Siemens flag. @@ -782,7 +789,7 @@ Tilted working plane command.

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup14))] [NcName("G500")] -SiemensG500 = 38
+SiemensG500 = 39

Group14. Siemens command. @@ -791,7 +798,7 @@ G500指令在没有赋值的时候为机床坐标系,可以把机床从工件

[NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName("SUPA")] -SiemensSupa = 29
+SiemensSupa = 30

Group00. Siemens command. @@ -808,7 +815,7 @@ PRESET offset

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] [NcName("TRAFOOF")] -SiemensTrafoof = 22
+SiemensTrafoof = 23

Group08. Siemens flag. @@ -817,7 +824,7 @@ Disable RTCP (Rotational Tool Center Point) (=Tool Center Point Management, TCPM

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] [NcName("TRAORI")] -SiemensTraori = 23
+SiemensTraori = 24

Group08. Siemens flag. @@ -825,7 +832,7 @@ Enable RTCP (Rotational Tool Center Point) (=Tool Center Point Management, TCPM)

[NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupSpindleRotation))] -SpindleCcw = 74
+SpindleCcw = 75

NcGroupSpindleRotation. Rotate spindle counter-clockwise (CCW). @@ -833,7 +840,7 @@ See [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupSpindleRotation))] -SpindleCw = 73 +SpindleCw = 74

NcGroupSpindleRotation. Rotate spindle clockwise (CW). @@ -841,7 +848,7 @@ See [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupSpindleRotation))] -SpindleStop = 72 +SpindleStop = 73

NcGroupSpindleRotation. Stop spindle rotation. diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcFlagUtil.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcFlagUtil.html index 3f960ac..0b3c7c5 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcFlagUtil.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcFlagUtil.html @@ -1260,7 +1260,8 @@ Class NcFlagUtil -

+

Determines whether simple machining mode is active (linear or circular interpolation).

+
@@ -1270,13 +1271,15 @@ Class NcFlagUtil

Parameters

ncFlagBitArray BitArray
-
+

The bit array of NC flags.

+

Returns

bool
-
+

True if simple machining mode is active; otherwise, false.

+
@@ -1374,7 +1377,8 @@ Class NcFlagUtil -
+

Determines whether rapid traverse mode is active.

+
@@ -1384,13 +1388,15 @@ Class NcFlagUtil

Parameters

ncFlagBitArray BitArray
-
+

The bit array of NC flags.

+

Returns

bool
-
+

True if rapid traverse is active; otherwise, false.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup00.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup00.html index 6dc3f19..7218335 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup00.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup00.html @@ -152,19 +152,19 @@ Include

Group00. Dwell.

-
G52 = 26
+
G52 = 27

Group00. Local coordinate system setting. It can be cancelled by G52X0Y0Z0 or M30.

-
G53 = 27
+
G53 = 28

Group00. Machine coordinate system setting.

When an incremental command is specified, the G53 command is ignored.

-
G53p1 = 30
+
G53p1 = 31

Group00. Tool axis direction control.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup01.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup01.html index 8cd102c..5605240 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup01.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup01.html @@ -172,7 +172,7 @@ Move in CW arc.

Group01. Move in CCW arc.

-
G28 = 14
+
G28 = 15

Group01. Automatic reference position return.

Positioning to the intermediate or reference positions are performed at the rapid traverse rate of each axis. diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup02.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup02.html index 44c2bc1..573e157 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup02.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup02.html @@ -153,17 +153,17 @@ Include

Fields

-
G17 = 9
+
G17 = 10

Group02. XY plane selection.

-
G18 = 10
+
G18 = 11

Group02. ZX plane selection.

-
G19 = 11
+
G19 = 12

Group02. YZ plane selection.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup03.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup03.html index fc025de..63ade7e 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup03.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup03.html @@ -161,12 +161,12 @@ Absolute(G90) or increment(G91) coordinate.

Fields

-
G90 = 52
+
G90 = 53

Group03. Absolute coordinate system.

-
G91 = 53
+
G91 = 54

Group03. Relative coordinate system.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup05.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup05.html index cbc0010..8117bf7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup05.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup05.html @@ -146,7 +146,7 @@ For feedrate.

Fields

-
G94 = 54
+
G94 = 55

Group05. Use F as mm/min.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup06.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup06.html index de3dbef..992fbc7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup06.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup06.html @@ -147,21 +147,21 @@ In mm or in inch.

Fields

-
G20 = 12
+
G20 = 13

Group06. Input in inch. For Fanuc specification A,B. RS274D specification is G70.

-
G21 = 13
+
G21 = 14

Group06. Input in mm. For Fanuc specification A,B. RS274D specification is G71.

-
G70 = 44
+
G70 = 45

Group06. Input in inch. @@ -169,7 +169,7 @@ Fanuc system C specification. Syntec specification. For RS274D specification. Fanuc system A,B specification is G20.

-
G71 = 45
+
G71 = 46

Group06. Input in mm. diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup07.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup07.html index 7211a27..f7984b3 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup07.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup07.html @@ -147,20 +147,20 @@ See G40<

Fields

-
G40 = 15
+
G40 = 16

Group07. Cancel radius compensation. See G41 and G42 for left and right compensation.

-
G41 = 16
+
G41 = 17

Group07. Tool radius/tool nose radius compensation. Left compensation: the updated tool tip location is at +y direction compensation from tool running direction. See G40 to cancel compensation and G42 for right compensation.

-
G42 = 17
+
G42 = 18

Group07. Tool radius/tool nose radius compensation. diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup08.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup08.html index 4bf33fc..a67548e 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup08.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup08.html @@ -150,45 +150,45 @@ Tool length compensation, etc..

Fields

-
G43 = 18
+
G43 = 19

Group08 Positive height compensation.

-
G43p4 = 19
+
G43p4 = 20

Group08 G43.4: start RTCP (Rotational Tool Center Point).

-
G44 = 20
+
G44 = 21

Group08 Negative height compensation.

-
G49 = 21
+
G49 = 22

Group08. Cancel height compensation.

-
HeidenhainM128 = 24
+
HeidenhainM128 = 25

Group08. Heidenhain flag. M128: start RTCP (Rotational Tool Center Point).

-
HeidenhainM129 = 25
+
HeidenhainM129 = 26

Group08. Heidenhain flag. M129: cancel RTCP (Rotational Tool Center Point).

-
SiemensTrafoof = 22
+
SiemensTrafoof = 23

Group08. Siemens flag. Disable RTCP (Rotational Tool Center Point) (=Tool Center Point Management, TCPM).

-
SiemensTraori = 23
+
SiemensTraori = 24

Group08. Siemens flag. diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup09.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup09.html index b983d26..f333e24 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup09.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup09.html @@ -146,39 +146,39 @@ Canned cycle.

Fields

-
G80 = 46
+
G80 = 47

Group09. Canned cycle cancel. Electronic gear box : synchronization cancellation. See G81, G82, G83, G85, G86 for available canned cycles.

-
G81 = 47
+
G81 = 48

Group09. Drilling cycle or spot boring cycle. Electronic gear box : synchronization start. The same parsing behavior group: G81,G85,G86.

-
G82 = 48
+
G82 = 49

Group09. Drilling cycle or spot boring cycle with bottom staying time.

-
G83 = 49
+
G83 = 50

Group09. Drilling cycle or spot boring cycle. drilling cycle in form of pecking.

-
G85 = 50
+
G85 = 51

Group09. Drilling cycle or spot boring cycle. Electronic gear box : synchronization start. The same parsing behavior group: G81,G85,G86.

-
G86 = 51
+
G86 = 52

Group09. Drilling cycle or spot boring cycle. diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup10.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup10.html index 8c19f8f..bcbab24 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup10.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup10.html @@ -147,13 +147,13 @@ Canned cycle return point.

Fields

-
G98 = 57
+
G98 = 58

Group10. Canned cycle : return to initial level. See G99 for R point level return.

-
G99 = 58
+
G99 = 59

Group10. Canned cycle : return to R point level. diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup13.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup13.html index d69ed3a..d02efe9 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup13.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup13.html @@ -6,7 +6,7 @@ - + @@ -98,7 +98,8 @@ Enum NcGroup13

Assembly
HiUniNc.dll
-
+

NC Group 13 for constant surface speed control.

+
@@ -144,13 +145,13 @@ Enum NcGroup13

Fields

-
G96 = 55
+
G96 = 56

Group13. Constant surface speed control cancel. not support.

-
G97 = 56
+
G97 = 57

Group13. Constant surface speed control cancel.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup14.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup14.html index aa9a384..b3bd7d5 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup14.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup14.html @@ -146,18 +146,18 @@ Coordinate system. Such as Fields
-
G54Series = 31
+
G54Series = 32

Group14. Coordinate settings.

-
HeidenhainDatum = 39
+
HeidenhainDatum = 40

Group14. Heidenhain flag. Coordinate settings for CYCL DEF 7 and CYCL DEF 247.

-
Heidenhain_CYCL_DEF_247 = 37
+
Heidenhain_CYCL_DEF_247 = 38

Group14. Heidenhain flag. With the DATUM SETTING cycle you can activate as the new datum a preset defined in a preset table. @@ -166,13 +166,13 @@ After a DATUM SETTING cycle definition, all of the coordinate inputs and datum s If you activate preset number 0 (line 0), then you activate the datum that you last set in the Manual Operation or El. Handwheel operating mode.

-
Heidenhain_CYCL_DEF_7 = 36
+
Heidenhain_CYCL_DEF_7 = 37

Group14. Heidenhain flag. For shifting contours directly within the program or from datum tables.

-
SiemensG500 = 38
+
SiemensG500 = 39

Group14. Siemens command. diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup15.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup15.html index cce32b5..cd3d83d 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup15.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup15.html @@ -145,23 +145,23 @@ Enum NcGroup15

Fields

-
G61 = 32
+
G61 = 33

Group15. Exact stop mode.

-
G62 = 33
+
G62 = 34

Group15. Automatic corner override.

-
G63 = 34
+
G63 = 35

Group15. Tapping mode. Not support.

-
G64 = 35
+
G64 = 36

Group15. Cutting mode.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup16.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup16.html index 6e664b5..f3f4c93 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup16.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup16.html @@ -148,23 +148,23 @@ Heidenhain equivalent group is
Fields
-
G68 = 40
+
G68 = 41

Group16. 3-dimensional coordinate system conversion. run a pattern of operations in a rotated angle.

-
G68p2 = 41
+
G68p2 = 42

Group16. Tilted working plane command.

-
G69 = 42
+
G69 = 43

Group16. Coordinate system rotation cancel or 3-dimensional coordinate conversion mode off

-
SiemensCycle800 = 43
+
SiemensCycle800 = 44

Group16. Siemens flag. diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup21.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup21.html index 0918a9a..ebd0d55 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup21.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroup21.html @@ -146,13 +146,13 @@ Polar coordinate interpolation mode.

Fields

-
G12p1 = 7
+
G12p1 = 8

Group21. Polar coordinate interpolation mode ON. Use G13p1 to turn off polar coordinate interpolation mode.

-
G13p1 = 8
+
G13p1 = 9

Group21. Polar coordinate interpolation mode OFF. diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroupHeidenhainM107M108.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroupHeidenhainM107M108.html index 1cfc882..02ea5c1 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroupHeidenhainM107M108.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroupHeidenhainM107M108.html @@ -147,12 +147,12 @@ Enable or disable Suppress error message for replacement tools with oversize.

Fields
-
HeidenhainM107 = 82
+
HeidenhainM107 = 83

Heidenhain flag. Enable Suppress error message for replacement tools with oversize.

-
HeidenhainM108 = 83
+
HeidenhainM108 = 84

Heidenhain flag. Reset M107. disable Suppress error message for replacement tools with oversize.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroupHeidenhainPlane.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroupHeidenhainPlane.html index 766e164..14608c9 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroupHeidenhainPlane.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroupHeidenhainPlane.html @@ -146,11 +146,11 @@ ISO equivalent group is NcGro

Fields

-
HeidenhainPlaneReset = 76
+
HeidenhainPlaneReset = 77

Heidenhain Plane command is exclusive

-
HeidenhainPlaneSpatial = 77
+
HeidenhainPlaneSpatial = 78

Heidenhain Plane command is exclusive

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroupHeidenhainShortestRotaryPath.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroupHeidenhainShortestRotaryPath.html index de28138..de90adf 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroupHeidenhainShortestRotaryPath.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroupHeidenhainShortestRotaryPath.html @@ -148,7 +148,7 @@ shortest rotary state.

Fields

-
HeidenhainM126 = 84
+
HeidenhainM126 = 85

NcGroup.HeidenhainShortestRotaryPath. Heidenhain flag. @@ -156,7 +156,7 @@ Shortest rotation for commands of ABC axise. The M126 will be canceled automatically at the end of the program. For Heidenhain.

-
HeidenhainM127 = 85
+
HeidenhainM127 = 86

NcGroup.HeidenhainShortestRotaryPath. Heidenhain flag. diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroupSpindleRotation.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroupSpindleRotation.html index c4ab67e..b069910 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroupSpindleRotation.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcGroupSpindleRotation.html @@ -147,19 +147,19 @@ See Fields

-
SpindleCcw = 74
+
SpindleCcw = 75

NcGroupSpindleRotation. Rotate spindle counter-clockwise (CCW). See SpindleStop to stop rotation and SpindleCw for clockwise rotation.

-
SpindleCw = 73
+
SpindleCw = 74

NcGroupSpindleRotation. Rotate spindle clockwise (CW). See SpindleStop to stop rotation and SpindleCcw for counter-clockwise rotation.

-
SpindleStop = 72
+
SpindleStop = 73

NcGroupSpindleRotation. Stop spindle rotation. diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcUtil.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcUtil.html index 36c9229..a03cb05 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcUtil.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.NcUtil.html @@ -432,7 +432,8 @@ Class NcUtil -

+

Grabs and removes A, B, C rotary axis values from the NC text.

+
@@ -442,15 +443,18 @@ Class NcUtil

Parameters

text string
-
+

The NC text to search and modify.

+
enableIntegerShrink bool
-
+

Whether to shrink text's integer values by 0.001.

+

Returns

Vec3d
-
+

A Vec3d containing the A, B, C values.

+
@@ -470,7 +474,8 @@ Class NcUtil -
+

Grabs and removes X, Y, Z coordinate values from the NC text.

+
@@ -480,15 +485,18 @@ Class NcUtil

Parameters

text string
-
+

The NC text to search and modify.

+
enableIntegerShrink bool
-
+

Whether to shrink text's integer values by 0.001.

+

Returns

Vec3d
-
+

A Vec3d containing the X, Y, Z values.

+
@@ -508,7 +516,8 @@ Class NcUtil -
+

Grabs and removes a flag from the NC text.

+
@@ -518,15 +527,18 @@ Class NcUtil

Parameters

text string
-
+

The NC text to search and modify.

+
tag string
-
+

The flag tag to search for.

+

Returns

bool
-
+

True if the flag was found and removed; otherwise, false.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.html index 9627044..ea1cdc8 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.html @@ -351,7 +351,8 @@ Canned cycle return point.
NcGroup13
-
+

NC Group 13 for constant surface speed control.

+
NcGroup14
diff --git a/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/milling-tool/cutter.html b/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/milling-tool/cutter.html index c970954..51fa208 100644 --- a/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/milling-tool/cutter.html +++ b/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/milling-tool/cutter.html @@ -115,7 +115,10 @@
  • 刃磨半徑(Hone Radius)、刀具重量、刀片重量及(熱傳等效)厚度。
  • -

    離隙角

    +
    +

    關於前角與離隙角的量測方法,請參閱徑向角度量測

    +
    +

    離隙角設定

    HiNC的離隙角設定為第一離隙角。用來計算刀緣磨耗寬度(Flank Wear, VB)。

    刀身重量

    刀身重量 用來計算熱傳。

    diff --git a/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/milling-tool/img/clip-cutter-angle-scheme.jpg b/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/milling-tool/img/clip-cutter-angle-scheme.jpg new file mode 100644 index 0000000..ea41ca9 Binary files /dev/null and b/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/milling-tool/img/clip-cutter-angle-scheme.jpg differ diff --git a/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/milling-tool/img/clip-cutter-angle-scheme.png b/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/milling-tool/img/clip-cutter-angle-scheme.png new file mode 100644 index 0000000..3d8be9d Binary files /dev/null and b/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/milling-tool/img/clip-cutter-angle-scheme.png differ diff --git a/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/milling-tool/radial-angle-measurement.html b/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/milling-tool/radial-angle-measurement.html new file mode 100644 index 0000000..7d031bb --- /dev/null +++ b/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/milling-tool/radial-angle-measurement.html @@ -0,0 +1,131 @@ + + + + + 徑向前角與徑向離隙角於刀具切平面掃描量測方法 | HiAPI-C# 2025 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    +
    +
    +
    +
    Table of Contents
    + +
    +
    + +
    +
    +
    + +
    +
    + + + +
    + +
    +

    徑向前角與徑向離隙角於刀具切平面掃描量測方法

    + +

    刀具切平面掃描角度量測方法如下圖所示:

    +

    刀具角度量測

    +

    徑向前角 (Radial Rake Angle, α)

    +
      +
    1. 沿刀具旋轉方向掃掠,找到該刀刃最末點 A
    2. +
    3. 將點 A 與圓心 O 連線
    4. +
    5. 線 OA 與刀刃切削端第一個折線端點 A' 的夾角 ∠OAA' 即為前角 α
    6. +
    +

    徑向離隙角 (Radial Relief Angle, β)

    +
      +
    1. 找到刀具與包絡圓接觸點 B
    2. +
    3. 做點 B 與包絡圓切線 Lt
    4. +
    5. BB' 為刀具背隙端第一條線
    6. +
    7. 於 Lt 上背隙方向任取一點 B''
    8. +
    9. BB' 與 Lt 的夾角 ∠B'BB'' 即為離隙角 β
    10. +
    + +
    + +
    +
    + + + +
    + +
    + +
    +
    + +
    + + + + diff --git a/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/toc.html b/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/toc.html index 6cc3e88..6bf9561 100644 --- a/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/toc.html +++ b/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/toc.html @@ -90,6 +90,9 @@
  • 刀片式刃雕
  • +
  • + 徑向角度量測 +
  • 智慧刀把
  • diff --git a/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/toc.json b/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/toc.json index 8669462..4f73c6e 100644 --- a/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/toc.json +++ b/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/toc.json @@ -1,2 +1,2 @@ -{"items":[{"name":"HiNC 使用說明","href":"index.html","topicHref":"index.html"},{"name":"使用者條款","href":"license/index.html","topicHref":"license/index.html"},{"name":"HiNC啟用","items":[{"name":"Windows系統啟用","href":"startup/windows.html","topicHref":"startup/windows.html"},{"name":"單機多站配置","href":"startup/multi-station.html","topicHref":"startup/multi-station.html"},{"name":"多主機授權設置","href":"startup/delegate-auth.html","topicHref":"startup/delegate-auth.html"},{"name":"教學視頻","href":"startup/tutorial.html","topicHref":"startup/tutorial.html"}]},{"name":"系統","items":[{"name":"檔案總管","href":"system/file-explorer.html","topicHref":"system/file-explorer.html"}]},{"name":"設備","items":[{"name":"錨點","href":"mech/anchor.html","topicHref":"mech/anchor.html"},{"name":"工具機建置","href":"equipment/build-machine-tool.html","topicHref":"equipment/build-machine-tool.html"},{"name":"冷卻液","href":"equipment/coolant.html","topicHref":"equipment/coolant.html"}]},{"name":"控制器","items":[{"name":"海德漢支援","href":"controllers/heidenhain-support.html","topicHref":"controllers/heidenhain-support.html"},{"name":"通用NC碼支援","href":"controllers/iso-nc-support.html","topicHref":"controllers/iso-nc-support.html"}]},{"name":"加工工具","items":[{"name":"銑刀","href":"milling-tool/cutter.html","topicHref":"milling-tool/cutter.html"},{"name":"APT工具","href":"milling-tool/apt.html","topicHref":"milling-tool/apt.html"},{"name":"刀片式刃雕","href":"milling-tool/insert-cutter/index.html","topicHref":"milling-tool/insert-cutter/index.html"},{"name":"智慧刀把","href":"milling-tool/smart-tool-holder.html","topicHref":"milling-tool/smart-tool-holder.html"}]},{"name":"腳本命令","href":"script/index.html","topicHref":"script/index.html","items":[{"name":"文件任務","href":"script/Doc-Task/index.html","topicHref":"script/Doc-Task/index.html"},{"name":"執行NC檔案","href":"script/PlayNcFile/index.html","topicHref":"script/PlayNcFile/index.html"},{"name":"執行NC碼字串","href":"script/PlayNc/index.html","topicHref":"script/PlayNc/index.html"},{"name":"執行CSV檔案","href":"script/PlayCsvFile/play-csv-file.html","topicHref":"script/PlayCsvFile/play-csv-file.html"},{"name":"播放器控制","href":"script/PlayerControl/index.html","topicHref":"script/PlayerControl/index.html"},{"name":"事件處理","href":"script/Events/index.html","topicHref":"script/Events/index.html"},{"name":"屬性設定","href":"script/Properties/index.html","topicHref":"script/Properties/index.html"},{"name":"動作操作","href":"script/ActOperations/index.html","topicHref":"script/ActOperations/index.html"},{"name":"步階變數","href":"script/StepVariables/index.html","topicHref":"script/StepVariables/index.html"},{"name":"訊息處理","href":"script/Messages/index.html","topicHref":"script/Messages/index.html"},{"name":"運行時管理","href":"script/RuntimeManagement/index.html","topicHref":"script/RuntimeManagement/index.html"},{"name":"碰撞檢測","href":"script/Collision/index.html","topicHref":"script/Collision/index.html"},{"name":"離料","href":"script/FlyPiece/index.html","topicHref":"script/FlyPiece/index.html"},{"name":"幾何差異","href":"script/GeomDiff/index.html","topicHref":"script/GeomDiff/index.html"},{"name":"映射","href":"script/Mapping/index.html","topicHref":"script/Mapping/index.html"},{"name":"銑削訓練","href":"script/MillingTraining/index.html","topicHref":"script/MillingTraining/index.html"},{"name":"載入切削參數","href":"script/LoadCuttingPara/index.html","topicHref":"script/LoadCuttingPara/index.html"},{"name":"物理仿真設定","href":"script/Physics/index.html","topicHref":"script/Physics/index.html"},{"name":"NC優化","href":"script/NcOptimization/index.html","topicHref":"script/NcOptimization/index.html"},{"name":"解析度","href":"script/Resolution/index.html","topicHref":"script/Resolution/index.html"},{"name":"運行時幾何","href":"script/RuntimeGeom/index.html","topicHref":"script/RuntimeGeom/index.html"},{"name":"輸出Shot檔案","href":"script/WriteShotFiles/index.html","topicHref":"script/WriteShotFiles/index.html"},{"name":"輸出Step檔案","href":"script/WriteStepFiles/index.html","topicHref":"script/WriteStepFiles/index.html"},{"name":"刀具與智慧刀把設置","href":"script/ToolSetup/index.html","topicHref":"script/ToolSetup/index.html"}]},{"name":"輸出","items":[{"name":"模擬步階輸出資訊","href":"output/simulation-step-output.html","topicHref":"output/simulation-step-output.html"}]},{"name":"優化","items":[{"name":"NC優化","href":"optimization/index.html","topicHref":"optimization/index.html"}]},{"name":"理論與技術","items":[{"name":"銑削物理座標系","href":"theory-and-technique/milling-physics-coordinates.html","topicHref":"theory-and-technique/milling-physics-coordinates.html"},{"name":"評估製程可加工性","href":"availability/index.html","topicHref":"availability/index.html"},{"name":"刀具壽命與磨耗","href":"technique/wear.html","topicHref":"technique/wear.html"},{"name":"第一離隙角避讓","href":"technique/relief-face-avoidance/index.html","topicHref":"technique/relief-face-avoidance/index.html"}]}]} +{"items":[{"name":"HiNC 使用說明","href":"index.html","topicHref":"index.html"},{"name":"使用者條款","href":"license/index.html","topicHref":"license/index.html"},{"name":"HiNC啟用","items":[{"name":"Windows系統啟用","href":"startup/windows.html","topicHref":"startup/windows.html"},{"name":"單機多站配置","href":"startup/multi-station.html","topicHref":"startup/multi-station.html"},{"name":"多主機授權設置","href":"startup/delegate-auth.html","topicHref":"startup/delegate-auth.html"},{"name":"教學視頻","href":"startup/tutorial.html","topicHref":"startup/tutorial.html"}]},{"name":"系統","items":[{"name":"檔案總管","href":"system/file-explorer.html","topicHref":"system/file-explorer.html"}]},{"name":"設備","items":[{"name":"錨點","href":"mech/anchor.html","topicHref":"mech/anchor.html"},{"name":"工具機建置","href":"equipment/build-machine-tool.html","topicHref":"equipment/build-machine-tool.html"},{"name":"冷卻液","href":"equipment/coolant.html","topicHref":"equipment/coolant.html"}]},{"name":"控制器","items":[{"name":"海德漢支援","href":"controllers/heidenhain-support.html","topicHref":"controllers/heidenhain-support.html"},{"name":"通用NC碼支援","href":"controllers/iso-nc-support.html","topicHref":"controllers/iso-nc-support.html"}]},{"name":"加工工具","items":[{"name":"銑刀","href":"milling-tool/cutter.html","topicHref":"milling-tool/cutter.html"},{"name":"APT工具","href":"milling-tool/apt.html","topicHref":"milling-tool/apt.html"},{"name":"刀片式刃雕","href":"milling-tool/insert-cutter/index.html","topicHref":"milling-tool/insert-cutter/index.html"},{"name":"徑向角度量測","href":"milling-tool/radial-angle-measurement.html","topicHref":"milling-tool/radial-angle-measurement.html"},{"name":"智慧刀把","href":"milling-tool/smart-tool-holder.html","topicHref":"milling-tool/smart-tool-holder.html"}]},{"name":"腳本命令","href":"script/index.html","topicHref":"script/index.html","items":[{"name":"文件任務","href":"script/Doc-Task/index.html","topicHref":"script/Doc-Task/index.html"},{"name":"執行NC檔案","href":"script/PlayNcFile/index.html","topicHref":"script/PlayNcFile/index.html"},{"name":"執行NC碼字串","href":"script/PlayNc/index.html","topicHref":"script/PlayNc/index.html"},{"name":"執行CSV檔案","href":"script/PlayCsvFile/play-csv-file.html","topicHref":"script/PlayCsvFile/play-csv-file.html"},{"name":"播放器控制","href":"script/PlayerControl/index.html","topicHref":"script/PlayerControl/index.html"},{"name":"事件處理","href":"script/Events/index.html","topicHref":"script/Events/index.html"},{"name":"屬性設定","href":"script/Properties/index.html","topicHref":"script/Properties/index.html"},{"name":"動作操作","href":"script/ActOperations/index.html","topicHref":"script/ActOperations/index.html"},{"name":"步階變數","href":"script/StepVariables/index.html","topicHref":"script/StepVariables/index.html"},{"name":"訊息處理","href":"script/Messages/index.html","topicHref":"script/Messages/index.html"},{"name":"運行時管理","href":"script/RuntimeManagement/index.html","topicHref":"script/RuntimeManagement/index.html"},{"name":"碰撞檢測","href":"script/Collision/index.html","topicHref":"script/Collision/index.html"},{"name":"離料","href":"script/FlyPiece/index.html","topicHref":"script/FlyPiece/index.html"},{"name":"幾何差異","href":"script/GeomDiff/index.html","topicHref":"script/GeomDiff/index.html"},{"name":"映射","href":"script/Mapping/index.html","topicHref":"script/Mapping/index.html"},{"name":"銑削訓練","href":"script/MillingTraining/index.html","topicHref":"script/MillingTraining/index.html"},{"name":"載入切削參數","href":"script/LoadCuttingPara/index.html","topicHref":"script/LoadCuttingPara/index.html"},{"name":"物理仿真設定","href":"script/Physics/index.html","topicHref":"script/Physics/index.html"},{"name":"NC優化","href":"script/NcOptimization/index.html","topicHref":"script/NcOptimization/index.html"},{"name":"解析度","href":"script/Resolution/index.html","topicHref":"script/Resolution/index.html"},{"name":"運行時幾何","href":"script/RuntimeGeom/index.html","topicHref":"script/RuntimeGeom/index.html"},{"name":"輸出Shot檔案","href":"script/WriteShotFiles/index.html","topicHref":"script/WriteShotFiles/index.html"},{"name":"輸出Step檔案","href":"script/WriteStepFiles/index.html","topicHref":"script/WriteStepFiles/index.html"},{"name":"刀具與智慧刀把設置","href":"script/ToolSetup/index.html","topicHref":"script/ToolSetup/index.html"}]},{"name":"輸出","items":[{"name":"模擬步階輸出資訊","href":"output/simulation-step-output.html","topicHref":"output/simulation-step-output.html"}]},{"name":"優化","items":[{"name":"NC優化","href":"optimization/index.html","topicHref":"optimization/index.html"}]},{"name":"理論與技術","items":[{"name":"銑削物理座標系","href":"theory-and-technique/milling-physics-coordinates.html","topicHref":"theory-and-technique/milling-physics-coordinates.html"},{"name":"評估製程可加工性","href":"availability/index.html","topicHref":"availability/index.html"},{"name":"刀具壽命與磨耗","href":"technique/wear.html","topicHref":"technique/wear.html"},{"name":"第一離隙角避讓","href":"technique/relief-face-avoidance/index.html","topicHref":"technique/relief-face-avoidance/index.html"}]}]} diff --git a/App/wwwroot/HiAPI-docsite/index.json b/App/wwwroot/HiAPI-docsite/index.json index 0811c35..65c768e 100644 --- a/App/wwwroot/HiAPI-docsite/index.json +++ b/App/wwwroot/HiAPI-docsite/index.json @@ -372,12 +372,12 @@ "api/Hi.Common.Collections.SortedListUtil.SeekDirection.html": { "href": "api/Hi.Common.Collections.SortedListUtil.SeekDirection.html", "title": "Enum SortedListUtil.SeekDirection | HiAPI-C# 2025", - "summary": "Enum SortedListUtil.SeekDirection Namespace Hi.Common.Collections Assembly HiGeom.dll public enum SortedListUtil.SeekDirection Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields Backward = 2 Forward = 1 Free = 0" + "summary": "Enum SortedListUtil.SeekDirection Namespace Hi.Common.Collections Assembly HiGeom.dll Specifies the seek direction for sorted list operations. public enum SortedListUtil.SeekDirection Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields Backward = 2 Backward seek direction. Forward = 1 Forward seek direction. Free = 0 Free seek direction without additional performance cost." }, "api/Hi.Common.Collections.SortedListUtil.html": { "href": "api/Hi.Common.Collections.SortedListUtil.html", "title": "Class SortedListUtil | HiAPI-C# 2025", - "summary": "Class SortedListUtil Namespace Hi.Common.Collections Assembly HiGeom.dll Utility class providing extension methods for SortedList operations. public static class SortedListUtil Inheritance object SortedListUtil Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Methods GetByMethod(SortedList, TKey, SearchMethod, out V, int, int) Get value by searchMethod. If return value is NotExisted, resultValue will be the default value of V. public static BinarySearchResult GetByMethod(this SortedList src, TKey key, SortedListUtil.SearchMethod searchMethod, out V resultValue, int beginIndex = 0, int endIndex = -1) where TKey : IComparable Parameters src SortedList source key TKey key searchMethod SortedListUtil.SearchMethod search method resultValue V searched value beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns BinarySearchResult search result Type Parameters TKey Key type V Value type GetCeilListIndex(SortedList, TKey, out int, int, int) Gets the index of the element in a sorted list that has a key greater than or equal to a specified key. public static BinarySearchResult GetCeilListIndex(this SortedList src, TKey key, out int resultListIndex, int beginListIndex = 0, int endListIndex = -1) where TKey : IComparable Parameters src SortedList The source sorted list. key TKey The key to search for. resultListIndex int When this method returns, contains the index of the ceiling element if found; otherwise, -1. beginListIndex int endListIndex int Returns BinarySearchResult A value indicating whether an exact match was found, a ceiling value was found, or no suitable element exists. Type Parameters TKey The type of keys in the sorted list. V The type of values in the sorted list. GetCeil(SortedList, TKey, out V, int, int) public static BinarySearchResult GetCeil(this SortedList src, TKey key, out V resultValue, int beginIndex = 0, int endIndex = -1) where TKey : IComparable Parameters src SortedList key TKey resultValue V beginIndex int endIndex int Returns BinarySearchResult Type Parameters TKey V GetCeil(SortedList, TKey, out V, out int, int, int) Get ceil value by key. If return value is NotExisted, resultValue will be the default value of V. public static BinarySearchResult GetCeil(this SortedList src, TKey key, out V resultValue, out int ceilIndex, int beginIndex = 0, int endIndex = -1) where TKey : IComparable Parameters src SortedList source key TKey key resultValue V ceil value ceilIndex int beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns BinarySearchResult search result Type Parameters TKey Key type V Value type GetEnumerableByKeyBoundary(SortedList, TKey, bool, TKey, bool, int, int) Gets a sequence of key-value pairs from a sorted list within a specified key range. public static IEnumerable> GetEnumerableByKeyBoundary(this SortedList src, TKey begin, bool isIncludingBeginFloor, TKey end, bool isIncludingEndCeil, int beginIndex = 0, int endIndex = -1) where TKey : IComparable Parameters src SortedList The source sorted list. begin TKey The beginning key of the range. isIncludingBeginFloor bool Whether to include the floor value of the beginning key. end TKey The ending key of the range. isIncludingEndCeil bool Whether to include the ceiling value of the ending key. beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns IEnumerable> A sequence of key-value pairs within the specified range. Type Parameters TKey The type of keys in the sorted list. V The type of values in the sorted list. GetFloorBySeek(SortedList, TKey, out V, out int, int, SeekDirection) public static BinarySearchResult GetFloorBySeek(this SortedList src, TKey key, out V floorValue, out int floorListIndex, int startListIndex, SortedListUtil.SeekDirection seekDirection = SeekDirection.Free) where TKey : IComparable Parameters src SortedList key TKey floorValue V floorListIndex int startListIndex int seekDirection SortedListUtil.SeekDirection Returns BinarySearchResult Type Parameters TKey V GetFloorListIndexBySeek(SortedList, TKey, out int, int, SeekDirection) public static BinarySearchResult GetFloorListIndexBySeek(this SortedList src, TKey key, out int floorListIndex, int startListIndex, SortedListUtil.SeekDirection seekDirection = SeekDirection.Free) where TKey : IComparable Parameters src SortedList key TKey floorListIndex int startListIndex int seekDirection SortedListUtil.SeekDirection Returns BinarySearchResult Type Parameters TKey V Remarks The Free seek direction does not loss additional performance. The seek direction only effect the resulting value by the startListIndex bound. GetFloorListIndex(SortedList, TKey, out int, int, int) Gets the index of the element in a sorted list that has a key less than or equal to a specified key. public static BinarySearchResult GetFloorListIndex(this SortedList src, TKey key, out int resultListIndex, int beginListIndex = 0, int endListIndex = -1) where TKey : IComparable Parameters src SortedList The source sorted list. key TKey The key to search for. resultListIndex int When this method returns, contains the index of the floor element if found; otherwise, -1. beginListIndex int endListIndex int Returns BinarySearchResult A value indicating whether an exact match was found, a floor value was found, or no suitable element exists. Type Parameters TKey The type of keys in the sorted list. V The type of values in the sorted list. GetFloor(SortedList, TKey, out V, int, int) Get floor value by key. If return value is NotExisted, resultValue will be the default value of V. public static BinarySearchResult GetFloor(this SortedList src, TKey key, out V resultValue, int beginIndex = 0, int endIndex = -1) where TKey : IComparable Parameters src SortedList source key TKey key resultValue V floor value beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns BinarySearchResult search result Type Parameters TKey Key type V Value type GetFloor(SortedList, TKey, out V, out int, int, int) Get floor value by key. If return value is NotExisted, resultValue will be the default value of V. public static BinarySearchResult GetFloor(this SortedList src, TKey key, out V resultValue, out int floorIndex, int beginIndex = 0, int endIndex = -1) where TKey : IComparable Parameters src SortedList source key TKey key resultValue V floor value floorIndex int beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns BinarySearchResult search result Type Parameters TKey Key type V Value type GetIndexRangeByKeyBoundary(SortedList, TKey, bool, TKey, bool, int, int) public static Range GetIndexRangeByKeyBoundary(this SortedList src, TKey begin, bool isIncludingBeginFloor, TKey end, bool isIncludingEndCeil, int beginListIndex = 0, int endListIndex = -1) where TKey : IComparable Parameters src SortedList begin TKey isIncludingBeginFloor bool end TKey isIncludingEndCeil bool beginListIndex int endListIndex int Returns Range Type Parameters TKey V GetNearestIndex(SortedList, double, out int, int, int) Gets the index of the element in a sorted list that has a key nearest to a specified key. public static BinarySearchResult GetNearestIndex(this SortedList src, double key, out int resultIndex, int beginIndex = 0, int endIndex = -1) Parameters src SortedList The source sorted list. key double The key to search for. resultIndex int When this method returns, contains the index of the nearest element if found; otherwise, -1. beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns BinarySearchResult A value indicating whether an exact match was found, or the nearest floor/ceiling value. Type Parameters V The type of values in the sorted list. GetNearestKey(SortedList, double, out double, int, int) Gets the key in a sorted list that is nearest to a specified key. public static BinarySearchResult GetNearestKey(this SortedList src, double key, out double resultKey, int beginIndex = 0, int endIndex = -1) Parameters src SortedList The source sorted list. key double The key to search for. resultKey double When this method returns, contains the nearest key if found; otherwise, NaN. beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns BinarySearchResult A value indicating whether an exact match was found, or the nearest floor/ceiling value. Type Parameters V The type of values in the sorted list. GetNearestValue(SortedList, double, out V, int, int) Gets the value in a sorted list that corresponds to the key nearest to a specified key. public static BinarySearchResult GetNearestValue(this SortedList src, double key, out V resultValue, int beginIndex = 0, int endIndex = -1) Parameters src SortedList The source sorted list. key double The key to search for. resultValue V When this method returns, contains the value corresponding to the nearest key if found; otherwise, the default value for the type. beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns BinarySearchResult A value indicating whether an exact match was found, or the nearest floor/ceiling value. Type Parameters V The type of values in the sorted list. GetSortedListByKeyBoundary(SortedList, TKey, bool, TKey, bool, int, int) Creates a new sorted list containing key-value pairs from a source sorted list within a specified key range. public static SortedList GetSortedListByKeyBoundary(this SortedList src, TKey begin, bool isIncludingBeginFloor, TKey end, bool isIncludingEndCeil, int beginIndex = 0, int endIndex = -1) where TKey : IComparable Parameters src SortedList The source sorted list. begin TKey The beginning key of the range. isIncludingBeginFloor bool Whether to include the floor value of the beginning key. end TKey The ending key of the range. isIncludingEndCeil bool Whether to include the ceiling value of the ending key. beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns SortedList A new sorted list containing key-value pairs within the specified range. Type Parameters TKey The type of keys in the sorted list. V The type of values in the sorted list. GetValuesByKeyBoundary(SortedList, TKey, bool, TKey, bool, int, int) Gets a list of values from a sorted list within a specified key range. public static List GetValuesByKeyBoundary(this SortedList src, TKey begin, bool isIncludingBeginFloor, TKey end, bool isIncludingEndCeil, int beginIndex = 0, int endIndex = -1) where TKey : IComparable Parameters src SortedList The source sorted list. begin TKey The beginning key of the range. isIncludingBeginFloor bool Whether to include the floor value of the beginning key. end TKey The ending key of the range. isIncludingEndCeil bool Whether to include the ceiling value of the ending key. beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns List A list of values within the specified range. Type Parameters TKey The type of keys in the sorted list. V The type of values in the sorted list. ToSortedList(List, Func) Converts a list of values to a sorted list using a key selector function. public static SortedList ToSortedList(this List src, Func keyFunc) where TKey : IComparable Parameters src List The source list of values. keyFunc Func A function to extract a key from each value. Returns SortedList A sorted list containing the values from the source list, keyed by the extracted keys. Type Parameters TKey The type of keys in the resulting sorted list. TValue The type of values in the list and the resulting sorted list." + "summary": "Class SortedListUtil Namespace Hi.Common.Collections Assembly HiGeom.dll Utility class providing extension methods for SortedList operations. public static class SortedListUtil Inheritance object SortedListUtil Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Methods GetByMethod(SortedList, TKey, SearchMethod, out V, int, int) Get value by searchMethod. If return value is NotExisted, resultValue will be the default value of V. public static BinarySearchResult GetByMethod(this SortedList src, TKey key, SortedListUtil.SearchMethod searchMethod, out V resultValue, int beginIndex = 0, int endIndex = -1) where TKey : IComparable Parameters src SortedList source key TKey key searchMethod SortedListUtil.SearchMethod search method resultValue V searched value beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns BinarySearchResult search result Type Parameters TKey Key type V Value type GetCeilListIndex(SortedList, TKey, out int, int, int) Gets the index of the element in a sorted list that has a key greater than or equal to a specified key. public static BinarySearchResult GetCeilListIndex(this SortedList src, TKey key, out int resultListIndex, int beginListIndex = 0, int endListIndex = -1) where TKey : IComparable Parameters src SortedList The source sorted list. key TKey The key to search for. resultListIndex int When this method returns, contains the index of the ceiling element if found; otherwise, -1. beginListIndex int The starting index for the search range (inclusive). endListIndex int The ending index for the search range (exclusive). Returns BinarySearchResult A value indicating whether an exact match was found, a ceiling value was found, or no suitable element exists. Type Parameters TKey The type of keys in the sorted list. V The type of values in the sorted list. GetCeil(SortedList, TKey, out V, int, int) Get ceil value by key without returning the ceil index. public static BinarySearchResult GetCeil(this SortedList src, TKey key, out V resultValue, int beginIndex = 0, int endIndex = -1) where TKey : IComparable Parameters src SortedList The source sorted list. key TKey The key to search for. resultValue V The ceil value. beginIndex int The starting index for the search range (inclusive). endIndex int The ending index for the search range (exclusive). Returns BinarySearchResult The binary search result. Type Parameters TKey Key type. V Value type. GetCeil(SortedList, TKey, out V, out int, int, int) Get ceil value by key. If return value is NotExisted, resultValue will be the default value of V. public static BinarySearchResult GetCeil(this SortedList src, TKey key, out V resultValue, out int ceilIndex, int beginIndex = 0, int endIndex = -1) where TKey : IComparable Parameters src SortedList source key TKey key resultValue V ceil value ceilIndex int The output ceil index. beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns BinarySearchResult search result Type Parameters TKey Key type V Value type GetEnumerableByKeyBoundary(SortedList, TKey, bool, TKey, bool, int, int) Gets a sequence of key-value pairs from a sorted list within a specified key range. public static IEnumerable> GetEnumerableByKeyBoundary(this SortedList src, TKey begin, bool isIncludingBeginFloor, TKey end, bool isIncludingEndCeil, int beginIndex = 0, int endIndex = -1) where TKey : IComparable Parameters src SortedList The source sorted list. begin TKey The beginning key of the range. isIncludingBeginFloor bool Whether to include the floor value of the beginning key. end TKey The ending key of the range. isIncludingEndCeil bool Whether to include the ceiling value of the ending key. beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns IEnumerable> A sequence of key-value pairs within the specified range. Type Parameters TKey The type of keys in the sorted list. V The type of values in the sorted list. GetFloorBySeek(SortedList, TKey, out V, out int, int, SeekDirection) Gets the floor value by seeking with the specified direction. public static BinarySearchResult GetFloorBySeek(this SortedList src, TKey key, out V floorValue, out int floorListIndex, int startListIndex, SortedListUtil.SeekDirection seekDirection = SeekDirection.Free) where TKey : IComparable Parameters src SortedList The source sorted list. key TKey The key to search for. floorValue V The output floor value. floorListIndex int The output floor list index. startListIndex int The start list index. seekDirection SortedListUtil.SeekDirection The seek direction. Returns BinarySearchResult The binary search result. Type Parameters TKey The type of keys in the sorted list. V The type of values in the sorted list. GetFloorListIndexBySeek(SortedList, TKey, out int, int, SeekDirection) public static BinarySearchResult GetFloorListIndexBySeek(this SortedList src, TKey key, out int floorListIndex, int startListIndex, SortedListUtil.SeekDirection seekDirection = SeekDirection.Free) where TKey : IComparable Parameters src SortedList key TKey floorListIndex int startListIndex int seekDirection SortedListUtil.SeekDirection Returns BinarySearchResult Type Parameters TKey V Remarks The Free seek direction does not loss additional performance. The seek direction only effect the resulting value by the startListIndex bound. GetFloorListIndex(SortedList, TKey, out int, int, int) Gets the index of the element in a sorted list that has a key less than or equal to a specified key. public static BinarySearchResult GetFloorListIndex(this SortedList src, TKey key, out int resultListIndex, int beginListIndex = 0, int endListIndex = -1) where TKey : IComparable Parameters src SortedList The source sorted list. key TKey The key to search for. resultListIndex int When this method returns, contains the index of the floor element if found; otherwise, -1. beginListIndex int The starting index for the search range (inclusive). endListIndex int The ending index for the search range (exclusive). Returns BinarySearchResult A value indicating whether an exact match was found, a floor value was found, or no suitable element exists. Type Parameters TKey The type of keys in the sorted list. V The type of values in the sorted list. GetFloor(SortedList, TKey, out V, int, int) Get floor value by key. If return value is NotExisted, resultValue will be the default value of V. public static BinarySearchResult GetFloor(this SortedList src, TKey key, out V resultValue, int beginIndex = 0, int endIndex = -1) where TKey : IComparable Parameters src SortedList source key TKey key resultValue V floor value beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns BinarySearchResult search result Type Parameters TKey Key type V Value type GetFloor(SortedList, TKey, out V, out int, int, int) Get floor value by key. If return value is NotExisted, resultValue will be the default value of V. public static BinarySearchResult GetFloor(this SortedList src, TKey key, out V resultValue, out int floorIndex, int beginIndex = 0, int endIndex = -1) where TKey : IComparable Parameters src SortedList source key TKey key resultValue V floor value floorIndex int The output floor index. beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns BinarySearchResult search result Type Parameters TKey Key type V Value type GetIndexRangeByKeyBoundary(SortedList, TKey, bool, TKey, bool, int, int) Gets the index range by key boundary. public static Range GetIndexRangeByKeyBoundary(this SortedList src, TKey begin, bool isIncludingBeginFloor, TKey end, bool isIncludingEndCeil, int beginListIndex = 0, int endListIndex = -1) where TKey : IComparable Parameters src SortedList The source sorted list. begin TKey The begin key. isIncludingBeginFloor bool Whether to include the floor of begin key. end TKey The end key. isIncludingEndCeil bool Whether to include the ceil of end key. beginListIndex int The starting index for the search range (inclusive). endListIndex int The ending index for the search range (exclusive). Returns Range The index range, or null if not found. Type Parameters TKey The type of keys in the sorted list. V The type of values in the sorted list. GetNearestIndex(SortedList, double, out int, int, int) Gets the index of the element in a sorted list that has a key nearest to a specified key. public static BinarySearchResult GetNearestIndex(this SortedList src, double key, out int resultIndex, int beginIndex = 0, int endIndex = -1) Parameters src SortedList The source sorted list. key double The key to search for. resultIndex int When this method returns, contains the index of the nearest element if found; otherwise, -1. beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns BinarySearchResult A value indicating whether an exact match was found, or the nearest floor/ceiling value. Type Parameters V The type of values in the sorted list. GetNearestKey(SortedList, double, out double, int, int) Gets the key in a sorted list that is nearest to a specified key. public static BinarySearchResult GetNearestKey(this SortedList src, double key, out double resultKey, int beginIndex = 0, int endIndex = -1) Parameters src SortedList The source sorted list. key double The key to search for. resultKey double When this method returns, contains the nearest key if found; otherwise, NaN. beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns BinarySearchResult A value indicating whether an exact match was found, or the nearest floor/ceiling value. Type Parameters V The type of values in the sorted list. GetNearestValue(SortedList, double, out V, int, int) Gets the value in a sorted list that corresponds to the key nearest to a specified key. public static BinarySearchResult GetNearestValue(this SortedList src, double key, out V resultValue, int beginIndex = 0, int endIndex = -1) Parameters src SortedList The source sorted list. key double The key to search for. resultValue V When this method returns, contains the value corresponding to the nearest key if found; otherwise, the default value for the type. beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns BinarySearchResult A value indicating whether an exact match was found, or the nearest floor/ceiling value. Type Parameters V The type of values in the sorted list. GetSortedListByKeyBoundary(SortedList, TKey, bool, TKey, bool, int, int) Creates a new sorted list containing key-value pairs from a source sorted list within a specified key range. public static SortedList GetSortedListByKeyBoundary(this SortedList src, TKey begin, bool isIncludingBeginFloor, TKey end, bool isIncludingEndCeil, int beginIndex = 0, int endIndex = -1) where TKey : IComparable Parameters src SortedList The source sorted list. begin TKey The beginning key of the range. isIncludingBeginFloor bool Whether to include the floor value of the beginning key. end TKey The ending key of the range. isIncludingEndCeil bool Whether to include the ceiling value of the ending key. beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns SortedList A new sorted list containing key-value pairs within the specified range. Type Parameters TKey The type of keys in the sorted list. V The type of values in the sorted list. GetValuesByKeyBoundary(SortedList, TKey, bool, TKey, bool, int, int) Gets a list of values from a sorted list within a specified key range. public static List GetValuesByKeyBoundary(this SortedList src, TKey begin, bool isIncludingBeginFloor, TKey end, bool isIncludingEndCeil, int beginIndex = 0, int endIndex = -1) where TKey : IComparable Parameters src SortedList The source sorted list. begin TKey The beginning key of the range. isIncludingBeginFloor bool Whether to include the floor value of the beginning key. end TKey The ending key of the range. isIncludingEndCeil bool Whether to include the ceiling value of the ending key. beginIndex int The starting index for the search range (inclusive). Default is 0. endIndex int The ending index for the search range (exclusive). Default is -1, which means the end of the list. Returns List A list of values within the specified range. Type Parameters TKey The type of keys in the sorted list. V The type of values in the sorted list. ToSortedList(List, Func) Converts a list of values to a sorted list using a key selector function. public static SortedList ToSortedList(this List src, Func keyFunc) where TKey : IComparable Parameters src List The source list of values. keyFunc Func A function to extract a key from each value. Returns SortedList A sorted list containing the values from the source list, keyed by the extracted keys. Type Parameters TKey The type of keys in the resulting sorted list. TValue The type of values in the list and the resulting sorted list." }, "api/Hi.Common.Collections.SynList-1.html": { "href": "api/Hi.Common.Collections.SynList-1.html", @@ -387,7 +387,7 @@ "api/Hi.Common.Collections.html": { "href": "api/Hi.Common.Collections.html", "title": "Namespace Hi.Common.Collections | HiAPI-C# 2025", - "summary": "Namespace Hi.Common.Collections Classes DictionaryUtil Utility class providing extension methods for dictionary operations. EnumerableUtil Utility class providing extension methods for enumerable collections. FixedSizeConcurrentLinkedListUtil Utility of Fixed Size Concurrent LinkedList. ListIndexBasedEnumerable Provides an enumerable wrapper for a list that iterates over a specified range of indices. ListIndexBasedIEnumerator Provides an enumerator that iterates over a specified range of indices in a list. ListUtil Provides utility methods for working with lists and collections. SortedListUtil Utility class providing extension methods for SortedList operations. SynList Thread-safe List. Enums ListUtil.OuterPolationMode Defines the mode for handling values outside the range of a collection during interpolation. SortedListUtil.SearchMethod Specifies the search method to use when looking for values in a sorted list. SortedListUtil.SeekDirection" + "summary": "Namespace Hi.Common.Collections Classes DictionaryUtil Utility class providing extension methods for dictionary operations. EnumerableUtil Utility class providing extension methods for enumerable collections. FixedSizeConcurrentLinkedListUtil Utility of Fixed Size Concurrent LinkedList. ListIndexBasedEnumerable Provides an enumerable wrapper for a list that iterates over a specified range of indices. ListIndexBasedIEnumerator Provides an enumerator that iterates over a specified range of indices in a list. ListUtil Provides utility methods for working with lists and collections. SortedListUtil Utility class providing extension methods for SortedList operations. SynList Thread-safe List. Enums ListUtil.OuterPolationMode Defines the mode for handling values outside the range of a collection during interpolation. SortedListUtil.SearchMethod Specifies the search method to use when looking for values in a sorted list. SortedListUtil.SeekDirection Specifies the seek direction for sorted list operations." }, "api/Hi.Common.ConcurrentTimeCounter.html": { "href": "api/Hi.Common.ConcurrentTimeCounter.html", @@ -542,7 +542,7 @@ "api/Hi.Common.FileLines.IndexedFileLine.html": { "href": "api/Hi.Common.FileLines.IndexedFileLine.html", "title": "Class IndexedFileLine | HiAPI-C# 2025", - "summary": "Class IndexedFileLine Namespace Hi.Common.FileLines Assembly HiGeom.dll Represents a line of text from a file with associated file and line information. public class IndexedFileLine : IIndexedFileLine, IFileLine, IFileLineIndex, IGetIndexedFileLine, IGetFileLineIndex Inheritance object IndexedFileLine Implements IIndexedFileLine IFileLine IFileLineIndex IGetIndexedFileLine IGetFileLineIndex Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods FileLineUtil.GetFileNo(IFileLineIndex) FileLineUtil.GetLineNo(IFileLineIndex) FileLineUtil.MixedIndex(IFileLineIndex) FileLineUtil.MixedIndex(IGetFileLineIndex) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors IndexedFileLine() Initializes a new instance of the IndexedFileLine class. public IndexedFileLine() IndexedFileLine(IIndexedFileLine) Initializes a new instance of the IndexedFileLine class by copying from an IIndexedFileLine. public IndexedFileLine(IIndexedFileLine src) Parameters src IIndexedFileLine The source IIndexedFileLine to copy from. IndexedFileLine(IndexedFileLine) Initializes a new instance of the IndexedFileLine class by copying another instance. public IndexedFileLine(IndexedFileLine src) Parameters src IndexedFileLine The source IndexedFileLine to copy from. IndexedFileLine(int, string, int, string) Initializes a new instance of the IndexedFileLine class with the specified file information and line content. public IndexedFileLine(int fileIndex, string filePath, int lineIndex, string line) Parameters fileIndex int The zero-based index of the file. filePath string The path of the file. lineIndex int The zero-based index of the line within the file. line string The content of the line. Properties FileIndex File Index. Start on 0. public int FileIndex { get; set; } Property Value int FileNo FileIndex+1. public int FileNo { get; set; } Property Value int FilePath File path. public string FilePath { get; set; } Property Value string Line The line. public string Line { get; set; } Property Value string LineIndex Line Index. Start on 0. public int LineIndex { get; set; } Property Value int LineNo LineIndex+1. public int LineNo { get; set; } Property Value int Methods Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. Remarks Checks the equalty of FileIndex and LineIndex. GetFileLine() public IFileLine GetFileLine() Returns IFileLine GetFileLineIndex() Get FileLineIndex. public FileLineIndex GetFileLineIndex() Returns FileLineIndex FileLineIndex GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. Remarks The hashcode is composed of FileIndex and LineIndex. GetIndexedFileLine() Gets the file line associated with this object. public IndexedFileLine GetIndexedFileLine() Returns IndexedFileLine The file line object. ReadFile(int, string) Read file to IndexedFileLines. public static IEnumerable ReadFile(int fileIndex, string filePath) Parameters fileIndex int file number. If only one file in the scenerio, assign zero is prefered. filePath string file path Returns IEnumerable IndexedFileLines ReadFiles(List) Read files to IndexedFileLines. public static IEnumerable ReadFiles(List files) Parameters files List files Returns IEnumerable IndexedFileLines ToHumanString() public string ToHumanString() Returns string ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object." + "summary": "Class IndexedFileLine Namespace Hi.Common.FileLines Assembly HiGeom.dll Represents a line of text from a file with associated file and line information. public class IndexedFileLine : IIndexedFileLine, IFileLine, IFileLineIndex, IGetIndexedFileLine, IGetFileLineIndex Inheritance object IndexedFileLine Implements IIndexedFileLine IFileLine IFileLineIndex IGetIndexedFileLine IGetFileLineIndex Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods FileLineUtil.GetFileNo(IFileLineIndex) FileLineUtil.GetLineNo(IFileLineIndex) FileLineUtil.MixedIndex(IFileLineIndex) FileLineUtil.MixedIndex(IGetFileLineIndex) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors IndexedFileLine() Initializes a new instance of the IndexedFileLine class. public IndexedFileLine() IndexedFileLine(IIndexedFileLine) Initializes a new instance of the IndexedFileLine class by copying from an IIndexedFileLine. public IndexedFileLine(IIndexedFileLine src) Parameters src IIndexedFileLine The source IIndexedFileLine to copy from. IndexedFileLine(IndexedFileLine) Initializes a new instance of the IndexedFileLine class by copying another instance. public IndexedFileLine(IndexedFileLine src) Parameters src IndexedFileLine The source IndexedFileLine to copy from. IndexedFileLine(int, string, int, string) Initializes a new instance of the IndexedFileLine class with the specified file information and line content. public IndexedFileLine(int fileIndex, string filePath, int lineIndex, string line) Parameters fileIndex int The zero-based index of the file. filePath string The path of the file. lineIndex int The zero-based index of the line within the file. line string The content of the line. Properties FileIndex File Index. Start on 0. public int FileIndex { get; set; } Property Value int FileNo FileIndex+1. public int FileNo { get; set; } Property Value int FilePath File path. public string FilePath { get; set; } Property Value string Line The line. public string Line { get; set; } Property Value string LineIndex Line Index. Start on 0. public int LineIndex { get; set; } Property Value int LineNo LineIndex+1. public int LineNo { get; set; } Property Value int Methods Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. Remarks Checks the equalty of FileIndex and LineIndex. GetFileLine() public IFileLine GetFileLine() Returns IFileLine GetFileLineIndex() Get FileLineIndex. public FileLineIndex GetFileLineIndex() Returns FileLineIndex FileLineIndex GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. Remarks The hashcode is composed of FileIndex and LineIndex. GetIndexedFileLine() Gets the file line associated with this object. public IndexedFileLine GetIndexedFileLine() Returns IndexedFileLine The file line object. ReadFile(int, string) Read file to IndexedFileLines. public static IEnumerable ReadFile(int fileIndex, string filePath) Parameters fileIndex int file number. If only one file in the scenerio, assign zero is prefered. filePath string file path Returns IEnumerable IndexedFileLines ReadFiles(List) Read files to IndexedFileLines. public static IEnumerable ReadFiles(List files) Parameters files List files Returns IEnumerable IndexedFileLines ToHumanString() Returns a human-readable string representation of this file line. public string ToHumanString() Returns string A formatted string with file number, path, line number, and line content. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object." }, "api/Hi.Common.FileLines.LineBeginEventArgs.html": { "href": "api/Hi.Common.FileLines.LineBeginEventArgs.html", @@ -1297,7 +1297,7 @@ "api/Hi.Geom.Box3d.html": { "href": "api/Hi.Geom.Box3d.html", "title": "Class Box3d | HiAPI-C# 2025", - "summary": "Class Box3d Namespace Hi.Geom Assembly HiGeom.dll Lightweight 3d box. An orthogonal box which the edges are all parallel with Cartesian Coordinate. The data contains in a Box3d is Min and Max. public class Box3d : IExpandToBox3d, IEquatable, IStlSource, IGetStl, IMakeXmlSource, IBinaryIo, IWriteBin, IDuplicate, IFormattable Inheritance object Box3d Implements IExpandToBox3d IEquatable IStlSource IGetStl IMakeXmlSource IBinaryIo IWriteBin IDuplicate IFormattable Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods BinIoUtil.ToBytes(IWriteBin) XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) GeomUtil.ExpandToBox3d(IExpandToBox3d, Mat4d, Box3d) GeomUtil.GetBox3d(IExpandToBox3d) PairZrUtil.GetZrList(IGetStl) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors Box3d() Ctor. public Box3d() Box3d(NoInit) Ctor. The Ctor keeps Min and Max to null. public Box3d(Box3d.NoInit noInit) Parameters noInit Box3d.NoInit Box3d(params IExpandToBox3d[]) Creates a box that encompasses all the provided expandable objects. public Box3d(params IExpandToBox3d[] src) Parameters src IExpandToBox3d[] Array of objects that can expand to a box Box3d(Vec3d, Vec3d) Ctor. public Box3d(Vec3d min, Vec3d max) Parameters min Vec3d Min max Vec3d Max Box3d(box3d) Ctor. public Box3d(box3d src) Parameters src box3d src Box3d(IEnumerable) Creates a box that encompasses all the provided expandable objects. public Box3d(IEnumerable src) Parameters src IEnumerable Collection of objects that can expand to a box Box3d(double, double, double, double, double, double) Creates a box with the specified minimum and maximum coordinates. public Box3d(double minx, double miny, double minz, double maxx, double maxy, double maxz) Parameters minx double Minimum X coordinate miny double Minimum Y coordinate minz double Minimum Z coordinate maxx double Maximum X coordinate maxy double Maximum Y coordinate maxz double Maximum Z coordinate Box3d(BinaryReader) Creates a box from binary data. public Box3d(BinaryReader reader) Parameters reader BinaryReader Binary reader to read the box data from Box3d(XElement) Ctor. public Box3d(XElement src) Parameters src XElement XML Properties BottomCenter Center of the bottom surface. public Vec3d BottomCenter { get; } Property Value Vec3d BottomView Gets a transformation matrix for viewing the box from the bottom. public Mat4d BottomView { get; } Property Value Mat4d Center Center public Vec3d Center { get; } Property Value Vec3d CenterUnitBox Generate a center unit box which min~max is (-0.5,-0.5,-0.5)~(0.5,0.5,0.5). public static Box3d CenterUnitBox { get; } Property Value Box3d DiagonalLength Diagonal length. public double DiagonalLength { get; } Property Value double Dim Dimension. public Vec3d Dim { get; } Property Value Vec3d FrontView Gets a transformation matrix for viewing the box from the front. public Mat4d FrontView { get; } Property Value Mat4d HasVolume Checks if the box has a positive volume (all dimensions are greater than zero). public bool HasVolume { get; } Property Value bool InfiniteBox Generate a infinite box which min~max is (-∞,-∞,-∞)~(∞,∞,∞). public static Box3d InfiniteBox { get; } Property Value Box3d IsAllNaN True if all components of Min and Max are NaN. public bool IsAllNaN { get; } Property Value bool IsFinite True if the box is finite. public bool IsFinite { get; } Property Value bool IsReversedPoleBox True if the box is ReversedPoleBox public bool IsReversedPoleBox { get; } Property Value bool IsometricView Gets a transformation matrix for viewing the box from an isometric perspective. public Mat4d IsometricView { get; } Property Value Mat4d LeftSideView Gets a transformation matrix for viewing the box from the left side. public Mat4d LeftSideView { get; } Property Value Mat4d Max Maximum point of the box. public Vec3d Max { get; set; } Property Value Vec3d Min Minimum point of the box. public Vec3d Min { get; set; } Property Value Vec3d NaN Generate a nan box which min~max is (nan,nan,nan)~(nan,nan,nan). public static Box3d NaN { get; } Property Value Box3d NativeByteSize Gets the native byte size of a Box3d (2 Vec3d objects). public static int NativeByteSize { get; } Property Value int RearView Gets a transformation matrix for viewing the box from the rear. public Mat4d RearView { get; } Property Value Mat4d ReversedPoleBox Generate a reversed pole box which min~max is (∞,∞,∞)~(-∞,-∞,-∞). public static Box3d ReversedPoleBox { get; } Property Value Box3d RightSideView Gets a transformation matrix for viewing the box from the right side. public Mat4d RightSideView { get; } Property Value Mat4d TopCenter Center of the top surface. public Vec3d TopCenter { get; } Property Value Vec3d TopView Gets a transformation matrix for viewing the box from the top. public Mat4d TopView { get; } Property Value Mat4d UnitBox Generate a unit box which min~max is (0,0,0)~(1,1,1). public static Box3d UnitBox { get; } Property Value Box3d Volume Gets the volume of the box. public double Volume { get; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string ZeroBox Generate a zero box which min~max is (0,0,0)~(0,0,0). public static Box3d ZeroBox { get; } Property Value Box3d Methods ApexAt(int) Get Apex at the box. public Vec3d ApexAt(int index) Parameters index int index 0~7. all of 8 apex. Returns Vec3d Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object Equals(Box3d) Indicates whether the current object is equal to another object of the same type. public bool Equals(Box3d other) Parameters other Box3d An object to compare with this object. Returns bool true if the current object is equal to the other parameter; otherwise, false. Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. Expand(Box3d) Expands this box to include another box. public Box3d Expand(Box3d src) Parameters src Box3d The box to include Returns Box3d This box after expansion Expand(Vec3d) Expands the box to include the specified point. public Box3d Expand(Vec3d p) Parameters p Vec3d Point to include in the box Returns Box3d This box after expansion Expand(IEnumerable) public Box3d Expand(IEnumerable ps) Parameters ps IEnumerable Returns Box3d ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. GetStl() Generate Stl. public Stl GetStl() Returns Stl stl GetTransformedBoundingBox(Mat4d) Get the bounding box of the transformed box. public Box3d GetTransformedBoundingBox(Mat4d mat) Parameters mat Mat4d matrix Returns Box3d GetTris(ICollection) Generates triangles representing the box's surfaces. public int GetTris(ICollection dst) Parameters dst ICollection Collection to add the triangles to Returns int The number of triangles added (12) IsOverlapped(Box3d) Is the box overlapped to otherBox. public bool IsOverlapped(Box3d otherBox) Parameters otherBox Box3d other box Returns bool is overlapped MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. MemberAt(int) Get member at the location. public Vec3d MemberAt(int iter) Parameters iter int iterator Returns Vec3d Minif iter is 0; otherwise, return Max ReadBin(BinaryReader) Reads box data from a binary reader. public void ReadBin(BinaryReader reader) Parameters reader BinaryReader Binary reader to read the box data from ScaleFromCenter(double) Scales the box from its center point. public Box3d ScaleFromCenter(double s) Parameters s double Scale factor Returns Box3d This box after scaling Set(Box3d) Copy the src. The Min and Max are kept the same object. Only the double values changed. public Box3d Set(Box3d src) Parameters src Box3d src Returns Box3d this Set(box3d) Copy the src. The Min and Max are kept the same object. Only the double values changed. public Box3d Set(box3d src) Parameters src box3d src Returns Box3d this Set(double, double, double, double, double, double) Sets the box coordinates to the specified values. public Box3d Set(double minx, double miny, double minz, double maxx, double maxy, double maxz) Parameters minx double Minimum X coordinate miny double Minimum Y coordinate minz double Minimum Z coordinate maxx double Maximum X coordinate maxy double Maximum Y coordinate maxz double Maximum Z coordinate Returns Box3d This box after modification SetToTransformedBoundingBox(Mat4d) Set the box to the bounding box of the matrix-transformed box. public Box3d SetToTransformedBoundingBox(Mat4d mat) Parameters mat Mat4d matrix Returns Box3d this ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. ToString(string, IFormatProvider) Returns a string representation of the box formatted according to the specified format. public string ToString(string format, IFormatProvider formatProvider) Parameters format string The format to use for each component formatProvider IFormatProvider The format provider to use Returns string A formatted string representation of the box Translate(Vec3d) Translate the box. public Box3d Translate(Vec3d vec) Parameters vec Vec3d translation vector Returns Box3d this WriteBin(BinaryWriter) Writes box data to a binary writer. public void WriteBin(BinaryWriter writer) Parameters writer BinaryWriter Binary writer to write the box data to" + "summary": "Class Box3d Namespace Hi.Geom Assembly HiGeom.dll Lightweight 3d box. An orthogonal box which the edges are all parallel with Cartesian Coordinate. The data contains in a Box3d is Min and Max. public class Box3d : IExpandToBox3d, IEquatable, IStlSource, IGetStl, IMakeXmlSource, IBinaryIo, IWriteBin, IDuplicate, IFormattable Inheritance object Box3d Implements IExpandToBox3d IEquatable IStlSource IGetStl IMakeXmlSource IBinaryIo IWriteBin IDuplicate IFormattable Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods BinIoUtil.ToBytes(IWriteBin) XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) GeomUtil.ExpandToBox3d(IExpandToBox3d, Mat4d, Box3d) GeomUtil.GetBox3d(IExpandToBox3d) PairZrUtil.GetZrList(IGetStl) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors Box3d() Ctor. public Box3d() Box3d(NoInit) Ctor. The Ctor keeps Min and Max to null. public Box3d(Box3d.NoInit noInit) Parameters noInit Box3d.NoInit Box3d(params IExpandToBox3d[]) Creates a box that encompasses all the provided expandable objects. public Box3d(params IExpandToBox3d[] src) Parameters src IExpandToBox3d[] Array of objects that can expand to a box Box3d(Vec3d, Vec3d) Ctor. public Box3d(Vec3d min, Vec3d max) Parameters min Vec3d Min max Vec3d Max Box3d(box3d) Ctor. public Box3d(box3d src) Parameters src box3d src Box3d(IEnumerable) Creates a box that encompasses all the provided expandable objects. public Box3d(IEnumerable src) Parameters src IEnumerable Collection of objects that can expand to a box Box3d(double, double, double, double, double, double) Creates a box with the specified minimum and maximum coordinates. public Box3d(double minx, double miny, double minz, double maxx, double maxy, double maxz) Parameters minx double Minimum X coordinate miny double Minimum Y coordinate minz double Minimum Z coordinate maxx double Maximum X coordinate maxy double Maximum Y coordinate maxz double Maximum Z coordinate Box3d(BinaryReader) Creates a box from binary data. public Box3d(BinaryReader reader) Parameters reader BinaryReader Binary reader to read the box data from Box3d(XElement) Ctor. public Box3d(XElement src) Parameters src XElement XML Properties BottomCenter Center of the bottom surface. public Vec3d BottomCenter { get; } Property Value Vec3d BottomView Gets a transformation matrix for viewing the box from the bottom. public Mat4d BottomView { get; } Property Value Mat4d Center Center public Vec3d Center { get; } Property Value Vec3d CenterUnitBox Generate a center unit box which min~max is (-0.5,-0.5,-0.5)~(0.5,0.5,0.5). public static Box3d CenterUnitBox { get; } Property Value Box3d DiagonalLength Diagonal length. public double DiagonalLength { get; } Property Value double Dim Dimension. public Vec3d Dim { get; } Property Value Vec3d FrontView Gets a transformation matrix for viewing the box from the front. public Mat4d FrontView { get; } Property Value Mat4d HasVolume Checks if the box has a positive volume (all dimensions are greater than zero). public bool HasVolume { get; } Property Value bool InfiniteBox Generate a infinite box which min~max is (-∞,-∞,-∞)~(∞,∞,∞). public static Box3d InfiniteBox { get; } Property Value Box3d IsAllNaN True if all components of Min and Max are NaN. public bool IsAllNaN { get; } Property Value bool IsFinite True if the box is finite. public bool IsFinite { get; } Property Value bool IsReversedPoleBox True if the box is ReversedPoleBox public bool IsReversedPoleBox { get; } Property Value bool IsometricView Gets a transformation matrix for viewing the box from an isometric perspective. public Mat4d IsometricView { get; } Property Value Mat4d LeftSideView Gets a transformation matrix for viewing the box from the left side. public Mat4d LeftSideView { get; } Property Value Mat4d Max Maximum point of the box. public Vec3d Max { get; set; } Property Value Vec3d Min Minimum point of the box. public Vec3d Min { get; set; } Property Value Vec3d NaN Generate a nan box which min~max is (nan,nan,nan)~(nan,nan,nan). public static Box3d NaN { get; } Property Value Box3d NativeByteSize Gets the native byte size of a Box3d (2 Vec3d objects). public static int NativeByteSize { get; } Property Value int RearView Gets a transformation matrix for viewing the box from the rear. public Mat4d RearView { get; } Property Value Mat4d ReversedPoleBox Generate a reversed pole box which min~max is (∞,∞,∞)~(-∞,-∞,-∞). public static Box3d ReversedPoleBox { get; } Property Value Box3d RightSideView Gets a transformation matrix for viewing the box from the right side. public Mat4d RightSideView { get; } Property Value Mat4d TopCenter Center of the top surface. public Vec3d TopCenter { get; } Property Value Vec3d TopView Gets a transformation matrix for viewing the box from the top. public Mat4d TopView { get; } Property Value Mat4d UnitBox Generate a unit box which min~max is (0,0,0)~(1,1,1). public static Box3d UnitBox { get; } Property Value Box3d Volume Gets the volume of the box. public double Volume { get; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string ZeroBox Generate a zero box which min~max is (0,0,0)~(0,0,0). public static Box3d ZeroBox { get; } Property Value Box3d Methods ApexAt(int) Get Apex at the box. public Vec3d ApexAt(int index) Parameters index int index 0~7. all of 8 apex. Returns Vec3d Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object Equals(Box3d) Indicates whether the current object is equal to another object of the same type. public bool Equals(Box3d other) Parameters other Box3d An object to compare with this object. Returns bool true if the current object is equal to the other parameter; otherwise, false. Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. Expand(Box3d) Expands this box to include another box. public Box3d Expand(Box3d src) Parameters src Box3d The box to include Returns Box3d This box after expansion Expand(Vec3d) Expands the box to include the specified point. public Box3d Expand(Vec3d p) Parameters p Vec3d Point to include in the box Returns Box3d This box after expansion Expand(IEnumerable) Expands the box to include all specified points. public Box3d Expand(IEnumerable ps) Parameters ps IEnumerable The points to include in the box. Returns Box3d This box after expansion. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. GetStl() Generate Stl. public Stl GetStl() Returns Stl stl GetTransformedBoundingBox(Mat4d) Get the bounding box of the transformed box. public Box3d GetTransformedBoundingBox(Mat4d mat) Parameters mat Mat4d matrix Returns Box3d GetTris(ICollection) Generates triangles representing the box's surfaces. public int GetTris(ICollection dst) Parameters dst ICollection Collection to add the triangles to Returns int The number of triangles added (12) IsOverlapped(Box3d) Is the box overlapped to otherBox. public bool IsOverlapped(Box3d otherBox) Parameters otherBox Box3d other box Returns bool is overlapped MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. MemberAt(int) Get member at the location. public Vec3d MemberAt(int iter) Parameters iter int iterator Returns Vec3d Minif iter is 0; otherwise, return Max ReadBin(BinaryReader) Reads box data from a binary reader. public void ReadBin(BinaryReader reader) Parameters reader BinaryReader Binary reader to read the box data from ScaleFromCenter(double) Scales the box from its center point. public Box3d ScaleFromCenter(double s) Parameters s double Scale factor Returns Box3d This box after scaling Set(Box3d) Copy the src. The Min and Max are kept the same object. Only the double values changed. public Box3d Set(Box3d src) Parameters src Box3d src Returns Box3d this Set(box3d) Copy the src. The Min and Max are kept the same object. Only the double values changed. public Box3d Set(box3d src) Parameters src box3d src Returns Box3d this Set(double, double, double, double, double, double) Sets the box coordinates to the specified values. public Box3d Set(double minx, double miny, double minz, double maxx, double maxy, double maxz) Parameters minx double Minimum X coordinate miny double Minimum Y coordinate minz double Minimum Z coordinate maxx double Maximum X coordinate maxy double Maximum Y coordinate maxz double Maximum Z coordinate Returns Box3d This box after modification SetToTransformedBoundingBox(Mat4d) Set the box to the bounding box of the matrix-transformed box. public Box3d SetToTransformedBoundingBox(Mat4d mat) Parameters mat Mat4d matrix Returns Box3d this ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. ToString(string, IFormatProvider) Returns a string representation of the box formatted according to the specified format. public string ToString(string format, IFormatProvider formatProvider) Parameters format string The format to use for each component formatProvider IFormatProvider The format provider to use Returns string A formatted string representation of the box Translate(Vec3d) Translate the box. public Box3d Translate(Vec3d vec) Parameters vec Vec3d translation vector Returns Box3d this WriteBin(BinaryWriter) Writes box data to a binary writer. public void WriteBin(BinaryWriter writer) Parameters writer BinaryWriter Binary writer to write the box data to" }, "api/Hi.Geom.Cylindroid.html": { "href": "api/Hi.Geom.Cylindroid.html", @@ -1927,12 +1927,12 @@ "api/Hi.MachiningProcs.MachiningProject.html": { "href": "api/Hi.MachiningProcs.MachiningProject.html", "title": "Class MachiningProject | HiAPI-C# 2025", - "summary": "Class MachiningProject Namespace Hi.MachiningProcs Assembly HiNc.dll Represents a milling project that manages the execution, simulation, and analysis of NC programs. public class MachiningProject : IDisposable, IMachiningStepHost, IGetMachiningEquipment, IMakeXmlSource, IMachiningProjectGetter Inheritance object MachiningProject Implements IDisposable IMachiningStepHost IGetMachiningEquipment IMakeXmlSource IMachiningProjectGetter Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningProject(string) Initializes a new instance of the MachiningProject class with the specified directory. Uses the default MongoDB connection. public MachiningProject(string baseDirectory) Parameters baseDirectory string Base directory for file operations MachiningProject(string, MongoClient) Initializes a new instance of the MachiningProject class with the specified directory and MongoDB client. public MachiningProject(string baseDirectory, MongoClient mongoClient) Parameters baseDirectory string Base directory for file operations mongoClient MongoClient MongoDB client instance MachiningProject(XElement, string) Initializes a new instance of the MachiningProject class from XML data using MongoDB. public MachiningProject(XElement src, string baseDirectory) Parameters src XElement XML element containing configuration data baseDirectory string Base directory for resolving relative paths MachiningProject(XElement, string, MongoClient) Initializes a new instance of the MachiningProject class from XML data. public MachiningProject(XElement src, string baseDirectory, MongoClient mongoClient) Parameters src XElement XML element containing configuration data baseDirectory string Base directory for resolving relative paths mongoClient MongoClient MongoDB client instance Properties ApiVersion Gets the API version from the entry assembly. public static Version ApiVersion { get; } Property Value Version BaseDirectory Gets the base directory where project files are located. public string BaseDirectory { get; } Property Value string BoundSelectorHost Gets the bound selector host for managing selection boundaries. public BoundSelectorHost BoundSelectorHost { get; } Property Value BoundSelectorHost ClStrip Gets the cutter location strip. public ClStrip ClStrip { get; } Property Value ClStrip CoordinateEntryDisplayee Gets the displayee for coordinate entry visualization. public CoordinateEntryDisplayee CoordinateEntryDisplayee { get; } Property Value CoordinateEntryDisplayee DictionaryColorGuide Gets the color guide for dictionary-based coloring. public DictionaryColorGuide DictionaryColorGuide { get; } Property Value DictionaryColorGuide EnableCollisionDetection Gets or sets whether collision detection is enabled. When set to true, initializes collision detection mechanism. public bool EnableCollisionDetection { get; set; } Property Value bool EnablePauseOnFailure Enable Pause On Failure Detected. Only take effect if the EnableCollisionDetection or EnableStrokeLimitCheck is enabled. public bool EnablePauseOnFailure { get; set; } Property Value bool EnableStrokeLimitCheck Gets or sets whether stroke limit checking is enabled. public bool EnableStrokeLimitCheck { get; set; } Property Value bool Global global variable for RuntimeApi. Not save on XML. public Dictionary Global { get; set; } Property Value Dictionary InspectingKey Gets or sets the current inspecting key for visualization. When set, updates the inspecting quantity function. public string InspectingKey { get; set; } Property Value string InspectingQuantityFunc Gets the function that retrieves the quantity value for the current inspecting key. public Func InspectingQuantityFunc { get; } Property Value Func MachiningActRunner Gets the machining act runner responsible for executing machining operations. public MachiningActRunner MachiningActRunner { get; } Property Value MachiningActRunner MachiningEquipment Gets or sets the machining equipment used for milling. Updates related components when changed. public MachiningEquipment MachiningEquipment { get; set; } Property Value MachiningEquipment MachiningSession Gets or sets the current machining session. public MachiningSession MachiningSession { get; set; } Property Value MachiningSession MachiningToolHouse Gets or sets the milling tool house containing available tools. public MachiningToolHouse MachiningToolHouse { get; set; } Property Value MachiningToolHouse MachiningToolHouseFile Gets or sets the file path to the milling tool house configuration. public string MachiningToolHouseFile { get; set; } Property Value string MillingActRunnerConfig Gets or sets the configuration for the milling act runner. public MillingActRunnerConfig MillingActRunnerConfig { get; set; } Property Value MillingActRunnerConfig MillingGuide Gets or sets the milling guide containing visualization and analysis configurations. public MillingGuide MillingGuide { get; set; } Property Value MillingGuide MillingStepLuggageReader Gets the reader for accessing milling step luggage data. public ParallelBulkReader MillingStepLuggageReader { get; } Property Value ParallelBulkReader NcEnv Gets the NC environment from the NC runner. public NcEnv NcEnv { get; } Property Value NcEnv NcOptOptionDictionary Gets or sets the dictionary of NC optimization options. public Dictionary NcOptOptionDictionary { get; set; } Property Value Dictionary NcOptProc Gets the NC optimization processor for optimizing NC programs. public NcOptProc NcOptProc { get; } Property Value NcOptProc NcRunner Gets the NC runner responsible for executing NC programs. public NcRunner NcRunner { get; } Property Value NcRunner PacePlayer Gets the pace player for controlling execution pace of milling operations. public PacePlayer PacePlayer { get; } Property Value PacePlayer PlayerCommand Gets the command to execute when playing the machining project. public IShellCommand PlayerCommand { get; set; } Property Value IShellCommand Progress Gets the progress reporting mechanism for long-running operations. public Progress Progress { get; } Property Value Progress RuntimeApi Gets the shell API for interacting with this machining process. public RuntimeApi RuntimeApi { get; } Property Value RuntimeApi SessionMessageHost Gets the message host for displaying messages, warnings, and errors. public SessionMessageHost SessionMessageHost { get; } Property Value SessionMessageHost StepPropertyAccessDictionary Gets the dictionary mapping property keys to their access methods. public ConcurrentDictionary> StepPropertyAccessDictionary { get; } Property Value ConcurrentDictionary> TimeMapping Gets or sets the time mapping for synchronizing different time-based data streams. Creates a new time mapping if one doesn't exist. public TimeMapping TimeMapping { get; set; } Property Value TimeMapping Workpiece Gets or sets the workpiece to be machined. Ensures proper initialization of workpiece properties. public Workpiece Workpiece { get; set; } Property Value Workpiece XName Name for XML IO. public static string XName { get; } Property Value string Methods Act(IAct, IIndexedFileLine, CancellationToken?) Executes an act and collects all results. public void Act(IAct act, IIndexedFileLine sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct The act to execute. sourceCommand IIndexedFileLine The source command that triggered the act. cancellationToken CancellationToken? Cancellation token to cancel the operation. BeginSession() Initiate a simulation session. Clear the state from previous session (if existed). public void BeginSession() Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool EndSession() Ends the current machining session and releases associated resources. public void EndSession() GetInspectingKeyPresentName(StringLocalizer) Gets the localized presentation name for the current inspecting key. public string GetInspectingKeyPresentName(StringLocalizer stringLocalizer) Parameters stringLocalizer StringLocalizer The string localizer to use for localization Returns string The localized presentation name GetMachiningProject() Gets the MachiningProject instance. public MachiningProject GetMachiningProject() Returns MachiningProject The MachiningProject instance. GetMillingEquipment() Get MachiningEquipment. public MachiningEquipment GetMillingEquipment() Returns MachiningEquipment MachiningEquipment LoadFile(string) Loads a machining project from the specified file path. public static MachiningProject LoadFile(string projectFilePath) Parameters projectFilePath string Path to the project file to load Returns MachiningProject A new machining project instance loaded from the file MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. PlayCsvFile(string, string) public void PlayCsvFile(string baseDirectory, string relFilePath) Parameters baseDirectory string relFilePath string PlayNc(string, string) Plays NC commands from raw text with pace control. public void PlayNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string The NC command text to execute fileNameAlternative string Alternative name to associate with the NC program PlayNcFile(string, string) Plays an NC file from the specified path with pace control. public void PlayNcFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths relFilePath string Relative path to the NC file ProcAct(IAct, IIndexedFileLine, CancellationToken?) Processes an act and returns the results. public IEnumerable ProcAct(IAct act, IIndexedFileLine sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct The act to process. sourceCommand IIndexedFileLine The source command that triggered the act. cancellationToken CancellationToken? Cancellation token to cancel the operation. Returns IEnumerable Enumerable of results from processing the act. ReTrainMillingPara(SampleFlag, double, string, CancellationToken) Train Milling Parameter. public void ReTrainMillingPara(SampleFlag sampleFlags, double outlierRatio, string dstRelFile, CancellationToken cancellationToken) Parameters sampleFlags SampleFlag outlierRatio double dstRelFile string cancellationToken CancellationToken RefreshDrawing() Refreshes the visual display of the milling course. public void RefreshDrawing() ResetRuntime() Reset the runtime states including: runtime geometry, collision flags, machine tool position, CL strips, message buffer and etc.. public void ResetRuntime() RunCsvFile(string, string) public IEnumerable RunCsvFile(string baseDirectory, string relFilePath) Parameters baseDirectory string relFilePath string Returns IEnumerable RunNc(string, string) Runs NC commands from raw text. public IEnumerable RunNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string The NC command text to execute fileNameAlternative string Alternative name to associate with the NC program Returns IEnumerable An enumerable of actions to be executed RunNcFile(string, string) Runs an NC file from the specified path. public IEnumerable RunNcFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths. If the value is null, BaseDirectory substitudes the value. relFilePath string Returns IEnumerable An enumerable of actions to be executed ShowMessageBoard(string, string, BootstrapTheme) Shows a message board with the specified title, message, and theme. public void ShowMessageBoard(string title, string message, BootstrapTheme bootstrapThemeColor) Parameters title string The title of the message board message string The message to display bootstrapThemeColor BootstrapTheme The theme color for the message board TrainMillingPara(SampleFlag, bool, double, string, CancellationToken, ICuttingPara) Train Milling Parameter. public void TrainMillingPara(SampleFlag sampleFlags, bool enableFzOnlyDuringDrilling, double outlierRatio, string dstRelFile, CancellationToken cancellationToken, ICuttingPara paraTemplate) Parameters sampleFlags SampleFlag enableFzOnlyDuringDrilling bool outlierRatio double dstRelFile string cancellationToken CancellationToken paraTemplate ICuttingPara UpdateIdealMillingToolOffsetTableByToolHouse() Updates the ideal milling tool offset table based on the current tool house configuration. public void UpdateIdealMillingToolOffsetTableByToolHouse() WriteShotFile(TimeSpan, string) Writes time-based shot data to a file with the specified sampling period. public void WriteShotFile(TimeSpan samplingPeriod, string relFileTemplate = \"Output/[NcName].shot.csv\") Parameters samplingPeriod TimeSpan The time period between samples relFileTemplate string Template for the output file path, can include [NcName] placeholder WriteStepFile(string) Writes step-based data to a file. public void WriteStepFile(string relFileTemplate = \"Output/[NcName].step.csv\") Parameters relFileTemplate string Template for the output file path, can include [NcName] placeholder Events OnRanNcBlock Event triggered after an NC block is executed. public event Action OnRanNcBlock Event Type Action OnShownMessageBoard Event that is triggered when a message board is shown. public event ShowMessageBoardDelegate OnShownMessageBoard Event Type ShowMessageBoardDelegate OnUpdatedInspectingQuantityFunc Event triggered when the inspecting quantity function is updated. public event Action OnUpdatedInspectingQuantityFunc Event Type Action" + "summary": "Class MachiningProject Namespace Hi.MachiningProcs Assembly HiNc.dll Represents a milling project that manages the execution, simulation, and analysis of NC programs. public class MachiningProject : IDisposable, IMachiningStepHost, IGetMachiningEquipment, IMakeXmlSource, IMachiningProjectGetter Inheritance object MachiningProject Implements IDisposable IMachiningStepHost IGetMachiningEquipment IMakeXmlSource IMachiningProjectGetter Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningProject(string) Initializes a new instance of the MachiningProject class with the specified directory. Uses the default MongoDB connection. public MachiningProject(string baseDirectory) Parameters baseDirectory string Base directory for file operations MachiningProject(string, MongoClient) Initializes a new instance of the MachiningProject class with the specified directory and MongoDB client. public MachiningProject(string baseDirectory, MongoClient mongoClient) Parameters baseDirectory string Base directory for file operations mongoClient MongoClient MongoDB client instance MachiningProject(XElement, string) Initializes a new instance of the MachiningProject class from XML data using MongoDB. public MachiningProject(XElement src, string baseDirectory) Parameters src XElement XML element containing configuration data baseDirectory string Base directory for resolving relative paths MachiningProject(XElement, string, MongoClient) Initializes a new instance of the MachiningProject class from XML data. public MachiningProject(XElement src, string baseDirectory, MongoClient mongoClient) Parameters src XElement XML element containing configuration data baseDirectory string Base directory for resolving relative paths mongoClient MongoClient MongoDB client instance Properties ApiVersion Gets the API version from the entry assembly. public static Version ApiVersion { get; } Property Value Version BaseDirectory Gets the base directory where project files are located. public string BaseDirectory { get; } Property Value string BoundSelectorHost Gets the bound selector host for managing selection boundaries. public BoundSelectorHost BoundSelectorHost { get; } Property Value BoundSelectorHost ClStrip Gets the cutter location strip. public ClStrip ClStrip { get; } Property Value ClStrip CoordinateEntryDisplayee Gets the displayee for coordinate entry visualization. public CoordinateEntryDisplayee CoordinateEntryDisplayee { get; } Property Value CoordinateEntryDisplayee DictionaryColorGuide Gets the color guide for dictionary-based coloring. public DictionaryColorGuide DictionaryColorGuide { get; } Property Value DictionaryColorGuide EnableCollisionDetection Gets or sets whether collision detection is enabled. When set to true, initializes collision detection mechanism. public bool EnableCollisionDetection { get; set; } Property Value bool EnablePauseOnFailure Enable Pause On Failure Detected. Only take effect if the EnableCollisionDetection or EnableStrokeLimitCheck is enabled. public bool EnablePauseOnFailure { get; set; } Property Value bool EnableStrokeLimitCheck Gets or sets whether stroke limit checking is enabled. public bool EnableStrokeLimitCheck { get; set; } Property Value bool Global global variable for RuntimeApi. Not save on XML. public Dictionary Global { get; set; } Property Value Dictionary InspectingKey Gets or sets the current inspecting key for visualization. When set, updates the inspecting quantity function. public string InspectingKey { get; set; } Property Value string InspectingQuantityFunc Gets the function that retrieves the quantity value for the current inspecting key. public Func InspectingQuantityFunc { get; } Property Value Func MachiningActRunner Gets the machining act runner responsible for executing machining operations. public MachiningActRunner MachiningActRunner { get; } Property Value MachiningActRunner MachiningEquipment Gets or sets the machining equipment used for milling. Updates related components when changed. public MachiningEquipment MachiningEquipment { get; set; } Property Value MachiningEquipment MachiningSession Gets or sets the current machining session. public MachiningSession MachiningSession { get; set; } Property Value MachiningSession MachiningToolHouse Gets or sets the milling tool house containing available tools. public MachiningToolHouse MachiningToolHouse { get; set; } Property Value MachiningToolHouse MachiningToolHouseFile Gets or sets the file path to the milling tool house configuration. public string MachiningToolHouseFile { get; set; } Property Value string MillingActRunnerConfig Gets or sets the configuration for the milling act runner. public MillingActRunnerConfig MillingActRunnerConfig { get; set; } Property Value MillingActRunnerConfig MillingGuide Gets or sets the milling guide containing visualization and analysis configurations. public MillingGuide MillingGuide { get; set; } Property Value MillingGuide MillingStepLuggageReader Gets the reader for accessing milling step luggage data. public ParallelBulkReader MillingStepLuggageReader { get; } Property Value ParallelBulkReader NcEnv Gets the NC environment from the NC runner. public NcEnv NcEnv { get; } Property Value NcEnv NcOptOptionDictionary Gets or sets the dictionary of NC optimization options. public Dictionary NcOptOptionDictionary { get; set; } Property Value Dictionary NcOptProc Gets the NC optimization processor for optimizing NC programs. public NcOptProc NcOptProc { get; } Property Value NcOptProc NcRunner Gets the NC runner responsible for executing NC programs. public NcRunner NcRunner { get; } Property Value NcRunner PacePlayer Gets the pace player for controlling execution pace of milling operations. public PacePlayer PacePlayer { get; } Property Value PacePlayer PlayerCommand Gets the command to execute when playing the machining project. public IShellCommand PlayerCommand { get; set; } Property Value IShellCommand Progress Gets the progress reporting mechanism for long-running operations. public Progress Progress { get; } Property Value Progress RuntimeApi Gets the shell API for interacting with this machining process. public RuntimeApi RuntimeApi { get; } Property Value RuntimeApi SessionMessageHost Gets the message host for displaying messages, warnings, and errors. public SessionMessageHost SessionMessageHost { get; } Property Value SessionMessageHost StepPropertyAccessDictionary Gets the dictionary mapping property keys to their access methods. public ConcurrentDictionary> StepPropertyAccessDictionary { get; } Property Value ConcurrentDictionary> TimeMapping Gets or sets the time mapping for synchronizing different time-based data streams. Creates a new time mapping if one doesn't exist. public TimeMapping TimeMapping { get; set; } Property Value TimeMapping Workpiece Gets or sets the workpiece to be machined. Ensures proper initialization of workpiece properties. public Workpiece Workpiece { get; set; } Property Value Workpiece XName Name for XML IO. public static string XName { get; } Property Value string Methods Act(IAct, IIndexedFileLine, CancellationToken?) Executes an act and collects all results. public void Act(IAct act, IIndexedFileLine sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct The act to execute. sourceCommand IIndexedFileLine The source command that triggered the act. cancellationToken CancellationToken? Cancellation token to cancel the operation. BeginSession() Initiate a simulation session. Clear the state from previous session (if existed). public void BeginSession() Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool EndSession() Ends the current machining session and releases associated resources. public void EndSession() GetInspectingKeyPresentName(StringLocalizer) Gets the localized presentation name for the current inspecting key. public string GetInspectingKeyPresentName(StringLocalizer stringLocalizer) Parameters stringLocalizer StringLocalizer The string localizer to use for localization Returns string The localized presentation name GetMachiningProject() Gets the MachiningProject instance. public MachiningProject GetMachiningProject() Returns MachiningProject The MachiningProject instance. GetMillingEquipment() Get MachiningEquipment. public MachiningEquipment GetMillingEquipment() Returns MachiningEquipment MachiningEquipment LoadFile(string) Loads a machining project from the specified file path. public static MachiningProject LoadFile(string projectFilePath) Parameters projectFilePath string Path to the project file to load Returns MachiningProject A new machining project instance loaded from the file MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. PlayCsvFile(string, string) Plays a CSV file from the specified path. public void PlayCsvFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths. relFilePath string Relative path to the CSV file. PlayNc(string, string) Plays NC commands from raw text with pace control. public void PlayNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string The NC command text to execute fileNameAlternative string Alternative name to associate with the NC program PlayNcFile(string, string) Plays an NC file from the specified path with pace control. public void PlayNcFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths relFilePath string Relative path to the NC file ProcAct(IAct, IIndexedFileLine, CancellationToken?) Processes an act and returns the results. public IEnumerable ProcAct(IAct act, IIndexedFileLine sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct The act to process. sourceCommand IIndexedFileLine The source command that triggered the act. cancellationToken CancellationToken? Cancellation token to cancel the operation. Returns IEnumerable Enumerable of results from processing the act. ReTrainMillingPara(SampleFlag, double, string, CancellationToken) Train Milling Parameter. public void ReTrainMillingPara(SampleFlag sampleFlags, double outlierRatio, string dstRelFile, CancellationToken cancellationToken) Parameters sampleFlags SampleFlag outlierRatio double dstRelFile string cancellationToken CancellationToken RefreshDrawing() Refreshes the visual display of the milling course. public void RefreshDrawing() ResetRuntime() Reset the runtime states including: runtime geometry, collision flags, machine tool position, CL strips, message buffer and etc.. public void ResetRuntime() RunCsvFile(string, string) Runs a CSV file from the specified path. public IEnumerable RunCsvFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths. relFilePath string Relative path to the CSV file. Returns IEnumerable An enumerable of actions to be executed. RunNc(string, string) Runs NC commands from raw text. public IEnumerable RunNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string The NC command text to execute fileNameAlternative string Alternative name to associate with the NC program Returns IEnumerable An enumerable of actions to be executed RunNcFile(string, string) Runs an NC file from the specified path. public IEnumerable RunNcFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths. If the value is null, BaseDirectory substitutes the value. relFilePath string Relative path to the NC file. Returns IEnumerable An enumerable of actions to be executed. ShowMessageBoard(string, string, BootstrapTheme) Shows a message board with the specified title, message, and theme. public void ShowMessageBoard(string title, string message, BootstrapTheme bootstrapThemeColor) Parameters title string The title of the message board message string The message to display bootstrapThemeColor BootstrapTheme The theme color for the message board TrainMillingPara(SampleFlag, bool, double, string, CancellationToken, ICuttingPara) Train Milling Parameter. public void TrainMillingPara(SampleFlag sampleFlags, bool enableFzOnlyDuringDrilling, double outlierRatio, string dstRelFile, CancellationToken cancellationToken, ICuttingPara paraTemplate) Parameters sampleFlags SampleFlag enableFzOnlyDuringDrilling bool outlierRatio double dstRelFile string cancellationToken CancellationToken paraTemplate ICuttingPara UpdateIdealMillingToolOffsetTableByToolHouse() Updates the ideal milling tool offset table based on the current tool house configuration. public void UpdateIdealMillingToolOffsetTableByToolHouse() WriteShotFile(TimeSpan, string) Writes time-based shot data to a file with the specified sampling period. public void WriteShotFile(TimeSpan samplingPeriod, string relFileTemplate = \"Output/[NcName].shot.csv\") Parameters samplingPeriod TimeSpan The time period between samples relFileTemplate string Template for the output file path, can include [NcName] placeholder WriteStepFile(string) Writes step-based data to a file. public void WriteStepFile(string relFileTemplate = \"Output/[NcName].step.csv\") Parameters relFileTemplate string Template for the output file path, can include [NcName] placeholder Events OnRanNcBlock Event triggered after an NC block is executed. public event Action OnRanNcBlock Event Type Action OnShownMessageBoard Event that is triggered when a message board is shown. public event ShowMessageBoardDelegate OnShownMessageBoard Event Type ShowMessageBoardDelegate OnUpdatedInspectingQuantityFunc Event triggered when the inspecting quantity function is updated. public event Action OnUpdatedInspectingQuantityFunc Event Type Action" }, "api/Hi.MachiningProcs.MachiningProjectDisplayee.html": { "href": "api/Hi.MachiningProcs.MachiningProjectDisplayee.html", "title": "Class MachiningProjectDisplayee | HiAPI-C# 2025", - "summary": "Class MachiningProjectDisplayee Namespace Hi.MachiningProcs Assembly HiNc.dll Represents a displayable wrapper for a machining project. public class MachiningProjectDisplayee : IDisplayee, IExpandToBox3d, IGetAnchor, IGetTopoIndex Inheritance object MachiningProjectDisplayee Implements IDisplayee IExpandToBox3d IGetAnchor IGetTopoIndex Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningProjectDisplayee(MachiningProject, BitArray) Initializes a new instance of the MachiningProjectDisplayee class. public MachiningProjectDisplayee(MachiningProject machiningProject, BitArray renderingFlagBitArray) Parameters machiningProject MachiningProject renderingFlagBitArray BitArray MachiningProjectDisplayee(Func) Initializes a new instance of the MachiningProjectDisplayee class with default rendering flags. public MachiningProjectDisplayee(Func machiningProjectGetter) Parameters machiningProjectGetter Func Properties HeidenhainCoordinateEntryDisplayee Gets the Heidenhain coordinate entry displayee for Heidenhain-based coordinate systems. public HeidenhainCoordinateEntryDisplayee HeidenhainCoordinateEntryDisplayee { get; } Property Value HeidenhainCoordinateEntryDisplayee IsoCoordinateEntryDisplayee Gets the ISO coordinate entry displayee for ISO-based coordinate systems. public IsoCoordinateEntryDisplayee IsoCoordinateEntryDisplayee { get; } Property Value IsoCoordinateEntryDisplayee MachiningProject Gets the current milling course from the host function. public MachiningProject MachiningProject { get; } Property Value MachiningProject MachiningProjectGetter public Func MachiningProjectGetter { get; set; } Property Value Func RenderingFlagBitArray Gets or sets the bit array that controls which elements are rendered. public BitArray RenderingFlagBitArray { get; set; } Property Value BitArray Methods Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor" + "summary": "Class MachiningProjectDisplayee Namespace Hi.MachiningProcs Assembly HiNc.dll Represents a displayable wrapper for a machining project. public class MachiningProjectDisplayee : IDisplayee, IExpandToBox3d, IGetAnchor, IGetTopoIndex Inheritance object MachiningProjectDisplayee Implements IDisplayee IExpandToBox3d IGetAnchor IGetTopoIndex Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningProjectDisplayee(MachiningProject, BitArray) Initializes a new instance of the MachiningProjectDisplayee class. public MachiningProjectDisplayee(MachiningProject machiningProject, BitArray renderingFlagBitArray) Parameters machiningProject MachiningProject The machining project to display. renderingFlagBitArray BitArray The bit array controlling rendering flags. MachiningProjectDisplayee(Func) Initializes a new instance of the MachiningProjectDisplayee class with default rendering flags. public MachiningProjectDisplayee(Func machiningProjectGetter) Parameters machiningProjectGetter Func The function that provides the machining project. Properties HeidenhainCoordinateEntryDisplayee Gets the Heidenhain coordinate entry displayee for Heidenhain-based coordinate systems. public HeidenhainCoordinateEntryDisplayee HeidenhainCoordinateEntryDisplayee { get; } Property Value HeidenhainCoordinateEntryDisplayee IsoCoordinateEntryDisplayee Gets the ISO coordinate entry displayee for ISO-based coordinate systems. public IsoCoordinateEntryDisplayee IsoCoordinateEntryDisplayee { get; } Property Value IsoCoordinateEntryDisplayee MachiningProject Gets the current milling course from the host function. public MachiningProject MachiningProject { get; } Property Value MachiningProject MachiningProjectGetter Gets or sets the function that provides the machining project. public Func MachiningProjectGetter { get; set; } Property Value Func RenderingFlagBitArray Gets or sets the bit array that controls which elements are rendered. public BitArray RenderingFlagBitArray { get; set; } Property Value BitArray Methods Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor" }, "api/Hi.MachiningProcs.MachiningSession.html": { "href": "api/Hi.MachiningProcs.MachiningSession.html", @@ -1962,7 +1962,7 @@ "api/Hi.MachiningProcs.RuntimeApi.html": { "href": "api/Hi.MachiningProcs.RuntimeApi.html", "title": "Class RuntimeApi | HiAPI-C# 2025", - "summary": "Class RuntimeApi Namespace Hi.MachiningProcs Assembly HiNc.dll Runtime API for machining operations. public class RuntimeApi : ICsScriptApi Inheritance object RuntimeApi Implements ICsScriptApi Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Properties DefaultParaTemplateDimension Gets or sets the parameter template dimension (2D or 3D). [JsAce] public int DefaultParaTemplateDimension { get; set; } Property Value int DiffVisualRadius_mm Gets or sets the visual radius in millimeters for difference visualization. Controls the radius used for highlighting differences between workpiece states. [JsAce] public double DiffVisualRadius_mm { get; set; } Property Value double DispCacheMb Gets or sets the display cache size in megabytes. public long DispCacheMb { get; set; } Property Value long DispCache_Mb Gets or sets the display cache size in megabytes. [JsAce] public long DispCache_Mb { get; set; } Property Value long EmbeddedLogMode [JsAce] public static NcOptimizationEmbeddedLogMode EmbeddedLogMode { get; set; } Property Value NcOptimizationEmbeddedLogMode EnableAutoMapOnSelectionEnd Gets or sets whether to automatically map selections when they end. [JsAce] public bool EnableAutoMapOnSelectionEnd { get; set; } Property Value bool EnableCollisionDetection Gets or sets whether collision detection is enabled. [JsAce(DocContentHtml = \"Enable Collision Detection.\")] public bool EnableCollisionDetection { get; set; } Property Value bool EnableIndividualStepAdjustmentLog [JsAce] public static bool EnableIndividualStepAdjustmentLog { get; set; } Property Value bool EnablePauseOnCollision Obsoleted. Gets or sets whether to pause execution when a collision is detected. This property only has an effect if collision detection is enabled. public bool EnablePauseOnCollision { get; set; } Property Value bool EnablePauseOnFailure Gets or sets whether to pause on failure during execution. [JsAce(DocContentHtml = \"Enable Pause On Failure.\")] public bool EnablePauseOnFailure { get; set; } Property Value bool EnablePhysics Gets or sets whether milling force evaluation is enabled. [JsAce(DocContentHtml = \"Enable milling force evaluation.\")] public bool EnablePhysics { get; set; } Property Value bool EnableWearEffect Gets or sets whether tool wear effects are enabled in simulation. [JsAce] public bool EnableWearEffect { get; set; } Property Value bool FeedPerCycle Gets a new feed per cycle machining motion resolution instance. [JsAce] public FeedPerCycleMachiningMotionResolution FeedPerCycle { get; } Property Value FeedPerCycleMachiningMotionResolution FeedPerTooth Gets a new feed per tooth machining motion resolution instance. [JsAce] public FeedPerToothMachiningMotionResolution FeedPerTooth { get; } Property Value FeedPerToothMachiningMotionResolution Fixture [JsAce] public Fixture Fixture { get; set; } Property Value Fixture Global Global variables. [JsAce(\"Global[$1key]\")] public Dictionary Global { get; } Property Value Dictionary InitSpindleTemperature_C Gets or sets the initial spindle temperature in degrees Celsius. [JsAce(DocContentHtml = \"Spindle Temperature on initialization.\")] public double InitSpindleTemperature_C { get; set; } Property Value double JsAceCompletionProfileJsonArray Internal used. public static JsonArray JsAceCompletionProfileJsonArray { get; } Property Value JsonArray MachiningMotionResolution Gets or sets the machining motion resolution. [JsAce] public IMachiningMotionResolution MachiningMotionResolution { get; set; } Property Value IMachiningMotionResolution MachiningResolution Gets or sets the machining resolution in millimeters. For legacy compatable. [JsAce] [Obsolete] public double MachiningResolution { get; set; } Property Value double MachiningResolution_mm Gets or sets the machining resolution in millimeters. [JsAce] public double MachiningResolution_mm { get; set; } Property Value double MachiningSession public MachiningSession MachiningSession { get; } Property Value MachiningSession MapTask Task tracking the status of mapping operations. public Task MapTask { get; set; } Property Value Task MillingForceCycleDivisionNum Gets or sets the number of divisions per cycle for milling force calculation. This property should be set before milling force evaluation if TrainMillingPara(SampleFlag, string, double, ICuttingPara) is intended to be used. [JsAce] public static int MillingForceCycleDivisionNum { get; set; } Property Value int NcOptOption Gets or sets the NC optimization options. [JsAce] public NcOptOption NcOptOption { get; set; } Property Value NcOptOption OptEnableDepthCompensation Enables or disables depth compensation during optimization. [JsAce] public bool OptEnableDepthCompensation { get; set; } Property Value bool OptEnableFeedrate Gets or sets whether to enable feed rate optimization in NC optimization. [JsAce] public bool OptEnableFeedrate { get; set; } Property Value bool OptEnableForwardCompensation Enables or disables forward compensation during optimization. [JsAce] public bool OptEnableForwardCompensation { get; set; } Property Value bool OptEnableInterpolation Enables or disables reinterpolation for optimization. [JsAce] public bool OptEnableInterpolation { get; set; } Property Value bool OptEnableSideCompensation Enables or disables side compensation during optimization. [JsAce] public bool OptEnableSideCompensation { get; set; } Property Value bool OptExtendedPostDistance_mm Gets or sets the extended post-distance in millimeters for NC optimization. This is the distance after the current segment that will be considered for optimization. [JsAce] public double OptExtendedPostDistance_mm { get; set; } Property Value double OptExtendedPreDistance_mm Gets or sets the extended pre-distance in millimeters for NC optimization. This is the distance before the current segment that will be considered for optimization. [JsAce] public double OptExtendedPreDistance_mm { get; set; } Property Value double OptFeedrateAssignmentRatio Gets or sets the feedrate assignment ratio for optimization. If the feedrate change exceeds this ratio, the feedrate in the NC line will be updated. [JsAce] public double OptFeedrateAssignmentRatio { get; set; } Property Value double OptMaxAcceleration_mmds2 Maximum acceleration in mm/s² during optimization. Only takes effect on reinterpolated section. [JsAce(DocContentHtml = \"Only take effect on reinterpolated section.\")] public double OptMaxAcceleration_mmds2 { get; set; } Property Value double OptMaxFeedPerTooth_mm Gets or sets the maximum feed per tooth in millimeters for optimization. [JsAce] public double OptMaxFeedPerTooth_mm { get; set; } Property Value double OptMaxFeedrate_mmdmin Maximum feed rate in mm/min for cutting movements during optimization. [JsAce] public double OptMaxFeedrate_mmdmin { get; set; } Property Value double OptMaxJerk_mmds3 Maximum jerk in mm/s³ during optimization. Only takes effect on reinterpolated section. [JsAce(DocContentHtml = \"Only take effect on reinterpolated section.\")] public double OptMaxJerk_mmds3 { get; set; } Property Value double OptMinFeedPerTooth_mm Gets or sets the minimum feed per tooth in millimeters for optimization. [JsAce] public double OptMinFeedPerTooth_mm { get; set; } Property Value double OptMinFeedrate_mmdmin Minimum feed rate in mm/min for cutting movements during optimization. [JsAce] public double OptMinFeedrate_mmdmin { get; set; } Property Value double OptPreferedForce_N Preferred force in N for optimization. [JsAce] public double OptPreferedForce_N { get; set; } Property Value double OptRapidFeed_mmdmin Rapid feed rate in mm/min for non-cutting movements during optimization. [JsAce] public double OptRapidFeed_mmdmin { get; set; } Property Value double OptSpindlePowerSafetyFactor Safety factor for spindle power during optimization. [JsAce] public double OptSpindlePowerSafetyFactor { get; set; } Property Value double OptSpindlePowerUtilizationFactor Utilization factor for spindle power during optimization. It is the reciprocal of the spindle power safety factor. [JsAce] public double OptSpindlePowerUtilizationFactor { get; set; } Property Value double OptSpindleTorqueSafetyFactor [JsAce] public double OptSpindleTorqueSafetyFactor { get; set; } Property Value double OptSpindleTorqueUtilizationFactor Utilization factor for spindle torque during optimization. It is the reciprocal of the spindle torque safety factor. [JsAce] public double OptSpindleTorqueUtilizationFactor { get; set; } Property Value double OptThermalYieldSafetyFactor Safety factor for spindle torque during optimization. [JsAce] public double OptThermalYieldSafetyFactor { get; set; } Property Value double OptThermalYieldUtilizationFactor Utilization factor for thermal yield during optimization. It is the reciprocal of the thermal yield safety factor. [JsAce] public double OptThermalYieldUtilizationFactor { get; set; } Property Value double OptYieldingSafetyFactor Safety factor for yielding during optimization. [JsAce] public double OptYieldingSafetyFactor { get; set; } Property Value double OptYieldingUtilizationFactor Utilization factor for yielding during optimization. It is the reciprocal of the yielding safety factor. [JsAce] public double OptYieldingUtilizationFactor { get; set; } Property Value double ScriptOptions ScriptOptions. public ScriptOptions ScriptOptions { get; set; } Property Value ScriptOptions SessionMessageHost Gets the session message host for displaying messages. [JsAce] public SessionMessageHost SessionMessageHost { get; } Property Value SessionMessageHost StepCount Gets the total number of milling steps. [JsAce] public int StepCount { get; } Property Value int Workpiece [JsAce] public Workpiece Workpiece { get; set; } Property Value Workpiece Methods AddTimeDataByFile(string, string, double, double) Adds time-based data from a file to the time mapping dictionary with specified time bounds in seconds. [JsAce(\"AddTimeDataByFile($1key, $2relFile, $3beginTime, $4endTime)\")] public bool AddTimeDataByFile(string key, string relFile, double beginTime, double endTime) Parameters key string Key to identify the data relFile string Relative path to the data file beginTime double Beginning time in seconds endTime double Ending time in seconds Returns bool True if the data was successfully added, false otherwise AddTimeDataByFile(string, string, string, string) Adds time-based data from a file to the time mapping dictionary with specified time bounds. [JsAce(\"AddTimeDataByFile($1key, $2relFile, $3beginTime, $4endTime)\")] public bool AddTimeDataByFile(string key, string relFile, string beginTimeText, string endTimeText) Parameters key string Key to identify the data relFile string Relative path to the data file beginTimeText string Beginning time as text (seconds or TimeSpan format) endTimeText string Ending time as text (seconds or TimeSpan format) Returns bool True if the data was successfully added, false otherwise AppendMessagesToFile(string, params string[]) Appends messages to a file, optionally filtered by tags. [JsAce(\"AppendMessagesToFile(\\\"dstRelFile\\\",flags)\")] public void AppendMessagesToFile(string dstRelFile, params string[] flags) Parameters dstRelFile string Destination relative file path flags string[] Optional flags to filter messages by tags BeginPreserve() Begin Preserve section in optimzation process. [JsAce(\"BeginPreserve()\")] public void BeginPreserve() BeginSelection(string, AnchorMode, IStepShift) Begin mark on current line. milling step() has not triggered yet. public void BeginSelection(string key, AnchorMode anchorMode = AnchorMode.LineBegin, IStepShift shift = null) Parameters key string Identifier key for the selection anchorMode AnchorMode Mode for anchoring the beginning of selection shift IStepShift Step shift to apply BeginSession() Begins a new machining session. Not for end user. public void BeginSession() ClearTimeMappingData() Clears all time mapping data. [JsAce] public void ClearTimeMappingData() Diff(double) Performs a difference analysis on the workpiece geometry to detect variations. [JsAce(\"Diff($1detectionRadius_mm)\")] public void Diff(double detectionRadius_mm) Parameters detectionRadius_mm double Radius for detecting differences EndPreserve() End Preserve section in optimzation process. [JsAce(\"EndPreserve()\")] public void EndPreserve() EndSelection(string, AnchorMode, IStepShift) End mark on current line for selection. public void EndSelection(string key, AnchorMode anchorMode = AnchorMode.LineEnd, IStepShift shift = null) Parameters key string Identifier key for the selection anchorMode AnchorMode Mode for anchoring the end of selection shift IStepShift Step shift to apply EndSession() Ends the current machining session. Not for end user. public void EndSession() ErrorMessage(string) Displays an error message in the message host. [JsAce(\"ErrorMessage($1message)\")] public void ErrorMessage(string message) Parameters message string The error message to display FixedPace(double, double) Creates a fixed machining motion resolution with specified parameters. [JsAce(\"FixedPace($1linearResolution_mm, $2rotaryResolution_deg)\")] public FixedMachiningMotionResolution FixedPace(double linearResolution_mm, double rotaryResolution_deg) Parameters linearResolution_mm double Linear resolution in millimeters rotaryResolution_deg double Rotary resolution in degrees Returns FixedMachiningMotionResolution A new fixed machining motion resolution instance GetMillingStep(int) Retrieves a milling step at the specified index. [JsAce(Snippet = \"GetMillingStep($1\\\"stepIndex\\\")\")] public MachiningStep GetMillingStep(int stepIndex) Parameters stepIndex int Index of the milling step to retrieve Returns MachiningStep The milling step at the specified index GetStickMachiningToolObservationHeight_mm(int) Gets the observation height in millimeters for the specified stick machining tool. [JsAce(\"GetStickMachiningToolObservationHeight_mm($1toolId)\")] public double GetStickMachiningToolObservationHeight_mm(int toolId) Parameters toolId int The ID of the tool Returns double The observation height in millimeters GetUniformContourTrayShiftAngle_deg(int) Gets the shift angle in degrees for the uniform contour tray of the specified tool. [JsAce(\"GetUniformContourTrayShiftAngle_deg($1toolId)\")] public double GetUniformContourTrayShiftAngle_deg(int toolId) Parameters toolId int The ID of the tool Returns double The shift angle in degrees LineSelection(string, AnchorMode, IStepShift, AnchorMode, IStepShift) Create a line selection from begin to end mark. public void LineSelection(string key, AnchorMode beginAnchorMode = AnchorMode.LineBegin, IStepShift beginShift = null, AnchorMode endAnchorMode = AnchorMode.LineEnd, IStepShift endShift = null) Parameters key string Identifier key for the selection beginAnchorMode AnchorMode Mode for anchoring the beginning of selection beginShift IStepShift Step shift to apply at beginning endAnchorMode AnchorMode Mode for anchoring the end of selection endShift IStepShift Step shift to apply at end LoadCuttingParaByFile(string) [JsAce(\"LoadCuttingParaByFile($1\\\"relFile\\\")\")] public void LoadCuttingParaByFile(string relFile) Parameters relFile string Map(string, FileTimeSection, CycleSamplingMode?) Maps selection data to time section. public Task Map(string key, FileTimeSection fileTimeSection = null, StepTimeShotUtil.CycleSamplingMode? cycleSamplingMode = CycleSamplingMode.SpindleCycle) Parameters key string Identifier key for the selection fileTimeSection FileTimeSection File time section, or null to use the one associated with the key cycleSamplingMode StepTimeShotUtil.CycleSamplingMode? Cycle sampling mode Returns Task Task representing the asynchronous mapping operation MapByActualTime(string, CycleSamplingMode) [JsAce(\"MapByActualTime($1timeShotRelFile)\")] public void MapByActualTime(string timeShotRelFile, StepTimeShotUtil.CycleSamplingMode cycleSamplingMode = CycleSamplingMode.SpindleCycle) Parameters timeShotRelFile string cycleSamplingMode StepTimeShotUtil.CycleSamplingMode Message(string) Displays a message in the message host. [JsAce(\"Message($1message)\")] public void Message(string message) Parameters message string The message to display OptCallPreferFuncIndexDictionary() [JsAce(\"OptCallPreferFuncIndexDictionary()\")] public Dictionary, double> OptCallPreferFuncIndexDictionary() Returns Dictionary, double> OptimizeToFiles(string) Optimizes NC files and saves results using the specified file template. [JsAce(Snippet = \"OptimizeToFiles(\\\"Output/Opt-[NcName]\\\")\", DocContentHtml = \"Optimize To Files by substitude template keywoard \\\"[NcName]\\\"\")] public void OptimizeToFiles(string relFileTemplate = \"Output/Opt-[NcName]\") Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder Pace() A pausable mark for the playing process. The function enables Pause() to take effect. [JsAce(\"Pace();\")] public void Pace() Remarks Waits for the player to signal the next pace. Pause() Pause Player [JsAce(DocContentHtml = \"Pause Player\")] public void Pause() PlayAct(IAct, IIndexedFileLine, CancellationToken?) Plays an act with pacing control. [JsAce] public void PlayAct(IAct act, IIndexedFileLine sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct The act to play. sourceCommand IIndexedFileLine The source command. cancellationToken CancellationToken? Cancellation token. PlayClTeleport(double, double, double, double, double, double) Plays a CL (cutter location) teleport operation. [JsAce] public void PlayClTeleport(double x, double y, double z, double i, double j, double k) Parameters x double X coordinate. y double Y coordinate. z double Z coordinate. i double I vector component. j double J vector component. k double K vector component. PlayCsvFile(string) Plays an Csv file with the specified relative path. [JsAce(\"PlayCsvFile($1\\\"csvFile\\\");\")] public void PlayCsvFile(string relFilePath) Parameters relFilePath string Relative path to the CSV file PlayNc(string, string) Plays NC code directly from a string, executing each action and pacing between them. [JsAce(Snippet = \"PlayNc($1\\\"ncCommand\\\",$2\\\"\\\"(Direct Command)\\\"\\\");\", DocContentHtml = \"Play NC. second parameter is the file name alternative shows in the log.\")] public void PlayNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string NC code as a string fileNameAlternative string Alternative name to display in logs PlayNcFile(string) Plays an NC file with the specified relative path. [JsAce(\"PlayNcFile($1\\\"ncFile\\\");\")] public void PlayNcFile(string relNcFilePath) Parameters relNcFilePath string Relative path to the NC file PlayToolingTeleport(int) Plays a tooling teleport operation. [JsAce] public void PlayToolingTeleport(int toolId) Parameters toolId int The tool ID to teleport. Preserve() Preserve one line NC code in optimzation process. [JsAce(\"Preserve()\")] public void Preserve() ProgressMessage(string) Displays a progress message in the message host. [JsAce(\"ProgressMessage($1message)\")] public void ProgressMessage(string message) Parameters message string The progress message to display ReTrainMillingPara(SampleFlag, string, double) Re-trains milling parameters using the specified sample flag. [JsAce(\"ReTrainMillingPara(Fx|Fy|Fz, $1dstFile)\")] public void ReTrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double outlierRatio = 0.1) Parameters sampleFlag SampleFlag Sample flag indicating which components to train dstRelFile string Destination relative file path outlierRatio double Outlier ratio for data filtering ReadCsvByTimeInterpolation(string) Reads a CSV file and performs time-based interpolation to map data to milling steps. [JsAce(Snippet = \"ReadCsvByTimeInterpolation($1\\\"csvFile\\\")\")] public void ReadCsvByTimeInterpolation(string csvFile) Parameters csvFile string Path to the CSV file relative to the base directory ReadRuntimeGeom(string) Reads runtime geometry from a file. [JsAce(\"ReadRuntimeGeom($1\\\"srcFile\\\")\")] public void ReadRuntimeGeom(string relFile) Parameters relFile string Relative path to the input file RegisterStepVariable(string, string, string, string, Func) Registers a step variable for tracking during execution. [JsAce(Snippet = \"RegisterStepVariable(\\\"$1key\\\",\\\"$2name\\\",\\\"$3unit\\\",\\\"$4formatString\\\",\\\"$5variableFunc\\\")\", DocContentHtml = \"

    Register Step Variable.

    \\\"unit\\\" is nullable

    \\\"formatString\\\" is nullable

    \")] public void RegisterStepVariable(string key, string name, string unit, string formatString, Func variableFunc = null) Parameters key string Unique key to identify the variable name string Human-readable name of the variable unit string Physical unit of the variable (can be null) formatString string Format string for displaying the variable (can be null) variableFunc Func Function to compute the variable value from a milling step (can be null) RemoveFlyPiece() Removes any disconnected or “flying” pieces from the workpiece geometry. [JsAce] public void RemoveFlyPiece() Reset() Reset Player [JsAce(DocContentHtml = \"Reset Player\")] public void Reset() ResetRuntime() Clears internal buffers. [JsAce] public void ResetRuntime() RunNc(string, string) Runs NC code directly from a string. Not for end user. [JsAce(Snippet = \"RunNc($1\\\"ncCommand\\\",$2\\\"\\\"(Direct Command)\\\"\\\");\", DocContentHtml = \"Run NC. second parameter is the file name alternative shows in the log.\")] public IEnumerable RunNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string NC code as a string fileNameAlternative string Alternative name to display in logs Returns IEnumerable Enumerable sequence of actions to be executed RunNcFile(string) Runs an NC file with the specified relative path. Not for end user. [JsAce(\"RunNcFile($1\\\"ncFile\\\");\")] public IEnumerable RunNcFile(string relNcFilePath) Parameters relNcFilePath string Relative path to the NC file Returns IEnumerable Enumerable sequence of actions to be executed SetNcResolutionFeedPerCycle() Sets NC resolution to feed per cycle mode. public void SetNcResolutionFeedPerCycle() SetNcResolutionFeedPerTooth() Sets NC resolution to feed per tooth mode. public void SetNcResolutionFeedPerTooth() SetNcResolutionFixed(double, double) Sets NC resolution to fixed mode with specified resolution values. public void SetNcResolutionFixed(double linearResolution_mm, double rotaryResolution_deg) Parameters linearResolution_mm double Linear resolution in millimeters. rotaryResolution_deg double Rotary resolution in degrees. SetStickMachiningToolObservationHeight_mm(int, double) Sets the observation height in millimeters for the specified stick machining tool. [JsAce(\"SetStickMachiningToolObservationHeight_mm($1toolId,$2height_mm)\")] public void SetStickMachiningToolObservationHeight_mm(int toolId, double height) Parameters toolId int The ID of the tool height double The observation height in millimeters to set SetUniformContourTrayShiftAngle_deg(int, double) Sets the shift angle in degrees for the uniform contour tray of the specified tool. [JsAce(\"SetUniformContourTrayShiftAngle_deg($1toolId,$2angle_deg)\")] public void SetUniformContourTrayShiftAngle_deg(int toolId, double angle_deg) Parameters toolId int The ID of the tool angle_deg double The shift angle in degrees to set ShiftDistance_mm(double) Creates a distance shift object representing the specified distance in millimeters. public DistanceShift ShiftDistance_mm(double distanceShift_mm) Parameters distanceShift_mm double Distance shift in millimeters Returns DistanceShift Distance shift object ShiftTime_s(double) Creates a time shift object representing the specified time in seconds. public TimeShift ShiftTime_s(double seconds) Parameters seconds double Time in seconds Returns TimeShift Time shift object TrainMillingPara(SampleFlag, string, double, ICuttingPara) Trains milling parameters using the specified sample flag. [JsAce(\"TrainMillingPara(Fx|Fy|Fz, $1dstFile)\")] public void TrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double outlierRatio = 2, ICuttingPara paraTemplate = null) Parameters sampleFlag SampleFlag Sample flag indicating which components to train dstRelFile string Destination relative file path outlierRatio double Outlier ratio for data filtering paraTemplate ICuttingPara WarningMessage(string) Displays a warning message in the message host. [JsAce(\"WarningMessage($1message)\")] public void WarningMessage(string message) Parameters message string The warning message to display WriteRuntimeGeom(string) Writes the current runtime geometry to a file. [JsAce(\"WriteRuntimeGeom($1\\\"dstFile\\\")\")] public void WriteRuntimeGeom(string relFile) Parameters relFile string Relative path to the output file WriteRuntimeGeomToStl(string, double) Writes the current runtime geometry to an STL file. [JsAce(\"WriteRuntimeGeomToStl($1\\\"dstFile\\\",$2resolution_mm)\")] public void WriteRuntimeGeomToStl(string relFile, double resolution_mm = 0) Parameters relFile string Relative path to the output STL file resolution_mm double Resolution in millimeters (0 for default) WriteShotFiles(double, string) Writes time-series data to shot files with the specified resolution period (alternative parameter order). public void WriteShotFiles(double resolutionPeroid_ms, string relFileTemplate) Parameters resolutionPeroid_ms double Resolution period in milliseconds relFileTemplate string Template for output file path, can include [NcName] placeholder WriteShotFiles(string, double) Writes time-series data to shot files with the specified resolution period. [JsAce(Snippet = \"WriteShotFiles(\\\"Output/[NcName].shot.csv\\\",resolutionPeroid_ms)\", DocContentHtml = \"Write time series data by resolutionPeroid_ms\")] public void WriteShotFiles(string relFileTemplate = \"Output/[NcName].shot.csv\", double resolutionPeroid_ms = 1) Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder resolutionPeroid_ms double Resolution period in milliseconds WriteStepFiles(string) Writes step-series data to files with the specified file template. [JsAce(Snippet = \"WriteStepFiles(\\\"Output/[NcName].step.csv\\\")\", DocContentHtml = \"Write step series data.\")] public void WriteStepFiles(string relFileTemplate = \"Output/[NcName].step.csv\") Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder Events MachiningStepBuilt Gets or sets the action to configure steps during execution. The event will be cleared by the calling of ResetRuntime(). [JsAce(Snippet = \"MachiningStepBuilt+=($1preStep,$2curStep)=>{$3Command};\", DocContentHtml = \"Runtime Step Configuration action. preStep is the Previous Milling Step; curStep is the Current Milling Step. preStep is null if no previous step existed.\")] public event MachiningActRunner.MachiningStepBuiltDelegate MachiningStepBuilt Event Type MachiningActRunner.MachiningStepBuiltDelegate MachiningStepSelected Event that is triggered when a milling step is selected. The event will be cleared by the calling of ResetRuntime(). [JsAce(Snippet = \"MachiningStepSelected+=($1millingStep)=>{$2Command};\")] public event Action MachiningStepSelected Event Type Action" + "summary": "Class RuntimeApi Namespace Hi.MachiningProcs Assembly HiNc.dll Runtime API for machining operations. public class RuntimeApi : ICsScriptApi Inheritance object RuntimeApi Implements ICsScriptApi Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Properties DefaultParaTemplateDimension Gets or sets the parameter template dimension (2D or 3D). [JsAce] public int DefaultParaTemplateDimension { get; set; } Property Value int DiffVisualRadius_mm Gets or sets the visual radius in millimeters for difference visualization. Controls the radius used for highlighting differences between workpiece states. [JsAce] public double DiffVisualRadius_mm { get; set; } Property Value double DispCacheMb Gets or sets the display cache size in megabytes. public long DispCacheMb { get; set; } Property Value long DispCache_Mb Gets or sets the display cache size in megabytes. [JsAce] public long DispCache_Mb { get; set; } Property Value long EmbeddedLogMode Gets or sets the embedded log mode for NC optimization. [JsAce] public static NcOptimizationEmbeddedLogMode EmbeddedLogMode { get; set; } Property Value NcOptimizationEmbeddedLogMode EnableAutoMapOnSelectionEnd Gets or sets whether to automatically map selections when they end. [JsAce] public bool EnableAutoMapOnSelectionEnd { get; set; } Property Value bool EnableCollisionDetection Gets or sets whether collision detection is enabled. [JsAce(DocContentHtml = \"Enable Collision Detection.\")] public bool EnableCollisionDetection { get; set; } Property Value bool EnableIndividualStepAdjustmentLog Gets or sets whether to enable individual step adjustment logging. [JsAce] public static bool EnableIndividualStepAdjustmentLog { get; set; } Property Value bool EnablePauseOnCollision Obsoleted. Gets or sets whether to pause execution when a collision is detected. This property only has an effect if collision detection is enabled. public bool EnablePauseOnCollision { get; set; } Property Value bool EnablePauseOnFailure Gets or sets whether to pause on failure during execution. [JsAce(DocContentHtml = \"Enable Pause On Failure.\")] public bool EnablePauseOnFailure { get; set; } Property Value bool EnablePhysics Gets or sets whether milling force evaluation is enabled. [JsAce(DocContentHtml = \"Enable milling force evaluation.\")] public bool EnablePhysics { get; set; } Property Value bool EnableWearEffect Gets or sets whether tool wear effects are enabled in simulation. [JsAce] public bool EnableWearEffect { get; set; } Property Value bool FeedPerCycle Gets a new feed per cycle machining motion resolution instance. [JsAce] public FeedPerCycleMachiningMotionResolution FeedPerCycle { get; } Property Value FeedPerCycleMachiningMotionResolution FeedPerTooth Gets a new feed per tooth machining motion resolution instance. [JsAce] public FeedPerToothMachiningMotionResolution FeedPerTooth { get; } Property Value FeedPerToothMachiningMotionResolution Fixture Gets or sets the fixture. [JsAce] public Fixture Fixture { get; set; } Property Value Fixture Global Global variables. [JsAce(\"Global[$1key]\")] public Dictionary Global { get; } Property Value Dictionary InitSpindleTemperature_C Gets or sets the initial spindle temperature in degrees Celsius. [JsAce(DocContentHtml = \"Spindle Temperature on initialization.\")] public double InitSpindleTemperature_C { get; set; } Property Value double JsAceCompletionProfileJsonArray Internal used. public static JsonArray JsAceCompletionProfileJsonArray { get; } Property Value JsonArray MachiningMotionResolution Gets or sets the machining motion resolution. [JsAce] public IMachiningMotionResolution MachiningMotionResolution { get; set; } Property Value IMachiningMotionResolution MachiningResolution Gets or sets the machining resolution in millimeters. For legacy compatable. [JsAce] [Obsolete] public double MachiningResolution { get; set; } Property Value double MachiningResolution_mm Gets or sets the machining resolution in millimeters. [JsAce] public double MachiningResolution_mm { get; set; } Property Value double MachiningSession public MachiningSession MachiningSession { get; } Property Value MachiningSession MapTask Task tracking the status of mapping operations. public Task MapTask { get; set; } Property Value Task MillingForceCycleDivisionNum Gets or sets the number of divisions per cycle for milling force calculation. This property should be set before milling force evaluation if TrainMillingPara(SampleFlag, string, double, ICuttingPara) is intended to be used. [JsAce] public static int MillingForceCycleDivisionNum { get; set; } Property Value int NcOptOption Gets or sets the NC optimization options. [JsAce] public NcOptOption NcOptOption { get; set; } Property Value NcOptOption OptEnableDepthCompensation Enables or disables depth compensation during optimization. [JsAce] public bool OptEnableDepthCompensation { get; set; } Property Value bool OptEnableFeedrate Gets or sets whether to enable feed rate optimization in NC optimization. [JsAce] public bool OptEnableFeedrate { get; set; } Property Value bool OptEnableForwardCompensation Enables or disables forward compensation during optimization. [JsAce] public bool OptEnableForwardCompensation { get; set; } Property Value bool OptEnableInterpolation Enables or disables reinterpolation for optimization. [JsAce] public bool OptEnableInterpolation { get; set; } Property Value bool OptEnableSideCompensation Enables or disables side compensation during optimization. [JsAce] public bool OptEnableSideCompensation { get; set; } Property Value bool OptExtendedPostDistance_mm Gets or sets the extended post-distance in millimeters for NC optimization. This is the distance after the current segment that will be considered for optimization. [JsAce] public double OptExtendedPostDistance_mm { get; set; } Property Value double OptExtendedPreDistance_mm Gets or sets the extended pre-distance in millimeters for NC optimization. This is the distance before the current segment that will be considered for optimization. [JsAce] public double OptExtendedPreDistance_mm { get; set; } Property Value double OptFeedrateAssignmentRatio Gets or sets the feedrate assignment ratio for optimization. If the feedrate change exceeds this ratio, the feedrate in the NC line will be updated. [JsAce] public double OptFeedrateAssignmentRatio { get; set; } Property Value double OptMaxAcceleration_mmds2 Maximum acceleration in mm/s² during optimization. Only takes effect on reinterpolated section. [JsAce(DocContentHtml = \"Only take effect on reinterpolated section.\")] public double OptMaxAcceleration_mmds2 { get; set; } Property Value double OptMaxFeedPerTooth_mm Gets or sets the maximum feed per tooth in millimeters for optimization. [JsAce] public double OptMaxFeedPerTooth_mm { get; set; } Property Value double OptMaxFeedrate_mmdmin Maximum feed rate in mm/min for cutting movements during optimization. [JsAce] public double OptMaxFeedrate_mmdmin { get; set; } Property Value double OptMaxJerk_mmds3 Maximum jerk in mm/s³ during optimization. Only takes effect on reinterpolated section. [JsAce(DocContentHtml = \"Only take effect on reinterpolated section.\")] public double OptMaxJerk_mmds3 { get; set; } Property Value double OptMinFeedPerTooth_mm Gets or sets the minimum feed per tooth in millimeters for optimization. [JsAce] public double OptMinFeedPerTooth_mm { get; set; } Property Value double OptMinFeedrate_mmdmin Minimum feed rate in mm/min for cutting movements during optimization. [JsAce] public double OptMinFeedrate_mmdmin { get; set; } Property Value double OptPreferedForce_N Preferred force in N for optimization. [JsAce] public double OptPreferedForce_N { get; set; } Property Value double OptRapidFeed_mmdmin Rapid feed rate in mm/min for non-cutting movements during optimization. [JsAce] public double OptRapidFeed_mmdmin { get; set; } Property Value double OptSpindlePowerSafetyFactor Safety factor for spindle power during optimization. [JsAce] public double OptSpindlePowerSafetyFactor { get; set; } Property Value double OptSpindlePowerUtilizationFactor Utilization factor for spindle power during optimization. It is the reciprocal of the spindle power safety factor. [JsAce] public double OptSpindlePowerUtilizationFactor { get; set; } Property Value double OptSpindleTorqueSafetyFactor Gets or sets the spindle torque safety factor for NC optimization. [JsAce] public double OptSpindleTorqueSafetyFactor { get; set; } Property Value double OptSpindleTorqueUtilizationFactor Utilization factor for spindle torque during optimization. It is the reciprocal of the spindle torque safety factor. [JsAce] public double OptSpindleTorqueUtilizationFactor { get; set; } Property Value double OptThermalYieldSafetyFactor Safety factor for spindle torque during optimization. [JsAce] public double OptThermalYieldSafetyFactor { get; set; } Property Value double OptThermalYieldUtilizationFactor Utilization factor for thermal yield during optimization. It is the reciprocal of the thermal yield safety factor. [JsAce] public double OptThermalYieldUtilizationFactor { get; set; } Property Value double OptYieldingSafetyFactor Safety factor for yielding during optimization. [JsAce] public double OptYieldingSafetyFactor { get; set; } Property Value double OptYieldingUtilizationFactor Utilization factor for yielding during optimization. It is the reciprocal of the yielding safety factor. [JsAce] public double OptYieldingUtilizationFactor { get; set; } Property Value double ScriptOptions ScriptOptions. public ScriptOptions ScriptOptions { get; set; } Property Value ScriptOptions SessionMessageHost Gets the session message host for displaying messages. [JsAce] public SessionMessageHost SessionMessageHost { get; } Property Value SessionMessageHost StepCount Gets the total number of milling steps. [JsAce] public int StepCount { get; } Property Value int Workpiece Gets or sets the workpiece. [JsAce] public Workpiece Workpiece { get; set; } Property Value Workpiece Methods AddTimeDataByFile(string, string, double, double) Adds time-based data from a file to the time mapping dictionary with specified time bounds in seconds. [JsAce(\"AddTimeDataByFile($1key, $2relFile, $3beginTime, $4endTime)\")] public bool AddTimeDataByFile(string key, string relFile, double beginTime, double endTime) Parameters key string Key to identify the data relFile string Relative path to the data file beginTime double Beginning time in seconds endTime double Ending time in seconds Returns bool True if the data was successfully added, false otherwise AddTimeDataByFile(string, string, string, string) Adds time-based data from a file to the time mapping dictionary with specified time bounds. [JsAce(\"AddTimeDataByFile($1key, $2relFile, $3beginTime, $4endTime)\")] public bool AddTimeDataByFile(string key, string relFile, string beginTimeText, string endTimeText) Parameters key string Key to identify the data relFile string Relative path to the data file beginTimeText string Beginning time as text (seconds or TimeSpan format) endTimeText string Ending time as text (seconds or TimeSpan format) Returns bool True if the data was successfully added, false otherwise AppendMessagesToFile(string, params string[]) Appends messages to a file, optionally filtered by tags. [JsAce(\"AppendMessagesToFile(\\\"dstRelFile\\\",flags)\")] public void AppendMessagesToFile(string dstRelFile, params string[] flags) Parameters dstRelFile string Destination relative file path flags string[] Optional flags to filter messages by tags BeginPreserve() Begin Preserve section in optimzation process. [JsAce(\"BeginPreserve()\")] public void BeginPreserve() BeginSelection(string, AnchorMode, IStepShift) Begin mark on current line. milling step() has not triggered yet. public void BeginSelection(string key, AnchorMode anchorMode = AnchorMode.LineBegin, IStepShift shift = null) Parameters key string Identifier key for the selection anchorMode AnchorMode Mode for anchoring the beginning of selection shift IStepShift Step shift to apply BeginSession() Begins a new machining session. Not for end user. public void BeginSession() ClearTimeMappingData() Clears all time mapping data. [JsAce] public void ClearTimeMappingData() Diff(double) Performs a difference analysis on the workpiece geometry to detect variations. [JsAce(\"Diff($1detectionRadius_mm)\")] public void Diff(double detectionRadius_mm) Parameters detectionRadius_mm double Radius for detecting differences EndPreserve() End Preserve section in optimzation process. [JsAce(\"EndPreserve()\")] public void EndPreserve() EndSelection(string, AnchorMode, IStepShift) End mark on current line for selection. public void EndSelection(string key, AnchorMode anchorMode = AnchorMode.LineEnd, IStepShift shift = null) Parameters key string Identifier key for the selection anchorMode AnchorMode Mode for anchoring the end of selection shift IStepShift Step shift to apply EndSession() Ends the current machining session. Not for end user. public void EndSession() ErrorMessage(string) Displays an error message in the message host. [JsAce(\"ErrorMessage($1message)\")] public void ErrorMessage(string message) Parameters message string The error message to display FixedPace(double, double) Creates a fixed machining motion resolution with specified parameters. [JsAce(\"FixedPace($1linearResolution_mm, $2rotaryResolution_deg)\")] public FixedMachiningMotionResolution FixedPace(double linearResolution_mm, double rotaryResolution_deg) Parameters linearResolution_mm double Linear resolution in millimeters rotaryResolution_deg double Rotary resolution in degrees Returns FixedMachiningMotionResolution A new fixed machining motion resolution instance GetMillingStep(int) Retrieves a milling step at the specified index. [JsAce(Snippet = \"GetMillingStep($1\\\"stepIndex\\\")\")] public MachiningStep GetMillingStep(int stepIndex) Parameters stepIndex int Index of the milling step to retrieve Returns MachiningStep The milling step at the specified index GetStickMachiningToolObservationHeight_mm(int) Gets the observation height in millimeters for the specified stick machining tool. [JsAce(\"GetStickMachiningToolObservationHeight_mm($1toolId)\")] public double GetStickMachiningToolObservationHeight_mm(int toolId) Parameters toolId int The ID of the tool Returns double The observation height in millimeters GetUniformContourTrayShiftAngle_deg(int) Gets the shift angle in degrees for the uniform contour tray of the specified tool. [JsAce(\"GetUniformContourTrayShiftAngle_deg($1toolId)\")] public double GetUniformContourTrayShiftAngle_deg(int toolId) Parameters toolId int The ID of the tool Returns double The shift angle in degrees LineSelection(string, AnchorMode, IStepShift, AnchorMode, IStepShift) Create a line selection from begin to end mark. public void LineSelection(string key, AnchorMode beginAnchorMode = AnchorMode.LineBegin, IStepShift beginShift = null, AnchorMode endAnchorMode = AnchorMode.LineEnd, IStepShift endShift = null) Parameters key string Identifier key for the selection beginAnchorMode AnchorMode Mode for anchoring the beginning of selection beginShift IStepShift Step shift to apply at beginning endAnchorMode AnchorMode Mode for anchoring the end of selection endShift IStepShift Step shift to apply at end LoadCuttingParaByFile(string) Loads cutting parameters from a file. [JsAce(\"LoadCuttingParaByFile($1\\\"relFile\\\")\")] public void LoadCuttingParaByFile(string relFile) Parameters relFile string File path relative to BaseDirectory. Map(string, FileTimeSection, CycleSamplingMode?) Maps selection data to time section. public Task Map(string key, FileTimeSection fileTimeSection = null, StepTimeShotUtil.CycleSamplingMode? cycleSamplingMode = CycleSamplingMode.SpindleCycle) Parameters key string Identifier key for the selection fileTimeSection FileTimeSection File time section, or null to use the one associated with the key cycleSamplingMode StepTimeShotUtil.CycleSamplingMode? Cycle sampling mode Returns Task Task representing the asynchronous mapping operation MapByActualTime(string, CycleSamplingMode) Maps machining steps by actual time from a time shot file. [JsAce(\"MapByActualTime($1timeShotRelFile)\")] public void MapByActualTime(string timeShotRelFile, StepTimeShotUtil.CycleSamplingMode cycleSamplingMode = CycleSamplingMode.SpindleCycle) Parameters timeShotRelFile string Relative path to the time shot file. cycleSamplingMode StepTimeShotUtil.CycleSamplingMode The cycle sampling mode. Message(string) Displays a message in the message host. [JsAce(\"Message($1message)\")] public void Message(string message) Parameters message string The message to display OptCallPreferFuncIndexDictionary() Gets the dictionary of preferred function index for NC optimization. [JsAce(\"OptCallPreferFuncIndexDictionary()\")] public Dictionary, double> OptCallPreferFuncIndexDictionary() Returns Dictionary, double> Dictionary mapping functions to their preference indexes. OptimizeToFiles(string) Optimizes NC files and saves results using the specified file template. [JsAce(Snippet = \"OptimizeToFiles(\\\"Output/Opt-[NcName]\\\")\", DocContentHtml = \"Optimize To Files by substitude template keywoard \\\"[NcName]\\\"\")] public void OptimizeToFiles(string relFileTemplate = \"Output/Opt-[NcName]\") Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder Pace() A pausable mark for the playing process. The function enables Pause() to take effect. [JsAce(\"Pace();\")] public void Pace() Remarks Waits for the player to signal the next pace. Pause() Pause Player [JsAce(DocContentHtml = \"Pause Player\")] public void Pause() PlayAct(IAct, IIndexedFileLine, CancellationToken?) Plays an act with pacing control. [JsAce] public void PlayAct(IAct act, IIndexedFileLine sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct The act to play. sourceCommand IIndexedFileLine The source command. cancellationToken CancellationToken? Cancellation token. PlayClTeleport(double, double, double, double, double, double) Plays a CL (cutter location) teleport operation. [JsAce] public void PlayClTeleport(double x, double y, double z, double i, double j, double k) Parameters x double X coordinate. y double Y coordinate. z double Z coordinate. i double I vector component. j double J vector component. k double K vector component. PlayCsvFile(string) Plays an Csv file with the specified relative path. [JsAce(\"PlayCsvFile($1\\\"csvFile\\\");\")] public void PlayCsvFile(string relFilePath) Parameters relFilePath string Relative path to the CSV file PlayNc(string, string) Plays NC code directly from a string, executing each action and pacing between them. [JsAce(Snippet = \"PlayNc($1\\\"ncCommand\\\",$2\\\"\\\"(Direct Command)\\\"\\\");\", DocContentHtml = \"Play NC. second parameter is the file name alternative shows in the log.\")] public void PlayNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string NC code as a string fileNameAlternative string Alternative name to display in logs PlayNcFile(string) Plays an NC file with the specified relative path. [JsAce(\"PlayNcFile($1\\\"ncFile\\\");\")] public void PlayNcFile(string relNcFilePath) Parameters relNcFilePath string Relative path to the NC file PlayToolingTeleport(int) Plays a tooling teleport operation. [JsAce] public void PlayToolingTeleport(int toolId) Parameters toolId int The tool ID to teleport. Preserve() Preserve one line NC code in optimzation process. [JsAce(\"Preserve()\")] public void Preserve() ProgressMessage(string) Displays a progress message in the message host. [JsAce(\"ProgressMessage($1message)\")] public void ProgressMessage(string message) Parameters message string The progress message to display ReTrainMillingPara(SampleFlag, string, double) Re-trains milling parameters using the specified sample flag. [JsAce(\"ReTrainMillingPara(Fx|Fy|Fz, $1dstFile)\")] public void ReTrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double outlierRatio = 0.1) Parameters sampleFlag SampleFlag Sample flag indicating which components to train dstRelFile string Destination relative file path outlierRatio double Outlier ratio for data filtering ReadCsvByTimeInterpolation(string) Reads a CSV file and performs time-based interpolation to map data to milling steps. [JsAce(Snippet = \"ReadCsvByTimeInterpolation($1\\\"csvFile\\\")\")] public void ReadCsvByTimeInterpolation(string csvFile) Parameters csvFile string Path to the CSV file relative to the base directory ReadRuntimeGeom(string) Reads runtime geometry from a file. [JsAce(\"ReadRuntimeGeom($1\\\"srcFile\\\")\")] public void ReadRuntimeGeom(string relFile) Parameters relFile string Relative path to the input file RegisterStepVariable(string, string, string, string, Func) Registers a step variable for tracking during execution. [JsAce(Snippet = \"RegisterStepVariable(\\\"$1key\\\",\\\"$2name\\\",\\\"$3unit\\\",\\\"$4formatString\\\",\\\"$5variableFunc\\\")\", DocContentHtml = \"

    Register Step Variable.

    \\\"unit\\\" is nullable

    \\\"formatString\\\" is nullable

    \")] public void RegisterStepVariable(string key, string name, string unit, string formatString, Func variableFunc = null) Parameters key string Unique key to identify the variable name string Human-readable name of the variable unit string Physical unit of the variable (can be null) formatString string Format string for displaying the variable (can be null) variableFunc Func Function to compute the variable value from a milling step (can be null) RemoveFlyPiece() Removes any disconnected or “flying” pieces from the workpiece geometry. [JsAce] public void RemoveFlyPiece() Reset() Reset Player [JsAce(DocContentHtml = \"Reset Player\")] public void Reset() ResetRuntime() Clears internal buffers. [JsAce] public void ResetRuntime() RunNc(string, string) Runs NC code directly from a string. Not for end user. [JsAce(Snippet = \"RunNc($1\\\"ncCommand\\\",$2\\\"\\\"(Direct Command)\\\"\\\");\", DocContentHtml = \"Run NC. second parameter is the file name alternative shows in the log.\")] public IEnumerable RunNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string NC code as a string fileNameAlternative string Alternative name to display in logs Returns IEnumerable Enumerable sequence of actions to be executed RunNcFile(string) Runs an NC file with the specified relative path. Not for end user. [JsAce(\"RunNcFile($1\\\"ncFile\\\");\")] public IEnumerable RunNcFile(string relNcFilePath) Parameters relNcFilePath string Relative path to the NC file Returns IEnumerable Enumerable sequence of actions to be executed SetNcResolutionFeedPerCycle() Sets NC resolution to feed per cycle mode. public void SetNcResolutionFeedPerCycle() SetNcResolutionFeedPerTooth() Sets NC resolution to feed per tooth mode. public void SetNcResolutionFeedPerTooth() SetNcResolutionFixed(double, double) Sets NC resolution to fixed mode with specified resolution values. public void SetNcResolutionFixed(double linearResolution_mm, double rotaryResolution_deg) Parameters linearResolution_mm double Linear resolution in millimeters. rotaryResolution_deg double Rotary resolution in degrees. SetStickMachiningToolObservationHeight_mm(int, double) Sets the observation height in millimeters for the specified stick machining tool. [JsAce(\"SetStickMachiningToolObservationHeight_mm($1toolId,$2height_mm)\")] public void SetStickMachiningToolObservationHeight_mm(int toolId, double height) Parameters toolId int The ID of the tool height double The observation height in millimeters to set SetUniformContourTrayShiftAngle_deg(int, double) Sets the shift angle in degrees for the uniform contour tray of the specified tool. [JsAce(\"SetUniformContourTrayShiftAngle_deg($1toolId,$2angle_deg)\")] public void SetUniformContourTrayShiftAngle_deg(int toolId, double angle_deg) Parameters toolId int The ID of the tool angle_deg double The shift angle in degrees to set ShiftDistance_mm(double) Creates a distance shift object representing the specified distance in millimeters. public DistanceShift ShiftDistance_mm(double distanceShift_mm) Parameters distanceShift_mm double Distance shift in millimeters Returns DistanceShift Distance shift object ShiftTime_s(double) Creates a time shift object representing the specified time in seconds. public TimeShift ShiftTime_s(double seconds) Parameters seconds double Time in seconds Returns TimeShift Time shift object TrainMillingPara(SampleFlag, string, double, ICuttingPara) Trains milling parameters using the specified sample flag. [JsAce(\"TrainMillingPara(Fx|Fy|Fz, $1dstFile)\")] public void TrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double outlierRatio = 2, ICuttingPara paraTemplate = null) Parameters sampleFlag SampleFlag Sample flag indicating which components to train dstRelFile string Destination relative file path outlierRatio double Outlier ratio for data filtering paraTemplate ICuttingPara Optional parameter template for cutting operations. WarningMessage(string) Displays a warning message in the message host. [JsAce(\"WarningMessage($1message)\")] public void WarningMessage(string message) Parameters message string The warning message to display WriteRuntimeGeom(string) Writes the current runtime geometry to a file. [JsAce(\"WriteRuntimeGeom($1\\\"dstFile\\\")\")] public void WriteRuntimeGeom(string relFile) Parameters relFile string Relative path to the output file WriteRuntimeGeomToStl(string, double) Writes the current runtime geometry to an STL file. [JsAce(\"WriteRuntimeGeomToStl($1\\\"dstFile\\\",$2resolution_mm)\")] public void WriteRuntimeGeomToStl(string relFile, double resolution_mm = 0) Parameters relFile string Relative path to the output STL file resolution_mm double Resolution in millimeters (0 for default) WriteShotFiles(double, string) Writes time-series data to shot files with the specified resolution period (alternative parameter order). public void WriteShotFiles(double resolutionPeroid_ms, string relFileTemplate) Parameters resolutionPeroid_ms double Resolution period in milliseconds relFileTemplate string Template for output file path, can include [NcName] placeholder WriteShotFiles(string, double) Writes time-series data to shot files with the specified resolution period. [JsAce(Snippet = \"WriteShotFiles(\\\"Output/[NcName].shot.csv\\\",resolutionPeroid_ms)\", DocContentHtml = \"Write time series data by resolutionPeroid_ms\")] public void WriteShotFiles(string relFileTemplate = \"Output/[NcName].shot.csv\", double resolutionPeroid_ms = 1) Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder resolutionPeroid_ms double Resolution period in milliseconds WriteStepFiles(string) Writes step-series data to files with the specified file template. [JsAce(Snippet = \"WriteStepFiles(\\\"Output/[NcName].step.csv\\\")\", DocContentHtml = \"Write step series data.\")] public void WriteStepFiles(string relFileTemplate = \"Output/[NcName].step.csv\") Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder Events MachiningStepBuilt Gets or sets the action to configure steps during execution. The event will be cleared by the calling of ResetRuntime(). [JsAce(Snippet = \"MachiningStepBuilt+=($1preStep,$2curStep)=>{$3Command};\", DocContentHtml = \"Runtime Step Configuration action. preStep is the Previous Milling Step; curStep is the Current Milling Step. preStep is null if no previous step existed.\")] public event MachiningActRunner.MachiningStepBuiltDelegate MachiningStepBuilt Event Type MachiningActRunner.MachiningStepBuiltDelegate MachiningStepSelected Event that is triggered when a milling step is selected. The event will be cleared by the calling of ResetRuntime(). [JsAce(Snippet = \"MachiningStepSelected+=($1millingStep)=>{$2Command};\")] public event Action MachiningStepSelected Event Type Action" }, "api/Hi.MachiningProcs.RuntimeController.html": { "href": "api/Hi.MachiningProcs.RuntimeController.html", @@ -2017,7 +2017,7 @@ "api/Hi.MachiningSteps.MachineMotionStep.html": { "href": "api/Hi.MachiningSteps.MachineMotionStep.html", "title": "Class MachineMotionStep | HiAPI-C# 2025", - "summary": "Class MachineMotionStep Namespace Hi.MachiningSteps Assembly HiMech.dll MachiningStep has spindle information. Note that the spindle information is only for milling behavior. public class MachineMotionStep : IGetFeedrate, IGetSpindleSpeed Inheritance object MachineMotionStep Implements IGetFeedrate IGetSpindleSpeed Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachineMotionStep(MachineMotionStep) Initializes a new instance of the MachineMotionStep class by copying from another instance. public MachineMotionStep(MachineMotionStep src) Parameters src MachineMotionStep The source machining step to copy from. MachineMotionStep(TimeSpan, TimeSpan, double, double[], double, double, SpindleDirection, int, Mat4d, Mat4d, SeqPair) Initializes a new instance of the MachineMotionStep class with specified parameters. public MachineMotionStep(TimeSpan stepDuration, TimeSpan accumulatedTime, double beginSpindleAngle_rad, double[] mcValues, double feedrate_mmds, double spindleSpeed_radds, SpindleDirection spindleDirection, int toolId, Mat4d programZeroToWorkpieceGeomToMat4d, Mat4d workpieceGeomToProgramZeroMat4d, SeqPair seqOnWorkpieceGeomCoordinate) Parameters stepDuration TimeSpan The duration of this step. accumulatedTime TimeSpan The accumulated time up to this step. beginSpindleAngle_rad double The initial spindle angle in radians. mcValues double[] The machine coordinate values. feedrate_mmds double The feed rate in millimeters per second. spindleSpeed_radds double The spindle speed in radians per second. spindleDirection SpindleDirection The direction of spindle rotation. toolId int The ID of the tool being used. programZeroToWorkpieceGeomToMat4d Mat4d The transformation matrix from program zero to workpiece geometry. workpieceGeomToProgramZeroMat4d Mat4d The transformation matrix from workpiece geometry to program zero. seqOnWorkpieceGeomCoordinate SeqPair The sequence of transformations on workpiece geometry coordinate. Properties AccumulatedTime The work time at the end of the step. The value is StepBeginTime + StepDuration. public TimeSpan AccumulatedTime { get; set; } Property Value TimeSpan BeginSpindleAngle_deg Begin spindle rotation angle. in deg; public double BeginSpindleAngle_deg { get; set; } Property Value double BeginSpindleAngle_rad Begin spindle rotation angle. in rad; public double BeginSpindleAngle_rad { get; set; } Property Value double CdnTransformProgramToToolRunning Gets the transformation matrix from program to tool running coordinate. public Mat4d CdnTransformProgramToToolRunning { get; } Property Value Mat4d CdnTransformProgramToWorkpieceGeom Gets the transformation matrix from program zero to workpiece geometry. public Mat4d CdnTransformProgramToWorkpieceGeom { get; } Property Value Mat4d CdnTransformToolRunningToProgram Gets the transformation matrix from tool running to program coordinate. public Mat4d CdnTransformToolRunningToProgram { get; } Property Value Mat4d CdnTransformToolRunningToWorkpieceGeom Tool running coordinate to workpiece geom coordinate. public Mat4d CdnTransformToolRunningToWorkpieceGeom { get; } Property Value Mat4d CdnTransformWorkpieceGeomToProgram Gets the transformation matrix from workpiece geometry to program zero. public Mat4d CdnTransformWorkpieceGeomToProgram { get; } Property Value Mat4d CdnTransformWorkpieceGeomToToolRunning Gets the transformation matrix from workpiece geometry to tool running coordinate. public Mat4d CdnTransformWorkpieceGeomToToolRunning { get; } Property Value Mat4d CyclePeriod Gets the cycle period as a TimeSpan. public TimeSpan CyclePeriod { get; } Property Value TimeSpan CyclePeriod_s Gets the cycle period in seconds. public double CyclePeriod_s { get; } Property Value double EndSpindleAngle_deg Gets the end spindle angle in degrees. public double EndSpindleAngle_deg { get; } Property Value double EndSpindleAngle_rad Gets the end spindle angle in radians. public double EndSpindleAngle_rad { get; } Property Value double FeedPerCycle_mm Gets the feed per cycle in millimeters. public double FeedPerCycle_mm { get; } Property Value double Feedrate_mmds Gets or sets the feed rate in millimeters per second. public double Feedrate_mmds { get; set; } Property Value double GeomCl Gets the current position in workpiece geometry coordinate. public DVec3d GeomCl { get; } Property Value DVec3d McValues Machine coordinate values. public double[] McValues { get; set; } Property Value double[] MoveOnProgramCoordinate_mm Gets the movement vector in program coordinate in millimeters. public Vec3d MoveOnProgramCoordinate_mm { get; } Property Value Vec3d MoveOnWorkpieceGeomCoordinate_mm Gets the movement vector in workpiece geometry coordinate in millimeters. public Vec3d MoveOnWorkpieceGeomCoordinate_mm { get; } Property Value Vec3d MovingDirectionOnWorkpieceGeomCoordinate Gets the movement direction vector in workpiece geometry coordinate. public Vec3d MovingDirectionOnWorkpieceGeomCoordinate { get; } Property Value Vec3d MovingLength_mm Gets the length of movement in millimeters. public double MovingLength_mm { get; } Property Value double PassedSpindleAngle_deg For milling behavior only. public double PassedSpindleAngle_deg { get; } Property Value double PassedSpindleAngle_rad For milling behavior only. public double PassedSpindleAngle_rad { get; } Property Value double ProgramCl Gets the current position in program coordinate. public DVec3d ProgramCl { get; } Property Value DVec3d ProgramToWorkpieceGeomMat4d Gets or sets the transformation matrix from program zero to workpiece geometry. public Mat4d ProgramToWorkpieceGeomMat4d { get; set; } Property Value Mat4d SeqOnToolRunningCoordinate Gets the sequence of transformations on tool running coordinate. public SeqPair SeqOnToolRunningCoordinate { get; } Property Value SeqPair SeqOnWorkpieceGeomCoordinate Gets or sets the sequence of transformations on workpiece geometry coordinate. public SeqPair SeqOnWorkpieceGeomCoordinate { get; set; } Property Value SeqPair SpindleDirection Gets or sets the direction of spindle rotation. public SpindleDirection SpindleDirection { get; set; } Property Value SpindleDirection SpindleSpeed_cycleds Gets the spindle speed in cycles per second. public double SpindleSpeed_cycleds { get; } Property Value double SpindleSpeed_radds For milling behavior only. public double SpindleSpeed_radds { get; set; } Property Value double SpindleSpeed_rpm Gets the spindle speed in revolutions per minute. public double SpindleSpeed_rpm { get; } Property Value double StepBeginTime The work time at the begin of the step. public TimeSpan StepBeginTime { get; } Property Value TimeSpan StepDuration Gets or sets the duration of this step. public TimeSpan StepDuration { get; set; } Property Value TimeSpan ToolId Gets or sets the ID of the tool being used. public int ToolId { get; set; } Property Value int WorkpieceGeomToProgramMat4d Gets or sets the transformation matrix from workpiece geometry to program zero. public Mat4d WorkpieceGeomToProgramMat4d { get; set; } Property Value Mat4d Methods GetFeedPerTooth_mm(IMachiningTool) Gets the feed per tooth in millimeters. public double GetFeedPerTooth_mm(IMachiningTool millingTool) Parameters millingTool IMachiningTool The milling tool. Returns double The feed per tooth in millimeters. GetFeedrate_mmds() Gets the program feedrate in millimeters per second. public double GetFeedrate_mmds() Returns double Feedrate in mm/s GetMachiningTool(MachiningToolHouse) Gets the machining tool from the tool house. public IMachiningTool GetMachiningTool(MachiningToolHouse toolHouse) Parameters toolHouse MachiningToolHouse The machining tool house. Returns IMachiningTool The machining tool. GetProgramSideCuspHeight_mm(IMachiningTool) Gets the program side cusp height in millimeters. public double GetProgramSideCuspHeight_mm(IMachiningTool millingTool) Parameters millingTool IMachiningTool The milling tool. Returns double The program side cusp height in millimeters. GetSideCuspList_mm(IMachiningTool) Gets the list of side cusp heights in millimeters. public List GetSideCuspList_mm(IMachiningTool millingTool) Parameters millingTool IMachiningTool The milling tool. Returns List The list of side cusp heights in millimeters. GetSideCuspPhaseInterval_rad(IMachiningTool) Gets the side cusp phase interval in radians. public double GetSideCuspPhaseInterval_rad(IMachiningTool millingTool) Parameters millingTool IMachiningTool The milling tool. Returns double The side cusp phase interval in radians. GetSpindleDirection() Gets the spindle rotation direction. public SpindleDirection GetSpindleDirection() Returns SpindleDirection The spindle direction (clockwise, counterclockwise, or stopped) GetSpindleSpeed_cycleds() public double GetSpindleSpeed_cycleds() Returns double GetSpindleSpeed_radds() Gets the spindle speed in radians per second. public double GetSpindleSpeed_radds() Returns double Spindle speed in rad/s GetToothArcDuration_s(IMachiningTool) Gets the duration of a single tooth arc in seconds. public double GetToothArcDuration_s(IMachiningTool millingTool) Parameters millingTool IMachiningTool The milling tool. Returns double The duration of a single tooth arc in seconds. GetToothSeqOnToolRunningCoordinate(IMachiningTool) Gets the sequence of transformations for a single tooth on tool running coordinate. public SeqPair GetToothSeqOnToolRunningCoordinate(IMachiningTool millingTool) Parameters millingTool IMachiningTool The milling tool. Returns SeqPair The sequence of transformations for a single tooth. ToString() Returns a string representation of this machining step. public override string ToString() Returns string A string representation of this machining step." + "summary": "Class MachineMotionStep Namespace Hi.MachiningSteps Assembly HiMech.dll MachiningStep has spindle information. Note that the spindle information is only for milling behavior. public class MachineMotionStep : IGetFeedrate, IGetSpindleSpeed Inheritance object MachineMotionStep Implements IGetFeedrate IGetSpindleSpeed Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachineMotionStep(MachineMotionStep) Initializes a new instance of the MachineMotionStep class by copying from another instance. public MachineMotionStep(MachineMotionStep src) Parameters src MachineMotionStep The source machining step to copy from. MachineMotionStep(TimeSpan, TimeSpan, double, double[], double, double, SpindleDirection, int, Mat4d, Mat4d, SeqPair) Initializes a new instance of the MachineMotionStep class with specified parameters. public MachineMotionStep(TimeSpan stepDuration, TimeSpan accumulatedTime, double beginSpindleAngle_rad, double[] mcValues, double feedrate_mmds, double spindleSpeed_radds, SpindleDirection spindleDirection, int toolId, Mat4d programZeroToWorkpieceGeomToMat4d, Mat4d workpieceGeomToProgramZeroMat4d, SeqPair seqOnWorkpieceGeomCoordinate) Parameters stepDuration TimeSpan The duration of this step. accumulatedTime TimeSpan The accumulated time up to this step. beginSpindleAngle_rad double The initial spindle angle in radians. mcValues double[] The machine coordinate values. feedrate_mmds double The feed rate in millimeters per second. spindleSpeed_radds double The spindle speed in radians per second. spindleDirection SpindleDirection The direction of spindle rotation. toolId int The ID of the tool being used. programZeroToWorkpieceGeomToMat4d Mat4d The transformation matrix from program zero to workpiece geometry. workpieceGeomToProgramZeroMat4d Mat4d The transformation matrix from workpiece geometry to program zero. seqOnWorkpieceGeomCoordinate SeqPair The sequence of transformations on workpiece geometry coordinate. Properties AccumulatedTime The work time at the end of the step. The value is StepBeginTime + StepDuration. public TimeSpan AccumulatedTime { get; set; } Property Value TimeSpan BeginSpindleAngle_deg Begin spindle rotation angle. in deg; public double BeginSpindleAngle_deg { get; set; } Property Value double BeginSpindleAngle_rad Begin spindle rotation angle. in rad; public double BeginSpindleAngle_rad { get; set; } Property Value double CdnTransformProgramToToolRunning Gets the transformation matrix from program to tool running coordinate. public Mat4d CdnTransformProgramToToolRunning { get; } Property Value Mat4d CdnTransformProgramToWorkpieceGeom Gets the transformation matrix from program zero to workpiece geometry. public Mat4d CdnTransformProgramToWorkpieceGeom { get; } Property Value Mat4d CdnTransformToolRunningToProgram Gets the transformation matrix from tool running to program coordinate. public Mat4d CdnTransformToolRunningToProgram { get; } Property Value Mat4d CdnTransformToolRunningToWorkpieceGeom Tool running coordinate to workpiece geom coordinate. public Mat4d CdnTransformToolRunningToWorkpieceGeom { get; } Property Value Mat4d CdnTransformWorkpieceGeomToProgram Gets the transformation matrix from workpiece geometry to program zero. public Mat4d CdnTransformWorkpieceGeomToProgram { get; } Property Value Mat4d CdnTransformWorkpieceGeomToToolRunning Gets the transformation matrix from workpiece geometry to tool running coordinate. public Mat4d CdnTransformWorkpieceGeomToToolRunning { get; } Property Value Mat4d CyclePeriod Gets the cycle period as a TimeSpan. public TimeSpan CyclePeriod { get; } Property Value TimeSpan CyclePeriod_s Gets the cycle period in seconds. public double CyclePeriod_s { get; } Property Value double EndSpindleAngle_deg Gets the end spindle angle in degrees. public double EndSpindleAngle_deg { get; } Property Value double EndSpindleAngle_rad Gets the end spindle angle in radians. public double EndSpindleAngle_rad { get; } Property Value double FeedPerCycle_mm Gets the feed per cycle in millimeters. public double FeedPerCycle_mm { get; } Property Value double Feedrate_mmds Gets or sets the feed rate in millimeters per second. public double Feedrate_mmds { get; set; } Property Value double GeomCl Gets the current position in workpiece geometry coordinate. public DVec3d GeomCl { get; } Property Value DVec3d McValues Machine coordinate values. public double[] McValues { get; set; } Property Value double[] MoveOnProgramCoordinate_mm Gets the movement vector in program coordinate in millimeters. public Vec3d MoveOnProgramCoordinate_mm { get; } Property Value Vec3d MoveOnWorkpieceGeomCoordinate_mm Gets the movement vector in workpiece geometry coordinate in millimeters. public Vec3d MoveOnWorkpieceGeomCoordinate_mm { get; } Property Value Vec3d MovingDirectionOnWorkpieceGeomCoordinate Gets the movement direction vector in workpiece geometry coordinate. public Vec3d MovingDirectionOnWorkpieceGeomCoordinate { get; } Property Value Vec3d MovingLength_mm Gets the length of movement in millimeters. public double MovingLength_mm { get; } Property Value double PassedSpindleAngle_deg For milling behavior only. public double PassedSpindleAngle_deg { get; } Property Value double PassedSpindleAngle_rad For milling behavior only. public double PassedSpindleAngle_rad { get; } Property Value double ProgramCl Gets the current position in program coordinate. public DVec3d ProgramCl { get; } Property Value DVec3d ProgramToWorkpieceGeomMat4d Gets or sets the transformation matrix from program zero to workpiece geometry. public Mat4d ProgramToWorkpieceGeomMat4d { get; set; } Property Value Mat4d SeqOnToolRunningCoordinate Gets the sequence of transformations on tool running coordinate. public SeqPair SeqOnToolRunningCoordinate { get; } Property Value SeqPair SeqOnWorkpieceGeomCoordinate Gets or sets the sequence of transformations on workpiece geometry coordinate. public SeqPair SeqOnWorkpieceGeomCoordinate { get; set; } Property Value SeqPair SpindleDirection Gets or sets the direction of spindle rotation. public SpindleDirection SpindleDirection { get; set; } Property Value SpindleDirection SpindleSpeed_cycleds Gets the spindle speed in cycles per second. public double SpindleSpeed_cycleds { get; } Property Value double SpindleSpeed_radds For milling behavior only. public double SpindleSpeed_radds { get; set; } Property Value double SpindleSpeed_rpm Gets the spindle speed in revolutions per minute. public double SpindleSpeed_rpm { get; } Property Value double StepBeginTime The work time at the begin of the step. public TimeSpan StepBeginTime { get; } Property Value TimeSpan StepDuration Gets or sets the duration of this step. public TimeSpan StepDuration { get; set; } Property Value TimeSpan ToolId Gets or sets the ID of the tool being used. public int ToolId { get; set; } Property Value int WorkpieceGeomToProgramMat4d Gets or sets the transformation matrix from workpiece geometry to program zero. public Mat4d WorkpieceGeomToProgramMat4d { get; set; } Property Value Mat4d Methods GetFeedPerTooth_mm(IMachiningTool) Gets the feed per tooth in millimeters. public double GetFeedPerTooth_mm(IMachiningTool millingTool) Parameters millingTool IMachiningTool The milling tool. Returns double The feed per tooth in millimeters. GetFeedrate_mmds() Gets the program feedrate in millimeters per second. public double GetFeedrate_mmds() Returns double Feedrate in mm/s GetMachiningTool(MachiningToolHouse) Gets the machining tool from the tool house. public IMachiningTool GetMachiningTool(MachiningToolHouse toolHouse) Parameters toolHouse MachiningToolHouse The machining tool house. Returns IMachiningTool The machining tool. GetProgramSideCuspHeight_mm(IMachiningTool) Gets the program side cusp height in millimeters. public double GetProgramSideCuspHeight_mm(IMachiningTool millingTool) Parameters millingTool IMachiningTool The milling tool. Returns double The program side cusp height in millimeters. GetSideCuspList_mm(IMachiningTool) Gets the list of side cusp heights in millimeters. public List GetSideCuspList_mm(IMachiningTool millingTool) Parameters millingTool IMachiningTool The milling tool. Returns List The list of side cusp heights in millimeters. GetSideCuspPhaseInterval_rad(IMachiningTool) Gets the side cusp phase interval in radians. public double GetSideCuspPhaseInterval_rad(IMachiningTool millingTool) Parameters millingTool IMachiningTool The milling tool. Returns double The side cusp phase interval in radians. GetSpindleDirection() Gets the spindle rotation direction. public SpindleDirection GetSpindleDirection() Returns SpindleDirection The spindle direction (clockwise, counterclockwise, or stopped) GetSpindleSpeed_cycleds() Gets the spindle speed in cycles per second. public double GetSpindleSpeed_cycleds() Returns double The spindle speed in cycles per second. GetSpindleSpeed_radds() Gets the spindle speed in radians per second. public double GetSpindleSpeed_radds() Returns double Spindle speed in rad/s GetToothArcDuration_s(IMachiningTool) Gets the duration of a single tooth arc in seconds. public double GetToothArcDuration_s(IMachiningTool millingTool) Parameters millingTool IMachiningTool The milling tool. Returns double The duration of a single tooth arc in seconds. GetToothSeqOnToolRunningCoordinate(IMachiningTool) Gets the sequence of transformations for a single tooth on tool running coordinate. public SeqPair GetToothSeqOnToolRunningCoordinate(IMachiningTool millingTool) Parameters millingTool IMachiningTool The milling tool. Returns SeqPair The sequence of transformations for a single tooth. ToString() Returns a string representation of this machining step. public override string ToString() Returns string A string representation of this machining step." }, "api/Hi.MachiningSteps.MachiningStep.CollidedKeyPair.html": { "href": "api/Hi.MachiningSteps.MachiningStep.CollidedKeyPair.html", @@ -2027,7 +2027,7 @@ "api/Hi.MachiningSteps.MachiningStep.html": { "href": "api/Hi.MachiningSteps.MachiningStep.html", "title": "Class MachiningStep | HiAPI-C# 2025", - "summary": "Class MachiningStep Namespace Hi.MachiningSteps Assembly HiMech.dll Represents a machining step enriched with physics, mapping and source metadata. The duration-based step property is based on the duration from previous-step to current-step. public class MachiningStep : IGetIndexedFileLine, IFlexDictionaryHost, IGetFeedrate, IGetSpindleSpeed, IGetRgbWithPriority Inheritance object MachiningStep Implements IGetIndexedFileLine IFlexDictionaryHost IGetFeedrate IGetSpindleSpeed IGetRgbWithPriority Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) FlexDictionaryUtil.CallFlexDictionary(IFlexDictionaryHost) FlexDictionaryUtil.GetFlexDictionaryBytes(IFlexDictionaryHost, IntegerKeyDictionaryConverter) FlexDictionaryUtil.WriteFlexDictionary(IFlexDictionaryHost, BinaryWriter, IntegerKeyDictionaryConverter) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningStep(IMachiningStepHost, int, IIndexedFileLine, MachineMotionStep, MillingInstance, CollidedKeyPair[]) Initializes a new instance of the MachiningStep class. public MachiningStep(IMachiningStepHost host, int stepIndex, IIndexedFileLine sourceCommand, MachineMotionStep machineMotionStep, MillingInstance millingInstance, MachiningStep.CollidedKeyPair[] collidedKeyPairs) Parameters host IMachiningStepHost The host of the milling step. stepIndex int The index of the step. sourceCommand IIndexedFileLine The source command. machineMotionStep MachineMotionStep The machine motion step parameters. millingInstance MillingInstance The physics result for the step. collidedKeyPairs CollidedKeyPair[] The collided key pairs detected in this step. Properties AccumulatedCraterWear_um Gets the accumulated crater wear in micrometers [Present(\"Accumulated Crater Wear\", \"A.C.Wear\", PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double AccumulatedCraterWear_um { get; } Property Value double AccumulatedFlankWearDepth_um Gets the accumulated flank wear depth in micrometers [Present(\"Accumulated Flank Wear Depth\", \"A.F.Wear.Depth\", PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double AccumulatedFlankWearDepth_um { get; } Property Value double AccumulatedFlankWearWidth_um Gets the accumulated flank wear width in micrometers [Present(\"Accumulated Flank Wear Width\", \"A.F.Wear.Width\", PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double AccumulatedFlankWearWidth_um { get; } Property Value double AccumulatedSpindleEnergyConsumption_kWh Gets the accumulated spindle energy consumption in kilowatt-hours [Present(\"Accumulated Spindle Energy Consumption\", null, PhysicsUnit.kWh, \"G6\")] [JsAce(ClassExt = \"MachiningStep\")] public double AccumulatedSpindleEnergyConsumption_kWh { get; } Property Value double AccumulatedTime Ideal accumulated worked time by simulation. Ideal Program duration. [Present(\"Time\", null, PhysicsUnit.None, \"G\")] [JsAce(ClassExt = \"MachiningStep\")] public TimeSpan AccumulatedTime { get; } Property Value TimeSpan ActualTime Actual accumulated worked time. Actual Program time. [Present(\"Actual Time\", \"Act.Time\", PhysicsUnit.None, \"G\")] [JsAce(ClassExt = \"MachiningStep\")] public TimeSpan? ActualTime { get; set; } Property Value TimeSpan? AvgAbsMomentAboutSensorVec3d_Nm Gets the average absolute moment about sensor vector in Newton-meters [Present(\"Avg Abs Moment To Tool About Sensor\", \"Avg-Abs-M-ToTool-Sensor-SR\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public Vec3d AvgAbsMomentAboutSensorVec3d_Nm { get; } Property Value Vec3d AvgAbsMomentXAboutSensorOnSpindleRotationCoordinate_Nm Gets the average absolute moment X about sensor on spindle rotation coordinate in Newton-meters [Present(\"Avg Abs Moment X To Tool About Sensor On Spindle Rotation Coordinate\", \"AvgAbsMx-ToTool-Sensor-SR\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? AvgAbsMomentXAboutSensorOnSpindleRotationCoordinate_Nm { get; } Property Value double? AvgAbsMomentXAboutToolTipOnSpindleRotationCoordinate_Nm Gets the average absolute moment X about tool tip on spindle rotation coordinate in Newton-meters [Present(\"Avg Abs Moment X To Tool About Tool Tip On Spindle Rotation Coordinate\", \"AvgAbsMx-ToTool-Tip-SR\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double AvgAbsMomentXAboutToolTipOnSpindleRotationCoordinate_Nm { get; } Property Value double AvgAbsTorqueByMapping_Nm Gets the average absolute torque by mapping in Newton-meters [Present(\"Avg Abs Torque By Mapping\", \"AvgAbsTorque-Map\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? AvgAbsTorqueByMapping_Nm { get; } Property Value double? AvgAbsTorqueErrorRatioWithMapping numerator is sim value minus mapping value; denominator is the mapping value. [Present(\"Avg Torque Error Ratio by Mapping\", \"Torque-Err-R.\", PhysicsUnit.None, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? AvgAbsTorqueErrorRatioWithMapping { get; } Property Value double? AvgAbsTorqueSignedErrorRelationWithMapping The sign is from sim value minus mapping value. the quantity is Math.Sqrt(err.Square() / Math.Abs(sim * mapping)) [JsAce(ClassExt = \"MachiningStep\")] public double? AvgAbsTorqueSignedErrorRelationWithMapping { get; } Property Value double? AvgAbsTorque_Nm AvgAbsTorqueOnSpindleRotationCoordinate [Present(\"Avg Abs Torque\", \"AvgAbsTorque\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? AvgAbsTorque_Nm { get; } Property Value double? AvgForceToToolOnToolRunningCoordinate_N Gets the average force to tool on tool running coordinate in N. [Present(\"AvgForceToToolOnToolRunningCoordinate\", \"AvgForce-ToTool-TR\", PhysicsUnit.N, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public Vec3d AvgForceToToolOnToolRunningCoordinate_N { get; } Property Value Vec3d AvgForceXToToolOnToolRunningCoordinate_N Gets the average force X to tool on tool running coordinate in N. [JsAce(ClassExt = \"MachiningStep\")] public double? AvgForceXToToolOnToolRunningCoordinate_N { get; } Property Value double? AvgForceYToToolOnToolRunningCoordinate_N Gets the average force Y to tool on tool running coordinate in N. [JsAce(ClassExt = \"MachiningStep\")] public double? AvgForceYToToolOnToolRunningCoordinate_N { get; } Property Value double? AvgForceZToToolOnToolRunningCoordinate_N Gets the average force Z to tool on tool running coordinate in N. [JsAce(ClassExt = \"MachiningStep\")] public double? AvgForceZToToolOnToolRunningCoordinate_N { get; } Property Value double? AvgMomentAboutSensor_Nm Gets the average moment about sensor in Newton-meters [Present(\"Avg Moment To Tool About Sensor\", \"AvgM-ToTool-Sensor-SR\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? AvgMomentAboutSensor_Nm { get; } Property Value double? AvgMomentAboutToolTipOnProgramCoordinate_Nm Gets the average moment about tool tip on program coordinate in Newton-meters [Present(\"Avg Moment To Tool About Tool Tip On Workpiece Program Coordinate\", \"AvgAbsM-ToTool-Tip-W\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public Vec3d AvgMomentAboutToolTipOnProgramCoordinate_Nm { get; } Property Value Vec3d AvgMomentAboutToolTipOnToolRunningCoordinate_Nm Gets the average moment about tool tip on tool running coordinate in Newton-meters [Present(\"Avg Moment To Tool About Tool Tip On Tool Running Coordinate\", \"AvgAbsM-ToTool-Tip-TR\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public Vec3d AvgMomentAboutToolTipOnToolRunningCoordinate_Nm { get; } Property Value Vec3d AvgMomentAboutToolTip_Nm Gets the average moment about tool tip in Newton-meters [Present(\"Avg Moment To Tool About ToolTip\", \"AvgM-ToTool-Tip-SR\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? AvgMomentAboutToolTip_Nm { get; } Property Value double? AvgMomentXyAboutObservationPoint_Nm Gets the average moment XY about observation point in Newton-meters [Present(\"Avg Moment XY To Tool About Sensor\", \"AvgM-ToTool-Sensor.XY\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? AvgMomentXyAboutObservationPoint_Nm { get; } Property Value double? AvgMomentXyByMapping_Nm Gets the average moment XY by mapping in Newton-meters [Present(\"Avg Moment XY By Mapping\", \"AvgM-Map.XY\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? AvgMomentXyByMapping_Nm { get; } Property Value double? AvgMomentXyErrorRatioWithMapping Gets the average moment XY error ratio with mapping. Numerator is sim value minus mapping value; denominator is the mapping value. [Present(\"Avg Moment XY Error Ratio by Mapping\", \"M-XY-Err-R.\", PhysicsUnit.None, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? AvgMomentXyErrorRatioWithMapping { get; } Property Value double? AvgMomentXySignedErrorRelationWithMapping The sign is from sim value minus mapping value. the quantity is Math.Sqrt(err.Square() / Math.Abs(sim * mapping)) [JsAce(ClassExt = \"MachiningStep\")] public double? AvgMomentXySignedErrorRelationWithMapping { get; } Property Value double? BeginSpindleAngle_deg Gets the beginning spindle angle in degrees. [Present(\"Beginning Spindle Angle Shift\", \"Spd. Ang. Shift\", PhysicsUnit.deg, \"F2\")] [JsAce(ClassExt = \"MachiningStep\")] public double BeginSpindleAngle_deg { get; } Property Value double ChipMass_g Gets the chip mass in grams. [JsAce(ClassExt = \"MachiningStep\")] public double? ChipMass_g { get; } Property Value double? ChipMass_mg Gets the chip mass in milligrams. [Present(\"Chip Mass\", null, PhysicsUnit.mg, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? ChipMass_mg { get; } Property Value double? ChipTemperature_C Gets the chip temperature in Celsius [Present(\"Chip Temperature\", \"Chip T.\", PhysicsUnit.C, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? ChipTemperature_C { get; } Property Value double? ChipThickness_mm Gets the chip thickness in mm. [Present(\"Chip Thickness\", null, PhysicsUnit.mm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? ChipThickness_mm { get; } Property Value double? ChipThickness_um Gets the chip thickness in micrometers public double? ChipThickness_um { get; } Property Value double? ChipVolume_mm3 Gets the chip volume in mm³. [Present(\"Chip Volume\", null, PhysicsUnit.mm3, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? ChipVolume_mm3 { get; } Property Value double? Cl Gets the cutter location. [Present(\"Cutter Location\", \"CL\", PhysicsUnit.mm, \"F5\")] public DVec3d Cl { get; } Property Value DVec3d CollidedKeyPairs Gets or sets the collided key pairs if a collision was detected for this step. public MachiningStep.CollidedKeyPair[] CollidedKeyPairs { get; set; } Property Value CollidedKeyPair[] CollisionText A formatted text representing collided key pairs, e.g. \"(A,B);(C,D)\". Returns null when there is no collision. [Present] [JsAce(ClassExt = \"MachiningStep\")] public string CollisionText { get; } Property Value string CutterBodyTemperature_C Gets the cutter body temperature in Celsius [Present(\"Cutter Body Temperature\", \"Ct. Body T.\", PhysicsUnit.C, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? CutterBodyTemperature_C { get; } Property Value double? CutterDermisTemperature_C Gets the cutter dermis temperature in Celsius [Present(\"Cutter Dermis Temperature\", \"Ct. Dermis T.\", PhysicsUnit.C, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? CutterDermisTemperature_C { get; } Property Value double? CuttingDepth_mm Gets the cutting depth in mm. [Present(\"Cutting Depth\", \"ap\", PhysicsUnit.mm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double CuttingDepth_mm { get; } Property Value double CuttingForcesToToolOnToolRunningCoordinate_N Cutting forces on tool running coordinate. Unit is Newtons. The forced item is tool. public List CuttingForcesToToolOnToolRunningCoordinate_N { get; } Property Value List CuttingForcesToWorkpieceOnProgramCoordinate_N Get the cutting forces on program coordinate. Unit is Newtons. The forced item is workpiece. public List CuttingForcesToWorkpieceOnProgramCoordinate_N { get; } Property Value List CuttingSpeed_mmds Gets the cutting speed in mm/s. The speed on the cutter outer radius by the spindle rotating. [Present(\"Cutting Speed\", \"Vc\", PhysicsUnit.mmds, \"G5\")] [JsAce(ClassExt = \"MachiningStep\")] public double? CuttingSpeed_mmds { get; } Property Value double? CuttingWidth_mm Gets the cutting width in mm. [Present(\"Cutting Width\", \"ae\", PhysicsUnit.mm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double CuttingWidth_mm { get; } Property Value double DeltaTipDeflectionOnToolRunningCoordinate_um Gets the delta tip deflection on tool running coordinate in micrometers [Present(\"Delta Tip Deflection On Tool Running Coordinate\", \"Dlt.Df.-Tip-TR\", PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public Vec3d DeltaTipDeflectionOnToolRunningCoordinate_um { get; } Property Value Vec3d FeedPerCycle_mm Gets the feed per cycle in mm. [Present(\"Feed per Cycle\", \"frc\", PhysicsUnit.mm, \"G5\")] [JsAce(ClassExt = \"MachiningStep\")] public double FeedPerCycle_mm { get; } Property Value double FeedPerTooth_mm Gets the feed per tooth in mm. [Present(\"Feed per Tooth\", \"frt\", PhysicsUnit.mm, \"G5\")] [JsAce(ClassExt = \"MachiningStep\")] public double FeedPerTooth_mm { get; } Property Value double Feedrate_mmdmin Gets the feedrate in mm/min. [Present(\"Feedrate\", \"F\", PhysicsUnit.mmdmin, \"G5\")] [JsAce(ClassExt = \"MachiningStep\")] public double Feedrate_mmdmin { get; } Property Value double Feedrate in mm/s FileNo Gets the file number. [Present] [JsAce(ClassExt = \"MachiningStep\")] public int? FileNo { get; } Property Value int? FilePath Gets the file path. [Present] [JsAce(ClassExt = \"MachiningStep\")] public string FilePath { get; } Property Value string FlagsText Gets the flags text. [Present] [JsAce(ClassExt = \"MachiningStep\")] public string FlagsText { get; } Property Value string FlexDictionary Gets or sets the flexible dictionary. public Dictionary FlexDictionary { get; set; } Property Value Dictionary FrictionPower_W friction power takes by workpiece per cycle. the unit is watt. [JsAce(ClassExt = \"MachiningStep\")] public double? FrictionPower_W { get; } Property Value double? Host Gets or sets the host of the milling step. public IMachiningStepHost Host { get; set; } Property Value IMachiningStepHost InfInsistentSpindlePowerRatio Continuous spindle power ratio: input power / time-unlimited maximum power per spindle capability. [Present(\"Continue Spindle Power Ratio\", \"Cont.Spd.Pow.R.\", PhysicsUnit.None, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? InfInsistentSpindlePowerRatio { get; } Property Value double? InfInsistentSpindleTorqueRatio Gets the infinite insistent spindle torque ratio [Present(\"Continue Spindle Torque Ratio\", \"Cont.Spd.Torque-R.\", PhysicsUnit.None, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? InfInsistentSpindleTorqueRatio { get; } Property Value double? InstantCraterWear_um Gets the instant crater wear in micrometers [Present(\"Instant Crater Wear\", \"I.C.Wear\", PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? InstantCraterWear_um { get; } Property Value double? IsReliefFaceCollided Gets a value indicating whether the relief face is collided. [Present(\"Is Relief Face Collided\", \"Is-Rlf.C.\", PhysicsUnit.None, \"G\")] [JsAce(ClassExt = \"MachiningStep\")] public bool? IsReliefFaceCollided { get; } Property Value bool? IsTouched Gets whether the step is touched. [Present(\"Is Touched\", null, PhysicsUnit.None, \"G\")] [JsAce(ClassExt = \"MachiningStep\")] public bool IsTouched { get; } Property Value bool this[string] Gets or sets a value in the flexible dictionary by key. public object this[string key] { get; set; } Parameters key string The key to look up. Property Value object The value associated with the key, or null if not found. LineNo Gets the line number. [Present] [JsAce(ClassExt = \"MachiningStep\")] public int? LineNo { get; } Property Value int? LineText Gets the line text. [Present] [JsAce(ClassExt = \"MachiningStep\")] public string LineText { get; } Property Value string MachineMotionStep Gets or sets the machining step. public MachineMotionStep MachineMotionStep { get; set; } Property Value MachineMotionStep MachiningTool Gets the machining tool used for this milling step. public IMachiningTool MachiningTool { get; } Property Value IMachiningTool MaxAbsForce_N Max absolute force at the rotation cycle. [Present(\"Max Absolute Force\", \"Max Abs F.\", PhysicsUnit.N, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? MaxAbsForce_N { get; } Property Value double? MaxBottomEdgeDeflectionOnToolRunningCoordinate_mm Gets the maximum bottom edge deflection on tool running coordinate in millimeters It only make sense in end mill. The z value of this factor is re-cut depth. [JsAce(ClassExt = \"MachiningStep\")] public Vec3d MaxBottomEdgeDeflectionOnToolRunningCoordinate_mm { get; } Property Value Vec3d MaxBottomEdgeDeflectionOnToolRunningCoordinate_um Gets the maximum bottom edge deflection on tool running coordinate in micrometers. [Present(\"Max Bottom Edge Deflection On Tool Running Coordinate\", \"Df.-Bt.Edge-TR\", PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public Vec3d MaxBottomEdgeDeflectionOnToolRunningCoordinate_um { get; } Property Value Vec3d MaxForceOnToolRunningCoordinate_N Gets the maximum force on tool running coordinate in N. public Vec3d MaxForceOnToolRunningCoordinate_N { get; } Property Value Vec3d MaxMomentAboutSensor_Nm Gets the maximum moment about sensor in Newton-meters [Present(\"Max Moment To Tool About Sensor\", \"MaxM-ToTool-Sensor-SR\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double MaxMomentAboutSensor_Nm { get; } Property Value double MaxMomentAboutToolTip_Nm Gets the maximum moment about tool tip in Newton-meters [Present(\"Max Moment To Tool About ToolTip\", \"MaxM-ToTool-Tip-SR\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double MaxMomentAboutToolTip_Nm { get; } Property Value double MaxSpindlePowerRatio Maximum spindle power ratio: input power / instantaneous maximum power per spindle capability. [Present(\"Max Spindle Power Ratio\", \"Max.Spd.Pow.R.\", PhysicsUnit.None, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? MaxSpindlePowerRatio { get; } Property Value double? MaxSpindleTorqueRatio Gets the maximum spindle torque ratio [Present(\"Max Spindle Torque Ratio\", \"Max.Spd.Torque-R.\", PhysicsUnit.None, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? MaxSpindleTorqueRatio { get; } Property Value double? MaxTipDeflectionOnToolRunningCoordinate_mm Gets the maximum tip deflection on tool running coordinate in millimeters [JsAce(ClassExt = \"MachiningStep\")] public Vec3d MaxTipDeflectionOnToolRunningCoordinate_mm { get; } Property Value Vec3d MaxTipDeflectionOnToolRunningCoordinate_um Gets the maximum tip deflection on tool running coordinate in micrometers [Present(\"Max Tip Deflection On Tool Running Coordinate\", \"Max.Df.-Tip-TR\", PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public Vec3d MaxTipDeflectionOnToolRunningCoordinate_um { get; } Property Value Vec3d MillingInstance Gets or sets the milling instance. public MillingInstance MillingInstance { get; set; } Property Value MillingInstance MillingStepLuggage Get luggage by sequencing loading performance optimization. public MillingStepLuggage MillingStepLuggage { get; } Property Value MillingStepLuggage MomentsToToolAboutObservationPointOnSpindleRotationCoordinate_Nm Get Moments About Observation Point On Spindle Rotation Coordinate. Unit is Newtons-meter. The forced item is tool. public List MomentsToToolAboutObservationPointOnSpindleRotationCoordinate_Nm { get; } Property Value List Remarks Not cached data. Light computation cost of the vectors transformation. MoveOnProgramCoordinate Gets the move on program coordinate. [Present(\"Move On Workpiece Program Coordinate\", \"Move-W\", PhysicsUnit.mm, \"F4\")] [JsAce(ClassExt = \"MachiningStep\")] public Vec3d MoveOnProgramCoordinate { get; } Property Value Vec3d MovingLength_mm Gets the moving length in mm. From previous-step to current-step. [Present(\"Move Length\", \"Move Len.\", PhysicsUnit.mm, \"F4\")] [JsAce(ClassExt = \"MachiningStep\")] public double MovingLength_mm { get; } Property Value double Mrr_mm3ds Gets the material removal rate in mm³/s. [Present(\"MRR\", null, PhysicsUnit.mm3ds, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double Mrr_mm3ds { get; } Property Value double ProgramSideCusp_um Gets the program side cusp in micrometers. Side cusp without deformation. The value is count by feed per tooth and the tool radius. [Present(\"Program Side Cusp\", null, PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double ProgramSideCusp_um { get; } Property Value double ReCutDepth_um Gets or sets the recut depth in micrometers. The recut depth cause the cutting mark by the end mill. The recut depth increased by the cutter radius increased. [Present(\"Re-Cut Depth on Bottom Edge on Tool Running Coordinate\", \"Re-Cut Depth\", PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double ReCutDepth_um { get; } Property Value double ReliefFaceCollidingDepth_mm Gets the relief face colliding depth in millimeters. [Present(\"Relief Face Colliding Depth\", \"Rlf.C.Depth\", PhysicsUnit.mm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? ReliefFaceCollidingDepth_mm { get; } Property Value double? SideCuspList_um Gets the list of side cusps in micrometers. [JsAce(ClassExt = \"MachiningStep\")] public List SideCuspList_um { get; } Property Value List SourceCommand Gets or sets the source command. public IIndexedFileLine SourceCommand { get; set; } Property Value IIndexedFileLine SpindleCyclePeriod_s Gets the spindle rotation cycle period in seconds. [Present(\"Spindle Cycle Period\", null, PhysicsUnit.sec, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double SpindleCyclePeriod_s { get; } Property Value double SpindleInputPower_W Input spindle power in watts: energy entering the spindle. [Present(\"Spindle Input Power\", null, PhysicsUnit.watt, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double SpindleInputPower_W { get; } Property Value double Input spindle power in Watts. SpindleOutputPower_W Spindle output power in watts (axial power taken by workpiece). Energy at the cutting end after spindle losses; causes workpiece/chip deformation and temperature rise. [Present(\"Spindle Output Power\", null, PhysicsUnit.watt, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double SpindleOutputPower_W { get; } Property Value double SpindleSpeed_rpm Gets the spindle speed in RPM. [Present(\"Spindle Speed\", \"S\", PhysicsUnit.rpm, \"G5\")] [JsAce(ClassExt = \"MachiningStep\")] public double SpindleSpeed_rpm { get; } Property Value double Spindle speed in rad/s SpindleTemperature_C Gets the spindle temperature in Celsius [Present(\"Spindle Temperature\", \"Spd.Temp.\", PhysicsUnit.C, \"G2\")] [JsAce(ClassExt = \"MachiningStep\")] public double? SpindleTemperature_C { get; } Property Value double? SpindleWorkingTemperatureRatio Gets the spindle working temperature ratio [Present(\"Spindle Working Temperature Ratio\", \"Spd.Temp.R.\", PhysicsUnit.None, \"G2\")] [JsAce(ClassExt = \"MachiningStep\")] public double? SpindleWorkingTemperatureRatio { get; } Property Value double? StepDuration Gets the step duration. [Present(\"Step Duration\", \"duration\", PhysicsUnit.sec, \"ss\\\\.ffffff\")] [JsAce(ClassExt = \"MachiningStep\")] public TimeSpan StepDuration { get; } Property Value TimeSpan StepIndex Gets the index of the step. [Key] [DatabaseGenerated(DatabaseGeneratedOption.None)] [Present(\"Step Index\", \"S.I.\", PhysicsUnit.None, \"G\")] public int StepIndex { get; } Property Value int ThermalStress_MPa Gets the thermal stress in MPa [Present(\"Thermal Stress\", \"Th. S.\", PhysicsUnit.MPa, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? ThermalStress_MPa { get; } Property Value double? ThermalYieldRatio Gets the thermal yield ratio [Present(\"Thermal Yield Ratio\", \"Th. Yield R.\", PhysicsUnit.None, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? ThermalYieldRatio { get; } Property Value double? TipDeflectionsOnToolRunningCoordinate_um Gets the tip deflections on tool running coordinate in micrometers [JsAce(ClassExt = \"MachiningStep\")] public List TipDeflectionsOnToolRunningCoordinate_um { get; } Property Value List ToolId Gets the tool ID. [Present(\"Tool ID\", \"T\", PhysicsUnit.None, \"G\")] [JsAce(ClassExt = \"MachiningStep\")] public int ToolId { get; } Property Value int ToothArcDuration_s Gets the tooth arc duration in seconds by the spindle rotation. The value is SpindleCyclePeriod_s div Cutter's teeth number. [Present(\"Tooth Arc Duration\", null, PhysicsUnit.sec, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double ToothArcDuration_s { get; } Property Value double ToothSeqOnToolRunningCoordinate Gets the sequence pair of transformation matrices representing tooth positions on the tool running coordinate system. public SeqPair ToothSeqOnToolRunningCoordinate { get; } Property Value SeqPair WorkpieceDermisTemperature_C Gets the workpiece dermis temperature in Celsius [Present(\"Workpiece Dermis Temperature\", \"W. Dermis T.\", PhysicsUnit.C, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? WorkpieceDermisTemperature_C { get; } Property Value double? WorkpiecePlasticDepth_um Gets the workpiece plastic depth in micrometers. The depth is at the location that the cutting stress is equal to the yielding stress. The cutting stress exert to the workpiece decreased on the depth increased. [Present(\"Workpiece Plastic Deformation Depth\", \"W.P.Depth\", PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double WorkpiecePlasticDepth_um { get; } Property Value double YieldingStressRatio Gets the yielding stress ratio [Present(\"Yielding Stress Ratio\", \"Y-Stress-R.\", PhysicsUnit.None, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? YieldingStressRatio { get; } Property Value double? Methods GetCutterDermisAvgTemperature_C(double) Gets the average cutter dermis temperature in Celsius at the specified depth. [JsAce(ClassExt = \"MachiningStep\")] public double GetCutterDermisAvgTemperature_C(double depth_mm) Parameters depth_mm double The depth in millimeters Returns double Average temperature in Celsius GetCutterDermisTemperature_C(double) Gets the cutter dermis temperature in Celsius at the specified depth. [JsAce(ClassExt = \"MachiningStep\")] public double GetCutterDermisTemperature_C(double depth_mm) Parameters depth_mm double The depth in millimeters Returns double Temperature in Celsius GetFeedrate_mmds() Gets the program feedrate in millimeters per second. public double GetFeedrate_mmds() Returns double Feedrate in mm/s GetIndexedFileLine() Gets the file line associated with this object. public IndexedFileLine GetIndexedFileLine() Returns IndexedFileLine The file line object. GetKeyToQuantityNativeDictionary(IMachiningChain) Internal use. public static ConcurrentDictionary> GetKeyToQuantityNativeDictionary(IMachiningChain machiningChain) Parameters machiningChain IMachiningChain Returns ConcurrentDictionary> GetMcValue(IMachiningChain, string) Gets the MC value for the specified tag in the machining chain. public double? GetMcValue(IMachiningChain chain, string tag) Parameters chain IMachiningChain The machining chain. tag string The tag to look up. Returns double? The MC value for the specified tag. GetMcValue(int) Gets the MC value at the specified index. For common machine tool, the index 0,1,2,3,4,5 is corresponding to motion component X,Y,Z,A,B,C. If the corresponding motion component not existed, return NaN. If MachineMotionStep not existed, return null. [JsAce(ClassExt = \"MachiningStep\")] public double? GetMcValue(int index) Parameters index int The index to look up. Returns double? The MC value at the specified index. GetRgbWithPriority(out Vec3d, out double) Gets the RGB color and priority for the milling step. public void GetRgbWithPriority(out Vec3d rgb, out double priority) Parameters rgb Vec3d The RGB color vector. priority double The priority value. GetSpindleDirection() Gets the spindle direction for this milling step. [Present(\"Spindle Direction\", \"Spd.Dir.\", PhysicsUnit.None, \"G\")] [JsAce(ClassExt = \"MachiningStep\")] public SpindleDirection GetSpindleDirection() Returns SpindleDirection GetSpindleSpeed_cycleds() public double GetSpindleSpeed_cycleds() Returns double GetSpindleSpeed_radds() Gets the spindle speed in radians per second. public double GetSpindleSpeed_radds() Returns double Spindle speed in rad/s UpdateNcOptOption(Action) Update NcOptOption for this step only. It should not be mixed with the StepBuilt event and NC inline optimization script since the concurent process may break the logics. public void UpdateNcOptOption(Action action) Parameters action Action the action to modify the step." + "summary": "Class MachiningStep Namespace Hi.MachiningSteps Assembly HiMech.dll Represents a machining step enriched with physics, mapping and source metadata. The duration-based step property is based on the duration from previous-step to current-step. public class MachiningStep : IGetIndexedFileLine, IFlexDictionaryHost, IGetFeedrate, IGetSpindleSpeed, IGetRgbWithPriority Inheritance object MachiningStep Implements IGetIndexedFileLine IFlexDictionaryHost IGetFeedrate IGetSpindleSpeed IGetRgbWithPriority Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) FlexDictionaryUtil.CallFlexDictionary(IFlexDictionaryHost) FlexDictionaryUtil.GetFlexDictionaryBytes(IFlexDictionaryHost, IntegerKeyDictionaryConverter) FlexDictionaryUtil.WriteFlexDictionary(IFlexDictionaryHost, BinaryWriter, IntegerKeyDictionaryConverter) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningStep(IMachiningStepHost, int, IIndexedFileLine, MachineMotionStep, MillingInstance, CollidedKeyPair[]) Initializes a new instance of the MachiningStep class. public MachiningStep(IMachiningStepHost host, int stepIndex, IIndexedFileLine sourceCommand, MachineMotionStep machineMotionStep, MillingInstance millingInstance, MachiningStep.CollidedKeyPair[] collidedKeyPairs) Parameters host IMachiningStepHost The host of the milling step. stepIndex int The index of the step. sourceCommand IIndexedFileLine The source command. machineMotionStep MachineMotionStep The machine motion step parameters. millingInstance MillingInstance The physics result for the step. collidedKeyPairs CollidedKeyPair[] The collided key pairs detected in this step. Properties AccumulatedCraterWear_um Gets the accumulated crater wear in micrometers [Present(\"Accumulated Crater Wear\", \"A.C.Wear\", PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double AccumulatedCraterWear_um { get; } Property Value double AccumulatedFlankWearDepth_um Gets the accumulated flank wear depth in micrometers [Present(\"Accumulated Flank Wear Depth\", \"A.F.Wear.Depth\", PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double AccumulatedFlankWearDepth_um { get; } Property Value double AccumulatedFlankWearWidth_um Gets the accumulated flank wear width in micrometers [Present(\"Accumulated Flank Wear Width\", \"A.F.Wear.Width\", PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double AccumulatedFlankWearWidth_um { get; } Property Value double AccumulatedSpindleEnergyConsumption_kWh Gets the accumulated spindle energy consumption in kilowatt-hours [Present(\"Accumulated Spindle Energy Consumption\", null, PhysicsUnit.kWh, \"G6\")] [JsAce(ClassExt = \"MachiningStep\")] public double AccumulatedSpindleEnergyConsumption_kWh { get; } Property Value double AccumulatedTime Ideal accumulated worked time by simulation. Ideal Program duration. [Present(\"Time\", null, PhysicsUnit.None, \"G\")] [JsAce(ClassExt = \"MachiningStep\")] public TimeSpan AccumulatedTime { get; } Property Value TimeSpan ActualTime Actual accumulated worked time. Actual Program time. [Present(\"Actual Time\", \"Act.Time\", PhysicsUnit.None, \"G\")] [JsAce(ClassExt = \"MachiningStep\")] public TimeSpan? ActualTime { get; set; } Property Value TimeSpan? AvgAbsMomentAboutSensorVec3d_Nm Gets the average absolute moment about sensor vector in Newton-meters [Present(\"Avg Abs Moment To Tool About Sensor\", \"Avg-Abs-M-ToTool-Sensor-SR\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public Vec3d AvgAbsMomentAboutSensorVec3d_Nm { get; } Property Value Vec3d AvgAbsMomentXAboutSensorOnSpindleRotationCoordinate_Nm Gets the average absolute moment X about sensor on spindle rotation coordinate in Newton-meters [Present(\"Avg Abs Moment X To Tool About Sensor On Spindle Rotation Coordinate\", \"AvgAbsMx-ToTool-Sensor-SR\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? AvgAbsMomentXAboutSensorOnSpindleRotationCoordinate_Nm { get; } Property Value double? AvgAbsMomentXAboutToolTipOnSpindleRotationCoordinate_Nm Gets the average absolute moment X about tool tip on spindle rotation coordinate in Newton-meters [Present(\"Avg Abs Moment X To Tool About Tool Tip On Spindle Rotation Coordinate\", \"AvgAbsMx-ToTool-Tip-SR\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double AvgAbsMomentXAboutToolTipOnSpindleRotationCoordinate_Nm { get; } Property Value double AvgAbsTorqueByMapping_Nm Gets the average absolute torque by mapping in Newton-meters [Present(\"Avg Abs Torque By Mapping\", \"AvgAbsTorque-Map\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? AvgAbsTorqueByMapping_Nm { get; } Property Value double? AvgAbsTorqueErrorRatioWithMapping numerator is sim value minus mapping value; denominator is the mapping value. [Present(\"Avg Torque Error Ratio by Mapping\", \"Torque-Err-R.\", PhysicsUnit.None, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? AvgAbsTorqueErrorRatioWithMapping { get; } Property Value double? AvgAbsTorqueSignedErrorRelationWithMapping The sign is from sim value minus mapping value. the quantity is Math.Sqrt(err.Square() / Math.Abs(sim * mapping)) [JsAce(ClassExt = \"MachiningStep\")] public double? AvgAbsTorqueSignedErrorRelationWithMapping { get; } Property Value double? AvgAbsTorque_Nm AvgAbsTorqueOnSpindleRotationCoordinate [Present(\"Avg Abs Torque\", \"AvgAbsTorque\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? AvgAbsTorque_Nm { get; } Property Value double? AvgForceToToolOnToolRunningCoordinate_N Gets the average force to tool on tool running coordinate in N. [Present(\"AvgForceToToolOnToolRunningCoordinate\", \"AvgForce-ToTool-TR\", PhysicsUnit.N, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public Vec3d AvgForceToToolOnToolRunningCoordinate_N { get; } Property Value Vec3d AvgForceXToToolOnToolRunningCoordinate_N Gets the average force X to tool on tool running coordinate in N. [JsAce(ClassExt = \"MachiningStep\")] public double? AvgForceXToToolOnToolRunningCoordinate_N { get; } Property Value double? AvgForceYToToolOnToolRunningCoordinate_N Gets the average force Y to tool on tool running coordinate in N. [JsAce(ClassExt = \"MachiningStep\")] public double? AvgForceYToToolOnToolRunningCoordinate_N { get; } Property Value double? AvgForceZToToolOnToolRunningCoordinate_N Gets the average force Z to tool on tool running coordinate in N. [JsAce(ClassExt = \"MachiningStep\")] public double? AvgForceZToToolOnToolRunningCoordinate_N { get; } Property Value double? AvgMomentAboutSensor_Nm Gets the average moment about sensor in Newton-meters [Present(\"Avg Moment To Tool About Sensor\", \"AvgM-ToTool-Sensor-SR\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? AvgMomentAboutSensor_Nm { get; } Property Value double? AvgMomentAboutToolTipOnProgramCoordinate_Nm Gets the average moment about tool tip on program coordinate in Newton-meters [Present(\"Avg Moment To Tool About Tool Tip On Workpiece Program Coordinate\", \"AvgAbsM-ToTool-Tip-W\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public Vec3d AvgMomentAboutToolTipOnProgramCoordinate_Nm { get; } Property Value Vec3d AvgMomentAboutToolTipOnToolRunningCoordinate_Nm Gets the average moment about tool tip on tool running coordinate in Newton-meters [Present(\"Avg Moment To Tool About Tool Tip On Tool Running Coordinate\", \"AvgAbsM-ToTool-Tip-TR\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public Vec3d AvgMomentAboutToolTipOnToolRunningCoordinate_Nm { get; } Property Value Vec3d AvgMomentAboutToolTip_Nm Gets the average moment about tool tip in Newton-meters [Present(\"Avg Moment To Tool About ToolTip\", \"AvgM-ToTool-Tip-SR\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? AvgMomentAboutToolTip_Nm { get; } Property Value double? AvgMomentXyAboutObservationPoint_Nm Gets the average moment XY about observation point in Newton-meters [Present(\"Avg Moment XY To Tool About Sensor\", \"AvgM-ToTool-Sensor.XY\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? AvgMomentXyAboutObservationPoint_Nm { get; } Property Value double? AvgMomentXyByMapping_Nm Gets the average moment XY by mapping in Newton-meters [Present(\"Avg Moment XY By Mapping\", \"AvgM-Map.XY\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? AvgMomentXyByMapping_Nm { get; } Property Value double? AvgMomentXyErrorRatioWithMapping Gets the average moment XY error ratio with mapping. Numerator is sim value minus mapping value; denominator is the mapping value. [Present(\"Avg Moment XY Error Ratio by Mapping\", \"M-XY-Err-R.\", PhysicsUnit.None, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? AvgMomentXyErrorRatioWithMapping { get; } Property Value double? AvgMomentXySignedErrorRelationWithMapping The sign is from sim value minus mapping value. the quantity is Math.Sqrt(err.Square() / Math.Abs(sim * mapping)) [JsAce(ClassExt = \"MachiningStep\")] public double? AvgMomentXySignedErrorRelationWithMapping { get; } Property Value double? BeginSpindleAngle_deg Gets the beginning spindle angle in degrees. [Present(\"Beginning Spindle Angle Shift\", \"Spd. Ang. Shift\", PhysicsUnit.deg, \"F2\")] [JsAce(ClassExt = \"MachiningStep\")] public double BeginSpindleAngle_deg { get; } Property Value double ChipMass_g Gets the chip mass in grams. [JsAce(ClassExt = \"MachiningStep\")] public double? ChipMass_g { get; } Property Value double? ChipMass_mg Gets the chip mass in milligrams. [Present(\"Chip Mass\", null, PhysicsUnit.mg, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? ChipMass_mg { get; } Property Value double? ChipTemperature_C Gets the chip temperature in Celsius [Present(\"Chip Temperature\", \"Chip T.\", PhysicsUnit.C, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? ChipTemperature_C { get; } Property Value double? ChipThickness_mm Gets the chip thickness in mm. [Present(\"Chip Thickness\", null, PhysicsUnit.mm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? ChipThickness_mm { get; } Property Value double? ChipThickness_um Gets the chip thickness in micrometers public double? ChipThickness_um { get; } Property Value double? ChipVolume_mm3 Gets the chip volume in mm³. [Present(\"Chip Volume\", null, PhysicsUnit.mm3, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? ChipVolume_mm3 { get; } Property Value double? Cl Gets the cutter location. [Present(\"Cutter Location\", \"CL\", PhysicsUnit.mm, \"F5\")] public DVec3d Cl { get; } Property Value DVec3d CollidedKeyPairs Gets or sets the collided key pairs if a collision was detected for this step. public MachiningStep.CollidedKeyPair[] CollidedKeyPairs { get; set; } Property Value CollidedKeyPair[] CollisionText A formatted text representing collided key pairs, e.g. \"(A,B);(C,D)\". Returns null when there is no collision. [Present] [JsAce(ClassExt = \"MachiningStep\")] public string CollisionText { get; } Property Value string CutterBodyTemperature_C Gets the cutter body temperature in Celsius [Present(\"Cutter Body Temperature\", \"Ct. Body T.\", PhysicsUnit.C, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? CutterBodyTemperature_C { get; } Property Value double? CutterDermisTemperature_C Gets the cutter dermis temperature in Celsius [Present(\"Cutter Dermis Temperature\", \"Ct. Dermis T.\", PhysicsUnit.C, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? CutterDermisTemperature_C { get; } Property Value double? CuttingDepth_mm Gets the cutting depth in mm. [Present(\"Cutting Depth\", \"ap\", PhysicsUnit.mm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double CuttingDepth_mm { get; } Property Value double CuttingForcesToToolOnToolRunningCoordinate_N Cutting forces on tool running coordinate. Unit is Newtons. The forced item is tool. public List CuttingForcesToToolOnToolRunningCoordinate_N { get; } Property Value List CuttingForcesToWorkpieceOnProgramCoordinate_N Get the cutting forces on program coordinate. Unit is Newtons. The forced item is workpiece. public List CuttingForcesToWorkpieceOnProgramCoordinate_N { get; } Property Value List CuttingSpeed_mmds Gets the cutting speed in mm/s. The speed on the cutter outer radius by the spindle rotating. [Present(\"Cutting Speed\", \"Vc\", PhysicsUnit.mmds, \"G5\")] [JsAce(ClassExt = \"MachiningStep\")] public double? CuttingSpeed_mmds { get; } Property Value double? CuttingWidth_mm Gets the cutting width in mm. [Present(\"Cutting Width\", \"ae\", PhysicsUnit.mm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double CuttingWidth_mm { get; } Property Value double DeltaTipDeflectionOnToolRunningCoordinate_um Gets the delta tip deflection on tool running coordinate in micrometers [Present(\"Delta Tip Deflection On Tool Running Coordinate\", \"Dlt.Df.-Tip-TR\", PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public Vec3d DeltaTipDeflectionOnToolRunningCoordinate_um { get; } Property Value Vec3d FeedPerCycle_mm Gets the feed per cycle in mm. [Present(\"Feed per Cycle\", \"frc\", PhysicsUnit.mm, \"G5\")] [JsAce(ClassExt = \"MachiningStep\")] public double FeedPerCycle_mm { get; } Property Value double FeedPerTooth_mm Gets the feed per tooth in mm. [Present(\"Feed per Tooth\", \"frt\", PhysicsUnit.mm, \"G5\")] [JsAce(ClassExt = \"MachiningStep\")] public double FeedPerTooth_mm { get; } Property Value double Feedrate_mmdmin Gets the feedrate in mm/min. [Present(\"Feedrate\", \"F\", PhysicsUnit.mmdmin, \"G5\")] [JsAce(ClassExt = \"MachiningStep\")] public double Feedrate_mmdmin { get; } Property Value double Feedrate in mm/s FileNo Gets the file number. [Present] [JsAce(ClassExt = \"MachiningStep\")] public int? FileNo { get; } Property Value int? FilePath Gets the file path. [Present] [JsAce(ClassExt = \"MachiningStep\")] public string FilePath { get; } Property Value string FlagsText Gets the flags text. [Present] [JsAce(ClassExt = \"MachiningStep\")] public string FlagsText { get; } Property Value string FlexDictionary Gets or sets the flexible dictionary. public Dictionary FlexDictionary { get; set; } Property Value Dictionary FrictionPower_W friction power takes by workpiece per cycle. the unit is watt. [JsAce(ClassExt = \"MachiningStep\")] public double? FrictionPower_W { get; } Property Value double? Host Gets or sets the host of the milling step. public IMachiningStepHost Host { get; set; } Property Value IMachiningStepHost InfInsistentSpindlePowerRatio Continuous spindle power ratio: input power / time-unlimited maximum power per spindle capability. [Present(\"Continue Spindle Power Ratio\", \"Cont.Spd.Pow.R.\", PhysicsUnit.None, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? InfInsistentSpindlePowerRatio { get; } Property Value double? InfInsistentSpindleTorqueRatio Gets the infinite insistent spindle torque ratio [Present(\"Continue Spindle Torque Ratio\", \"Cont.Spd.Torque-R.\", PhysicsUnit.None, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? InfInsistentSpindleTorqueRatio { get; } Property Value double? InstantCraterWear_um Gets the instant crater wear in micrometers [Present(\"Instant Crater Wear\", \"I.C.Wear\", PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? InstantCraterWear_um { get; } Property Value double? IsReliefFaceCollided Gets a value indicating whether the relief face is collided. [Present(\"Is Relief Face Collided\", \"Is-Rlf.C.\", PhysicsUnit.None, \"G\")] [JsAce(ClassExt = \"MachiningStep\")] public bool? IsReliefFaceCollided { get; } Property Value bool? IsTouched Gets whether the step is touched. [Present(\"Is Touched\", null, PhysicsUnit.None, \"G\")] [JsAce(ClassExt = \"MachiningStep\")] public bool IsTouched { get; } Property Value bool this[string] Gets or sets a value in the flexible dictionary by key. public object this[string key] { get; set; } Parameters key string The key to look up. Property Value object The value associated with the key, or null if not found. LineNo Gets the line number. [Present] [JsAce(ClassExt = \"MachiningStep\")] public int? LineNo { get; } Property Value int? LineText Gets the line text. [Present] [JsAce(ClassExt = \"MachiningStep\")] public string LineText { get; } Property Value string MachineMotionStep Gets or sets the machining step. public MachineMotionStep MachineMotionStep { get; set; } Property Value MachineMotionStep MachiningTool Gets the machining tool used for this milling step. public IMachiningTool MachiningTool { get; } Property Value IMachiningTool MaxAbsForce_N Max absolute force at the rotation cycle. [Present(\"Max Absolute Force\", \"Max Abs F.\", PhysicsUnit.N, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? MaxAbsForce_N { get; } Property Value double? MaxBottomEdgeDeflectionOnToolRunningCoordinate_mm Gets the maximum bottom edge deflection on tool running coordinate in millimeters It only make sense in end mill. The z value of this factor is re-cut depth. [JsAce(ClassExt = \"MachiningStep\")] public Vec3d MaxBottomEdgeDeflectionOnToolRunningCoordinate_mm { get; } Property Value Vec3d MaxBottomEdgeDeflectionOnToolRunningCoordinate_um Gets the maximum bottom edge deflection on tool running coordinate in micrometers. [Present(\"Max Bottom Edge Deflection On Tool Running Coordinate\", \"Df.-Bt.Edge-TR\", PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public Vec3d MaxBottomEdgeDeflectionOnToolRunningCoordinate_um { get; } Property Value Vec3d MaxForceOnToolRunningCoordinate_N Gets the maximum force on tool running coordinate in N. public Vec3d MaxForceOnToolRunningCoordinate_N { get; } Property Value Vec3d MaxMomentAboutSensor_Nm Gets the maximum moment about sensor in Newton-meters [Present(\"Max Moment To Tool About Sensor\", \"MaxM-ToTool-Sensor-SR\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double MaxMomentAboutSensor_Nm { get; } Property Value double MaxMomentAboutToolTip_Nm Gets the maximum moment about tool tip in Newton-meters [Present(\"Max Moment To Tool About ToolTip\", \"MaxM-ToTool-Tip-SR\", PhysicsUnit.Nm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double MaxMomentAboutToolTip_Nm { get; } Property Value double MaxSpindlePowerRatio Maximum spindle power ratio: input power / instantaneous maximum power per spindle capability. [Present(\"Max Spindle Power Ratio\", \"Max.Spd.Pow.R.\", PhysicsUnit.None, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? MaxSpindlePowerRatio { get; } Property Value double? MaxSpindleTorqueRatio Gets the maximum spindle torque ratio [Present(\"Max Spindle Torque Ratio\", \"Max.Spd.Torque-R.\", PhysicsUnit.None, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? MaxSpindleTorqueRatio { get; } Property Value double? MaxTipDeflectionOnToolRunningCoordinate_mm Gets the maximum tip deflection on tool running coordinate in millimeters [JsAce(ClassExt = \"MachiningStep\")] public Vec3d MaxTipDeflectionOnToolRunningCoordinate_mm { get; } Property Value Vec3d MaxTipDeflectionOnToolRunningCoordinate_um Gets the maximum tip deflection on tool running coordinate in micrometers [Present(\"Max Tip Deflection On Tool Running Coordinate\", \"Max.Df.-Tip-TR\", PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public Vec3d MaxTipDeflectionOnToolRunningCoordinate_um { get; } Property Value Vec3d MillingInstance Gets or sets the milling instance. public MillingInstance MillingInstance { get; set; } Property Value MillingInstance MillingStepLuggage Get luggage by sequencing loading performance optimization. public MillingStepLuggage MillingStepLuggage { get; } Property Value MillingStepLuggage MomentsToToolAboutObservationPointOnSpindleRotationCoordinate_Nm Get Moments About Observation Point On Spindle Rotation Coordinate. Unit is Newtons-meter. The forced item is tool. public List MomentsToToolAboutObservationPointOnSpindleRotationCoordinate_Nm { get; } Property Value List Remarks Not cached data. Light computation cost of the vectors transformation. MoveOnProgramCoordinate Gets the move on program coordinate. [Present(\"Move On Workpiece Program Coordinate\", \"Move-W\", PhysicsUnit.mm, \"F4\")] [JsAce(ClassExt = \"MachiningStep\")] public Vec3d MoveOnProgramCoordinate { get; } Property Value Vec3d MovingLength_mm Gets the moving length in mm. From previous-step to current-step. [Present(\"Move Length\", \"Move Len.\", PhysicsUnit.mm, \"F4\")] [JsAce(ClassExt = \"MachiningStep\")] public double MovingLength_mm { get; } Property Value double Mrr_mm3ds Gets the material removal rate in mm³/s. [Present(\"MRR\", null, PhysicsUnit.mm3ds, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double Mrr_mm3ds { get; } Property Value double ProgramSideCusp_um Gets the program side cusp in micrometers. Side cusp without deformation. The value is count by feed per tooth and the tool radius. [Present(\"Program Side Cusp\", null, PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double ProgramSideCusp_um { get; } Property Value double ReCutDepth_um Gets or sets the recut depth in micrometers. The recut depth cause the cutting mark by the end mill. The recut depth increased by the cutter radius increased. [Present(\"Re-Cut Depth on Bottom Edge on Tool Running Coordinate\", \"Re-Cut Depth\", PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double ReCutDepth_um { get; } Property Value double ReliefFaceCollidingDepth_mm Gets the relief face colliding depth in millimeters. [Present(\"Relief Face Colliding Depth\", \"Rlf.C.Depth\", PhysicsUnit.mm, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? ReliefFaceCollidingDepth_mm { get; } Property Value double? SideCuspList_um Gets the list of side cusps in micrometers. [JsAce(ClassExt = \"MachiningStep\")] public List SideCuspList_um { get; } Property Value List SourceCommand Gets or sets the source command. public IIndexedFileLine SourceCommand { get; set; } Property Value IIndexedFileLine SpindleCyclePeriod_s Gets the spindle rotation cycle period in seconds. [Present(\"Spindle Cycle Period\", null, PhysicsUnit.sec, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double SpindleCyclePeriod_s { get; } Property Value double SpindleInputPower_W Input spindle power in watts: energy entering the spindle. [Present(\"Spindle Input Power\", null, PhysicsUnit.watt, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double SpindleInputPower_W { get; } Property Value double Input spindle power in Watts. SpindleOutputPower_W Spindle output power in watts (axial power taken by workpiece). Energy at the cutting end after spindle losses; causes workpiece/chip deformation and temperature rise. [Present(\"Spindle Output Power\", null, PhysicsUnit.watt, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double SpindleOutputPower_W { get; } Property Value double SpindleSpeed_rpm Gets the spindle speed in RPM. [Present(\"Spindle Speed\", \"S\", PhysicsUnit.rpm, \"G5\")] [JsAce(ClassExt = \"MachiningStep\")] public double SpindleSpeed_rpm { get; } Property Value double Spindle speed in rad/s SpindleTemperature_C Gets the spindle temperature in Celsius [Present(\"Spindle Temperature\", \"Spd.Temp.\", PhysicsUnit.C, \"G2\")] [JsAce(ClassExt = \"MachiningStep\")] public double? SpindleTemperature_C { get; } Property Value double? SpindleWorkingTemperatureRatio Gets the spindle working temperature ratio [Present(\"Spindle Working Temperature Ratio\", \"Spd.Temp.R.\", PhysicsUnit.None, \"G2\")] [JsAce(ClassExt = \"MachiningStep\")] public double? SpindleWorkingTemperatureRatio { get; } Property Value double? StepDuration Gets the step duration. [Present(\"Step Duration\", \"duration\", PhysicsUnit.sec, \"ss\\\\.ffffff\")] [JsAce(ClassExt = \"MachiningStep\")] public TimeSpan StepDuration { get; } Property Value TimeSpan StepIndex Gets the index of the step. [Key] [DatabaseGenerated(DatabaseGeneratedOption.None)] [Present(\"Step Index\", \"S.I.\", PhysicsUnit.None, \"G\")] public int StepIndex { get; } Property Value int ThermalStress_MPa Gets the thermal stress in MPa [Present(\"Thermal Stress\", \"Th. S.\", PhysicsUnit.MPa, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? ThermalStress_MPa { get; } Property Value double? ThermalYieldRatio Gets the thermal yield ratio [Present(\"Thermal Yield Ratio\", \"Th. Yield R.\", PhysicsUnit.None, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? ThermalYieldRatio { get; } Property Value double? TipDeflectionsOnToolRunningCoordinate_um Gets the tip deflections on tool running coordinate in micrometers [JsAce(ClassExt = \"MachiningStep\")] public List TipDeflectionsOnToolRunningCoordinate_um { get; } Property Value List ToolId Gets the tool ID. [Present(\"Tool ID\", \"T\", PhysicsUnit.None, \"G\")] [JsAce(ClassExt = \"MachiningStep\")] public int ToolId { get; } Property Value int ToothArcDuration_s Gets the tooth arc duration in seconds by the spindle rotation. The value is SpindleCyclePeriod_s div Cutter's teeth number. [Present(\"Tooth Arc Duration\", null, PhysicsUnit.sec, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double ToothArcDuration_s { get; } Property Value double ToothSeqOnToolRunningCoordinate Gets the sequence pair of transformation matrices representing tooth positions on the tool running coordinate system. public SeqPair ToothSeqOnToolRunningCoordinate { get; } Property Value SeqPair WorkpieceDermisTemperature_C Gets the workpiece dermis temperature in Celsius [Present(\"Workpiece Dermis Temperature\", \"W. Dermis T.\", PhysicsUnit.C, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? WorkpieceDermisTemperature_C { get; } Property Value double? WorkpiecePlasticDepth_um Gets the workpiece plastic depth in micrometers. The depth is at the location that the cutting stress is equal to the yielding stress. The cutting stress exert to the workpiece decreased on the depth increased. [Present(\"Workpiece Plastic Deformation Depth\", \"W.P.Depth\", PhysicsUnit.um, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double WorkpiecePlasticDepth_um { get; } Property Value double YieldingStressRatio Gets the yielding stress ratio [Present(\"Yielding Stress Ratio\", \"Y-Stress-R.\", PhysicsUnit.None, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? YieldingStressRatio { get; } Property Value double? Methods GetCutterDermisAvgTemperature_C(double) Gets the average cutter dermis temperature in Celsius at the specified depth. [JsAce(ClassExt = \"MachiningStep\")] public double GetCutterDermisAvgTemperature_C(double depth_mm) Parameters depth_mm double The depth in millimeters Returns double Average temperature in Celsius GetCutterDermisTemperature_C(double) Gets the cutter dermis temperature in Celsius at the specified depth. [JsAce(ClassExt = \"MachiningStep\")] public double GetCutterDermisTemperature_C(double depth_mm) Parameters depth_mm double The depth in millimeters Returns double Temperature in Celsius GetFeedrate_mmds() Gets the program feedrate in millimeters per second. public double GetFeedrate_mmds() Returns double Feedrate in mm/s GetIndexedFileLine() Gets the file line associated with this object. public IndexedFileLine GetIndexedFileLine() Returns IndexedFileLine The file line object. GetKeyToQuantityNativeDictionary(IMachiningChain) Internal use. public static ConcurrentDictionary> GetKeyToQuantityNativeDictionary(IMachiningChain machiningChain) Parameters machiningChain IMachiningChain Returns ConcurrentDictionary> GetMcValue(IMachiningChain, string) Gets the MC value for the specified tag in the machining chain. public double? GetMcValue(IMachiningChain chain, string tag) Parameters chain IMachiningChain The machining chain. tag string The tag to look up. Returns double? The MC value for the specified tag. GetMcValue(int) Gets the MC value at the specified index. For common machine tool, the index 0,1,2,3,4,5 is corresponding to motion component X,Y,Z,A,B,C. If the corresponding motion component not existed, return NaN. If MachineMotionStep not existed, return null. [JsAce(ClassExt = \"MachiningStep\")] public double? GetMcValue(int index) Parameters index int The index to look up. Returns double? The MC value at the specified index. GetRgbWithPriority(out Vec3d, out double) Gets the RGB color and priority for the milling step. public void GetRgbWithPriority(out Vec3d rgb, out double priority) Parameters rgb Vec3d The RGB color vector. priority double The priority value. GetSpindleDirection() Gets the spindle direction for this milling step. [Present(\"Spindle Direction\", \"Spd.Dir.\", PhysicsUnit.None, \"G\")] [JsAce(ClassExt = \"MachiningStep\")] public SpindleDirection GetSpindleDirection() Returns SpindleDirection GetSpindleSpeed_cycleds() Gets the spindle speed in cycles per second. public double GetSpindleSpeed_cycleds() Returns double The spindle speed in cycles per second. GetSpindleSpeed_radds() Gets the spindle speed in radians per second. public double GetSpindleSpeed_radds() Returns double Spindle speed in rad/s UpdateNcOptOption(Action) Update NcOptOption for this step only. It should not be mixed with the StepBuilt event and NC inline optimization script since the concurent process may break the logics. public void UpdateNcOptOption(Action action) Parameters action Action the action to modify the step." }, "api/Hi.MachiningSteps.MachiningStepUtil.html": { "href": "api/Hi.MachiningSteps.MachiningStepUtil.html", @@ -3367,12 +3367,12 @@ "api/Hi.NcOpt.NcOptProc.html": { "href": "api/Hi.NcOpt.NcOptProc.html", "title": "Class NcOptProc | HiAPI-C# 2025", - "summary": "Class NcOptProc Namespace Hi.NcOpt Assembly HiNc.dll Provides functionality for optimizing NC programs by modifying feed rates and tool paths. public class NcOptProc : IMakeXmlSource Inheritance object NcOptProc Implements IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors NcOptProc(SequentialBulkReader) Ctor. public NcOptProc(SequentialBulkReader millingStepLuggageReader) Parameters millingStepLuggageReader SequentialBulkReader NcOptProc(XElement, string, SequentialBulkReader) Ctor. public NcOptProc(XElement src, string baseDirectory, SequentialBulkReader millingStepLuggageReader) Parameters src XElement XML baseDirectory string Base directory path millingStepLuggageReader SequentialBulkReader Milling step luggage reader Properties CoreNum Parallel computation thread num. 0 is special number to use all cores. public static int CoreNum { get; set; } Property Value int EmbeddedLogMode public static NcOptimizationEmbeddedLogMode EmbeddedLogMode { get; set; } Property Value NcOptimizationEmbeddedLogMode EnableIndividualStepAdjustmentLog Enable create log file for building individual NcOptProc.StepAdjustment process. public static bool EnableIndividualStepAdjustmentLog { get; set; } Property Value bool XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Optimize(ICuttingPara, MachiningSession, LinkedList, NcEnv, List, MachiningToolHouse, IMessageHost, CancellationToken, string, string) Optimizes NC lines based on cutting parameters and milling steps. public IEnumerable<(NcLine SrcNcLine, NcLine OptNcLine)> Optimize(ICuttingPara millingPara, MachiningSession machiningSession, LinkedList srcNcLines, NcEnv ncEnv, List machiningSteps, MachiningToolHouse millingToolHouse, IMessageHost messageHost, CancellationToken cancellationToken, string baseDirectory, string relFileTemplate) Parameters millingPara ICuttingPara The cutting parameters for optimization machiningSession MachiningSession The current machining session srcNcLines LinkedList The source NC lines to optimize ncEnv NcEnv The NC environment settings machiningSteps List The list of milling steps millingToolHouse MachiningToolHouse The machining tool house messageHost IMessageHost The message host for logging cancellationToken CancellationToken Cancellation token to cancel the operation baseDirectory string relFileTemplate string The relative file template for output Returns IEnumerable<(NcLine SrcNcLine, NcLine OptNcLine)> Enumerable of source and optimized NC line pairs OptimizeToFiles(ICuttingPara, MachiningSession, LinkedList, NcEnv, MachiningToolHouse, ClStrip, string, IMessageHost, CancellationToken, string) Optimizes NC lines and writes the results to files. public void OptimizeToFiles(ICuttingPara millingPara, MachiningSession machiningSession, LinkedList ncLines, NcEnv ncEnv, MachiningToolHouse millingToolHouse, ClStrip clStrip, string baseDirectory, IMessageHost messageHost, CancellationToken cancellationToken, string relFileTemplate = \"Output/Opt-[NcName]\") Parameters millingPara ICuttingPara The cutting parameters for optimization machiningSession MachiningSession The current machining session ncLines LinkedList The NC lines to optimize ncEnv NcEnv The NC environment settings millingToolHouse MachiningToolHouse The machining tool house clStrip ClStrip The cutter location strip baseDirectory string The base directory for output files messageHost IMessageHost The message host for logging cancellationToken CancellationToken Cancellation token to cancel the operation relFileTemplate string The relative file template for output files" + "summary": "Class NcOptProc Namespace Hi.NcOpt Assembly HiNc.dll Provides functionality for optimizing NC programs by modifying feed rates and tool paths. public class NcOptProc : IMakeXmlSource Inheritance object NcOptProc Implements IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors NcOptProc(SequentialBulkReader) Ctor. public NcOptProc(SequentialBulkReader millingStepLuggageReader) Parameters millingStepLuggageReader SequentialBulkReader NcOptProc(XElement, string, SequentialBulkReader) Ctor. public NcOptProc(XElement src, string baseDirectory, SequentialBulkReader millingStepLuggageReader) Parameters src XElement XML baseDirectory string Base directory path millingStepLuggageReader SequentialBulkReader Milling step luggage reader Properties CoreNum Parallel computation thread num. 0 is special number to use all cores. public static int CoreNum { get; set; } Property Value int EmbeddedLogMode Gets or sets the embedded log mode for NC optimization. public static NcOptimizationEmbeddedLogMode EmbeddedLogMode { get; set; } Property Value NcOptimizationEmbeddedLogMode EnableIndividualStepAdjustmentLog Enable create log file for building individual NcOptProc.StepAdjustment process. public static bool EnableIndividualStepAdjustmentLog { get; set; } Property Value bool XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Optimize(ICuttingPara, MachiningSession, LinkedList, NcEnv, List, MachiningToolHouse, IMessageHost, CancellationToken, string, string) Optimizes NC lines based on cutting parameters and milling steps. public IEnumerable<(NcLine SrcNcLine, NcLine OptNcLine)> Optimize(ICuttingPara millingPara, MachiningSession machiningSession, LinkedList srcNcLines, NcEnv ncEnv, List machiningSteps, MachiningToolHouse millingToolHouse, IMessageHost messageHost, CancellationToken cancellationToken, string baseDirectory, string relFileTemplate) Parameters millingPara ICuttingPara The cutting parameters for optimization. machiningSession MachiningSession The current machining session. srcNcLines LinkedList The source NC lines to optimize. ncEnv NcEnv The NC environment settings. machiningSteps List The list of milling steps. millingToolHouse MachiningToolHouse The machining tool house. messageHost IMessageHost The message host for logging. cancellationToken CancellationToken Cancellation token to cancel the operation. baseDirectory string The base directory for file operations. relFileTemplate string The relative file template for output. Returns IEnumerable<(NcLine SrcNcLine, NcLine OptNcLine)> Enumerable of source and optimized NC line pairs. OptimizeToFiles(ICuttingPara, MachiningSession, LinkedList, NcEnv, MachiningToolHouse, ClStrip, string, IMessageHost, CancellationToken, string) Optimizes NC lines and writes the results to files. public void OptimizeToFiles(ICuttingPara millingPara, MachiningSession machiningSession, LinkedList ncLines, NcEnv ncEnv, MachiningToolHouse millingToolHouse, ClStrip clStrip, string baseDirectory, IMessageHost messageHost, CancellationToken cancellationToken, string relFileTemplate = \"Output/Opt-[NcName]\") Parameters millingPara ICuttingPara The cutting parameters for optimization machiningSession MachiningSession The current machining session ncLines LinkedList The NC lines to optimize ncEnv NcEnv The NC environment settings millingToolHouse MachiningToolHouse The machining tool house clStrip ClStrip The cutter location strip baseDirectory string The base directory for output files messageHost IMessageHost The message host for logging cancellationToken CancellationToken Cancellation token to cancel the operation relFileTemplate string The relative file template for output files" }, "api/Hi.NcOpt.NcOptimizationEmbeddedLogMode.html": { "href": "api/Hi.NcOpt.NcOptimizationEmbeddedLogMode.html", "title": "Enum NcOptimizationEmbeddedLogMode | HiAPI-C# 2025", - "summary": "Enum NcOptimizationEmbeddedLogMode Namespace Hi.NcOpt Assembly HiNc.dll public enum NcOptimizationEmbeddedLogMode Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields FullLog = 2 All the lines are added the log of StepIndex and LineNo. None = 0 SimpleLog = 1 Only the re-interpolated lines are added the log of StepIndex. The last re-interpolated line from each original line are added the log of LineNo." + "summary": "Enum NcOptimizationEmbeddedLogMode Namespace Hi.NcOpt Assembly HiNc.dll Embedded log mode for NC optimization. public enum NcOptimizationEmbeddedLogMode Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields FullLog = 2 All the lines are added the log of StepIndex and LineNo. None = 0 No embedded logging. SimpleLog = 1 Only the re-interpolated lines are added the log of StepIndex. The last re-interpolated line from each original line are added the log of LineNo." }, "api/Hi.NcOpt.ShapeBasedCutterOptLimit.html": { "href": "api/Hi.NcOpt.ShapeBasedCutterOptLimit.html", @@ -3382,7 +3382,7 @@ "api/Hi.NcOpt.html": { "href": "api/Hi.NcOpt.html", "title": "Namespace Hi.NcOpt | HiAPI-C# 2025", - "summary": "Namespace Hi.NcOpt Classes CuttingVelocityOptLimit Represents optimization limits for cutting velocity parameters. FixedFeedPerCycleOptLimit Represents fixed feed-per-cycle optimization limits. Provides implementation for feed-per-cycle optimization with fixed minimum and maximum values. FixedFeedPerToothOptLimit Represents fixed feed-per-tooth optimization limits. Provides implementation for feed-per-tooth optimization with fixed minimum and maximum values. MillingCutterOptOption Represents NC optimization option for milling cutters. NcOptOption Represents the optimization options for NC operations. NcOptProc Provides functionality for optimizing NC programs by modifying feed rates and tool paths. ShapeBasedCutterOptLimit Represents optimization limits based on cutter shape parameters. Interfaces ICutterOptLimitHost Interface for hosts that contain cutter optimization limits. Provides access to cutter optimization limit settings. ICutterOptOption Interface for cutter optimization limits. Combines feed-per-tooth optimization capabilities with duplication and XML serialization support. Inherits from IMakeXmlSource, IFeedPerToothOptLimit, and IDuplicate. ICuttingVelocityOptLimit Interface for cutting velocity optimization limits. Defines methods to get minimum and maximum cutting velocity values. Implements IMakeXmlSource for XML serialization and IDuplicate for object duplication. IFeedPerToothOptLimit Interface for feed-per-tooth optimization limits. Defines methods to get minimum and maximum feed per tooth values. Implements IMakeXmlSource for XML serialization and IDuplicate for object duplication. Enums NcOptimizationEmbeddedLogMode" + "summary": "Namespace Hi.NcOpt Classes CuttingVelocityOptLimit Represents optimization limits for cutting velocity parameters. FixedFeedPerCycleOptLimit Represents fixed feed-per-cycle optimization limits. Provides implementation for feed-per-cycle optimization with fixed minimum and maximum values. FixedFeedPerToothOptLimit Represents fixed feed-per-tooth optimization limits. Provides implementation for feed-per-tooth optimization with fixed minimum and maximum values. MillingCutterOptOption Represents NC optimization option for milling cutters. NcOptOption Represents the optimization options for NC operations. NcOptProc Provides functionality for optimizing NC programs by modifying feed rates and tool paths. ShapeBasedCutterOptLimit Represents optimization limits based on cutter shape parameters. Interfaces ICutterOptLimitHost Interface for hosts that contain cutter optimization limits. Provides access to cutter optimization limit settings. ICutterOptOption Interface for cutter optimization limits. Combines feed-per-tooth optimization capabilities with duplication and XML serialization support. Inherits from IMakeXmlSource, IFeedPerToothOptLimit, and IDuplicate. ICuttingVelocityOptLimit Interface for cutting velocity optimization limits. Defines methods to get minimum and maximum cutting velocity values. Implements IMakeXmlSource for XML serialization and IDuplicate for object duplication. IFeedPerToothOptLimit Interface for feed-per-tooth optimization limits. Defines methods to get minimum and maximum feed per tooth values. Implements IMakeXmlSource for XML serialization and IDuplicate for object duplication. Enums NcOptimizationEmbeddedLogMode Embedded log mode for NC optimization." }, "api/Hi.NcStepUtils.IGetNcStep0.html": { "href": "api/Hi.NcStepUtils.IGetNcStep0.html", @@ -3642,12 +3642,12 @@ "api/Hi.Numerical.FilePlayers.CsvRunner.html": { "href": "api/Hi.Numerical.FilePlayers.CsvRunner.html", "title": "Class CsvRunner | HiAPI-C# 2025", - "summary": "Class CsvRunner Namespace Hi.Numerical.FilePlayers Assembly HiNc.dll Provides functionality for running and processing csv lines. public class CsvRunner : IControlRunner Inheritance object CsvRunner Implements IControlRunner Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CsvRunner(PacePlayer, SessionMessageHost) public CsvRunner(PacePlayer pacePlayer, SessionMessageHost sessionMessageHost) Parameters pacePlayer PacePlayer sessionMessageHost SessionMessageHost Properties Config Configuration for CSV Runner. public CsvRunnerConfig Config { get; set; } Property Value CsvRunnerConfig PacePlayer public PacePlayer PacePlayer { get; } Property Value PacePlayer SessionMessageHost External Hosted. public SessionMessageHost SessionMessageHost { get; set; } Property Value SessionMessageHost Methods Reset() Reset runtime data. public void Reset() ResetFileIndex() Resets the file index to zero. public void ResetFileIndex() RunControlLines(string, IEnumerable, CancellationToken) Runs raw Control lines and yields source control line and Act pairs. public IEnumerable RunControlLines(string relFilePath, IEnumerable lines, CancellationToken cancellationToken) Parameters relFilePath string The relative path of the control file lines IEnumerable The enumerable collection of command (control code) lines cancellationToken CancellationToken Cancellation token to cancel the operation Returns IEnumerable Enumerable of source control line and Act pairs RunToLineEnd() Set EnumerablePlayer before use the function. public void RunToLineEnd()" + "summary": "Class CsvRunner Namespace Hi.Numerical.FilePlayers Assembly HiNc.dll Provides functionality for running and processing csv lines. public class CsvRunner : IControlRunner Inheritance object CsvRunner Implements IControlRunner Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CsvRunner(PacePlayer, SessionMessageHost) Initializes a new instance. public CsvRunner(PacePlayer pacePlayer, SessionMessageHost sessionMessageHost) Parameters pacePlayer PacePlayer The pace player for controlling playback. sessionMessageHost SessionMessageHost The session message host for logging. Properties Config Configuration for CSV Runner. public CsvRunnerConfig Config { get; set; } Property Value CsvRunnerConfig PacePlayer Gets the pace player for controlling playback. public PacePlayer PacePlayer { get; } Property Value PacePlayer SessionMessageHost External Hosted. public SessionMessageHost SessionMessageHost { get; set; } Property Value SessionMessageHost Methods Reset() Reset runtime data. public void Reset() ResetFileIndex() Resets the file index to zero. public void ResetFileIndex() RunControlLines(string, IEnumerable, CancellationToken) Runs raw Control lines and yields source control line and Act pairs. public IEnumerable RunControlLines(string relFilePath, IEnumerable lines, CancellationToken cancellationToken) Parameters relFilePath string The relative path of the control file lines IEnumerable The enumerable collection of command (control code) lines cancellationToken CancellationToken Cancellation token to cancel the operation Returns IEnumerable Enumerable of source control line and Act pairs RunToLineEnd() Set EnumerablePlayer before use the function. public void RunToLineEnd()" }, "api/Hi.Numerical.FilePlayers.CsvRunnerConfig.html": { "href": "api/Hi.Numerical.FilePlayers.CsvRunnerConfig.html", "title": "Class CsvRunnerConfig | HiAPI-C# 2025", - "summary": "Class CsvRunnerConfig Namespace Hi.Numerical.FilePlayers Assembly HiNc.dll Configuration class for CSV Runner. public class CsvRunnerConfig : IMakeXmlSource Inheritance object CsvRunnerConfig Implements IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CsvRunnerConfig() Default constructor. public CsvRunnerConfig() CsvRunnerConfig(XElement) Constructor from XML. public CsvRunnerConfig(XElement src) Parameters src XElement XML element Properties ActualTimeTag public string ActualTimeTag { get; set; } Property Value string CutterLocationPrefixTag Cutter Location Prefix Tag for CSV Parsing. public string CutterLocationPrefixTag { get; set; } Property Value string DurationTag public string DurationTag { get; set; } Property Value string FeedrateTag_mmdmin Feedrate for Simulator Tag for CSV Parsing. public string FeedrateTag_mmdmin { get; set; } Property Value string LineBeginCsScriptTag LineBeginCsScript Tag for CSV Parsing. public string LineBeginCsScriptTag { get; set; } Property Value string LineEndCsScriptTag LineEndCsScript Tag for CSV Parsing. public string LineEndCsScriptTag { get; set; } Property Value string MachineCoordinatePrefixTag Machine Coordinate Prefix Tag for CSV Parsing. public string MachineCoordinatePrefixTag { get; set; } Property Value string ParsingDictionary Parsing dictionary for custom field parsing. Note: This dictionary cannot be serialized to XML as it contains functions. public Dictionary> ParsingDictionary { get; set; } Property Value Dictionary> SpindleDirectionTag Spindle direction Tag for CSV Parsing. public string SpindleDirectionTag { get; set; } Property Value string SpindleSpeedTag_rpm Spindle speed for Simulator Tag for CSV Parsing. public string SpindleSpeedTag_rpm { get; set; } Property Value string ToolIdTag Tool ID Tag for CSV Parsing. public string ToolIdTag { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class CsvRunnerConfig Namespace Hi.Numerical.FilePlayers Assembly HiNc.dll Configuration class for CSV Runner. public class CsvRunnerConfig : IMakeXmlSource Inheritance object CsvRunnerConfig Implements IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CsvRunnerConfig() Default constructor. public CsvRunnerConfig() CsvRunnerConfig(XElement) Constructor from XML. public CsvRunnerConfig(XElement src) Parameters src XElement XML element Properties ActualTimeTag Actual time tag for CSV parsing. public string ActualTimeTag { get; set; } Property Value string CutterLocationPrefixTag Cutter Location Prefix Tag for CSV Parsing. public string CutterLocationPrefixTag { get; set; } Property Value string DurationTag Duration tag for CSV parsing. public string DurationTag { get; set; } Property Value string FeedrateTag_mmdmin Feedrate for Simulator Tag for CSV Parsing. public string FeedrateTag_mmdmin { get; set; } Property Value string LineBeginCsScriptTag LineBeginCsScript Tag for CSV Parsing. public string LineBeginCsScriptTag { get; set; } Property Value string LineEndCsScriptTag LineEndCsScript Tag for CSV Parsing. public string LineEndCsScriptTag { get; set; } Property Value string MachineCoordinatePrefixTag Machine Coordinate Prefix Tag for CSV Parsing. public string MachineCoordinatePrefixTag { get; set; } Property Value string ParsingDictionary Parsing dictionary for custom field parsing. Note: This dictionary cannot be serialized to XML as it contains functions. public Dictionary> ParsingDictionary { get; set; } Property Value Dictionary> SpindleDirectionTag Spindle direction Tag for CSV Parsing. public string SpindleDirectionTag { get; set; } Property Value string SpindleSpeedTag_rpm Spindle speed for Simulator Tag for CSV Parsing. public string SpindleSpeedTag_rpm { get; set; } Property Value string ToolIdTag Tool ID Tag for CSV Parsing. public string ToolIdTag { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." }, "api/Hi.Numerical.FilePlayers.IControlRunner.html": { "href": "api/Hi.Numerical.FilePlayers.IControlRunner.html", @@ -3657,17 +3657,17 @@ "api/Hi.Numerical.FilePlayers.NcRunner.html": { "href": "api/Hi.Numerical.FilePlayers.NcRunner.html", "title": "Class NcRunner | HiAPI-C# 2025", - "summary": "Class NcRunner Namespace Hi.Numerical.FilePlayers Assembly HiNc.dll Provides functionality for running and processing NC code lines. public class NcRunner : IControlRunner Inheritance object NcRunner Implements IControlRunner Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors NcRunner(PacePlayer, NcEnv, SessionMessageHost) Initializes a new instance of the NcRunner class. public NcRunner(PacePlayer pacePlayer, NcEnv ncEnv, SessionMessageHost millingProcessMessage) Parameters pacePlayer PacePlayer ncEnv NcEnv The NC environment settings millingProcessMessage SessionMessageHost The milling process message host Properties FileIndexOnRunCommand Gets the current file index for run commands. public int FileIndexOnRunCommand { get; } Property Value int NcEnv Gets the NC environment settings. public NcEnv NcEnv { get; set; } Property Value NcEnv NcLines Gets the linked list of NC lines. public LinkedList NcLines { get; } Property Value LinkedList PacePlayer public PacePlayer PacePlayer { get; } Property Value PacePlayer SessionMessageHost External Hosted. public SessionMessageHost SessionMessageHost { get; set; } Property Value SessionMessageHost Methods ResetFileIndex() Resets the file index to zero. public void ResetFileIndex() RunControlLines(string, IEnumerable, CancellationToken) Runs raw NC lines and yields NcLine and Act pairs. public IEnumerable RunControlLines(string relNcFilePath, IEnumerable lines, CancellationToken cancellationToken) Parameters relNcFilePath string The relative path of the NC file lines IEnumerable The enumerable collection of NC code lines cancellationToken CancellationToken Cancellation token to cancel the operation Returns IEnumerable Enumerable of NcLine and Act pairs RunToLineEnd() Set EnumerablePlayer before use the function. public void RunToLineEnd()" + "summary": "Class NcRunner Namespace Hi.Numerical.FilePlayers Assembly HiNc.dll Provides functionality for running and processing NC code lines. public class NcRunner : IControlRunner Inheritance object NcRunner Implements IControlRunner Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors NcRunner(PacePlayer, NcEnv, SessionMessageHost) Initializes a new instance. public NcRunner(PacePlayer pacePlayer, NcEnv ncEnv, SessionMessageHost millingProcessMessage) Parameters pacePlayer PacePlayer The pace player for controlling playback. ncEnv NcEnv The NC environment settings. millingProcessMessage SessionMessageHost The milling process message host. Properties FileIndexOnRunCommand Gets the current file index for run commands. public int FileIndexOnRunCommand { get; } Property Value int NcEnv Gets the NC environment settings. public NcEnv NcEnv { get; set; } Property Value NcEnv NcLines Gets the linked list of NC lines. public LinkedList NcLines { get; } Property Value LinkedList PacePlayer Gets the pace player for controlling playback. public PacePlayer PacePlayer { get; } Property Value PacePlayer SessionMessageHost External Hosted. public SessionMessageHost SessionMessageHost { get; set; } Property Value SessionMessageHost Methods ResetFileIndex() Resets the file index to zero. public void ResetFileIndex() RunControlLines(string, IEnumerable, CancellationToken) Runs raw NC lines and yields NcLine and Act pairs. public IEnumerable RunControlLines(string relNcFilePath, IEnumerable lines, CancellationToken cancellationToken) Parameters relNcFilePath string The relative path of the NC file lines IEnumerable The enumerable collection of NC code lines cancellationToken CancellationToken Cancellation token to cancel the operation Returns IEnumerable Enumerable of NcLine and Act pairs RunToLineEnd() Set EnumerablePlayer before use the function. public void RunToLineEnd()" }, "api/Hi.Numerical.FilePlayers.SourceCommandActEntry.html": { "href": "api/Hi.Numerical.FilePlayers.SourceCommandActEntry.html", "title": "Class SourceCommandActEntry | HiAPI-C# 2025", - "summary": "Class SourceCommandActEntry Namespace Hi.Numerical.FilePlayers Assembly HiNc.dll public record SourceCommandActEntry : IEquatable Inheritance object SourceCommandActEntry Implements IEquatable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors SourceCommandActEntry(IIndexedFileLine, IAct) public SourceCommandActEntry(IIndexedFileLine SourceCommand, IAct Act) Parameters SourceCommand IIndexedFileLine Act IAct Properties Act public IAct Act { get; init; } Property Value IAct SourceCommand public IIndexedFileLine SourceCommand { get; init; } Property Value IIndexedFileLine" + "summary": "Class SourceCommandActEntry Namespace Hi.Numerical.FilePlayers Assembly HiNc.dll Represents an entry containing a source command and its associated act. public record SourceCommandActEntry : IEquatable Inheritance object SourceCommandActEntry Implements IEquatable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors SourceCommandActEntry(IIndexedFileLine, IAct) Represents an entry containing a source command and its associated act. public SourceCommandActEntry(IIndexedFileLine SourceCommand, IAct Act) Parameters SourceCommand IIndexedFileLine The source command file line. Act IAct The act associated with the source command. Properties Act The act associated with the source command. public IAct Act { get; init; } Property Value IAct SourceCommand The source command file line. public IIndexedFileLine SourceCommand { get; init; } Property Value IIndexedFileLine" }, "api/Hi.Numerical.FilePlayers.html": { "href": "api/Hi.Numerical.FilePlayers.html", "title": "Namespace Hi.Numerical.FilePlayers | HiAPI-C# 2025", - "summary": "Namespace Hi.Numerical.FilePlayers Classes CsvRunner Provides functionality for running and processing csv lines. CsvRunnerConfig Configuration class for CSV Runner. NcRunner Provides functionality for running and processing NC code lines. SourceCommandActEntry Interfaces IControlRunner Control Runner. The term control is machine control. The Control Line is such like the NC (Numerical Control) line." + "summary": "Namespace Hi.Numerical.FilePlayers Classes CsvRunner Provides functionality for running and processing csv lines. CsvRunnerConfig Configuration class for CSV Runner. NcRunner Provides functionality for running and processing NC code lines. SourceCommandActEntry Represents an entry containing a source command and its associated act. Interfaces IControlRunner Control Runner. The term control is machine control. The Control Line is such like the NC (Numerical Control) line." }, "api/Hi.Numerical.FlexDictionaryUtil.html": { "href": "api/Hi.Numerical.FlexDictionaryUtil.html", @@ -3842,87 +3842,87 @@ "api/Hi.Numerical.NcFlag.html": { "href": "api/Hi.Numerical.NcFlag.html", "title": "Enum NcFlag | HiAPI-C# 2025", - "summary": "Enum NcFlag Namespace Hi.Numerical Assembly HiUniNc.dll NC Flag. public enum NcFlag Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) NcFlagUtil.GetNcLifeCycleMode(NcFlag) NcFlagUtil.GetNcName(NcFlag) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields [NcLifeCycle(NcLifeCycleMode.Modal)] Cooling = 75 Cooling enabled. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup01))] G00 = 0 Group01. Rapid move. Although fanuc document says that G00 is an one shot command, (I think it may send warning if use G0 as modal.) set it to modal may fit other CNC controller and is much conservative from collision. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup01))] G01 = 1 Group01. Move by feedrate. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup01))] G02 = 2 Group01. Move in CW arc. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup01))] G03 = 3 Group01. Move in CCW arc. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcGroup(typeof(NcGroup00))] G04 = 6 Group00. Dwell. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup21))] [NcName(\"G12.1\")] G12p1 = 7 Group21. Polar coordinate interpolation mode ON. Use G13p1 to turn off polar coordinate interpolation mode. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup21))] [NcName(\"G13.1\")] G13p1 = 8 Group21. Polar coordinate interpolation mode OFF. Use G12p1 to turn on polar coordinate interpolation mode. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup02))] G17 = 9 Group02. XY plane selection. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup02))] G18 = 10 Group02. ZX plane selection. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup02))] G19 = 11 Group02. YZ plane selection. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup06))] G20 = 12 Group06. Input in inch. For Fanuc specification A,B. RS274D specification is G70. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup06))] G21 = 13 Group06. Input in mm. For Fanuc specification A,B. RS274D specification is G71. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcGroup(typeof(NcGroup01))] G28 = 14 Group01. Automatic reference position return. Positioning to the intermediate or reference positions are performed at the rapid traverse rate of each axis. Therefore, for safety, the compensation functions, such as the tool radius compensation and tool length compensation, should be cancelled before executing this command. The coordinates for the intermediate position are stored in the CNC for the axes for which a value is specified in a G28 block. For the other axes, the previously specified coordinates are used. G28 Fanuc parameters Nos. 1240 to 1243. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup07))] G40 = 15 Group07. Cancel radius compensation. See G41 and G42 for left and right compensation. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup07))] G41 = 16 Group07. Tool radius/tool nose radius compensation. Left compensation: the updated tool tip location is at +y direction compensation from tool running direction. See G40 to cancel compensation and G42 for right compensation. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup07))] G42 = 17 Group07. Tool radius/tool nose radius compensation. Right compensation: the updated tool tip location is at -y direction compensation from tool running direction. See G40 to cancel compensation and G41 for left compensation. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] G43 = 18 Group08 Positive height compensation. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] [NcName(\"G43.4\")] G43p4 = 19 Group08 G43.4: start RTCP (Rotational Tool Center Point). [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] G44 = 20 Group08 Negative height compensation. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] G49 = 21 Group08. Cancel height compensation. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup00))] G52 = 26 Group00. Local coordinate system setting. It can be cancelled by G52X0Y0Z0 or M30. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcGroup(typeof(NcGroup00))] G53 = 27 Group00. Machine coordinate system setting. When an incremental command is specified, the G53 command is ignored. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"G53P1\")] G53WithP1Flag = 28 Enables the high-speed G53 function. P1 flag accompanies with G53. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcGroup(typeof(NcGroup00))] [NcName(\"G53.1\")] G53p1 = 30 Group00. Tool axis direction control. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup14))] G54Series = 31 Group14. Coordinate settings. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup15))] G61 = 32 Group15. Exact stop mode. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup15))] G62 = 33 Group15. Automatic corner override. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup15))] G63 = 34 Group15. Tapping mode. Not support. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup15))] G64 = 35 Group15. Cutting mode. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup16))] G68 = 40 Group16. 3-dimensional coordinate system conversion. run a pattern of operations in a rotated angle. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup16))] [NcName(\"G68.2\")] G68p2 = 41 Group16. Tilted working plane command. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup16))] G69 = 42 Group16. Coordinate system rotation cancel or 3-dimensional coordinate conversion mode off [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup06))] G70 = 44 Group06. Input in inch. Fanuc system C specification. Syntec specification. For RS274D specification. Fanuc system A,B specification is G20. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup06))] G71 = 45 Group06. Input in mm. Fanuc system C specification. Syntec specification. For RS274D specification. Fanuc system A,B specification is G21. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup09))] G80 = 46 Group09. Canned cycle cancel. Electronic gear box : synchronization cancellation. See G81, G82, G83, G85, G86 for available canned cycles. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup09))] G81 = 47 Group09. Drilling cycle or spot boring cycle. Electronic gear box : synchronization start. The same parsing behavior group: G81,G85,G86. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup09))] G82 = 48 Group09. Drilling cycle or spot boring cycle with bottom staying time. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup09))] G83 = 49 Group09. Drilling cycle or spot boring cycle. drilling cycle in form of pecking. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup09))] G85 = 50 Group09. Drilling cycle or spot boring cycle. Electronic gear box : synchronization start. The same parsing behavior group: G81,G85,G86. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup09))] G86 = 51 Group09. Drilling cycle or spot boring cycle. Electronic gear box : synchronization start. The same parsing behavior group: G81,G85,G86. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup03))] G90 = 52 Group03. Absolute coordinate system. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup03))] G91 = 53 Group03. Relative coordinate system. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup05))] G94 = 54 Group05. Use F as mm/min. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup13))] G96 = 55 Group13. Constant surface speed control cancel. not support. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup13))] G97 = 56 Group13. Constant surface speed control cancel. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup10))] G98 = 57 Group10. Canned cycle : return to initial level. See G99 for R point level return. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup10))] G99 = 58 Group10. Canned cycle : return to R point level. See G98 for initial level return. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup14))] [NcName(\"DATUM\")] HeidenhainDatum = 39 Group14. Heidenhain flag. Coordinate settings for CYCL DEF 7 and CYCL DEF 247. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcName(\"FMAX\")] HeidenhainFMax = 59 Heidenhain flag. Flag Name ‘FMAX’. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcGroup(typeof(NcGroup01))] [NcName(\"L\")] HeidenhainL = 4 Group01. Heidenhain flag. Straight linear motion. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcGroup(typeof(NcGroup01))] [NcName(\"LN\")] HeidenhainLN = 5 Group01. Heidenhain flag. Nonlinear motion. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupHeidenhainM107M108))] [NcName(\"M107\")] HeidenhainM107 = 82 Heidenhain flag. Enable Suppress error message for replacement tools with oversize. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupHeidenhainM107M108))] [NcName(\"M108\")] HeidenhainM108 = 83 Heidenhain flag. Reset M107. disable Suppress error message for replacement tools with oversize. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupHeidenhainShortestRotaryPath))] [NcName(\"M126\")] HeidenhainM126 = 84 NcGroup.HeidenhainShortestRotaryPath. Heidenhain flag. Shortest rotation for commands of ABC axise. The M126 will be canceled automatically at the end of the program. For Heidenhain. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupHeidenhainShortestRotaryPath))] [NcName(\"M127\")] HeidenhainM127 = 85 NcGroup.HeidenhainShortestRotaryPath. Heidenhain flag. Cancel HeidenhainM126, i.e. disable shortest rotation for ABC axises. For Heidenhain. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] [NcName(\"M128\")] HeidenhainM128 = 24 Group08. Heidenhain flag. M128: start RTCP (Rotational Tool Center Point). [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] [NcName(\"M129\")] HeidenhainM129 = 25 Group08. Heidenhain flag. M129: cancel RTCP (Rotational Tool Center Point). [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"M140\")] HeidenhainM140 = 86 From TNC640 documentation: Retraction from the contour in the tool-axis direction: M140. If you do not enter a feed rate, the TNC moves the tool along the entered path at rapid traverse. M140 is also effective if the tilted-working-plane function is active. On machines with swivel heads, the TNC then moves the tool in the tilted coordinate system. With M140 MB MAX you can only retract in the positive direction. Always define a TOOL CALL with a tool axis before entering M140, otherwise the direction of traverse is not defined. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"M140\")] HeidenhainM140InitiativeF = 87 Feedrate on HeidenhainM140. The TNC640 documentation does not show that the Feedrate on M140 is one shot or modal. HiNC assumes Feedrate on M140 is one shot feedrate with M140 command. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"M91\")] HeidenhainM91 = 81 Heidenhain flag. If you want the coordinates in a positioning block to be referenced to the machine datum, end the block with M91. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"MOVE\")] HeidenhainMove = 80 Heidenhain flag. MOVE indicates to position the rotary axes and simultaneously compensate position. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupHeidenhainPlane))] [NcName(\"PLANE RESET\")] HeidenhainPlaneReset = 76 Heidenhain Plane command is exclusive [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupHeidenhainPlane))] [NcName(\"PLANE SPATIAL\")] HeidenhainPlaneSpatial = 77 Heidenhain Plane command is exclusive [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"STAY\")] HeidenhainStay = 78 Heidenhain flag. STAY indicates to maintain the current rotary axis positioning. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"TOOL CALL\")] HeidenhainToolCall = 64 Heidenhain flag. Tool call. Flag Name ‘TOOL CALL’. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"TOOL DEF\")] HeidenhainToolDef = 65 Heidenhain flag. tool definition. Flag Name ‘TOOL DEF’. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"TURN\")] HeidenhainTurn = 79 Heidenhain flag. TURN indicates to automatically position the rotary axes. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup14))] [NcName(\"CYCL DEF 247\")] Heidenhain_CYCL_DEF_247 = 37 Group14. Heidenhain flag. With the DATUM SETTING cycle you can activate as the new datum a preset defined in a preset table. After a DATUM SETTING cycle definition, all of the coordinate inputs and datum shifts(absolute and incremental) are referenced to the new preset. When activating a datum from the preset table, the TNC resets the datum shift, mirroring, rotation, scaling factor and axis-specific scaling factor. If you activate preset number 0 (line 0), then you activate the datum that you last set in the Manual Operation or El. Handwheel operating mode. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup14))] [NcName(\"CYCL DEF 7\")] Heidenhain_CYCL_DEF_7 = 36 Group14. Heidenhain flag. For shifting contours directly within the program or from datum tables. [NcLifeCycle(NcLifeCycleMode.Modal)] M02 = 66 Program end. [NcLifeCycle(NcLifeCycleMode.OneShot)] M03 = 60 Activate spindle rotation in CW. [NcLifeCycle(NcLifeCycleMode.OneShot)] M04 = 61 Activate spindle rotation in CCW. [NcLifeCycle(NcLifeCycleMode.OneShot)] M05 = 62 deactivate spindle rotation. [NcLifeCycle(NcLifeCycleMode.OneShot)] M06 = 63 Tool changed. [NcLifeCycle(NcLifeCycleMode.OneShot)] M08 = 67 Start cooling. [NcLifeCycle(NcLifeCycleMode.OneShot)] M09 = 68 Stop cooling. [NcLifeCycle(NcLifeCycleMode.OneShot)] M13 = 69 Spindle CW & Coolant ON. [NcLifeCycle(NcLifeCycleMode.OneShot)] M14 = 70 Spindle CCW & Coolant ON [NcLifeCycle(NcLifeCycleMode.Modal)] M30 = 71 Program end. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup16))] [NcName(\"CYCLE800\")] SiemensCycle800 = 43 Group16. Siemens flag. Tilted working plane command. CYCLE800() cancels the previous transformation. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup14))] [NcName(\"G500\")] SiemensG500 = 38 Group14. Siemens command. Deactivation of the current settable zero offset. G500指令在没有赋值的时候为机床坐标系,可以把机床从工件坐标系转换到机床坐标系 [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"SUPA\")] SiemensSupa = 29 Group00. Siemens command. G53: G53 suppresses the settable zero offset and the programmable zero offset non-modally. G153: G153 has the same effect as G53 and also suppresses the entire basic frame. SUPA: SUPA has the same effect as G153 and also suppresses: Handwheel offsets (DRF) Overlaid movements External zero offset PRESET offset [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] [NcName(\"TRAFOOF\")] SiemensTrafoof = 22 Group08. Siemens flag. Disable RTCP (Rotational Tool Center Point) (=Tool Center Point Management, TCPM). [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] [NcName(\"TRAORI\")] SiemensTraori = 23 Group08. Siemens flag. Enable RTCP (Rotational Tool Center Point) (=Tool Center Point Management, TCPM). [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupSpindleRotation))] SpindleCcw = 74 NcGroupSpindleRotation. Rotate spindle counter-clockwise (CCW). See SpindleStop to stop rotation and SpindleCw for clockwise rotation. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupSpindleRotation))] SpindleCw = 73 NcGroupSpindleRotation. Rotate spindle clockwise (CW). See SpindleStop to stop rotation and SpindleCcw for counter-clockwise rotation. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupSpindleRotation))] SpindleStop = 72 NcGroupSpindleRotation. Stop spindle rotation. See SpindleCw and SpindleCcw for clockwise and counter-clockwise rotation." + "summary": "Enum NcFlag Namespace Hi.Numerical Assembly HiUniNc.dll NC Flag. public enum NcFlag Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) NcFlagUtil.GetNcLifeCycleMode(NcFlag) NcFlagUtil.GetNcName(NcFlag) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields [NcLifeCycle(NcLifeCycleMode.Modal)] Cooling = 76 Cooling enabled. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup01))] G00 = 0 Group01. Rapid move. Although fanuc document says that G00 is an one shot command, (I think it may send warning if use G0 as modal.) set it to modal may fit other CNC controller and is much conservative from collision. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup01))] G01 = 1 Group01. Move by feedrate. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup01))] G02 = 2 Group01. Move in CW arc. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup01))] G03 = 3 Group01. Move in CCW arc. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcGroup(typeof(NcGroup00))] G04 = 6 Group00. Dwell. [NcLifeCycle(NcLifeCycleMode.OneShot)] G10p9 = 7 Not standard code. For Mazak NC. Generally not supported. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup21))] [NcName(\"G12.1\")] G12p1 = 8 Group21. Polar coordinate interpolation mode ON. Use G13p1 to turn off polar coordinate interpolation mode. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup21))] [NcName(\"G13.1\")] G13p1 = 9 Group21. Polar coordinate interpolation mode OFF. Use G12p1 to turn on polar coordinate interpolation mode. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup02))] G17 = 10 Group02. XY plane selection. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup02))] G18 = 11 Group02. ZX plane selection. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup02))] G19 = 12 Group02. YZ plane selection. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup06))] G20 = 13 Group06. Input in inch. For Fanuc specification A,B. RS274D specification is G70. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup06))] G21 = 14 Group06. Input in mm. For Fanuc specification A,B. RS274D specification is G71. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcGroup(typeof(NcGroup01))] G28 = 15 Group01. Automatic reference position return. Positioning to the intermediate or reference positions are performed at the rapid traverse rate of each axis. Therefore, for safety, the compensation functions, such as the tool radius compensation and tool length compensation, should be cancelled before executing this command. The coordinates for the intermediate position are stored in the CNC for the axes for which a value is specified in a G28 block. For the other axes, the previously specified coordinates are used. G28 Fanuc parameters Nos. 1240 to 1243. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup07))] G40 = 16 Group07. Cancel radius compensation. See G41 and G42 for left and right compensation. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup07))] G41 = 17 Group07. Tool radius/tool nose radius compensation. Left compensation: the updated tool tip location is at +y direction compensation from tool running direction. See G40 to cancel compensation and G42 for right compensation. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup07))] G42 = 18 Group07. Tool radius/tool nose radius compensation. Right compensation: the updated tool tip location is at -y direction compensation from tool running direction. See G40 to cancel compensation and G41 for left compensation. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] G43 = 19 Group08 Positive height compensation. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] [NcName(\"G43.4\")] G43p4 = 20 Group08 G43.4: start RTCP (Rotational Tool Center Point). [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] G44 = 21 Group08 Negative height compensation. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] G49 = 22 Group08. Cancel height compensation. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup00))] G52 = 27 Group00. Local coordinate system setting. It can be cancelled by G52X0Y0Z0 or M30. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcGroup(typeof(NcGroup00))] G53 = 28 Group00. Machine coordinate system setting. When an incremental command is specified, the G53 command is ignored. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"G53P1\")] G53WithP1Flag = 29 Enables the high-speed G53 function. P1 flag accompanies with G53. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcGroup(typeof(NcGroup00))] [NcName(\"G53.1\")] G53p1 = 31 Group00. Tool axis direction control. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup14))] G54Series = 32 Group14. Coordinate settings. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup15))] G61 = 33 Group15. Exact stop mode. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup15))] G62 = 34 Group15. Automatic corner override. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup15))] G63 = 35 Group15. Tapping mode. Not support. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup15))] G64 = 36 Group15. Cutting mode. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup16))] G68 = 41 Group16. 3-dimensional coordinate system conversion. run a pattern of operations in a rotated angle. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup16))] [NcName(\"G68.2\")] G68p2 = 42 Group16. Tilted working plane command. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup16))] G69 = 43 Group16. Coordinate system rotation cancel or 3-dimensional coordinate conversion mode off [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup06))] G70 = 45 Group06. Input in inch. Fanuc system C specification. Syntec specification. For RS274D specification. Fanuc system A,B specification is G20. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup06))] G71 = 46 Group06. Input in mm. Fanuc system C specification. Syntec specification. For RS274D specification. Fanuc system A,B specification is G21. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup09))] G80 = 47 Group09. Canned cycle cancel. Electronic gear box : synchronization cancellation. See G81, G82, G83, G85, G86 for available canned cycles. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup09))] G81 = 48 Group09. Drilling cycle or spot boring cycle. Electronic gear box : synchronization start. The same parsing behavior group: G81,G85,G86. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup09))] G82 = 49 Group09. Drilling cycle or spot boring cycle with bottom staying time. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup09))] G83 = 50 Group09. Drilling cycle or spot boring cycle. drilling cycle in form of pecking. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup09))] G85 = 51 Group09. Drilling cycle or spot boring cycle. Electronic gear box : synchronization start. The same parsing behavior group: G81,G85,G86. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup09))] G86 = 52 Group09. Drilling cycle or spot boring cycle. Electronic gear box : synchronization start. The same parsing behavior group: G81,G85,G86. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup03))] G90 = 53 Group03. Absolute coordinate system. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup03))] G91 = 54 Group03. Relative coordinate system. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup05))] G94 = 55 Group05. Use F as mm/min. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup13))] G96 = 56 Group13. Constant surface speed control cancel. not support. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup13))] G97 = 57 Group13. Constant surface speed control cancel. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup10))] G98 = 58 Group10. Canned cycle : return to initial level. See G99 for R point level return. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup10))] G99 = 59 Group10. Canned cycle : return to R point level. See G98 for initial level return. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup14))] [NcName(\"DATUM\")] HeidenhainDatum = 40 Group14. Heidenhain flag. Coordinate settings for CYCL DEF 7 and CYCL DEF 247. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcName(\"FMAX\")] HeidenhainFMax = 60 Heidenhain flag. Flag Name ‘FMAX’. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcGroup(typeof(NcGroup01))] [NcName(\"L\")] HeidenhainL = 4 Group01. Heidenhain flag. Straight linear motion. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcGroup(typeof(NcGroup01))] [NcName(\"LN\")] HeidenhainLN = 5 Group01. Heidenhain flag. Nonlinear motion. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupHeidenhainM107M108))] [NcName(\"M107\")] HeidenhainM107 = 83 Heidenhain flag. Enable Suppress error message for replacement tools with oversize. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupHeidenhainM107M108))] [NcName(\"M108\")] HeidenhainM108 = 84 Heidenhain flag. Reset M107. disable Suppress error message for replacement tools with oversize. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupHeidenhainShortestRotaryPath))] [NcName(\"M126\")] HeidenhainM126 = 85 NcGroup.HeidenhainShortestRotaryPath. Heidenhain flag. Shortest rotation for commands of ABC axise. The M126 will be canceled automatically at the end of the program. For Heidenhain. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupHeidenhainShortestRotaryPath))] [NcName(\"M127\")] HeidenhainM127 = 86 NcGroup.HeidenhainShortestRotaryPath. Heidenhain flag. Cancel HeidenhainM126, i.e. disable shortest rotation for ABC axises. For Heidenhain. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] [NcName(\"M128\")] HeidenhainM128 = 25 Group08. Heidenhain flag. M128: start RTCP (Rotational Tool Center Point). [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] [NcName(\"M129\")] HeidenhainM129 = 26 Group08. Heidenhain flag. M129: cancel RTCP (Rotational Tool Center Point). [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"M140\")] HeidenhainM140 = 87 From TNC640 documentation: Retraction from the contour in the tool-axis direction: M140. If you do not enter a feed rate, the TNC moves the tool along the entered path at rapid traverse. M140 is also effective if the tilted-working-plane function is active. On machines with swivel heads, the TNC then moves the tool in the tilted coordinate system. With M140 MB MAX you can only retract in the positive direction. Always define a TOOL CALL with a tool axis before entering M140, otherwise the direction of traverse is not defined. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"M140\")] HeidenhainM140InitiativeF = 88 Feedrate on HeidenhainM140. The TNC640 documentation does not show that the Feedrate on M140 is one shot or modal. HiNC assumes Feedrate on M140 is one shot feedrate with M140 command. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"M91\")] HeidenhainM91 = 82 Heidenhain flag. If you want the coordinates in a positioning block to be referenced to the machine datum, end the block with M91. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"MOVE\")] HeidenhainMove = 81 Heidenhain flag. MOVE indicates to position the rotary axes and simultaneously compensate position. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupHeidenhainPlane))] [NcName(\"PLANE RESET\")] HeidenhainPlaneReset = 77 Heidenhain Plane command is exclusive [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupHeidenhainPlane))] [NcName(\"PLANE SPATIAL\")] HeidenhainPlaneSpatial = 78 Heidenhain Plane command is exclusive [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"STAY\")] HeidenhainStay = 79 Heidenhain flag. STAY indicates to maintain the current rotary axis positioning. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"TOOL CALL\")] HeidenhainToolCall = 65 Heidenhain flag. Tool call. Flag Name ‘TOOL CALL’. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"TOOL DEF\")] HeidenhainToolDef = 66 Heidenhain flag. tool definition. Flag Name ‘TOOL DEF’. [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"TURN\")] HeidenhainTurn = 80 Heidenhain flag. TURN indicates to automatically position the rotary axes. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup14))] [NcName(\"CYCL DEF 247\")] Heidenhain_CYCL_DEF_247 = 38 Group14. Heidenhain flag. With the DATUM SETTING cycle you can activate as the new datum a preset defined in a preset table. After a DATUM SETTING cycle definition, all of the coordinate inputs and datum shifts(absolute and incremental) are referenced to the new preset. When activating a datum from the preset table, the TNC resets the datum shift, mirroring, rotation, scaling factor and axis-specific scaling factor. If you activate preset number 0 (line 0), then you activate the datum that you last set in the Manual Operation or El. Handwheel operating mode. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup14))] [NcName(\"CYCL DEF 7\")] Heidenhain_CYCL_DEF_7 = 37 Group14. Heidenhain flag. For shifting contours directly within the program or from datum tables. [NcLifeCycle(NcLifeCycleMode.Modal)] M02 = 67 Program end. [NcLifeCycle(NcLifeCycleMode.OneShot)] M03 = 61 Activate spindle rotation in CW. [NcLifeCycle(NcLifeCycleMode.OneShot)] M04 = 62 Activate spindle rotation in CCW. [NcLifeCycle(NcLifeCycleMode.OneShot)] M05 = 63 deactivate spindle rotation. [NcLifeCycle(NcLifeCycleMode.OneShot)] M06 = 64 Tool changed. [NcLifeCycle(NcLifeCycleMode.OneShot)] M08 = 68 Start cooling. [NcLifeCycle(NcLifeCycleMode.OneShot)] M09 = 69 Stop cooling. [NcLifeCycle(NcLifeCycleMode.OneShot)] M13 = 70 Spindle CW & Coolant ON. [NcLifeCycle(NcLifeCycleMode.OneShot)] M14 = 71 Spindle CCW & Coolant ON [NcLifeCycle(NcLifeCycleMode.Modal)] M30 = 72 Program end. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup16))] [NcName(\"CYCLE800\")] SiemensCycle800 = 44 Group16. Siemens flag. Tilted working plane command. CYCLE800() cancels the previous transformation. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup14))] [NcName(\"G500\")] SiemensG500 = 39 Group14. Siemens command. Deactivation of the current settable zero offset. G500指令在没有赋值的时候为机床坐标系,可以把机床从工件坐标系转换到机床坐标系 [NcLifeCycle(NcLifeCycleMode.OneShot)] [NcName(\"SUPA\")] SiemensSupa = 30 Group00. Siemens command. G53: G53 suppresses the settable zero offset and the programmable zero offset non-modally. G153: G153 has the same effect as G53 and also suppresses the entire basic frame. SUPA: SUPA has the same effect as G153 and also suppresses: Handwheel offsets (DRF) Overlaid movements External zero offset PRESET offset [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] [NcName(\"TRAFOOF\")] SiemensTrafoof = 23 Group08. Siemens flag. Disable RTCP (Rotational Tool Center Point) (=Tool Center Point Management, TCPM). [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroup08))] [NcName(\"TRAORI\")] SiemensTraori = 24 Group08. Siemens flag. Enable RTCP (Rotational Tool Center Point) (=Tool Center Point Management, TCPM). [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupSpindleRotation))] SpindleCcw = 75 NcGroupSpindleRotation. Rotate spindle counter-clockwise (CCW). See SpindleStop to stop rotation and SpindleCw for clockwise rotation. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupSpindleRotation))] SpindleCw = 74 NcGroupSpindleRotation. Rotate spindle clockwise (CW). See SpindleStop to stop rotation and SpindleCcw for counter-clockwise rotation. [NcLifeCycle(NcLifeCycleMode.Modal)] [NcGroup(typeof(NcGroupSpindleRotation))] SpindleStop = 73 NcGroupSpindleRotation. Stop spindle rotation. See SpindleCw and SpindleCcw for clockwise and counter-clockwise rotation." }, "api/Hi.Numerical.NcFlagUtil.html": { "href": "api/Hi.Numerical.NcFlagUtil.html", "title": "Class NcFlagUtil | HiAPI-C# 2025", - "summary": "Class NcFlagUtil Namespace Hi.Numerical Assembly HiUniNc.dll Utility class for working with NC flags and their lifecycle modes. public static class NcFlagUtil Inheritance object NcFlagUtil Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Methods GetCompensationHeight(BitArray, int, MillingToolOffsetTable, CncBrand, IMessageHost) Gets the tool height compensation value based on the NC flags and CNC brand. public static double GetCompensationHeight(this BitArray ncFlagBitArray, int H, MillingToolOffsetTable millingToolOffsetTable, CncBrand cncBrand, IMessageHost messageHost) Parameters ncFlagBitArray BitArray NC flag bit array H int Height offset index millingToolOffsetTable MillingToolOffsetTable Tool offset table cncBrand CncBrand CNC brand messageHost IMessageHost Message host for warnings Returns double Height compensation value GetCompensationRadius(BitArray, int, MillingToolOffsetTable, CncBrand, IMessageHost) Gets the tool radius compensation value from the flag bit array and tool offset table. public static double GetCompensationRadius(this BitArray ncFlagBitArray, int D, MillingToolOffsetTable millingToolOffsetTable, CncBrand cncBrand, IMessageHost messageHost) Parameters ncFlagBitArray BitArray The bit array of NC flags. D int The tool diameter offset number. millingToolOffsetTable MillingToolOffsetTable The milling tool offset table. cncBrand CncBrand The CNC controller brand. messageHost IMessageHost The message host for reporting warnings or errors. Returns double The compensation radius value. GetCoordinateOffset(bool, int, int, HeidenhainCycleDef7Arg, NcEnv) Gets the coordinate offset based on the CNC controller and coordinate settings. public static Vec3d GetCoordinateOffset(bool hasSiemensG500, int isoCoordinateId, int heidenhainCycleDef247Q339, HeidenhainCycleDef7Arg heidenhainCycleDef7Arg, NcEnv ncEnv) Parameters hasSiemensG500 bool Whether Siemens G500 is active. isoCoordinateId int The ISO coordinate ID. heidenhainCycleDef247Q339 int The Heidenhain cycle def 247 Q339 value. heidenhainCycleDef7Arg HeidenhainCycleDef7Arg The Heidenhain cycle def 7 arguments. ncEnv NcEnv The NC environment. Returns Vec3d The coordinate offset vector. GetFlags(NcLifeCycleMode) Gets all NC flags for a specific lifecycle mode. public static NcFlag[] GetFlags(this NcLifeCycleMode ncLifeCycleMode) Parameters ncLifeCycleMode NcLifeCycleMode The lifecycle mode to get flags for. Returns NcFlag[] An array of NC flags for the specified lifecycle mode. GetHeidenhainCoordinateOffset(int, HeidenhainCycleDef7Arg, NcEnv) Gets the coordinate offset for Heidenhain controllers. public static Vec3d GetHeidenhainCoordinateOffset(int heidenhainCycleDef247Q339, HeidenhainCycleDef7Arg heidenhainCycleDef7Arg, NcEnv ncEnv) Parameters heidenhainCycleDef247Q339 int The preset number for CYCL DEF 247. heidenhainCycleDef7Arg HeidenhainCycleDef7Arg The argument for CYCL DEF 7. ncEnv NcEnv The NC environment. Returns Vec3d The calculated coordinate offset. GetModalNcFlag(BitArray) Gets the modal NC flag of the specified type from the bit array. public static T GetModalNcFlag(this BitArray ncFlagBitArray) where T : Enum Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns T The modal NC flag of the specified type. Type Parameters T The enum type of the modal flag. GetNcFlag(BitArray) Gets the NC flag of the specified type from the bit array. public static T GetNcFlag(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns T The NC flag of the specified type. Type Parameters T The enum type of the NC flag. GetNcFlags(BitArray) Gets all active NC flags from the bit array. public static IEnumerable GetNcFlags(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns IEnumerable An enumerable collection of active NC flags. GetNcFromSyntex(NcGroup03, TVec, TVec) Converts syntactic coordinates to NC coordinates based on the positioning mode. public static TVec GetNcFromSyntex(this NcGroup03 group03Flag, TVec syntexPosition, TVec preProgramPosition) where TVec : IVec, new() Parameters group03Flag NcGroup03 The positioning mode flag syntexPosition TVec Syntactic position from the input preProgramPosition TVec Previous program position Returns TVec Converted NC coordinates Type Parameters TVec Vector type implementing IVec interface GetNcFromSyntex(NcGroup03, TVec, TVec, int, Func, Action) Converts syntactic position to NC position based on the positioning mode (absolute or incremental). public static TVec GetNcFromSyntex(this NcGroup03 group03Flag, TVec syntexPosition, TVec preProgramPosition, int vecSize, Func getter, Action setter) where TVec : new() Parameters group03Flag NcGroup03 The positioning mode flag syntexPosition TVec Syntactic position from the input preProgramPosition TVec Previous program position vecSize int Size of the vector getter Func Function to get value at specified index setter Action Function to set value at specified index Returns TVec Converted NC coordinates Type Parameters TVec Vector type Exceptions InternalException Thrown when group03Flag is not managed GetNcGroupType(NcFlag) Gets the NC group type for the specified NC flag. public static Type GetNcGroupType(NcFlag ncFlag) Parameters ncFlag NcFlag The NC flag to get the group type for. Returns Type The NC group type or null if not found. GetNcLifeCycleMode(NcFlag) Gets the lifecycle mode of the specified NC flag. public static NcLifeCycleMode GetNcLifeCycleMode(this NcFlag flag) Parameters flag NcFlag The NC flag to check. Returns NcLifeCycleMode The lifecycle mode of the flag. GetNcName(NcFlag) Gets the display name of an NC flag. public static string GetNcName(this NcFlag flag) Parameters flag NcFlag The NC flag to get the name of. Returns string The display name of the NC flag. GetNcXyzFromSyntex(NcGroup03, Vec3d, Vec3d) Converts syntactic XYZ coordinates to NC XYZ coordinates based on the positioning mode. public static Vec3d GetNcXyzFromSyntex(this NcGroup03 group03Flag, Vec3d syntexXyz, Vec3d preNcXyz) Parameters group03Flag NcGroup03 The Group03 flag specifying the positioning mode. syntexXyz Vec3d The syntactic XYZ coordinates to convert. preNcXyz Vec3d The previous NC XYZ coordinates, used for incremental positioning. Returns Vec3d The converted NC XYZ coordinates. GetNcXyzabcFromSyntex(NcGroup03, DVec3d, DVec3d) Gets NC XYZABC coordinates from syntactic coordinates based on the positioning mode. public static DVec3d GetNcXyzabcFromSyntex(this NcGroup03 group03Flag, DVec3d syntexXyzabc, DVec3d preNcXyzabc) Parameters group03Flag NcGroup03 The positioning mode flag (G90 or G91). syntexXyzabc DVec3d The syntactic XYZABC coordinates. preNcXyzabc DVec3d The previous NC XYZABC coordinates. Returns DVec3d The calculated NC XYZABC coordinates. GetPlaneDir(NcGroup02) Gets the direction index of the selected plane. public static int GetPlaneDir(this NcGroup02 ncFlag) Parameters ncFlag NcGroup02 The NC plane selection flag (G17, G18, or G19). Returns int The direction index (0=X, 1=Y, 2=Z). GetPlaneNormal(NcGroup02) Gets the normal vector of the selected plane. public static Vec3d GetPlaneNormal(this NcGroup02 ncFlag) Parameters ncFlag NcGroup02 The NC plane selection flag (G17, G18, or G19). Returns Vec3d The normal vector of the plane. GetTiltMat4d(BitArray, ITiltPlaneNcArg, NcGroup02, ICoordinateConverter, out bool?) public static Mat4d GetTiltMat4d(this BitArray ncFlagBitArray, ITiltPlaneNcArg ncArgGroup16, NcGroup02 ncGroup02flagForG68, ICoordinateConverter coordinateConverterForG68p2, out bool? isG68p2Successed) Parameters ncFlagBitArray BitArray ncArgGroup16 ITiltPlaneNcArg ncGroup02flagForG68 NcGroup02 coordinateConverterForG68p2 ICoordinateConverter isG68p2Successed bool? Returns Mat4d GetValue(NcGroup03, double, double) public static double GetValue(this NcGroup03 group03Flag, double v, double preV) Parameters group03Flag NcGroup03 v double value preV double previous value Returns double HasModalFlag(BitArray, out T) Checks if the bit array has a modal flag of the specified type and retrieves it. public static bool HasModalFlag(this BitArray ncFlagBitArray, out T dst) where T : Enum Parameters ncFlagBitArray BitArray The bit array of NC flags. dst T When this method returns, contains the modal flag if found; otherwise, the default value. Returns bool True if a modal flag was found; otherwise, false. Type Parameters T The enum type of the modal flag. IsAbsolutePositioning(BitArray) Checks if the positioning mode is absolute (G90) rather than incremental (G91). public static bool IsAbsolutePositioning(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns bool True if absolute positioning is active; otherwise, false. IsFlagActivated(BitArray, NcFlag) Determines whether a specific NC flag is activated in the flag bit array. public static bool IsFlagActivated(this BitArray ncFlagBitArray, NcFlag ncFlag) Parameters ncFlagBitArray BitArray The bit array of NC flags. ncFlag NcFlag The NC flag to check. Returns bool True if the flag is activated; otherwise, false. IsHeightCompensationEnabled(BitArray) Determines whether height compensation is enabled. public static bool IsHeightCompensationEnabled(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns bool True if height compensation is enabled; otherwise, false. IsMacro(BitArray) Is macro such as drilling cycle, rapid home, tool center alignment. public static bool IsMacro(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns bool Is macro mode IsOnArcCommand(BitArray) Determines whether an arc command is active. public static bool IsOnArcCommand(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns bool True if an arc command is active; otherwise, false. IsOnSimpleMachiningMode(BitArray) public static bool IsOnSimpleMachiningMode(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray Returns bool IsRadiusCompensationEnabled(BitArray) Determines whether radius compensation is enabled. public static bool IsRadiusCompensationEnabled(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns bool True if radius compensation is enabled; otherwise, false. IsRadiusOrHeightCompensationEnabled(BitArray) Determines whether radius or height compensation is enabled. public static bool IsRadiusOrHeightCompensationEnabled(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns bool True if radius or height compensation is enabled; otherwise, false. IsRapid(BitArray) public static bool IsRapid(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray Returns bool IsToolCenterPointManagementEnabled(NcGroup08) obosoleted. use BitArray version instead. Is the flag enabled RTCP (Rotational Tool Center Point) (=Tool Center Point Management, TCPM). Check for NcGroup08. public static bool IsToolCenterPointManagementEnabled(this NcGroup08 flag) Parameters flag NcGroup08 Returns bool IsToolCenterPointManagementEnabled(BitArray) Is the flag enabled RTCP (Rotational Tool Center Point) (=Tool Center Point Management, TCPM). public static bool IsToolCenterPointManagementEnabled(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray Returns bool IsToolChanging(BitArray) Determines if a tool change operation is active in the NC flag bit array. public static bool IsToolChanging(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns bool True if a tool change is active; otherwise, false. IsToolNormalTiltable(BitArray) Determines whether the tool normal is tiltable based on the flag bit array. public static bool IsToolNormalTiltable(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns bool True if the tool normal is tiltable; otherwise, false. ModalExclusiveAssign(BitArray, NcFlag) Modal exclusive assign in the belonging NC Group. public static BitArray ModalExclusiveAssign(this BitArray ncFlagBitArray, NcFlag assigningNcFlag) Parameters ncFlagBitArray BitArray assigningNcFlag NcFlag Returns BitArray ModalExclusiveAssign(BitArray, T) Modal exclusive assign in the belonging NC Group. public static BitArray ModalExclusiveAssign(this BitArray ncFlagBitArray, T assigningNcGroupFlag) where T : struct, Enum Parameters ncFlagBitArray BitArray assigningNcGroupFlag T Returns BitArray Type Parameters T ResetOneShotFlag(BitArray) Resets all one-shot flags in the specified bit array. public static BitArray ResetOneShotFlag(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns BitArray The modified bit array with one-shot flags reset. ToNcFlagString(BitArray) Converts the active NC flags in the bit array to a string representation. public static string ToNcFlagString(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns string A string representation of the active NC flags." + "summary": "Class NcFlagUtil Namespace Hi.Numerical Assembly HiUniNc.dll Utility class for working with NC flags and their lifecycle modes. public static class NcFlagUtil Inheritance object NcFlagUtil Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Methods GetCompensationHeight(BitArray, int, MillingToolOffsetTable, CncBrand, IMessageHost) Gets the tool height compensation value based on the NC flags and CNC brand. public static double GetCompensationHeight(this BitArray ncFlagBitArray, int H, MillingToolOffsetTable millingToolOffsetTable, CncBrand cncBrand, IMessageHost messageHost) Parameters ncFlagBitArray BitArray NC flag bit array H int Height offset index millingToolOffsetTable MillingToolOffsetTable Tool offset table cncBrand CncBrand CNC brand messageHost IMessageHost Message host for warnings Returns double Height compensation value GetCompensationRadius(BitArray, int, MillingToolOffsetTable, CncBrand, IMessageHost) Gets the tool radius compensation value from the flag bit array and tool offset table. public static double GetCompensationRadius(this BitArray ncFlagBitArray, int D, MillingToolOffsetTable millingToolOffsetTable, CncBrand cncBrand, IMessageHost messageHost) Parameters ncFlagBitArray BitArray The bit array of NC flags. D int The tool diameter offset number. millingToolOffsetTable MillingToolOffsetTable The milling tool offset table. cncBrand CncBrand The CNC controller brand. messageHost IMessageHost The message host for reporting warnings or errors. Returns double The compensation radius value. GetCoordinateOffset(bool, int, int, HeidenhainCycleDef7Arg, NcEnv) Gets the coordinate offset based on the CNC controller and coordinate settings. public static Vec3d GetCoordinateOffset(bool hasSiemensG500, int isoCoordinateId, int heidenhainCycleDef247Q339, HeidenhainCycleDef7Arg heidenhainCycleDef7Arg, NcEnv ncEnv) Parameters hasSiemensG500 bool Whether Siemens G500 is active. isoCoordinateId int The ISO coordinate ID. heidenhainCycleDef247Q339 int The Heidenhain cycle def 247 Q339 value. heidenhainCycleDef7Arg HeidenhainCycleDef7Arg The Heidenhain cycle def 7 arguments. ncEnv NcEnv The NC environment. Returns Vec3d The coordinate offset vector. GetFlags(NcLifeCycleMode) Gets all NC flags for a specific lifecycle mode. public static NcFlag[] GetFlags(this NcLifeCycleMode ncLifeCycleMode) Parameters ncLifeCycleMode NcLifeCycleMode The lifecycle mode to get flags for. Returns NcFlag[] An array of NC flags for the specified lifecycle mode. GetHeidenhainCoordinateOffset(int, HeidenhainCycleDef7Arg, NcEnv) Gets the coordinate offset for Heidenhain controllers. public static Vec3d GetHeidenhainCoordinateOffset(int heidenhainCycleDef247Q339, HeidenhainCycleDef7Arg heidenhainCycleDef7Arg, NcEnv ncEnv) Parameters heidenhainCycleDef247Q339 int The preset number for CYCL DEF 247. heidenhainCycleDef7Arg HeidenhainCycleDef7Arg The argument for CYCL DEF 7. ncEnv NcEnv The NC environment. Returns Vec3d The calculated coordinate offset. GetModalNcFlag(BitArray) Gets the modal NC flag of the specified type from the bit array. public static T GetModalNcFlag(this BitArray ncFlagBitArray) where T : Enum Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns T The modal NC flag of the specified type. Type Parameters T The enum type of the modal flag. GetNcFlag(BitArray) Gets the NC flag of the specified type from the bit array. public static T GetNcFlag(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns T The NC flag of the specified type. Type Parameters T The enum type of the NC flag. GetNcFlags(BitArray) Gets all active NC flags from the bit array. public static IEnumerable GetNcFlags(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns IEnumerable An enumerable collection of active NC flags. GetNcFromSyntex(NcGroup03, TVec, TVec) Converts syntactic coordinates to NC coordinates based on the positioning mode. public static TVec GetNcFromSyntex(this NcGroup03 group03Flag, TVec syntexPosition, TVec preProgramPosition) where TVec : IVec, new() Parameters group03Flag NcGroup03 The positioning mode flag syntexPosition TVec Syntactic position from the input preProgramPosition TVec Previous program position Returns TVec Converted NC coordinates Type Parameters TVec Vector type implementing IVec interface GetNcFromSyntex(NcGroup03, TVec, TVec, int, Func, Action) Converts syntactic position to NC position based on the positioning mode (absolute or incremental). public static TVec GetNcFromSyntex(this NcGroup03 group03Flag, TVec syntexPosition, TVec preProgramPosition, int vecSize, Func getter, Action setter) where TVec : new() Parameters group03Flag NcGroup03 The positioning mode flag syntexPosition TVec Syntactic position from the input preProgramPosition TVec Previous program position vecSize int Size of the vector getter Func Function to get value at specified index setter Action Function to set value at specified index Returns TVec Converted NC coordinates Type Parameters TVec Vector type Exceptions InternalException Thrown when group03Flag is not managed GetNcGroupType(NcFlag) Gets the NC group type for the specified NC flag. public static Type GetNcGroupType(NcFlag ncFlag) Parameters ncFlag NcFlag The NC flag to get the group type for. Returns Type The NC group type or null if not found. GetNcLifeCycleMode(NcFlag) Gets the lifecycle mode of the specified NC flag. public static NcLifeCycleMode GetNcLifeCycleMode(this NcFlag flag) Parameters flag NcFlag The NC flag to check. Returns NcLifeCycleMode The lifecycle mode of the flag. GetNcName(NcFlag) Gets the display name of an NC flag. public static string GetNcName(this NcFlag flag) Parameters flag NcFlag The NC flag to get the name of. Returns string The display name of the NC flag. GetNcXyzFromSyntex(NcGroup03, Vec3d, Vec3d) Converts syntactic XYZ coordinates to NC XYZ coordinates based on the positioning mode. public static Vec3d GetNcXyzFromSyntex(this NcGroup03 group03Flag, Vec3d syntexXyz, Vec3d preNcXyz) Parameters group03Flag NcGroup03 The Group03 flag specifying the positioning mode. syntexXyz Vec3d The syntactic XYZ coordinates to convert. preNcXyz Vec3d The previous NC XYZ coordinates, used for incremental positioning. Returns Vec3d The converted NC XYZ coordinates. GetNcXyzabcFromSyntex(NcGroup03, DVec3d, DVec3d) Gets NC XYZABC coordinates from syntactic coordinates based on the positioning mode. public static DVec3d GetNcXyzabcFromSyntex(this NcGroup03 group03Flag, DVec3d syntexXyzabc, DVec3d preNcXyzabc) Parameters group03Flag NcGroup03 The positioning mode flag (G90 or G91). syntexXyzabc DVec3d The syntactic XYZABC coordinates. preNcXyzabc DVec3d The previous NC XYZABC coordinates. Returns DVec3d The calculated NC XYZABC coordinates. GetPlaneDir(NcGroup02) Gets the direction index of the selected plane. public static int GetPlaneDir(this NcGroup02 ncFlag) Parameters ncFlag NcGroup02 The NC plane selection flag (G17, G18, or G19). Returns int The direction index (0=X, 1=Y, 2=Z). GetPlaneNormal(NcGroup02) Gets the normal vector of the selected plane. public static Vec3d GetPlaneNormal(this NcGroup02 ncFlag) Parameters ncFlag NcGroup02 The NC plane selection flag (G17, G18, or G19). Returns Vec3d The normal vector of the plane. GetTiltMat4d(BitArray, ITiltPlaneNcArg, NcGroup02, ICoordinateConverter, out bool?) public static Mat4d GetTiltMat4d(this BitArray ncFlagBitArray, ITiltPlaneNcArg ncArgGroup16, NcGroup02 ncGroup02flagForG68, ICoordinateConverter coordinateConverterForG68p2, out bool? isG68p2Successed) Parameters ncFlagBitArray BitArray ncArgGroup16 ITiltPlaneNcArg ncGroup02flagForG68 NcGroup02 coordinateConverterForG68p2 ICoordinateConverter isG68p2Successed bool? Returns Mat4d GetValue(NcGroup03, double, double) public static double GetValue(this NcGroup03 group03Flag, double v, double preV) Parameters group03Flag NcGroup03 v double value preV double previous value Returns double HasModalFlag(BitArray, out T) Checks if the bit array has a modal flag of the specified type and retrieves it. public static bool HasModalFlag(this BitArray ncFlagBitArray, out T dst) where T : Enum Parameters ncFlagBitArray BitArray The bit array of NC flags. dst T When this method returns, contains the modal flag if found; otherwise, the default value. Returns bool True if a modal flag was found; otherwise, false. Type Parameters T The enum type of the modal flag. IsAbsolutePositioning(BitArray) Checks if the positioning mode is absolute (G90) rather than incremental (G91). public static bool IsAbsolutePositioning(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns bool True if absolute positioning is active; otherwise, false. IsFlagActivated(BitArray, NcFlag) Determines whether a specific NC flag is activated in the flag bit array. public static bool IsFlagActivated(this BitArray ncFlagBitArray, NcFlag ncFlag) Parameters ncFlagBitArray BitArray The bit array of NC flags. ncFlag NcFlag The NC flag to check. Returns bool True if the flag is activated; otherwise, false. IsHeightCompensationEnabled(BitArray) Determines whether height compensation is enabled. public static bool IsHeightCompensationEnabled(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns bool True if height compensation is enabled; otherwise, false. IsMacro(BitArray) Is macro such as drilling cycle, rapid home, tool center alignment. public static bool IsMacro(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns bool Is macro mode IsOnArcCommand(BitArray) Determines whether an arc command is active. public static bool IsOnArcCommand(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns bool True if an arc command is active; otherwise, false. IsOnSimpleMachiningMode(BitArray) Determines whether simple machining mode is active (linear or circular interpolation). public static bool IsOnSimpleMachiningMode(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns bool True if simple machining mode is active; otherwise, false. IsRadiusCompensationEnabled(BitArray) Determines whether radius compensation is enabled. public static bool IsRadiusCompensationEnabled(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns bool True if radius compensation is enabled; otherwise, false. IsRadiusOrHeightCompensationEnabled(BitArray) Determines whether radius or height compensation is enabled. public static bool IsRadiusOrHeightCompensationEnabled(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns bool True if radius or height compensation is enabled; otherwise, false. IsRapid(BitArray) Determines whether rapid traverse mode is active. public static bool IsRapid(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns bool True if rapid traverse is active; otherwise, false. IsToolCenterPointManagementEnabled(NcGroup08) obosoleted. use BitArray version instead. Is the flag enabled RTCP (Rotational Tool Center Point) (=Tool Center Point Management, TCPM). Check for NcGroup08. public static bool IsToolCenterPointManagementEnabled(this NcGroup08 flag) Parameters flag NcGroup08 Returns bool IsToolCenterPointManagementEnabled(BitArray) Is the flag enabled RTCP (Rotational Tool Center Point) (=Tool Center Point Management, TCPM). public static bool IsToolCenterPointManagementEnabled(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray Returns bool IsToolChanging(BitArray) Determines if a tool change operation is active in the NC flag bit array. public static bool IsToolChanging(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns bool True if a tool change is active; otherwise, false. IsToolNormalTiltable(BitArray) Determines whether the tool normal is tiltable based on the flag bit array. public static bool IsToolNormalTiltable(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns bool True if the tool normal is tiltable; otherwise, false. ModalExclusiveAssign(BitArray, NcFlag) Modal exclusive assign in the belonging NC Group. public static BitArray ModalExclusiveAssign(this BitArray ncFlagBitArray, NcFlag assigningNcFlag) Parameters ncFlagBitArray BitArray assigningNcFlag NcFlag Returns BitArray ModalExclusiveAssign(BitArray, T) Modal exclusive assign in the belonging NC Group. public static BitArray ModalExclusiveAssign(this BitArray ncFlagBitArray, T assigningNcGroupFlag) where T : struct, Enum Parameters ncFlagBitArray BitArray assigningNcGroupFlag T Returns BitArray Type Parameters T ResetOneShotFlag(BitArray) Resets all one-shot flags in the specified bit array. public static BitArray ResetOneShotFlag(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns BitArray The modified bit array with one-shot flags reset. ToNcFlagString(BitArray) Converts the active NC flags in the bit array to a string representation. public static string ToNcFlagString(this BitArray ncFlagBitArray) Parameters ncFlagBitArray BitArray The bit array of NC flags. Returns string A string representation of the active NC flags." }, "api/Hi.Numerical.NcGroup00.html": { "href": "api/Hi.Numerical.NcGroup00.html", "title": "Enum NcGroup00 | HiAPI-C# 2025", - "summary": "Enum NcGroup00 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. GCode Group00. Include G04,G52,G53,G53p1,SiemensSupa. public enum NcGroup00 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G04 = 6 Group00. Dwell. G52 = 26 Group00. Local coordinate system setting. It can be cancelled by G52X0Y0Z0 or M30. G53 = 27 Group00. Machine coordinate system setting. When an incremental command is specified, the G53 command is ignored. G53p1 = 30 Group00. Tool axis direction control." + "summary": "Enum NcGroup00 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. GCode Group00. Include G04,G52,G53,G53p1,SiemensSupa. public enum NcGroup00 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G04 = 6 Group00. Dwell. G52 = 27 Group00. Local coordinate system setting. It can be cancelled by G52X0Y0Z0 or M30. G53 = 28 Group00. Machine coordinate system setting. When an incremental command is specified, the G53 command is ignored. G53p1 = 31 Group00. Tool axis direction control." }, "api/Hi.Numerical.NcGroup01.html": { "href": "api/Hi.Numerical.NcGroup01.html", "title": "Enum NcGroup01 | HiAPI-C# 2025", - "summary": "Enum NcGroup01 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. For linear move mode: G00 or G01. G00 is rapid move. G01 is linear cut. G02 is CW cut; G03 is CCW cut. public enum NcGroup01 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G00 = 0 Group01. Rapid move. Although fanuc document says that G00 is an one shot command, (I think it may send warning if use G0 as modal.) set it to modal may fit other CNC controller and is much conservative from collision. G01 = 1 Group01. Move by feedrate. G02 = 2 Group01. Move in CW arc. G03 = 3 Group01. Move in CCW arc. G28 = 14 Group01. Automatic reference position return. Positioning to the intermediate or reference positions are performed at the rapid traverse rate of each axis. Therefore, for safety, the compensation functions, such as the tool radius compensation and tool length compensation, should be cancelled before executing this command. The coordinates for the intermediate position are stored in the CNC for the axes for which a value is specified in a G28 block. For the other axes, the previously specified coordinates are used. G28 Fanuc parameters Nos. 1240 to 1243. HeidenhainL = 4 Group01. Heidenhain flag. Straight linear motion. HeidenhainLN = 5 Group01. Heidenhain flag. Nonlinear motion." + "summary": "Enum NcGroup01 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. For linear move mode: G00 or G01. G00 is rapid move. G01 is linear cut. G02 is CW cut; G03 is CCW cut. public enum NcGroup01 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G00 = 0 Group01. Rapid move. Although fanuc document says that G00 is an one shot command, (I think it may send warning if use G0 as modal.) set it to modal may fit other CNC controller and is much conservative from collision. G01 = 1 Group01. Move by feedrate. G02 = 2 Group01. Move in CW arc. G03 = 3 Group01. Move in CCW arc. G28 = 15 Group01. Automatic reference position return. Positioning to the intermediate or reference positions are performed at the rapid traverse rate of each axis. Therefore, for safety, the compensation functions, such as the tool radius compensation and tool length compensation, should be cancelled before executing this command. The coordinates for the intermediate position are stored in the CNC for the axes for which a value is specified in a G28 block. For the other axes, the previously specified coordinates are used. G28 Fanuc parameters Nos. 1240 to 1243. HeidenhainL = 4 Group01. Heidenhain flag. Straight linear motion. HeidenhainLN = 5 Group01. Heidenhain flag. Nonlinear motion." }, "api/Hi.Numerical.NcGroup02.html": { "href": "api/Hi.Numerical.NcGroup02.html", "title": "Enum NcGroup02 | HiAPI-C# 2025", - "summary": "Enum NcGroup02 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Plane selection. Include G17,G18,G19. public enum NcGroup02 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) NcFlagUtil.GetPlaneDir(NcGroup02) NcFlagUtil.GetPlaneNormal(NcGroup02) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G17 = 9 Group02. XY plane selection. G18 = 10 Group02. ZX plane selection. G19 = 11 Group02. YZ plane selection." + "summary": "Enum NcGroup02 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Plane selection. Include G17,G18,G19. public enum NcGroup02 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) NcFlagUtil.GetPlaneDir(NcGroup02) NcFlagUtil.GetPlaneNormal(NcGroup02) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G17 = 10 Group02. XY plane selection. G18 = 11 Group02. ZX plane selection. G19 = 12 Group02. YZ plane selection." }, "api/Hi.Numerical.NcGroup03.html": { "href": "api/Hi.Numerical.NcGroup03.html", "title": "Enum NcGroup03 | HiAPI-C# 2025", - "summary": "Enum NcGroup03 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Absolute(G90) or increment(G91) coordinate. public enum NcGroup03 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) NcFlagUtil.GetNcFromSyntex(NcGroup03, TVec, TVec) NcFlagUtil.GetNcFromSyntex(NcGroup03, TVec, TVec, int, Func, Action) NcFlagUtil.GetNcXyzFromSyntex(NcGroup03, Vec3d, Vec3d) NcFlagUtil.GetNcXyzabcFromSyntex(NcGroup03, DVec3d, DVec3d) NcFlagUtil.GetValue(NcGroup03, double, double) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G90 = 52 Group03. Absolute coordinate system. G91 = 53 Group03. Relative coordinate system." + "summary": "Enum NcGroup03 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Absolute(G90) or increment(G91) coordinate. public enum NcGroup03 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) NcFlagUtil.GetNcFromSyntex(NcGroup03, TVec, TVec) NcFlagUtil.GetNcFromSyntex(NcGroup03, TVec, TVec, int, Func, Action) NcFlagUtil.GetNcXyzFromSyntex(NcGroup03, Vec3d, Vec3d) NcFlagUtil.GetNcXyzabcFromSyntex(NcGroup03, DVec3d, DVec3d) NcFlagUtil.GetValue(NcGroup03, double, double) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G90 = 53 Group03. Absolute coordinate system. G91 = 54 Group03. Relative coordinate system." }, "api/Hi.Numerical.NcGroup05.html": { "href": "api/Hi.Numerical.NcGroup05.html", "title": "Enum NcGroup05 | HiAPI-C# 2025", - "summary": "Enum NcGroup05 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. For feedrate. public enum NcGroup05 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G94 = 54 Group05. Use F as mm/min." + "summary": "Enum NcGroup05 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. For feedrate. public enum NcGroup05 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G94 = 55 Group05. Use F as mm/min." }, "api/Hi.Numerical.NcGroup06.html": { "href": "api/Hi.Numerical.NcGroup06.html", "title": "Enum NcGroup06 | HiAPI-C# 2025", - "summary": "Enum NcGroup06 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Group of unit. In mm or in inch. public enum NcGroup06 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G20 = 12 Group06. Input in inch. For Fanuc specification A,B. RS274D specification is G70. G21 = 13 Group06. Input in mm. For Fanuc specification A,B. RS274D specification is G71. G70 = 44 Group06. Input in inch. Fanuc system C specification. Syntec specification. For RS274D specification. Fanuc system A,B specification is G20. G71 = 45 Group06. Input in mm. Fanuc system C specification. Syntec specification. For RS274D specification. Fanuc system A,B specification is G21." + "summary": "Enum NcGroup06 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Group of unit. In mm or in inch. public enum NcGroup06 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G20 = 13 Group06. Input in inch. For Fanuc specification A,B. RS274D specification is G70. G21 = 14 Group06. Input in mm. For Fanuc specification A,B. RS274D specification is G71. G70 = 45 Group06. Input in inch. Fanuc system C specification. Syntec specification. For RS274D specification. Fanuc system A,B specification is G20. G71 = 46 Group06. Input in mm. Fanuc system C specification. Syntec specification. For RS274D specification. Fanuc system A,B specification is G21." }, "api/Hi.Numerical.NcGroup07.html": { "href": "api/Hi.Numerical.NcGroup07.html", "title": "Enum NcGroup07 | HiAPI-C# 2025", - "summary": "Enum NcGroup07 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Left or right compensation for tool radius, etc.. See G40, G41, G42 for available compensation modes. public enum NcGroup07 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G40 = 15 Group07. Cancel radius compensation. See G41 and G42 for left and right compensation. G41 = 16 Group07. Tool radius/tool nose radius compensation. Left compensation: the updated tool tip location is at +y direction compensation from tool running direction. See G40 to cancel compensation and G42 for right compensation. G42 = 17 Group07. Tool radius/tool nose radius compensation. Right compensation: the updated tool tip location is at -y direction compensation from tool running direction. See G40 to cancel compensation and G41 for left compensation." + "summary": "Enum NcGroup07 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Left or right compensation for tool radius, etc.. See G40, G41, G42 for available compensation modes. public enum NcGroup07 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G40 = 16 Group07. Cancel radius compensation. See G41 and G42 for left and right compensation. G41 = 17 Group07. Tool radius/tool nose radius compensation. Left compensation: the updated tool tip location is at +y direction compensation from tool running direction. See G40 to cancel compensation and G42 for right compensation. G42 = 18 Group07. Tool radius/tool nose radius compensation. Right compensation: the updated tool tip location is at -y direction compensation from tool running direction. See G40 to cancel compensation and G41 for left compensation." }, "api/Hi.Numerical.NcGroup08.html": { "href": "api/Hi.Numerical.NcGroup08.html", "title": "Enum NcGroup08 | HiAPI-C# 2025", - "summary": "Enum NcGroup08 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Tool length compensation, etc.. G43,G43p4,G44,G49,SiemensTraori,SiemensTrafoof,HeidenhainM128,HeidenhainM129. public enum NcGroup08 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) NcFlagUtil.IsToolCenterPointManagementEnabled(NcGroup08) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G43 = 18 Group08 Positive height compensation. G43p4 = 19 Group08 G43.4: start RTCP (Rotational Tool Center Point). G44 = 20 Group08 Negative height compensation. G49 = 21 Group08. Cancel height compensation. HeidenhainM128 = 24 Group08. Heidenhain flag. M128: start RTCP (Rotational Tool Center Point). HeidenhainM129 = 25 Group08. Heidenhain flag. M129: cancel RTCP (Rotational Tool Center Point). SiemensTrafoof = 22 Group08. Siemens flag. Disable RTCP (Rotational Tool Center Point) (=Tool Center Point Management, TCPM). SiemensTraori = 23 Group08. Siemens flag. Enable RTCP (Rotational Tool Center Point) (=Tool Center Point Management, TCPM)." + "summary": "Enum NcGroup08 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Tool length compensation, etc.. G43,G43p4,G44,G49,SiemensTraori,SiemensTrafoof,HeidenhainM128,HeidenhainM129. public enum NcGroup08 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) NcFlagUtil.IsToolCenterPointManagementEnabled(NcGroup08) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G43 = 19 Group08 Positive height compensation. G43p4 = 20 Group08 G43.4: start RTCP (Rotational Tool Center Point). G44 = 21 Group08 Negative height compensation. G49 = 22 Group08. Cancel height compensation. HeidenhainM128 = 25 Group08. Heidenhain flag. M128: start RTCP (Rotational Tool Center Point). HeidenhainM129 = 26 Group08. Heidenhain flag. M129: cancel RTCP (Rotational Tool Center Point). SiemensTrafoof = 23 Group08. Siemens flag. Disable RTCP (Rotational Tool Center Point) (=Tool Center Point Management, TCPM). SiemensTraori = 24 Group08. Siemens flag. Enable RTCP (Rotational Tool Center Point) (=Tool Center Point Management, TCPM)." }, "api/Hi.Numerical.NcGroup09.html": { "href": "api/Hi.Numerical.NcGroup09.html", "title": "Enum NcGroup09 | HiAPI-C# 2025", - "summary": "Enum NcGroup09 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Canned cycle. public enum NcGroup09 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G80 = 46 Group09. Canned cycle cancel. Electronic gear box : synchronization cancellation. See G81, G82, G83, G85, G86 for available canned cycles. G81 = 47 Group09. Drilling cycle or spot boring cycle. Electronic gear box : synchronization start. The same parsing behavior group: G81,G85,G86. G82 = 48 Group09. Drilling cycle or spot boring cycle with bottom staying time. G83 = 49 Group09. Drilling cycle or spot boring cycle. drilling cycle in form of pecking. G85 = 50 Group09. Drilling cycle or spot boring cycle. Electronic gear box : synchronization start. The same parsing behavior group: G81,G85,G86. G86 = 51 Group09. Drilling cycle or spot boring cycle. Electronic gear box : synchronization start. The same parsing behavior group: G81,G85,G86." + "summary": "Enum NcGroup09 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Canned cycle. public enum NcGroup09 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G80 = 47 Group09. Canned cycle cancel. Electronic gear box : synchronization cancellation. See G81, G82, G83, G85, G86 for available canned cycles. G81 = 48 Group09. Drilling cycle or spot boring cycle. Electronic gear box : synchronization start. The same parsing behavior group: G81,G85,G86. G82 = 49 Group09. Drilling cycle or spot boring cycle with bottom staying time. G83 = 50 Group09. Drilling cycle or spot boring cycle. drilling cycle in form of pecking. G85 = 51 Group09. Drilling cycle or spot boring cycle. Electronic gear box : synchronization start. The same parsing behavior group: G81,G85,G86. G86 = 52 Group09. Drilling cycle or spot boring cycle. Electronic gear box : synchronization start. The same parsing behavior group: G81,G85,G86." }, "api/Hi.Numerical.NcGroup10.html": { "href": "api/Hi.Numerical.NcGroup10.html", "title": "Enum NcGroup10 | HiAPI-C# 2025", - "summary": "Enum NcGroup10 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Canned cycle return point. G98,G99. public enum NcGroup10 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G98 = 57 Group10. Canned cycle : return to initial level. See G99 for R point level return. G99 = 58 Group10. Canned cycle : return to R point level. See G98 for initial level return." + "summary": "Enum NcGroup10 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Canned cycle return point. G98,G99. public enum NcGroup10 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G98 = 58 Group10. Canned cycle : return to initial level. See G99 for R point level return. G99 = 59 Group10. Canned cycle : return to R point level. See G98 for initial level return." }, "api/Hi.Numerical.NcGroup13.html": { "href": "api/Hi.Numerical.NcGroup13.html", "title": "Enum NcGroup13 | HiAPI-C# 2025", - "summary": "Enum NcGroup13 Namespace Hi.Numerical Assembly HiUniNc.dll public enum NcGroup13 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G96 = 55 Group13. Constant surface speed control cancel. not support. G97 = 56 Group13. Constant surface speed control cancel." + "summary": "Enum NcGroup13 Namespace Hi.Numerical Assembly HiUniNc.dll NC Group 13 for constant surface speed control. public enum NcGroup13 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G96 = 56 Group13. Constant surface speed control cancel. not support. G97 = 57 Group13. Constant surface speed control cancel." }, "api/Hi.Numerical.NcGroup14.html": { "href": "api/Hi.Numerical.NcGroup14.html", "title": "Enum NcGroup14 | HiAPI-C# 2025", - "summary": "Enum NcGroup14 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Coordinate system. Such as G54Series. public enum NcGroup14 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G54Series = 31 Group14. Coordinate settings. HeidenhainDatum = 39 Group14. Heidenhain flag. Coordinate settings for CYCL DEF 7 and CYCL DEF 247. Heidenhain_CYCL_DEF_247 = 37 Group14. Heidenhain flag. With the DATUM SETTING cycle you can activate as the new datum a preset defined in a preset table. After a DATUM SETTING cycle definition, all of the coordinate inputs and datum shifts(absolute and incremental) are referenced to the new preset. When activating a datum from the preset table, the TNC resets the datum shift, mirroring, rotation, scaling factor and axis-specific scaling factor. If you activate preset number 0 (line 0), then you activate the datum that you last set in the Manual Operation or El. Handwheel operating mode. Heidenhain_CYCL_DEF_7 = 36 Group14. Heidenhain flag. For shifting contours directly within the program or from datum tables. SiemensG500 = 38 Group14. Siemens command. Deactivation of the current settable zero offset. G500指令在没有赋值的时候为机床坐标系,可以把机床从工件坐标系转换到机床坐标系" + "summary": "Enum NcGroup14 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Coordinate system. Such as G54Series. public enum NcGroup14 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G54Series = 32 Group14. Coordinate settings. HeidenhainDatum = 40 Group14. Heidenhain flag. Coordinate settings for CYCL DEF 7 and CYCL DEF 247. Heidenhain_CYCL_DEF_247 = 38 Group14. Heidenhain flag. With the DATUM SETTING cycle you can activate as the new datum a preset defined in a preset table. After a DATUM SETTING cycle definition, all of the coordinate inputs and datum shifts(absolute and incremental) are referenced to the new preset. When activating a datum from the preset table, the TNC resets the datum shift, mirroring, rotation, scaling factor and axis-specific scaling factor. If you activate preset number 0 (line 0), then you activate the datum that you last set in the Manual Operation or El. Handwheel operating mode. Heidenhain_CYCL_DEF_7 = 37 Group14. Heidenhain flag. For shifting contours directly within the program or from datum tables. SiemensG500 = 39 Group14. Siemens command. Deactivation of the current settable zero offset. G500指令在没有赋值的时候为机床坐标系,可以把机床从工件坐标系转换到机床坐标系" }, "api/Hi.Numerical.NcGroup15.html": { "href": "api/Hi.Numerical.NcGroup15.html", "title": "Enum NcGroup15 | HiAPI-C# 2025", - "summary": "Enum NcGroup15 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. public enum NcGroup15 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G61 = 32 Group15. Exact stop mode. G62 = 33 Group15. Automatic corner override. G63 = 34 Group15. Tapping mode. Not support. G64 = 35 Group15. Cutting mode." + "summary": "Enum NcGroup15 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. public enum NcGroup15 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G61 = 33 Group15. Exact stop mode. G62 = 34 Group15. Automatic corner override. G63 = 35 Group15. Tapping mode. Not support. G64 = 36 Group15. Cutting mode." }, "api/Hi.Numerical.NcGroup16.html": { "href": "api/Hi.Numerical.NcGroup16.html", "title": "Enum NcGroup16 | HiAPI-C# 2025", - "summary": "Enum NcGroup16 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Rotation plane related. Interface of get transformation. Heidenhain equivalent group is NcGroupHeidenhainPlane. public enum NcGroup16 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G68 = 40 Group16. 3-dimensional coordinate system conversion. run a pattern of operations in a rotated angle. G68p2 = 41 Group16. Tilted working plane command. G69 = 42 Group16. Coordinate system rotation cancel or 3-dimensional coordinate conversion mode off SiemensCycle800 = 43 Group16. Siemens flag. Tilted working plane command. CYCLE800() cancels the previous transformation." + "summary": "Enum NcGroup16 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Rotation plane related. Interface of get transformation. Heidenhain equivalent group is NcGroupHeidenhainPlane. public enum NcGroup16 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G68 = 41 Group16. 3-dimensional coordinate system conversion. run a pattern of operations in a rotated angle. G68p2 = 42 Group16. Tilted working plane command. G69 = 43 Group16. Coordinate system rotation cancel or 3-dimensional coordinate conversion mode off SiemensCycle800 = 44 Group16. Siemens flag. Tilted working plane command. CYCLE800() cancels the previous transformation." }, "api/Hi.Numerical.NcGroup21.html": { "href": "api/Hi.Numerical.NcGroup21.html", "title": "Enum NcGroup21 | HiAPI-C# 2025", - "summary": "Enum NcGroup21 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Polar coordinate interpolation mode. public enum NcGroup21 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G12p1 = 7 Group21. Polar coordinate interpolation mode ON. Use G13p1 to turn off polar coordinate interpolation mode. G13p1 = 8 Group21. Polar coordinate interpolation mode OFF. Use G12p1 to turn on polar coordinate interpolation mode." + "summary": "Enum NcGroup21 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Polar coordinate interpolation mode. public enum NcGroup21 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields G12p1 = 8 Group21. Polar coordinate interpolation mode ON. Use G13p1 to turn off polar coordinate interpolation mode. G13p1 = 9 Group21. Polar coordinate interpolation mode OFF. Use G12p1 to turn on polar coordinate interpolation mode." }, "api/Hi.Numerical.NcGroupAttribute.html": { "href": "api/Hi.Numerical.NcGroupAttribute.html", @@ -3932,22 +3932,22 @@ "api/Hi.Numerical.NcGroupHeidenhainM107M108.html": { "href": "api/Hi.Numerical.NcGroupHeidenhainM107M108.html", "title": "Enum NcGroupHeidenhainM107M108 | HiAPI-C# 2025", - "summary": "Enum NcGroupHeidenhainM107M108 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Heidenhain group. Enable or disable Suppress error message for replacement tools with oversize. public enum NcGroupHeidenhainM107M108 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields HeidenhainM107 = 82 Heidenhain flag. Enable Suppress error message for replacement tools with oversize. HeidenhainM108 = 83 Heidenhain flag. Reset M107. disable Suppress error message for replacement tools with oversize." + "summary": "Enum NcGroupHeidenhainM107M108 Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Heidenhain group. Enable or disable Suppress error message for replacement tools with oversize. public enum NcGroupHeidenhainM107M108 Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields HeidenhainM107 = 83 Heidenhain flag. Enable Suppress error message for replacement tools with oversize. HeidenhainM108 = 84 Heidenhain flag. Reset M107. disable Suppress error message for replacement tools with oversize." }, "api/Hi.Numerical.NcGroupHeidenhainPlane.html": { "href": "api/Hi.Numerical.NcGroupHeidenhainPlane.html", "title": "Enum NcGroupHeidenhainPlane | HiAPI-C# 2025", - "summary": "Enum NcGroupHeidenhainPlane Namespace Hi.Numerical Assembly HiUniNc.dll Heidenhain Group Plane related. ISO equivalent group is NcGroup16. public enum NcGroupHeidenhainPlane Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields HeidenhainPlaneReset = 76 Heidenhain Plane command is exclusive HeidenhainPlaneSpatial = 77 Heidenhain Plane command is exclusive" + "summary": "Enum NcGroupHeidenhainPlane Namespace Hi.Numerical Assembly HiUniNc.dll Heidenhain Group Plane related. ISO equivalent group is NcGroup16. public enum NcGroupHeidenhainPlane Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields HeidenhainPlaneReset = 77 Heidenhain Plane command is exclusive HeidenhainPlaneSpatial = 78 Heidenhain Plane command is exclusive" }, "api/Hi.Numerical.NcGroupHeidenhainShortestRotaryPath.html": { "href": "api/Hi.Numerical.NcGroupHeidenhainShortestRotaryPath.html", "title": "Enum NcGroupHeidenhainShortestRotaryPath | HiAPI-C# 2025", - "summary": "Enum NcGroupHeidenhainShortestRotaryPath Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Heidenhain group. shortest rotary state. HeidenhainM126,HeidenhainM127 public enum NcGroupHeidenhainShortestRotaryPath Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields HeidenhainM126 = 84 NcGroup.HeidenhainShortestRotaryPath. Heidenhain flag. Shortest rotation for commands of ABC axise. The M126 will be canceled automatically at the end of the program. For Heidenhain. HeidenhainM127 = 85 NcGroup.HeidenhainShortestRotaryPath. Heidenhain flag. Cancel HeidenhainM126, i.e. disable shortest rotation for ABC axises. For Heidenhain." + "summary": "Enum NcGroupHeidenhainShortestRotaryPath Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Heidenhain group. shortest rotary state. HeidenhainM126,HeidenhainM127 public enum NcGroupHeidenhainShortestRotaryPath Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields HeidenhainM126 = 85 NcGroup.HeidenhainShortestRotaryPath. Heidenhain flag. Shortest rotation for commands of ABC axise. The M126 will be canceled automatically at the end of the program. For Heidenhain. HeidenhainM127 = 86 NcGroup.HeidenhainShortestRotaryPath. Heidenhain flag. Cancel HeidenhainM126, i.e. disable shortest rotation for ABC axises. For Heidenhain." }, "api/Hi.Numerical.NcGroupSpindleRotation.html": { "href": "api/Hi.Numerical.NcGroupSpindleRotation.html", "title": "Enum NcGroupSpindleRotation | HiAPI-C# 2025", - "summary": "Enum NcGroupSpindleRotation Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Spindle rotation control. See SpindleStop, SpindleCw, SpindleCcw for available rotation modes. public enum NcGroupSpindleRotation Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields SpindleCcw = 74 NcGroupSpindleRotation. Rotate spindle counter-clockwise (CCW). See SpindleStop to stop rotation and SpindleCw for clockwise rotation. SpindleCw = 73 NcGroupSpindleRotation. Rotate spindle clockwise (CW). See SpindleStop to stop rotation and SpindleCcw for counter-clockwise rotation. SpindleStop = 72 NcGroupSpindleRotation. Stop spindle rotation. See SpindleCw and SpindleCcw for clockwise and counter-clockwise rotation." + "summary": "Enum NcGroupSpindleRotation Namespace Hi.Numerical Assembly HiUniNc.dll NcGroup enum. Spindle rotation control. See SpindleStop, SpindleCw, SpindleCcw for available rotation modes. public enum NcGroupSpindleRotation Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields SpindleCcw = 75 NcGroupSpindleRotation. Rotate spindle counter-clockwise (CCW). See SpindleStop to stop rotation and SpindleCw for clockwise rotation. SpindleCw = 74 NcGroupSpindleRotation. Rotate spindle clockwise (CW). See SpindleStop to stop rotation and SpindleCcw for counter-clockwise rotation. SpindleStop = 73 NcGroupSpindleRotation. Stop spindle rotation. See SpindleCw and SpindleCcw for clockwise and counter-clockwise rotation." }, "api/Hi.Numerical.NcLifeCycleAttribute.html": { "href": "api/Hi.Numerical.NcLifeCycleAttribute.html", @@ -3992,7 +3992,7 @@ "api/Hi.Numerical.NcUtil.html": { "href": "api/Hi.Numerical.NcUtil.html", "title": "Class NcUtil | HiAPI-C# 2025", - "summary": "Class NcUtil Namespace Hi.Numerical Assembly HiUniNc.dll Utility class for working with NC code. public static class NcUtil Inheritance object NcUtil Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields NcNameTemplateReplacingKeyword Keyword for replacing NC name in templates. public const string NcNameTemplateReplacingKeyword = \"[NcName]\" Field Value string RelNcFileTemplateReplacingKeyword Keyword for replacing NC file path in templates. public const string RelNcFileTemplateReplacingKeyword = \"[NcFile]\" Field Value string Properties LineBeginCsScriptRegex Gets the regular expression for matching line-beginning C# script markers. public static Regex LineBeginCsScriptRegex { get; } Property Value Regex LineEndCsScriptRegex Gets the regular expression for matching line-ending C# script markers. public static Regex LineEndCsScriptRegex { get; } Property Value Regex Methods ApproachFloor(IFileLineIndex, List, IEnumerator) Get the value which is at the floor index (fileLineIndex) from src. public static T ApproachFloor(IFileLineIndex fileLineIndex, List buffer, IEnumerator src) where T : IFileLineIndex Parameters fileLineIndex IFileLineIndex file line index buffer List buffer. Only required capacity of 2. src IEnumerator src Returns T value at the floor index Type Parameters T value type GetSimCsScript(string, CncBrand, out string, out string) Extracts C# scripts from the specified NC line text. public static void GetSimCsScript(string ncLineText, CncBrand cncBrand, out string lineBeginCsScript, out string lineEndCsScript) Parameters ncLineText string The NC line text to process. cncBrand CncBrand The CNC brand to determine the comment style. lineBeginCsScript string When this method returns, contains the line-beginning C# script if found; otherwise, null. lineEndCsScript string When this method returns, contains the line-ending C# script if found; otherwise, null. GrabComment(string, CncBrand, out NcComment) Extracts and removes a comment from the given NC line text based on the CNC brand. public static string GrabComment(string srcNcLineText, CncBrand brand, out NcComment ncComment) Parameters srcNcLineText string The NC line text to process. brand CncBrand The CNC brand to determine the comment style. ncComment NcComment When this method returns, contains the extracted comment, or null if no comment was found. Returns string The NC line text with the comment removed if found; otherwise, the original text. GrabDoubleABC(ref string, bool) public static Vec3d GrabDoubleABC(ref string text, bool enableIntegerShrink) Parameters text string enableIntegerShrink bool Returns Vec3d GrabDoubleXYZ(ref string, bool) public static Vec3d GrabDoubleXYZ(ref string text, bool enableIntegerShrink) Parameters text string enableIntegerShrink bool Returns Vec3d GrabFlag(ref string, string) public static bool GrabFlag(ref string text, string tag) Parameters text string tag string Returns bool GrabHeadPercentComment(string, out NcComment) Extracts and removes a head percent comment from the given NC line text. public static string GrabHeadPercentComment(string ncLineText, out NcComment ncComment) Parameters ncLineText string The NC line text to process. ncComment NcComment When this method returns, contains the extracted comment, or null if no comment was found. Returns string The NC line text with the comment removed if found; otherwise, the original text. IsFlagChanging(NcLine, NcLine, NcFlag) Determines if a flag is changing between two NcLines public static bool IsFlagChanging(this NcLine curNcLine, NcLine preNcLine, NcFlag ncFlag) Parameters curNcLine NcLine The current NcLine preNcLine NcLine The previous NcLine ncFlag NcFlag The flag to check Returns bool True if the flag is changing, false otherwise IsFlagChanging(NcLine, NcLine, NcFlag, bool) Checks if the flag is changing with a specific direction (on or off) between two NC lines. public static bool IsFlagChanging(this NcLine curNcLine, NcLine preNcLine, NcFlag ncFlag, bool changingOn) Parameters curNcLine NcLine The current NC line. preNcLine NcLine The previous NC line. ncFlag NcFlag The flag to check. changingOn bool true if flag set to on; otherwise, the flag set to off Returns bool True if the flag is changing in the specified direction; otherwise, false. IsFlagChanging(LinkedListNode, NcFlag) Determines if a flag is changing in the current NcLine node compared to the previous node public static bool IsFlagChanging(this LinkedListNode curNcLineNode, NcFlag ncFlag) Parameters curNcLineNode LinkedListNode The current NcLine node ncFlag NcFlag The flag to check Returns bool True if the flag is changing, false otherwise IsFlagChanging(LinkedListNode, NcFlag, bool) Checks if the flag is changing with a specific direction (on or off). public static bool IsFlagChanging(this LinkedListNode curNcLineNode, NcFlag ncFlag, bool changingOn) Parameters curNcLineNode LinkedListNode The current NC line node. ncFlag NcFlag The flag to check. changingOn bool true if flag set to on; otherwise, the flag set to off Returns bool True if the flag is changing in the specified direction; otherwise, false. IsFlagKeeping(NcLine, NcLine, NcFlag, bool) Checks if the flag is keeping the same state between two NC lines. public static bool IsFlagKeeping(this NcLine curNcLine, NcLine preNcLine, NcFlag ncFlag, bool keepingOn) Parameters curNcLine NcLine The current NC line. preNcLine NcLine The previous NC line. ncFlag NcFlag The flag to check. keepingOn bool true if checking for kept on state; otherwise, checking for kept off state Returns bool True if the flag is keeping the specified state; otherwise, false. RemoveAllCsScript(string, CncBrand) Removes all C# script markers and their contents from the specified NC line text. public static string RemoveAllCsScript(string ncLineText, CncBrand cncBrand) Parameters ncLineText string The NC line text to process. cncBrand CncBrand The CNC brand to determine the comment style. Returns string The NC line text with all C# scripts removed. SetTagNumber(ref string, string, double, string) SetTagNumberWithoutDecimalTailZero. public static void SetTagNumber(ref string ncLineTextWithoutComment, string tag, double tagNumber, string tagNumberFormat) Parameters ncLineTextWithoutComment string tag string tagNumber double tagNumberFormat string" + "summary": "Class NcUtil Namespace Hi.Numerical Assembly HiUniNc.dll Utility class for working with NC code. public static class NcUtil Inheritance object NcUtil Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields NcNameTemplateReplacingKeyword Keyword for replacing NC name in templates. public const string NcNameTemplateReplacingKeyword = \"[NcName]\" Field Value string RelNcFileTemplateReplacingKeyword Keyword for replacing NC file path in templates. public const string RelNcFileTemplateReplacingKeyword = \"[NcFile]\" Field Value string Properties LineBeginCsScriptRegex Gets the regular expression for matching line-beginning C# script markers. public static Regex LineBeginCsScriptRegex { get; } Property Value Regex LineEndCsScriptRegex Gets the regular expression for matching line-ending C# script markers. public static Regex LineEndCsScriptRegex { get; } Property Value Regex Methods ApproachFloor(IFileLineIndex, List, IEnumerator) Get the value which is at the floor index (fileLineIndex) from src. public static T ApproachFloor(IFileLineIndex fileLineIndex, List buffer, IEnumerator src) where T : IFileLineIndex Parameters fileLineIndex IFileLineIndex file line index buffer List buffer. Only required capacity of 2. src IEnumerator src Returns T value at the floor index Type Parameters T value type GetSimCsScript(string, CncBrand, out string, out string) Extracts C# scripts from the specified NC line text. public static void GetSimCsScript(string ncLineText, CncBrand cncBrand, out string lineBeginCsScript, out string lineEndCsScript) Parameters ncLineText string The NC line text to process. cncBrand CncBrand The CNC brand to determine the comment style. lineBeginCsScript string When this method returns, contains the line-beginning C# script if found; otherwise, null. lineEndCsScript string When this method returns, contains the line-ending C# script if found; otherwise, null. GrabComment(string, CncBrand, out NcComment) Extracts and removes a comment from the given NC line text based on the CNC brand. public static string GrabComment(string srcNcLineText, CncBrand brand, out NcComment ncComment) Parameters srcNcLineText string The NC line text to process. brand CncBrand The CNC brand to determine the comment style. ncComment NcComment When this method returns, contains the extracted comment, or null if no comment was found. Returns string The NC line text with the comment removed if found; otherwise, the original text. GrabDoubleABC(ref string, bool) Grabs and removes A, B, C rotary axis values from the NC text. public static Vec3d GrabDoubleABC(ref string text, bool enableIntegerShrink) Parameters text string The NC text to search and modify. enableIntegerShrink bool Whether to shrink text's integer values by 0.001. Returns Vec3d A Vec3d containing the A, B, C values. GrabDoubleXYZ(ref string, bool) Grabs and removes X, Y, Z coordinate values from the NC text. public static Vec3d GrabDoubleXYZ(ref string text, bool enableIntegerShrink) Parameters text string The NC text to search and modify. enableIntegerShrink bool Whether to shrink text's integer values by 0.001. Returns Vec3d A Vec3d containing the X, Y, Z values. GrabFlag(ref string, string) Grabs and removes a flag from the NC text. public static bool GrabFlag(ref string text, string tag) Parameters text string The NC text to search and modify. tag string The flag tag to search for. Returns bool True if the flag was found and removed; otherwise, false. GrabHeadPercentComment(string, out NcComment) Extracts and removes a head percent comment from the given NC line text. public static string GrabHeadPercentComment(string ncLineText, out NcComment ncComment) Parameters ncLineText string The NC line text to process. ncComment NcComment When this method returns, contains the extracted comment, or null if no comment was found. Returns string The NC line text with the comment removed if found; otherwise, the original text. IsFlagChanging(NcLine, NcLine, NcFlag) Determines if a flag is changing between two NcLines public static bool IsFlagChanging(this NcLine curNcLine, NcLine preNcLine, NcFlag ncFlag) Parameters curNcLine NcLine The current NcLine preNcLine NcLine The previous NcLine ncFlag NcFlag The flag to check Returns bool True if the flag is changing, false otherwise IsFlagChanging(NcLine, NcLine, NcFlag, bool) Checks if the flag is changing with a specific direction (on or off) between two NC lines. public static bool IsFlagChanging(this NcLine curNcLine, NcLine preNcLine, NcFlag ncFlag, bool changingOn) Parameters curNcLine NcLine The current NC line. preNcLine NcLine The previous NC line. ncFlag NcFlag The flag to check. changingOn bool true if flag set to on; otherwise, the flag set to off Returns bool True if the flag is changing in the specified direction; otherwise, false. IsFlagChanging(LinkedListNode, NcFlag) Determines if a flag is changing in the current NcLine node compared to the previous node public static bool IsFlagChanging(this LinkedListNode curNcLineNode, NcFlag ncFlag) Parameters curNcLineNode LinkedListNode The current NcLine node ncFlag NcFlag The flag to check Returns bool True if the flag is changing, false otherwise IsFlagChanging(LinkedListNode, NcFlag, bool) Checks if the flag is changing with a specific direction (on or off). public static bool IsFlagChanging(this LinkedListNode curNcLineNode, NcFlag ncFlag, bool changingOn) Parameters curNcLineNode LinkedListNode The current NC line node. ncFlag NcFlag The flag to check. changingOn bool true if flag set to on; otherwise, the flag set to off Returns bool True if the flag is changing in the specified direction; otherwise, false. IsFlagKeeping(NcLine, NcLine, NcFlag, bool) Checks if the flag is keeping the same state between two NC lines. public static bool IsFlagKeeping(this NcLine curNcLine, NcLine preNcLine, NcFlag ncFlag, bool keepingOn) Parameters curNcLine NcLine The current NC line. preNcLine NcLine The previous NC line. ncFlag NcFlag The flag to check. keepingOn bool true if checking for kept on state; otherwise, checking for kept off state Returns bool True if the flag is keeping the specified state; otherwise, false. RemoveAllCsScript(string, CncBrand) Removes all C# script markers and their contents from the specified NC line text. public static string RemoveAllCsScript(string ncLineText, CncBrand cncBrand) Parameters ncLineText string The NC line text to process. cncBrand CncBrand The CNC brand to determine the comment style. Returns string The NC line text with all C# scripts removed. SetTagNumber(ref string, string, double, string) SetTagNumberWithoutDecimalTailZero. public static void SetTagNumber(ref string ncLineTextWithoutComment, string tag, double tagNumber, string tagNumberFormat) Parameters ncLineTextWithoutComment string tag string tagNumber double tagNumberFormat string" }, "api/Hi.Numerical.NcWarningSceneEnum.html": { "href": "api/Hi.Numerical.NcWarningSceneEnum.html", @@ -4162,7 +4162,7 @@ "api/Hi.Numerical.html": { "href": "api/Hi.Numerical.html", "title": "Namespace Hi.Numerical | HiAPI-C# 2025", - "summary": "Namespace Hi.Numerical Classes CoordinateEntryDisplayee Represents a displayable coordinate entry for CNC programming. FlexDictionaryUtil Utility for flexible dictionary operations. HeidenhainCoordinateEntryDisplayee Displayee for Heidenhain coordinate entry visualization. IsoCoordinateEntryDisplayee Displayee for ISO coordinate entry visualization. IsoCoordinateTable Coordinate table for NC controller. The dictionary key is 1000times coordinate index (ex. G54 is 54000); the dictionary value is machine coordinate. MechNcUtil NC Utility. MillingToolOffsetTable Offset table for milling tool. The key is Offset ID (H or D in NC code). MillingToolOffsetTableRow Raw of MillingToolOffsetTable NcComment Represents a comment in NC code. NcEnv Represents the numerical control environment containing configuration for CNC operations. NcFlagUtil Utility class for working with NC flags and their lifecycle modes. NcGroupAttribute NC Group Attribute. NcLifeCycleAttribute Attribute to specify the lifecycle mode of an NC flag. NcLine Represents a line in the NC program with its associated data and operations. NcNameAttribute Attribute used to define a name for NC flags and other enumeration fields. NcNoteCache Cache for notes and warnings generated during NC line parsing. NcProc Provides processing utilities for NC programming. NcStepFileOutputKit Kit for outputting NC steps to CSV files. NcStepMonitor Monitors NC steps and provides functionality for step tracking and control. NcUtil Utility class for working with NC code. NumericUtil Utility class for numeric operations and unit conversions. PolarEntry The class for G12.1 Polar mode. In G12.1 Polar mode, NC code applies (X,C) as (linear axis, hypothetical axis). XC, YA, ZB are available. RadiusCompensationBuf Buffer for radius compensation operations in numerical control SubStringKit Utility class for extracting and manipulating substrings based on specific activation patterns. ToolConfigNotFoundException Exception thrown when a tool configuration cannot be found. Interfaces IFlexDictionaryHost Interface of FlexDictionary. Provider of additional quantity source. IGetFeedrate Interface for retrieving feedrate information. IGetSpindleSpeed Interface for retrieving spindle speed and direction information. ISetFeedrate Interface for setting feedrate information. ISetSpindleSpeed Interface for setting spindle speed. Enums CncBrand Represents different CNC controller brands supported by the system. CommentMark Enumeration of different comment mark types used in NC code. CoordinateEntryRenderingFlag Flags that control how coordinate entries are rendered. CoordinateInterpolationMode Defines the coordinate interpolation mode for NC operations. NcFlag NC Flag. NcGroup00 NcGroup enum. GCode Group00. Include G04,G52,G53,G53p1,SiemensSupa. NcGroup01 NcGroup enum. For linear move mode: G00 or G01. G00 is rapid move. G01 is linear cut. G02 is CW cut; G03 is CCW cut. NcGroup02 NcGroup enum. Plane selection. Include G17,G18,G19. NcGroup03 NcGroup enum. Absolute(G90) or increment(G91) coordinate. NcGroup05 NcGroup enum. For feedrate. NcGroup06 NcGroup enum. Group of unit. In mm or in inch. NcGroup07 NcGroup enum. Left or right compensation for tool radius, etc.. See G40, G41, G42 for available compensation modes. NcGroup08 NcGroup enum. Tool length compensation, etc.. G43,G43p4,G44,G49,SiemensTraori,SiemensTrafoof,HeidenhainM128,HeidenhainM129. NcGroup09 NcGroup enum. Canned cycle. NcGroup10 NcGroup enum. Canned cycle return point. G98,G99. NcGroup13 NcGroup14 NcGroup enum. Coordinate system. Such as G54Series. NcGroup15 NcGroup enum. NcGroup16 NcGroup enum. Rotation plane related. Interface of get transformation. Heidenhain equivalent group is NcGroupHeidenhainPlane. NcGroup21 NcGroup enum. Polar coordinate interpolation mode. NcGroupHeidenhainM107M108 NcGroup enum. Heidenhain group. Enable or disable Suppress error message for replacement tools with oversize. NcGroupHeidenhainPlane Heidenhain Group Plane related. ISO equivalent group is NcGroup16. NcGroupHeidenhainShortestRotaryPath NcGroup enum. Heidenhain group. shortest rotary state. HeidenhainM126,HeidenhainM127 NcGroupSpindleRotation NcGroup enum. Spindle rotation control. See SpindleStop, SpindleCw, SpindleCcw for available rotation modes. NcLifeCycleMode Defines the lifecycle mode of NC commands. NcWarningSceneEnum Defines scene types for NC warnings. PolarEntry.PolarModeDirEnum Polar coordinate interpolation mode direction. YA,ZB has not implemented yet. SpindleDirection Enumeration of spindle rotation directions. SubStringKit.ActivationMode Defines the mode of activation for substring extraction." + "summary": "Namespace Hi.Numerical Classes CoordinateEntryDisplayee Represents a displayable coordinate entry for CNC programming. FlexDictionaryUtil Utility for flexible dictionary operations. HeidenhainCoordinateEntryDisplayee Displayee for Heidenhain coordinate entry visualization. IsoCoordinateEntryDisplayee Displayee for ISO coordinate entry visualization. IsoCoordinateTable Coordinate table for NC controller. The dictionary key is 1000times coordinate index (ex. G54 is 54000); the dictionary value is machine coordinate. MechNcUtil NC Utility. MillingToolOffsetTable Offset table for milling tool. The key is Offset ID (H or D in NC code). MillingToolOffsetTableRow Raw of MillingToolOffsetTable NcComment Represents a comment in NC code. NcEnv Represents the numerical control environment containing configuration for CNC operations. NcFlagUtil Utility class for working with NC flags and their lifecycle modes. NcGroupAttribute NC Group Attribute. NcLifeCycleAttribute Attribute to specify the lifecycle mode of an NC flag. NcLine Represents a line in the NC program with its associated data and operations. NcNameAttribute Attribute used to define a name for NC flags and other enumeration fields. NcNoteCache Cache for notes and warnings generated during NC line parsing. NcProc Provides processing utilities for NC programming. NcStepFileOutputKit Kit for outputting NC steps to CSV files. NcStepMonitor Monitors NC steps and provides functionality for step tracking and control. NcUtil Utility class for working with NC code. NumericUtil Utility class for numeric operations and unit conversions. PolarEntry The class for G12.1 Polar mode. In G12.1 Polar mode, NC code applies (X,C) as (linear axis, hypothetical axis). XC, YA, ZB are available. RadiusCompensationBuf Buffer for radius compensation operations in numerical control SubStringKit Utility class for extracting and manipulating substrings based on specific activation patterns. ToolConfigNotFoundException Exception thrown when a tool configuration cannot be found. Interfaces IFlexDictionaryHost Interface of FlexDictionary. Provider of additional quantity source. IGetFeedrate Interface for retrieving feedrate information. IGetSpindleSpeed Interface for retrieving spindle speed and direction information. ISetFeedrate Interface for setting feedrate information. ISetSpindleSpeed Interface for setting spindle speed. Enums CncBrand Represents different CNC controller brands supported by the system. CommentMark Enumeration of different comment mark types used in NC code. CoordinateEntryRenderingFlag Flags that control how coordinate entries are rendered. CoordinateInterpolationMode Defines the coordinate interpolation mode for NC operations. NcFlag NC Flag. NcGroup00 NcGroup enum. GCode Group00. Include G04,G52,G53,G53p1,SiemensSupa. NcGroup01 NcGroup enum. For linear move mode: G00 or G01. G00 is rapid move. G01 is linear cut. G02 is CW cut; G03 is CCW cut. NcGroup02 NcGroup enum. Plane selection. Include G17,G18,G19. NcGroup03 NcGroup enum. Absolute(G90) or increment(G91) coordinate. NcGroup05 NcGroup enum. For feedrate. NcGroup06 NcGroup enum. Group of unit. In mm or in inch. NcGroup07 NcGroup enum. Left or right compensation for tool radius, etc.. See G40, G41, G42 for available compensation modes. NcGroup08 NcGroup enum. Tool length compensation, etc.. G43,G43p4,G44,G49,SiemensTraori,SiemensTrafoof,HeidenhainM128,HeidenhainM129. NcGroup09 NcGroup enum. Canned cycle. NcGroup10 NcGroup enum. Canned cycle return point. G98,G99. NcGroup13 NC Group 13 for constant surface speed control. NcGroup14 NcGroup enum. Coordinate system. Such as G54Series. NcGroup15 NcGroup enum. NcGroup16 NcGroup enum. Rotation plane related. Interface of get transformation. Heidenhain equivalent group is NcGroupHeidenhainPlane. NcGroup21 NcGroup enum. Polar coordinate interpolation mode. NcGroupHeidenhainM107M108 NcGroup enum. Heidenhain group. Enable or disable Suppress error message for replacement tools with oversize. NcGroupHeidenhainPlane Heidenhain Group Plane related. ISO equivalent group is NcGroup16. NcGroupHeidenhainShortestRotaryPath NcGroup enum. Heidenhain group. shortest rotary state. HeidenhainM126,HeidenhainM127 NcGroupSpindleRotation NcGroup enum. Spindle rotation control. See SpindleStop, SpindleCw, SpindleCcw for available rotation modes. NcLifeCycleMode Defines the lifecycle mode of NC commands. NcWarningSceneEnum Defines scene types for NC warnings. PolarEntry.PolarModeDirEnum Polar coordinate interpolation mode direction. YA,ZB has not implemented yet. SpindleDirection Enumeration of spindle rotation directions. SubStringKit.ActivationMode Defines the mode of activation for substring extraction." }, "api/Hi.PanelModels.HiKey.html": { "href": "api/Hi.PanelModels.HiKey.html", @@ -5277,13 +5277,18 @@ "brief/user-guide/zh-Hant/milling-tool/cutter.html": { "href": "brief/user-guide/zh-Hant/milling-tool/cutter.html", "title": "刀具設定注意事項 | HiAPI-C# 2025", - "summary": "刀具設定注意事項 刀身設定 刀身形式 刀身(Cutter)形式包含: 銑削 凡刀具以旋轉形式加工的,於HiNC中歸類為銑削,包含鑽、搪。 自由減法 切割刀、放電加工模具。 銑削刀具描述參數 材料:刀柄材料、刀身材料、(多層)鍍膜材料及厚度。 刃旋轉包絡形:可使用簡化參數 (APT) 或自訂 ZR 表。 簡化(屈服等效)刃中心旋轉包絡形: 刃旋轉包絡形的實體空間比率。 自訂 ZR 表。 夾持端(不可切削區)形狀:自訂 ZR 表。 每刃形狀(含側刃、底刃): 簡化參數:螺旋角度位置、前角、離隙角。 自訂每 Z 值:螺旋角度位置、前角、離隙角、半徑長。 刃磨半徑(Hone Radius)、刀具重量、刀片重量及(熱傳等效)厚度。 離隙角 HiNC的離隙角設定為第一離隙角。用來計算刀緣磨耗寬度(Flank Wear, VB)。 刀身重量 刀身重量 用來計算熱傳。 一體式刀具: 刀身重量 填寫一體式刀具的重量。 組裝式刀具: 刀身重量 填寫刀片總重,不包含組裝式刀把的重量。 刃磨半徑 刃磨半徑(Hone Radius)表示刀具銳利程度,為刀刃鋒利處的半徑。一般在 20 ~ 50 um。 用來切削易加工材料的刀具通常刃磨半徑小,如Al6061T6,可以假設為20um;用來切削難加工材料的刀具通常刃磨半徑大,如不鏽鋼,可以假設為50um。 刃形與刃雕-底部刃雕 底部刃雕在底部刃為水平或反曲需要設定,它會作用在有下行切削的段落。 鑽刀不用設定底部刃雕,設定側向刃雕就好。因為鑽刀底部不為水平或反曲,如果特製鑽刀底部為水平或反曲,則需要設定底部刃雕。 通常只有牛鼻刀要設定底部刃雕。注意平銑刀通常不會下行切削,也不應下行切削,但如果工序這麼做了,就需要設定底部刃雕。" + "summary": "刀具設定注意事項 刀身設定 刀身形式 刀身(Cutter)形式包含: 銑削 凡刀具以旋轉形式加工的,於HiNC中歸類為銑削,包含鑽、搪。 自由減法 切割刀、放電加工模具。 銑削刀具描述參數 材料:刀柄材料、刀身材料、(多層)鍍膜材料及厚度。 刃旋轉包絡形:可使用簡化參數 (APT) 或自訂 ZR 表。 簡化(屈服等效)刃中心旋轉包絡形: 刃旋轉包絡形的實體空間比率。 自訂 ZR 表。 夾持端(不可切削區)形狀:自訂 ZR 表。 每刃形狀(含側刃、底刃): 簡化參數:螺旋角度位置、前角、離隙角。 自訂每 Z 值:螺旋角度位置、前角、離隙角、半徑長。 刃磨半徑(Hone Radius)、刀具重量、刀片重量及(熱傳等效)厚度。 關於前角與離隙角的量測方法,請參閱徑向角度量測。 離隙角設定 HiNC的離隙角設定為第一離隙角。用來計算刀緣磨耗寬度(Flank Wear, VB)。 刀身重量 刀身重量 用來計算熱傳。 一體式刀具: 刀身重量 填寫一體式刀具的重量。 組裝式刀具: 刀身重量 填寫刀片總重,不包含組裝式刀把的重量。 刃磨半徑 刃磨半徑(Hone Radius)表示刀具銳利程度,為刀刃鋒利處的半徑。一般在 20 ~ 50 um。 用來切削易加工材料的刀具通常刃磨半徑小,如Al6061T6,可以假設為20um;用來切削難加工材料的刀具通常刃磨半徑大,如不鏽鋼,可以假設為50um。 刃形與刃雕-底部刃雕 底部刃雕在底部刃為水平或反曲需要設定,它會作用在有下行切削的段落。 鑽刀不用設定底部刃雕,設定側向刃雕就好。因為鑽刀底部不為水平或反曲,如果特製鑽刀底部為水平或反曲,則需要設定底部刃雕。 通常只有牛鼻刀要設定底部刃雕。注意平銑刀通常不會下行切削,也不應下行切削,但如果工序這麼做了,就需要設定底部刃雕。" }, "brief/user-guide/zh-Hant/milling-tool/insert-cutter/index.html": { "href": "brief/user-guide/zh-Hant/milling-tool/insert-cutter/index.html", "title": "刀片式刃雕 | HiAPI-C# 2025", "summary": "刀片式刃雕 刀片式刀具可以建立在虛擬環境中,見以下範例。 Z R S.Ang. R.Ang. 0 8 1 3 0.2 8 0.5 3 0.4 8 0 3 0.5 8 0 3 3 8 3 3 6 8 4 3 8 8 4 3" }, + "brief/user-guide/zh-Hant/milling-tool/radial-angle-measurement.html": { + "href": "brief/user-guide/zh-Hant/milling-tool/radial-angle-measurement.html", + "title": "徑向前角與徑向離隙角於刀具切平面掃描量測方法 | HiAPI-C# 2025", + "summary": "徑向前角與徑向離隙角於刀具切平面掃描量測方法 刀具切平面掃描角度量測方法如下圖所示: 徑向前角 (Radial Rake Angle, α) 沿刀具旋轉方向掃掠,找到該刀刃最末點 A 將點 A 與圓心 O 連線 線 OA 與刀刃切削端第一個折線端點 A' 的夾角 ∠OAA' 即為前角 α 徑向離隙角 (Radial Relief Angle, β) 找到刀具與包絡圓接觸點 B 做點 B 與包絡圓切線 Lt BB' 為刀具背隙端第一條線 於 Lt 上背隙方向任取一點 B'' BB' 與 Lt 的夾角 ∠B'BB'' 即為離隙角 β" + }, "brief/user-guide/zh-Hant/milling-tool/smart-tool-holder.html": { "href": "brief/user-guide/zh-Hant/milling-tool/smart-tool-holder.html", "title": "智慧刀把 | HiAPI-C# 2025", diff --git a/App/wwwroot/HiAPI-docsite/manifest.json b/App/wwwroot/HiAPI-docsite/manifest.json index e164fec..daba332 100644 --- a/App/wwwroot/HiAPI-docsite/manifest.json +++ b/App/wwwroot/HiAPI-docsite/manifest.json @@ -1058,7 +1058,7 @@ "Uid": null, "IsMRef": true, "Title": "Hi.Common.Collections.SortedListUtil.SeekDirection", - "Summary": null + "Summary": "

    Specifies the seek direction for sorted list operations.

    \n" }, { "type": "ManagedReference", @@ -9458,7 +9458,7 @@ "Uid": null, "IsMRef": true, "Title": "Hi.NcOpt.NcOptimizationEmbeddedLogMode", - "Summary": null + "Summary": "

    Embedded log mode for NC optimization.

    \n" }, { "type": "ManagedReference", @@ -10270,7 +10270,7 @@ "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.FilePlayers.SourceCommandActEntry", - "Summary": null + "Summary": "

    Represents an entry containing a source command and its associated act.

    \n" }, { "type": "ManagedReference", @@ -10942,7 +10942,7 @@ "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcGroup13", - "Summary": null + "Summary": "

    NC Group 13 for constant surface speed control.

    \n" }, { "type": "ManagedReference", @@ -14621,6 +14621,26 @@ }, "version": "" }, + { + "type": "Resource", + "source_relative_path": "brief/user-guide/zh-Hant/milling-tool/img/clip-cutter-angle-scheme.jpg", + "output": { + "resource": { + "relative_path": "brief/user-guide/zh-Hant/milling-tool/img/clip-cutter-angle-scheme.jpg" + } + }, + "version": "" + }, + { + "type": "Resource", + "source_relative_path": "brief/user-guide/zh-Hant/milling-tool/img/clip-cutter-angle-scheme.png", + "output": { + "resource": { + "relative_path": "brief/user-guide/zh-Hant/milling-tool/img/clip-cutter-angle-scheme.png" + } + }, + "version": "" + }, { "type": "Resource", "source_relative_path": "brief/user-guide/zh-Hant/milling-tool/insert-cutter/demo-real-insert-cutter-origin.png", @@ -14671,6 +14691,16 @@ }, "version": "" }, + { + "type": "Conceptual", + "source_relative_path": "brief/user-guide/zh-Hant/milling-tool/radial-angle-measurement.md", + "output": { + ".html": { + "relative_path": "brief/user-guide/zh-Hant/milling-tool/radial-angle-measurement.html" + } + }, + "version": "" + }, { "type": "Conceptual", "source_relative_path": "brief/user-guide/zh-Hant/milling-tool/smart-tool-holder.md", diff --git a/App/wwwroot/HiAPI-docsite/xrefmap.yml b/App/wwwroot/HiAPI-docsite/xrefmap.yml index fe2159e..a4285de 100644 --- a/App/wwwroot/HiAPI-docsite/xrefmap.yml +++ b/App/wwwroot/HiAPI-docsite/xrefmap.yml @@ -119907,6 +119907,12 @@ references: commentId: F:Hi.Numerical.NcFlag.G04 fullName: Hi.Numerical.NcFlag.G04 nameWithType: NcFlag.G04 +- uid: Hi.Numerical.NcFlag.G10p9 + name: G10p9 + href: api/Hi.Numerical.NcFlag.html#Hi_Numerical_NcFlag_G10p9 + commentId: F:Hi.Numerical.NcFlag.G10p9 + fullName: Hi.Numerical.NcFlag.G10p9 + nameWithType: NcFlag.G10p9 - uid: Hi.Numerical.NcFlag.G12p1 name: G12p1 href: api/Hi.Numerical.NcFlag.html#Hi_Numerical_NcFlag_G12p1 diff --git a/App/zh-Hans/HiMech.resources.dll b/App/zh-Hans/HiMech.resources.dll index 4da0db9..ff8cdc5 100644 Binary files a/App/zh-Hans/HiMech.resources.dll and b/App/zh-Hans/HiMech.resources.dll differ diff --git a/App/zh-Hans/HiNc.resources.dll b/App/zh-Hans/HiNc.resources.dll index 2a22119..23f6696 100644 Binary files a/App/zh-Hans/HiNc.resources.dll and b/App/zh-Hans/HiNc.resources.dll differ diff --git a/App/zh-Hant/HiGeom.resources.dll b/App/zh-Hant/HiGeom.resources.dll index 67bf67c..748e5db 100644 Binary files a/App/zh-Hant/HiGeom.resources.dll and b/App/zh-Hant/HiGeom.resources.dll differ diff --git a/App/zh-Hant/HiMech.resources.dll b/App/zh-Hant/HiMech.resources.dll index 5b30c88..81ab44d 100644 Binary files a/App/zh-Hant/HiMech.resources.dll and b/App/zh-Hant/HiMech.resources.dll differ diff --git a/App/zh-Hant/HiNc.resources.dll b/App/zh-Hant/HiNc.resources.dll index ef9b3b5..a091ec8 100644 Binary files a/App/zh-Hant/HiNc.resources.dll and b/App/zh-Hant/HiNc.resources.dll differ