diff --git a/App/Hi.Wpf.dll b/App/Hi.Wpf.dll index 85977df..a57c228 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 a57c45d..2ab3db9 100644 Binary files a/App/HiCbtr.dll and b/App/HiCbtr.dll differ diff --git a/App/HiDisp.dll b/App/HiDisp.dll index 6a4445b..6ec9732 100644 Binary files a/App/HiDisp.dll and b/App/HiDisp.dll differ diff --git a/App/HiGeom.dll b/App/HiGeom.dll index 51b16f2..88c4061 100644 Binary files a/App/HiGeom.dll and b/App/HiGeom.dll differ diff --git a/App/HiLicense.dll b/App/HiLicense.dll index ba476b0..e26fe1a 100644 Binary files a/App/HiLicense.dll and b/App/HiLicense.dll differ diff --git a/App/HiMech.dll b/App/HiMech.dll index e8409d7..9fa44ff 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 329d76e..eba5de7 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.49", - "HiNc": "3.1.70", + "Hi.Wpf": "3.1.50", + "HiNc": "3.1.71", "Microsoft.Extensions.Configuration.Json": "9.0.0", "Microsoft.Extensions.DependencyInjection": "9.0.0", "Microsoft.Extensions.Hosting": "9.0.0", @@ -1659,39 +1659,39 @@ } }, "Grpc.Tools/2.66.0": {}, - "Hi.Wpf/3.1.49": { + "Hi.Wpf/3.1.50": { "dependencies": { - "HiDisp": "3.1.54" + "HiDisp": "3.1.55" }, "runtime": { "lib/net9.0-windows7.0/Hi.Wpf.dll": { - "assemblyVersion": "3.1.49.0", - "fileVersion": "3.1.49.0" + "assemblyVersion": "3.1.50.0", + "fileVersion": "3.1.50.0" } } }, - "HiCbtr/3.1.54": { + "HiCbtr/3.1.55": { "dependencies": { - "HiDisp": "3.1.54" + "HiDisp": "3.1.55" }, "runtime": { "lib/net9.0/HiCbtr.dll": { - "assemblyVersion": "3.1.54.0", - "fileVersion": "3.1.54.0" + "assemblyVersion": "3.1.55.0", + "fileVersion": "3.1.55.0" } } }, - "HiDisp/3.1.54": { + "HiDisp/3.1.55": { "dependencies": { - "HiGeom": "3.1.49", + "HiGeom": "3.1.50", "System.Configuration.ConfigurationManager": "9.0.10", "System.Drawing.Common": "9.0.10", "System.Resources.Extensions": "9.0.10" }, "runtime": { "lib/net9.0/HiDisp.dll": { - "assemblyVersion": "3.1.54.0", - "fileVersion": "3.1.54.0" + "assemblyVersion": "3.1.55.0", + "fileVersion": "3.1.55.0" } }, "native": { @@ -1706,7 +1706,7 @@ } } }, - "HiGeom/3.1.49": { + "HiGeom/3.1.50": { "dependencies": { "Google.Protobuf": "3.28.3", "Grpc.AspNetCore": "2.66.0", @@ -1717,8 +1717,8 @@ }, "runtime": { "lib/net9.0/HiGeom.dll": { - "assemblyVersion": "3.1.49.0", - "fileVersion": "3.1.49.0" + "assemblyVersion": "3.1.50.0", + "fileVersion": "3.1.50.0" } }, "resources": { @@ -1730,27 +1730,27 @@ } } }, - "HiLicense/3.1.49": { + "HiLicense/3.1.50": { "dependencies": { - "HiGeom": "3.1.49" + "HiGeom": "3.1.50" }, "runtime": { "lib/net9.0/HiLicense.dll": { - "assemblyVersion": "3.1.49.0", - "fileVersion": "3.1.49.0" + "assemblyVersion": "3.1.50.0", + "fileVersion": "3.1.50.0" } } }, - "HiMech/3.1.61": { + "HiMech/3.1.62": { "dependencies": { "CommandLineParser": "2.9.1", - "HiCbtr": "3.1.54", + "HiCbtr": "3.1.55", "Microsoft.CodeAnalysis.CSharp.Scripting": "4.14.0" }, "runtime": { "lib/net9.0/HiMech.dll": { - "assemblyVersion": "3.1.61.0", - "fileVersion": "3.1.61.0" + "assemblyVersion": "3.1.62.0", + "fileVersion": "3.1.62.0" } }, "resources": { @@ -1765,20 +1765,20 @@ } } }, - "HiNc/3.1.70": { + "HiNc/3.1.71": { "dependencies": { "Google.Protobuf": "3.28.3", "Grpc.AspNetCore": "2.66.0", "Grpc.Net.Client": "2.66.0", - "HiLicense": "3.1.49", - "HiMech": "3.1.61", - "HiUniNc": "3.1.58", + "HiLicense": "3.1.50", + "HiMech": "3.1.62", + "HiUniNc": "3.1.59", "System.IO.Pipelines": "9.0.10" }, "runtime": { "lib/net9.0/HiNc.dll": { - "assemblyVersion": "3.1.70.0", - "fileVersion": "3.1.70.0" + "assemblyVersion": "3.1.71.0", + "fileVersion": "3.1.71.0" } }, "resources": { @@ -1790,14 +1790,14 @@ } } }, - "HiUniNc/3.1.58": { + "HiUniNc/3.1.59": { "dependencies": { - "HiMech": "3.1.61" + "HiMech": "3.1.62" }, "runtime": { "lib/net9.0/HiUniNc.dll": { - "assemblyVersion": "3.1.58.0", - "fileVersion": "3.1.58.0" + "assemblyVersion": "3.1.59.0", + "fileVersion": "3.1.59.0" } } }, @@ -2442,61 +2442,61 @@ "path": "grpc.tools/2.66.0", "hashPath": "grpc.tools.2.66.0.nupkg.sha512" }, - "Hi.Wpf/3.1.49": { + "Hi.Wpf/3.1.50": { "type": "package", "serviceable": true, - "sha512": "sha512-acohRzOamJGu1sMSHjkodrsT5LQytkeoUnjEz3E65Gi63JWU7ZNZLbyyjVkHMR4YyFGB7kpYUD2cLq6Exs65Bw==", - "path": "hi.wpf/3.1.49", - "hashPath": "hi.wpf.3.1.49.nupkg.sha512" + "sha512": "sha512-lXM0tfyzP9f9+3p/uOtrTcVQBTNrPDyNOea9Dpngf7HVBsHhES/wPKmVKxJe+qS1bHXMTSZFOC/r15M0nML8DA==", + "path": "hi.wpf/3.1.50", + "hashPath": "hi.wpf.3.1.50.nupkg.sha512" }, - "HiCbtr/3.1.54": { + "HiCbtr/3.1.55": { "type": "package", "serviceable": true, - "sha512": "sha512-VnriHkbIi8LZYu7o+tC4KAv2/xS7TZ6njXSJqGlXaM651z95cvzZsMmKUweMdIO3yPQLLDUuZaR509md6lLqOg==", - "path": "hicbtr/3.1.54", - "hashPath": "hicbtr.3.1.54.nupkg.sha512" + "sha512": "sha512-OK81A9H1zBTFYop8UrbyaOysYQ2LYk0gS51Oi7hboXYDpeRJcBpoHZ5AdoPYvgHMzzdV9G8JutrrC0LCYPOuEA==", + "path": "hicbtr/3.1.55", + "hashPath": "hicbtr.3.1.55.nupkg.sha512" }, - "HiDisp/3.1.54": { + "HiDisp/3.1.55": { "type": "package", "serviceable": true, - "sha512": "sha512-Mnvs+ETgvGBl51JmM4LllfM/tSJWBvz+epI8qz1BIJdfj8429L4Xg+sjJuYiTVXoxiDLJbFY6OhWGte0URvk7g==", - "path": "hidisp/3.1.54", - "hashPath": "hidisp.3.1.54.nupkg.sha512" + "sha512": "sha512-1Fe9klKZfLMFyrS1Dull2XKdyfRfzjzbzAlq3vd3bGweAi9djFem+aRMEPqAXHi13tSj7oiTtGkkNPp5Z1Qm8Q==", + "path": "hidisp/3.1.55", + "hashPath": "hidisp.3.1.55.nupkg.sha512" }, - "HiGeom/3.1.49": { + "HiGeom/3.1.50": { "type": "package", "serviceable": true, - "sha512": "sha512-nPGW6l90KLrkk9uqDoD0/5O7ZOoQ3/v398Qtkvi8PLf4EaaSTfQOnaS7HWE6F4AMONXbyADKz5yAKackc7h8qg==", - "path": "higeom/3.1.49", - "hashPath": "higeom.3.1.49.nupkg.sha512" + "sha512": "sha512-xw0e2JMQnvLJAeTN7Ctzw3GV9NXG0Lk3iegr5hTaF1m7mcsYVbFDcQuY8/LuEyKZFqblMM2PydcLtbyZgF7gwA==", + "path": "higeom/3.1.50", + "hashPath": "higeom.3.1.50.nupkg.sha512" }, - "HiLicense/3.1.49": { + "HiLicense/3.1.50": { "type": "package", "serviceable": true, - "sha512": "sha512-Iq8zS+hHdDVpW9QjfJtYamo3Xcb/qZ2oI5CIbboGoB7E6aTjrjB6dUCxVNZh7mRjkE7goj7Dk+9ESzZR98usBw==", - "path": "hilicense/3.1.49", - "hashPath": "hilicense.3.1.49.nupkg.sha512" + "sha512": "sha512-g/uAtpHKhHoMqz72cdCuuZ/hpdyVf2d7rTFpjAANWysj5MNa8yI456bVwhCZ5gbwtrWC29BNx94qYem5Trp4Sw==", + "path": "hilicense/3.1.50", + "hashPath": "hilicense.3.1.50.nupkg.sha512" }, - "HiMech/3.1.61": { + "HiMech/3.1.62": { "type": "package", "serviceable": true, - "sha512": "sha512-zmfRhUSX4Efzv0O8rrMb1HEWtilTuCFbEAsRJo4ij2XdDHs/w6ybqbP1zAnxefBZdhmOEi+kDlBm1qfq0eTqDQ==", - "path": "himech/3.1.61", - "hashPath": "himech.3.1.61.nupkg.sha512" + "sha512": "sha512-K9DsUYuEBhK8t9Jqy72RZQ+J0tinImovtVOgC5jFsiLAPDdLT9tlTiS7AfsUPbpKg+IUQqIvF83p4pc3a4+AKQ==", + "path": "himech/3.1.62", + "hashPath": "himech.3.1.62.nupkg.sha512" }, - "HiNc/3.1.70": { + "HiNc/3.1.71": { "type": "package", "serviceable": true, - "sha512": "sha512-TeJ8BolrWkwQr2V0ZFxAdBsWXx8HSWnFCSwc8/h6PfVCQ+i73aS4SBgBmbBj+zBzLE82Gy6JTX76WVZ2SS0olw==", - "path": "hinc/3.1.70", - "hashPath": "hinc.3.1.70.nupkg.sha512" + "sha512": "sha512-m4+obVYv/6KU+afsuXmprG1k92yN7HRr4xrP3Zn6m1xmqH3ua4e/X4QxfFKVfnl9Yi80Ty9j6AwgqQw6YzkmVA==", + "path": "hinc/3.1.71", + "hashPath": "hinc.3.1.71.nupkg.sha512" }, - "HiUniNc/3.1.58": { + "HiUniNc/3.1.59": { "type": "package", "serviceable": true, - "sha512": "sha512-+5vElekWszrQm3gf30Z90Cz7JL4EQ5Lv3U9Tr5yT04NWxx+EihnXDasYMCBXt7wfdd5SCCBIG8kUia6q9VVG8g==", - "path": "hiuninc/3.1.58", - "hashPath": "hiuninc.3.1.58.nupkg.sha512" + "sha512": "sha512-nBW6MQmPZtqv97losvgs+YmPyLyQtZ6Ex5y3sGEOHEzRYIaM1I8GnsQ/Y+wUKjC2wWZGoHpbNLOslZMEgzxXsw==", + "path": "hiuninc/3.1.59", + "hashPath": "hiuninc.3.1.59.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 5b41a3e..c8fdee2 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.exe b/App/HiNC-2025-win-desktop.exe index dc7997f..c6ecfc5 100644 Binary files a/App/HiNC-2025-win-desktop.exe and b/App/HiNC-2025-win-desktop.exe differ diff --git a/App/HiNC-2025-win-desktop.pdb b/App/HiNC-2025-win-desktop.pdb index 1672829..b9547f1 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 3529b67..ead720b 100644 Binary files a/App/HiNc.dll and b/App/HiNc.dll differ diff --git a/App/HiUniNc.dll b/App/HiUniNc.dll index d399d96..a86a99e 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 874ce8f..df90a44 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 557df43..cc84bc9 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.CutterLocations.ClStrips.ClStrip.html b/App/wwwroot/HiAPI-docsite/api/Hi.CutterLocations.ClStrips.ClStrip.html index 96921c7..6968b22 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.CutterLocations.ClStrips.ClStrip.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.CutterLocations.ClStrips.ClStrip.html @@ -330,6 +330,38 @@ If the display end is set to -1, returns the total number of positions.

+ + +

+ IsKeepingDispAlive + +

+ +

Keep the disp range to at least two dots while the stripe length enough.

+
+
+ +
+
public bool IsKeepingDispAlive { get; set; }
+
+ + + + + +

Property Value

+
+
bool
+
+
+ + + + + + + +

@@ -1013,6 +1045,43 @@ A value of -1 indicates that the display should follow the end of the strip.

+ + +

+ SetDispRange(int, int, object, int) + +

+ +
+
+ +
+
public void SetDispRange(int beginIndex, int endIndex, object caller, int lowestLength = 2)
+
+ +

Parameters

+
+
beginIndex int
+
+
endIndex int
+
+
caller object
+
+
lowestLength int
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Vec3d.html b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Vec3d.html index f682d88..16d3b5a 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Vec3d.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Vec3d.html @@ -257,6 +257,39 @@ public class Vec3d : IEquatable<Vec3d>, IExpandToBox3d, IBinaryIo, IWriteB + + +

+ Vec3d(Vec2d, double) + +

+ +
+
+ +
+
public Vec3d(Vec2d xy, double z)
+
+ +

Parameters

+
+
xy Vec2d
+
+
z double
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningSession.html b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningSession.html index 8922dc8..6cf4364 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningSession.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningSession.html @@ -244,6 +244,38 @@ and managing session state.

+ + +

+ IsNcOptOptionListUpdatedByStep + +

+ +

Internal Use Only.

+
+
+ +
+
public bool IsNcOptOptionListUpdatedByStep { get; set; }
+
+ + + + + +

Property Value

+
+
bool
+
+
+ + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeApi.html b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeApi.html index efdb822..b755808 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeApi.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeApi.html @@ -1209,6 +1209,39 @@ public double OptMaxAcceleration_mmds2 { get; set; } + + +

+ OptMaxFeedPerTooth_mm + +

+ +

Gets or sets the maximum feed per tooth in millimeters for optimization.

+
+
+ +
+
[JsAce]
+public double OptMaxFeedPerTooth_mm { get; set; }
+
+ + + + + +

Property Value

+
+
double
+
+
+ + + + + + + +

@@ -1275,6 +1308,39 @@ public double OptMaxJerk_mmds3 { get; set; } + + +

+ OptMinFeedPerTooth_mm + +

+ +

Gets or sets the minimum feed per tooth in millimeters for optimization.

+
+
+ +
+
[JsAce]
+public double OptMinFeedPerTooth_mm { get; set; }
+
+ + + + + +

Property Value

+
+
double
+
+
+ + + + + + + +

@@ -1407,6 +1473,40 @@ public double OptSpindlePowerSafetyFactor { get; set; } + + +

+ 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
+
+
+ + + + + + + +

@@ -1439,6 +1539,40 @@ public double OptSpindleTorqueSafetyFactor { get; set; } + + +

+ 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
+
+
+ + + + + + + +

@@ -1472,6 +1606,107 @@ public double OptThermalYieldSafetyFactor { get; set; } + + +

+ 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
+
+
+ + + + + + + +

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

-

Gets or sets the action to configure steps during execution.

+

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

@@ -3583,7 +3819,8 @@ public event MachiningActRunner.MachiningStepBuiltDelegate MachiningStepBuilt -

Event that is triggered when a milling step is selected.

+

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

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeController.html b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeController.html index 542fd88..8c06713 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeController.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeController.html @@ -1735,6 +1735,39 @@ public double OptMaxAcceleration_mmds2 { get; set; } + + +

+ OptMaxFeedPerTooth_mm + +

+ +

Gets or sets the maximum feed per tooth in millimeters for optimization.

+
+
+ +
+
[JsAce]
+public double OptMaxFeedPerTooth_mm { get; set; }
+
+ + + + + +

Property Value

+
+
double
+
+
+ + + + + + + +

@@ -1801,6 +1834,39 @@ public double OptMaxJerk_mmds3 { get; set; } + + +

+ OptMinFeedPerTooth_mm + +

+ +

Gets or sets the minimum feed per tooth in millimeters for optimization.

+
+
+ +
+
[JsAce]
+public double OptMinFeedPerTooth_mm { get; set; }
+
+ + + + + +

Property Value

+
+
double
+
+
+ + + + + + + +

@@ -1933,6 +1999,40 @@ public double OptSpindlePowerSafetyFactor { get; set; } + + +

+ 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
+
+
+ + + + + + + +

@@ -1966,6 +2066,174 @@ public double OptSpindleTorqueSafetyFactor { get; set; } + + +

+ 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 thermal yield 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
+
+
+ + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningSteps.IMachiningStepHost.html b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningSteps.IMachiningStepHost.html index 1aaf53f..9f1269f 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningSteps.IMachiningStepHost.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningSteps.IMachiningStepHost.html @@ -248,6 +248,38 @@ Interface IMachiningStepHost + + +

+ MachiningSession + +

+ +

Gets the current machining session.

+
+
+ +
+
MachiningSession MachiningSession { get; }
+
+ + + + + +

Property Value

+
+
MachiningSession
+
+
+ + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningSteps.MachiningStep.html b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningSteps.MachiningStep.html index 202924b..dfd76d9 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningSteps.MachiningStep.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningSteps.MachiningStep.html @@ -2074,6 +2074,39 @@ public double? InstantCraterWear_um { get; } + + +

+ IsReliefFaceCollided + +

+ +
+
+ +
+
[Present("Is Relief Face Collided", "Is-Rlf.C.", PhysicsUnit.None, "G")]
+[JsAce(ClassExt = "MachiningStep")]
+public bool? IsReliefFaceCollided { get; }
+
+ + + + + +

Property Value

+
+
bool?
+
+
+ + + + + + + +

@@ -2890,6 +2923,39 @@ public double ReCutDepth_um { get; } + + +

+ ReliefFaceCollidingAngle_deg + +

+ +
+
+ +
+
[Present("Relief Face Colliding Angle", "Rlf.C.A.", PhysicsUnit.deg, "G4")]
+[JsAce(ClassExt = "MachiningStep")]
+public double? ReliefFaceCollidingAngle_deg { get; }
+
+ + + + + +

Property Value

+
+
double?
+
+
+ + + + + + + +

@@ -3912,6 +3978,40 @@ public SpindleDirection GetSpindleDirection() + + +

+ UpdateNcOptOption(Action<NcOptOption>) + +

+ +

Update NcOptOption for this step only. +Unlike the modification within the script (script command in NC code or RuntimeApi), the setting is not applied to the further step.

+
+
+ +
+
public void UpdateNcOptOption(Action<NcOptOption> action)
+
+ +

Parameters

+
+
action Action<NcOptOption>
+

the action to modify the step.

+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.MillingPhysicsBrief.html b/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.MillingPhysicsBrief.html index 7de3f42..eb1af8c 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.MillingPhysicsBrief.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.MillingPhysicsBrief.html @@ -1205,20 +1205,18 @@ This property is for computing heat transfer.

- + -

- ReliefFaceCollidingVelocity_mmds +

+ ReliefFaceCollidingAngle_deg

-

Internal Use Only. -The velocity is recorded here for optimzation.

-
+
-
public double ReliefFaceCollidingVelocity_mmds { get; }
+
public double? ReliefFaceCollidingAngle_deg { get; }
@@ -1227,7 +1225,39 @@ The velocity is recorded here for optimzation.

Property Value

-
double
+
double?
+
+
+ + + + + + + + + + +

+ ReliefFaceCollidingAngle_rad + +

+ +

The negative value means there is no relief face collision.

+
+
+ +
+
public double? ReliefFaceCollidingAngle_rad { get; }
+
+ + + + + +

Property Value

+
+
double?
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.FixedFeedPerCycleOptLimit.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.FixedFeedPerCycleOptLimit.html index 5e0e0ba..b9cc70a 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.FixedFeedPerCycleOptLimit.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.FixedFeedPerCycleOptLimit.html @@ -473,7 +473,10 @@ Provides implementation for feed-per-cycle optimization with fixed minimum and m -

Gets the maximum feed per tooth value in millimeters.

+

Gets the maximum feed per tooth value in millimeters. +By the principle of conservation, +if the value is different from the NcOptOption.MaxFeedPerTooth_mm, +The smaller value will be applied in the optimization process.

@@ -506,7 +509,10 @@ Provides implementation for feed-per-cycle optimization with fixed minimum and m -

Gets the minimum feed per tooth value in millimeters.

+

Gets the minimum feed per tooth value in millimeters. +By the principle of conservation, +if the value is different from the NcOptOption.MinFeedPerTooth_mm, +The larger value will be applied in the optimization process.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.FixedFeedPerToothOptLimit.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.FixedFeedPerToothOptLimit.html index c4f08ff..75664da 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.FixedFeedPerToothOptLimit.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.FixedFeedPerToothOptLimit.html @@ -398,7 +398,10 @@ Provides implementation for feed-per-tooth optimization with fixed minimum and m -

Gets the maximum feed per tooth value in millimeters.

+

Gets the maximum feed per tooth value in millimeters. +By the principle of conservation, +if the value is different from the NcOptOption.MaxFeedPerTooth_mm, +The smaller value will be applied in the optimization process.

@@ -431,7 +434,10 @@ Provides implementation for feed-per-tooth optimization with fixed minimum and m -

Gets the minimum feed per tooth value in millimeters.

+

Gets the minimum feed per tooth value in millimeters. +By the principle of conservation, +if the value is different from the NcOptOption.MinFeedPerTooth_mm, +The larger value will be applied in the optimization process.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.IFeedPerToothOptLimit.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.IFeedPerToothOptLimit.html index 5127cb8..3664dc5 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.IFeedPerToothOptLimit.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.IFeedPerToothOptLimit.html @@ -165,7 +165,10 @@ Implements IMakeXm -

Gets the maximum feed per tooth value in millimeters.

+
@@ -198,7 +201,10 @@ Implements IMakeXm -

Gets the minimum feed per tooth value in millimeters.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.MillingCutterOptLimit.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.MillingCutterOptLimit.html index b3e0796..b461afb 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.MillingCutterOptLimit.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.MillingCutterOptLimit.html @@ -334,6 +334,12 @@ Class MillingCutterOptLimit

Gets or sets the maximum feed per tooth in millimeters.

+ +Gets the maximum feed per tooth value in millimeters. +By the principle of conservation, +if the value is different from the NcOptOption.MaxFeedPerTooth_mm, +The smaller value will be applied in the optimization process. +
@@ -366,6 +372,12 @@ Class MillingCutterOptLimit

Gets or sets the minimum feed per tooth in millimeters.

+ +Gets the minimum feed per tooth value in millimeters. +By the principle of conservation, +if the value is different from the NcOptOption.MinFeedPerTooth_mm, +The larger value will be applied in the optimization process. +
@@ -429,7 +441,10 @@ Class MillingCutterOptLimit -

Gets or sets the safety factor for yielding.

+

Gets or sets the safety factor for yielding. +By the principle of conservation, +if the value is different from the NcOptOption.YieldingSafetyFactor, +The larger value will be applied in the optimization process.

@@ -454,6 +469,39 @@ Class MillingCutterOptLimit + + +

+ YieldingUtilizationFactor + +

+ +

Gets or sets the utilization factor for yielding. +It is the reciprocal of YieldingSafetyFactor.

+
+
+ +
+
public double YieldingUtilizationFactor { get; set; }
+
+ + + + + +

Property Value

+
+
double
+
+
+ + + + + + + +

Methods

@@ -534,7 +582,10 @@ Class MillingCutterOptLimit -

Gets the maximum feed per tooth value in millimeters.

+

Gets the maximum feed per tooth value in millimeters. +By the principle of conservation, +if the value is different from the NcOptOption.MaxFeedPerTooth_mm, +The smaller value will be applied in the optimization process.

@@ -567,7 +618,10 @@ Class MillingCutterOptLimit -

Gets the minimum feed per tooth value in millimeters.

+

Gets the minimum feed per tooth value in millimeters. +By the principle of conservation, +if the value is different from the NcOptOption.MinFeedPerTooth_mm, +The larger value will be applied in the optimization process.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptOption.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptOption.html index 88e184a..55e23be 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptOption.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptOption.html @@ -667,6 +667,41 @@ Note: 600mm/min=10mm/s.

+ + +

+ MaxFeedPerTooth_mm + +

+ +

Gets or sets the maximum feed per tooth in millimeters. +By the principle of conservation, +if the value is different from the IFeedPerToothOptLimit.GetMaxFeedPerTooth_mm(), +The smaller value will be applied in the optimization process.

+
+
+ +
+
public double MaxFeedPerTooth_mm { get; set; }
+
+ + + + + +

Property Value

+
+
double
+
+
+ + + + + + + +

@@ -763,6 +798,41 @@ Note: 600mm/min=10mm/s.

+ + +

+ MinFeedPerTooth_mm + +

+ +

Gets or sets the minimum feed per tooth in millimeters. +By the principle of conservation, +if the value is different from the IFeedPerToothOptLimit.GetMinFeedPerTooth_mm(), +The larger value will be applied in the optimization process.

+
+
+ +
+
public double MinFeedPerTooth_mm { get; set; }
+
+ + + + + +

Property Value

+
+
double
+
+
+ + + + + + + +

@@ -802,8 +872,7 @@ Note: 600mm/min=10mm/s.

-

Gets or sets the minimum feedrate in millimeters per second.

-
+
@@ -955,6 +1024,39 @@ Note: 600mm/min=10mm/s.

+ + +

+ SpindlePowerUtilizationFactor + +

+ +

Gets or sets the utilization factor for spindle power. +It is the reciprocal of SpindlePowerSafetyFactor.

+
+
+ +
+
public double SpindlePowerUtilizationFactor { get; set; }
+
+ + + + + +

Property Value

+
+
double
+
+
+ + + + + + + +

@@ -987,6 +1089,39 @@ Note: 600mm/min=10mm/s.

+ + +

+ SpindleTorqueUtilizationFactor + +

+ +

Gets or sets the utilization factor for spindle torque. +It is the reciprocal of SpindleTorqueSafetyFactor.

+
+
+ +
+
public double SpindleTorqueUtilizationFactor { get; set; }
+
+ + + + + +

Property Value

+
+
double
+
+
+ + + + + + + +

@@ -1019,6 +1154,39 @@ Note: 600mm/min=10mm/s.

+ + +

+ ThermalYieldUtilizationFactor + +

+ +

Gets or sets the safety bound for cutter thermal yield. +It is the reciprocal of ThermalYieldSafetyFactor.

+
+
+ +
+
public double ThermalYieldUtilizationFactor { get; set; }
+
+ + + + + +

Property Value

+
+
double
+
+
+ + + + + + + +

@@ -1051,6 +1219,74 @@ Note: 600mm/min=10mm/s.

+ + +

+ YieldingSafetyFactor + +

+ +

Gets or sets the safety factor for yielding. +By the principle of conservation, +if the value is different from the MillingCutterOptLimit.YieldingSafetyFactor, +The larger value will be applied in the optimization process.

+
+
+ +
+
public double YieldingSafetyFactor { get; set; }
+
+ + + + + +

Property Value

+
+
double
+
+
+ + + + + + + + + + +

+ YieldingUtilizationFactor + +

+ +

Gets or sets the utilization factor for yielding. +It is the reciprocal of YieldingSafetyFactor.

+
+
+ +
+
public double YieldingUtilizationFactor { get; set; }
+
+ + + + + +

Property Value

+
+
double
+
+
+ + + + + + + +

Methods

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.ShapeBasedCutterOptLimit.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.ShapeBasedCutterOptLimit.html index 7bc1406..fae897d 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.ShapeBasedCutterOptLimit.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.ShapeBasedCutterOptLimit.html @@ -667,7 +667,10 @@ Class ShapeBasedCutterOptLimit -

Gets the maximum feed per tooth value in millimeters.

+

Gets the maximum feed per tooth value in millimeters. +By the principle of conservation, +if the value is different from the NcOptOption.MaxFeedPerTooth_mm, +The smaller value will be applied in the optimization process.

@@ -700,7 +703,10 @@ Class ShapeBasedCutterOptLimit -

Gets the minimum feed per tooth value in millimeters.

+

Gets the minimum feed per tooth value in millimeters. +By the principle of conservation, +if the value is different from the NcOptOption.MinFeedPerTooth_mm, +The larger value will be applied in the optimization process.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Physics.WorkpieceMaterial.html b/App/wwwroot/HiAPI-docsite/api/Hi.Physics.WorkpieceMaterial.html index b528701..cac1e98 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Physics.WorkpieceMaterial.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Physics.WorkpieceMaterial.html @@ -415,38 +415,6 @@ Class WorkpieceMaterial - - -

- EffectiveDepthForElogation_mm - -

- -

Gets or sets the effective depth for elongation in millimeters (mm).

-
-
- -
-
public double EffectiveDepthForElogation_mm { get; set; }
-
- - - - - -

Property Value

-
-
double
-
-
- - - - - - - -

diff --git a/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/script/NcOptimization/index.html b/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/script/NcOptimization/index.html index b01533a..3d8a306 100644 --- a/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/script/NcOptimization/index.html +++ b/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/script/NcOptimization/index.html @@ -119,6 +119,14 @@ OptPreferedForce_N = <實數>;

重新插捕後NC碼會增加,可以更好地控制加減速。

+

當優化程序用重新插補並且進給率變化超過進給賦值倍率時,系統會依據OptMaxAcceleration_mmds2插入附帶進給率指令的NC碼。

+

進給賦值倍率越小,插補點越密集。進給賦值倍率越大,則偏離優化標的的程度越大。

+

在改進給賦值倍率的同時也要對應加大安全係數。 +進給賦值倍率若是0.01,就是1%,每變更1%進給率就會給個新的插補點。 +如果改大,比方說10%,可能會變成該處理論值應該是F100,可是優化後卻是F110,所以要配合安全係數修改。

+

沒有切到工件的NC路徑,為無切削區域。優化後該路徑將採用無切削區域進給率。

diff --git a/App/wwwroot/HiAPI-docsite/index.json b/App/wwwroot/HiAPI-docsite/index.json index 5f6a832..1db0d10 100644 --- a/App/wwwroot/HiAPI-docsite/index.json +++ b/App/wwwroot/HiAPI-docsite/index.json @@ -987,7 +987,7 @@ "api/Hi.CutterLocations.ClStrips.ClStrip.html": { "href": "api/Hi.CutterLocations.ClStrips.ClStrip.html", "title": "Class ClStrip | HiAPI-C# 2025", - "summary": "Class ClStrip Namespace Hi.CutterLocations.ClStrips Assembly HiMech.dll Represents a CL (Cutter Location) strip for 3D display. This class manages the display and interaction of cutter location points and lines. public class ClStrip : IDisplayee, IExpandToBox3d, IDisposable Inheritance object ClStrip Implements IDisplayee IExpandToBox3d IDisposable 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) BoundSelectorUtil.GetStepRange(ClStrip, BoundSelectorPair) DispUtil.Display(IDisplayee, Bind, Mat4d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ClStrip(int) Initializes a new instance of the ClStrip class. public ClStrip(int cap = 2048) Parameters cap int The initial capacity of the strip Fields slice_distance The distance between slices for efficient rendering. public const int slice_distance = 8192 Field Value int Properties AbsDispEnd Gets the absolute display end position. If the display end is set to -1, returns the total number of positions. public int AbsDispEnd { get; } Property Value int CallRefreshDrawing internal use public bool CallRefreshDrawing { get; } Property Value bool IsShowDot Gets or sets whether to display dots at each position. public bool IsShowDot { get; set; } Property Value bool StripPoses Gets the list of strip positions. Do not add or remove elements directly. public SynList StripPoses { get; } Property Value SynList StripPosesClearLock Gets the lock for thread-safe operations on strip positions. public ReaderWriterLockSlim StripPosesClearLock { get; } Property Value ReaderWriterLockSlim StripPosesCount Gets the thread-safe count of strip positions. public int StripPosesCount { get; } Property Value int Methods Add(object, DVec3d) Adds a new position to the strip. public ClStripPos Add(object state, DVec3d programCl) Parameters state object The state object associated with the position programCl DVec3d The cutter location Returns ClStripPos The newly created strip position Clear(object) Clears all strip positions and resets the display state. public void Clear(object sender) Parameters sender object The object that initiated this clear operation Display(Bind) Displays the strip. public void Display(Bind bind) Parameters bind Bind The binding context for display Dispose() Disposes of the resources used by this strip. public void Dispose() Dispose(bool) Disposes of the resources used by this strip. protected virtual void Dispose(bool disposing) Parameters disposing bool Whether this is being called from Dispose ExpandToBox3d(Box3d) Expands the given box to include all strip positions. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d The box to expand GetDispBegin() Gets the current display begin position. public int GetDispBegin() Returns int The display begin position GetDispEnd() Gets the current display end position. A value of -1 indicates that the display should follow the end of the strip. public int GetDispEnd() Returns int The display end position GetEnteredPos() Gets the currently entered position. public ClStripPos GetEnteredPos() Returns ClStripPos The entered position GetFittingView(Mat4d, Mat4d) Gets a scaled fitting view based on the strip display range. public Mat4d GetFittingView(Mat4d sketchView, Mat4d clStripZeroToRoot = null) Parameters sketchView Mat4d The sketch view matrix clStripZeroToRoot Mat4d The transformation from strip zero to root Returns Mat4d The scaled fitting view matrix GetSelectedPos() Gets the currently selected position. public ClStripPos GetSelectedPos() Returns ClStripPos The selected position GetStripPos(int, bool) Gets a strip position by index. public ClStripPos GetStripPos(int index, bool isLocked = false) Parameters index int The index of the position isLocked bool Whether the strip positions are already locked Returns ClStripPos The strip position at the specified index RefreshDrawing() Marks the drawing for refresh. public void RefreshDrawing() RefreshDrawingInRendering(bool) internal use public void RefreshDrawingInRendering(bool isLocked) Parameters isLocked bool SetDispBegin(int, object) Sets the display begin position. public void SetDispBegin(int value, object caller) Parameters value int The new display begin position caller object The object that initiated this change SetDispEnd(int, object) Sets the display end position. A value of -1 indicates that the display should follow the end of the strip. public void SetDispEnd(int value, object caller) Parameters value int The new display end position caller object The object that initiated this change SetEnteredPos(ClStripPos, object) Sets the currently entered position. public void SetEnteredPos(ClStripPos value, object sender) Parameters value ClStripPos The new entered position sender object The object that initiated this change SetSelectedPos(ClStripPos, object) Sets the currently selected position. public void SetSelectedPos(ClStripPos value, object sender) Parameters value ClStripPos The new selected position sender object The object that initiated this change ShrinkAttachmentMemory() Shrinks the attachment memory for all positions. public void ShrinkAttachmentMemory() StripPosesThreadSafeSelect(Func) Thread-safe selection of strip positions. public List StripPosesThreadSafeSelect(Func func) Parameters func Func The function to transform each strip position Returns List A list of transformed strip positions Type Parameters T The type of the selected data Events AbsDispEndChanged Event raised when the absolute display end position changes. public event EventHandler AbsDispEndChanged Event Type EventHandler DispBeginChanged Event raised when the display begin position changes. public event EventHandler DispBeginChanged Event Type EventHandler DispEndChanged Event raised when the display end position changes. public event EventHandler DispEndChanged Event Type EventHandler DrawingRefreshing Event raised when the drawing is being refreshed. public event EventHandler DrawingRefreshing Event Type EventHandler MachiningStepSelected The same effecting position as PosSelected but with more convenient arguments for the end-user. public event Action MachiningStepSelected Event Type Action PosAdded Event raised when a new position is added to the strip. public event Action PosAdded Event Type Action PosEntered Event raised when the mouse enters a position. public event EventHandler PosEntered Event Type EventHandler PosSelected Event raised when a position is selected. public event EventHandler PosSelected Event Type EventHandler StaticPosSelected Static event raised when any position is selected. public static event EventHandler StaticPosSelected Event Type EventHandler" + "summary": "Class ClStrip Namespace Hi.CutterLocations.ClStrips Assembly HiMech.dll Represents a CL (Cutter Location) strip for 3D display. This class manages the display and interaction of cutter location points and lines. public class ClStrip : IDisplayee, IExpandToBox3d, IDisposable Inheritance object ClStrip Implements IDisplayee IExpandToBox3d IDisposable 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) BoundSelectorUtil.GetStepRange(ClStrip, BoundSelectorPair) DispUtil.Display(IDisplayee, Bind, Mat4d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ClStrip(int) Initializes a new instance of the ClStrip class. public ClStrip(int cap = 2048) Parameters cap int The initial capacity of the strip Fields slice_distance The distance between slices for efficient rendering. public const int slice_distance = 8192 Field Value int Properties AbsDispEnd Gets the absolute display end position. If the display end is set to -1, returns the total number of positions. public int AbsDispEnd { get; } Property Value int CallRefreshDrawing internal use public bool CallRefreshDrawing { get; } Property Value bool IsKeepingDispAlive Keep the disp range to at least two dots while the stripe length enough. public bool IsKeepingDispAlive { get; set; } Property Value bool IsShowDot Gets or sets whether to display dots at each position. public bool IsShowDot { get; set; } Property Value bool StripPoses Gets the list of strip positions. Do not add or remove elements directly. public SynList StripPoses { get; } Property Value SynList StripPosesClearLock Gets the lock for thread-safe operations on strip positions. public ReaderWriterLockSlim StripPosesClearLock { get; } Property Value ReaderWriterLockSlim StripPosesCount Gets the thread-safe count of strip positions. public int StripPosesCount { get; } Property Value int Methods Add(object, DVec3d) Adds a new position to the strip. public ClStripPos Add(object state, DVec3d programCl) Parameters state object The state object associated with the position programCl DVec3d The cutter location Returns ClStripPos The newly created strip position Clear(object) Clears all strip positions and resets the display state. public void Clear(object sender) Parameters sender object The object that initiated this clear operation Display(Bind) Displays the strip. public void Display(Bind bind) Parameters bind Bind The binding context for display Dispose() Disposes of the resources used by this strip. public void Dispose() Dispose(bool) Disposes of the resources used by this strip. protected virtual void Dispose(bool disposing) Parameters disposing bool Whether this is being called from Dispose ExpandToBox3d(Box3d) Expands the given box to include all strip positions. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d The box to expand GetDispBegin() Gets the current display begin position. public int GetDispBegin() Returns int The display begin position GetDispEnd() Gets the current display end position. A value of -1 indicates that the display should follow the end of the strip. public int GetDispEnd() Returns int The display end position GetEnteredPos() Gets the currently entered position. public ClStripPos GetEnteredPos() Returns ClStripPos The entered position GetFittingView(Mat4d, Mat4d) Gets a scaled fitting view based on the strip display range. public Mat4d GetFittingView(Mat4d sketchView, Mat4d clStripZeroToRoot = null) Parameters sketchView Mat4d The sketch view matrix clStripZeroToRoot Mat4d The transformation from strip zero to root Returns Mat4d The scaled fitting view matrix GetSelectedPos() Gets the currently selected position. public ClStripPos GetSelectedPos() Returns ClStripPos The selected position GetStripPos(int, bool) Gets a strip position by index. public ClStripPos GetStripPos(int index, bool isLocked = false) Parameters index int The index of the position isLocked bool Whether the strip positions are already locked Returns ClStripPos The strip position at the specified index RefreshDrawing() Marks the drawing for refresh. public void RefreshDrawing() RefreshDrawingInRendering(bool) internal use public void RefreshDrawingInRendering(bool isLocked) Parameters isLocked bool SetDispBegin(int, object) Sets the display begin position. public void SetDispBegin(int value, object caller) Parameters value int The new display begin position caller object The object that initiated this change SetDispEnd(int, object) Sets the display end position. A value of -1 indicates that the display should follow the end of the strip. public void SetDispEnd(int value, object caller) Parameters value int The new display end position caller object The object that initiated this change SetDispRange(int, int, object, int) public void SetDispRange(int beginIndex, int endIndex, object caller, int lowestLength = 2) Parameters beginIndex int endIndex int caller object lowestLength int SetEnteredPos(ClStripPos, object) Sets the currently entered position. public void SetEnteredPos(ClStripPos value, object sender) Parameters value ClStripPos The new entered position sender object The object that initiated this change SetSelectedPos(ClStripPos, object) Sets the currently selected position. public void SetSelectedPos(ClStripPos value, object sender) Parameters value ClStripPos The new selected position sender object The object that initiated this change ShrinkAttachmentMemory() Shrinks the attachment memory for all positions. public void ShrinkAttachmentMemory() StripPosesThreadSafeSelect(Func) Thread-safe selection of strip positions. public List StripPosesThreadSafeSelect(Func func) Parameters func Func The function to transform each strip position Returns List A list of transformed strip positions Type Parameters T The type of the selected data Events AbsDispEndChanged Event raised when the absolute display end position changes. public event EventHandler AbsDispEndChanged Event Type EventHandler DispBeginChanged Event raised when the display begin position changes. public event EventHandler DispBeginChanged Event Type EventHandler DispEndChanged Event raised when the display end position changes. public event EventHandler DispEndChanged Event Type EventHandler DrawingRefreshing Event raised when the drawing is being refreshed. public event EventHandler DrawingRefreshing Event Type EventHandler MachiningStepSelected The same effecting position as PosSelected but with more convenient arguments for the end-user. public event Action MachiningStepSelected Event Type Action PosAdded Event raised when a new position is added to the strip. public event Action PosAdded Event Type Action PosEntered Event raised when the mouse enters a position. public event EventHandler PosEntered Event Type EventHandler PosSelected Event raised when a position is selected. public event EventHandler PosSelected Event Type EventHandler StaticPosSelected Static event raised when any position is selected. public static event EventHandler StaticPosSelected Event Type EventHandler" }, "api/Hi.CutterLocations.ClStrips.ClStripPos.html": { "href": "api/Hi.CutterLocations.ClStrips.ClStripPos.html", @@ -1592,7 +1592,7 @@ "api/Hi.Geom.Vec3d.html": { "href": "api/Hi.Geom.Vec3d.html", "title": "Class Vec3d | HiAPI-C# 2025", - "summary": "Class Vec3d Namespace Hi.Geom Assembly HiGeom.dll Basic 3D point (or vector). [BsonIgnoreExtraElements] public class Vec3d : IEquatable, IExpandToBox3d, IBinaryIo, IWriteBin, ICsvRowIo, IEqualityOperators, IAdditionOperators, ISubtractionOperators, IMultiplyOperators, IMultiplyOperators, IDivisionOperators, IVec, IFormattable Inheritance object Vec3d Implements IEquatable IExpandToBox3d IBinaryIo IWriteBin ICsvRowIo IEqualityOperators IAdditionOperators ISubtractionOperators IMultiplyOperators IMultiplyOperators IDivisionOperators IVec IFormattable Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods BinIoUtil.ToBytes(IWriteBin) GeomUtil.ExpandToBox3d(IExpandToBox3d, Mat4d, Box3d) GeomUtil.GetBox3d(IExpandToBox3d) 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 Vec3d() Ctor. public Vec3d() Vec3d(Polar3d) Ctor. public Vec3d(Polar3d src) Parameters src Polar3d src Vec3d(Vec3d) Copy ctor. public Vec3d(Vec3d src) Parameters src Vec3d src Vec3d(vec3d) ctor. public Vec3d(vec3d src) Parameters src vec3d src Vec3d(vec3f) ctor. public Vec3d(vec3f src) Parameters src vec3f src Vec3d(IEnumerable) Creates a vector from an enumerable collection of three double values. public Vec3d(IEnumerable src) Parameters src IEnumerable Source collection containing three double values Vec3d(double, double, double) Ctor. public Vec3d(double x, double y, double z) Parameters x double x y double y z double z Vec3d(Func) Creates a vector using a function that maps direction index to value. public Vec3d(Func dirToValueFunc) Parameters dirToValueFunc Func Function that takes direction index (0=X, 1=Y, 2=Z) and returns the corresponding value Vec3d(BinaryReader) Ctor by bytes: x = reader.ReadDouble(); y = reader.ReadDouble(); z = reader.ReadDouble(); public Vec3d(BinaryReader reader) Parameters reader BinaryReader reader Vec3d(int, double, double, double) Ctor by direction offset. Direction 0,1,2 indicate x,y,z respectively. public Vec3d(int dir, double a, double b, double c) Parameters dir int direction offset a double value at direction (0+dir)%3 b double value at direction (1+dir)%3 c double value at direction (2+dir)%3 Vec3d(string) Ctor by string. The format is (x,y,z). public Vec3d(string src) Parameters src string src Vec3d((double, double, double)) Ctor. public Vec3d((double, double, double) src) Parameters src (double, double, double) src Fields x Value at x direction. public double x Field Value double y Value at y direction. public double y Field Value double z Value at z direction. public double z Field Value double Properties AbsSum [BsonIgnore] public double AbsSum { get; } Property Value double Sum of the abs {x,y,z}. Which is Math.Abs(x) + Math.Abs(y) + Math.Abs(z). AllOne public static Vec3d AllOne { get; } Property Value Vec3d Generate Vec3d(1, 1, 1). CsvText Csv text. [BsonIgnore] public string CsvText { get; set; } Property Value string CsvTitleText Csv titles text. [BsonIgnore] public string CsvTitleText { get; } Property Value string ElementNum Element number: 3 for (x,y,z). public static int ElementNum { get; } Property Value int IsAllFinite [BsonIgnore] public bool IsAllFinite { get; } Property Value bool Is x,y,z all finite. IsAllNaN [BsonIgnore] public bool IsAllNaN { get; } Property Value bool is x,y,z all NaN. IsAllNegativeInfinity [BsonIgnore] public bool IsAllNegativeInfinity { get; } Property Value bool is x,y,z all NegativeInfinity. IsAllPositiveInfinity [BsonIgnore] public bool IsAllPositiveInfinity { get; } Property Value bool is x,y,z all PositiveInfinity. IsAnyFinite [BsonIgnore] public bool IsAnyFinite { get; } Property Value bool Is at least one of x,y,z finite. IsAnyNaN [BsonIgnore] public bool IsAnyNaN { get; } Property Value bool Is any of {x,y,z} NaN. IsZero [BsonIgnore] public bool IsZero { get; } Property Value bool Is zero vector. Which is x == 0 && y == 0 && z == 0. this[int] Gets or sets the element at the specified index. public double this[int dir] { get; set; } Parameters dir int Property Value double The element at the specified index. Length [BsonIgnore] public double Length { get; } Property Value double Geometry length of this. LengthSquare [BsonIgnore] public double LengthSquare { get; } Property Value double Geometry length ^ 2. Which is x * x + y * y + z * z. MaxAbsDir [BsonIgnore] public int MaxAbsDir { get; } Property Value int Get the direction index with maximum absolute value. If the absolute of {x,y,z} is the biggest, return {0,1,2}. MaxDir [BsonIgnore] public int MaxDir { get; } Property Value int Get the direction index with maximum value. If {x,y,z} is the biggest, return {0,1,2}. MaxValue [BsonIgnore] public double MaxValue { get; } Property Value double The max value selected from {x,y,z}. Which is Math.Max(Math.Max(x, y), z). MinDir [BsonIgnore] public int MinDir { get; } Property Value int Get the direction index with maximum value. If {x,y,z} is the biggest, return {0,1,2}. MinValue [BsonIgnore] public double MinValue { get; } Property Value double The min value selected from {x,y,z}. Which is Math.Min(Math.Min(x, y), z). NaN public static Vec3d NaN { get; } Property Value Vec3d Generate Vec3d(double.NaN, double.NaN, double.NaN). NativeByteSize public static int NativeByteSize { get; } Property Value int Byte size: sizeof(double) * 3. NegativeInfinity public static Vec3d NegativeInfinity { get; } Property Value Vec3d Generate Vec3d(double.NegativeInfinity, double.NegativeInfinity, double.NegativeInfinity) PositiveInfinity public static Vec3d PositiveInfinity { get; } Property Value Vec3d Generate Vec3d(double.PositiveInfinity, double.PositiveInfinity, double.PositiveInfinity) Rank Dimension (i.e. Size) of the Vector. public int Rank { get; } Property Value int Text Gets or sets the vector as a string representation. [BsonIgnore] public string Text { get; set; } Property Value string UnitX public static Vec3d UnitX { get; } Property Value Vec3d Generate Vec3d(1, 0, 0). UnitY public static Vec3d UnitY { get; } Property Value Vec3d Generate Vec3d(0, 1, 0). UnitZ public static Vec3d UnitZ { get; } Property Value Vec3d Generate Vec3d(0, 0, 1). X Value at x direction. [BsonElement] public double X { get; set; } Property Value double XY Vec2d of X and Y. The getter gets a copied object. [BsonIgnore] public Vec2d XY { get; set; } Property Value Vec2d Y Value at y direction. [BsonElement] public double Y { get; set; } Property Value double Z Value at z direction. [BsonElement] public double Z { get; set; } Property Value double Zero public static Vec3d Zero { get; } Property Value Vec3d Generate Vec3d(0, 0, 0). Methods All(double) Creates a vector with all components set to the specified value. public static Vec3d All(double v) Parameters v double Value to set for all components Returns Vec3d A new vector with all components set to the specified value At(int) Get the value at the dirction. Direction 0,1,2 are x,y,z. If direction index is larger than 2, the return value is at z direction. public ref double At(int dir) Parameters dir int direction index Returns double value at the direction BilinearInterpolate(Vec3d, Vec3d, Vec3d, Vec3d, double, double) Performs bilinear interpolation between four points. public static Vec3d BilinearInterpolate(Vec3d p00, Vec3d p01, Vec3d p10, Vec3d p11, double u, double v) Parameters p00 Vec3d Point at (0,0) p01 Vec3d Point at (0,1) p10 Vec3d Point at (1,0) p11 Vec3d Point at (1,1) u double Interpolation parameter in first dimension (0.0 to 1.0) v double Interpolation parameter in second dimension (0.0 to 1.0) Returns Vec3d The interpolated point Cross(Vec3d, Vec3d) Get a cross b. public static Vec3d Cross(Vec3d a, Vec3d b) Parameters a Vec3d a b Vec3d b Returns Vec3d a x b Dot(Vec3d) this dot src. public double Dot(Vec3d src) Parameters src Vec3d src Returns double dotted value Enumerate() Enumerates the components of the vector. public IEnumerable Enumerate() Returns IEnumerable An enumerable sequence of the vector's components (X, Y, Z) Equals(Vec3d) Indicates whether the current object is equal to another object of the same type. public bool Equals(Vec3d other) Parameters other Vec3d An object to compare with this object. Returns bool true if the current object is equal to the other parameter; otherwise, false. Equals(Vec3d, double) check equals for each component with tolerance. public bool Equals(Vec3d other, double toleranceForEachComponent) Parameters other Vec3d other vec toleranceForEachComponent double tolerance for each component Returns bool check equals for each component with tolerance. 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. ExpandMax(Vec3d) Find and expand maximum values from src. public void ExpandMax(Vec3d src) Parameters src Vec3d src ExpandMin(Vec3d) Find and expand minimum values from src. public void ExpandMin(Vec3d src) Parameters src Vec3d src 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 GetCosSquareWith(Vec3d) Get Cos(theta)^2. theta is the angle between this and src. This function is faster than GetCosWith(Vec3d) since it lacks one square root operation. public double GetCosSquareWith(Vec3d src) Parameters src Vec3d one of edge vector Returns double Cos(theta)^2 GetCosWith(Vec3d) Get Cos(theta). theta is the angle between this and v. public double GetCosWith(Vec3d v) Parameters v Vec3d a vector Returns double Cos(theta) GetCross(Vec3d) Get this cross src. public Vec3d GetCross(Vec3d src) Parameters src Vec3d src Returns Vec3d GetCsvText(string) Gets the CSV text representation of this vector with the specified format. public string GetCsvText(string format) Parameters format string Format string for the double values Returns string CSV formatted string GetEachValueAbs() Creates a new vector with the absolute value of each component. public Vec3d GetEachValueAbs() Returns Vec3d A new vector with absolute values of each component GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. GetMulEach(Vec3d) Creates a new vector by multiplying each component of this vector with the corresponding component of another vector. public Vec3d GetMulEach(Vec3d vec) Parameters vec Vec3d The vector to multiply with Returns Vec3d A new vector with component-wise multiplication results GetMulWithoutTrans(Mat4d) Get a new object by this*mat without translation part. public Vec3d GetMulWithoutTrans(Mat4d mat) Parameters mat Mat4d transform matrix Returns Vec3d new Vec3d(x * mat.At(0, 0) + y * mat.At(1, 0) + z * mat.At(2, 0) , x* mat.At(0, 1) + y* mat.At(1, 1) + z* mat.At(2, 1) , x* mat.At(0, 2) + y* mat.At(1, 2) + z* mat.At(2, 2)) GetNormalized() Generate normalized vec. public Vec3d GetNormalized() Returns Vec3d Normalized vec GetRadian(Vec3d) Get angle between this and v. The angle has no sign. This vector is not required to be an unit vector. public double GetRadian(Vec3d v) Parameters v Vec3d one of the edge vector. Not required to be an unit vector. Returns double Angle in radian GetRadian(Vec3d, Vec3d) Get angle between this and v. This function applies normal vector to determine the sign of angle. This vector is not required to be an unit vector. public double GetRadian(Vec3d v, Vec3d n) Parameters v Vec3d vector of ending edge. Not required to be an unit vector. n Vec3d normal vector. Not required to be an unit vector. Returns double angle in radian GetRadianByUnitVector(Vec3d) Get angle between this and v. The angle has no sign. This vector is not required to be an unit vector. Both this and v should be unit vector. Much efficient than GetRadian(Vec3d). public double GetRadianByUnitVector(Vec3d v) Parameters v Vec3d one of the edge vector. Not required to be an unit vector. Returns double Angle in radian GetTransform(Func) Get the new Vec3d by transforming each element by the function. public Vec3d GetTransform(Func transformingFunc) Parameters transformingFunc Func Returns Vec3d GetVec2dByPlaneDir(int) Gets a 2D vector by projecting the 3D vector onto a plane. public Vec2d GetVec2dByPlaneDir(int dir) Parameters dir int Direction index: 0 for YZ plane, 1 for ZX plane, 2 for XY plane Returns Vec2d A 2D vector representing the projection GetXRotation(double) Get rotated Vec3d along x direction. CCW. Much efficient than using Mat4d multiplication. public Vec3d GetXRotation(double rad) Parameters rad double rotation radian Returns Vec3d rotated Vec3d GetYRotation(double) Get rotated Vec3d along y direction. CCW. Much efficient than using Mat4d multiplication. public Vec3d GetYRotation(double rad) Parameters rad double rotation radian Returns Vec3d rotated Vec3d GetZRotation(double) Get rotated Vec3d along z direction. CCW. Much efficient than using Mat4d multiplication. public Vec3d GetZRotation(double rad) Parameters rad double rotation radian Returns Vec3d rotated Vec3d Interpolate(Vec3d, Vec3d, double) Interpolate from a to b with ratio alpha:(1-alpha). public static Vec3d Interpolate(Vec3d a, Vec3d b, double alpha) Parameters a Vec3d a b Vec3d b alpha double ratio Returns Vec3d a * (1 - alpha) + b * alpha IsNormalized(double) Checks if the vector is normalized (has a length of approximately 1). public bool IsNormalized(double toleranceSquare = 1E-07) Parameters toleranceSquare double Square of the tolerance value for comparing with 1 (default: 1e-7) Returns bool True if the vector is normalized within the specified tolerance MulEach(Vec3d) Multiplies each component of this vector with the corresponding component of another vector. public Vec3d MulEach(Vec3d vec) Parameters vec Vec3d The vector to multiply with Returns Vec3d This vector after multiplication MulWithoutTrans(Mat4d) this*=mat without translation part. public Vec3d MulWithoutTrans(Mat4d mat) Parameters mat Mat4d transformation matrix Returns Vec3d this See Also GetMulWithoutTrans(Mat4d) Normalize() Normalize this. public Vec3d Normalize() Returns Vec3d this Parse(string) If src is not null and not empty string, return Vec3d(string); otherwise return null. public static Vec3d Parse(string src) Parameters src string src Returns Vec3d parsed Vec3d ParseByCsv(string) Parses a vector from a CSV text string. public static Vec3d ParseByCsv(string csvText) Parameters csvText string CSV formatted string containing vector components Returns Vec3d A new vector parsed from the CSV text ReadBin(BinaryReader) Reads binary data to initialize the object. public void ReadBin(BinaryReader reader) Parameters reader BinaryReader The binary reader to read from Set(Vec3d) Set values by copy. public Vec3d Set(Vec3d src) Parameters src Vec3d src Returns Vec3d this Set(vec3d) Set values by copy. public Vec3d Set(vec3d src) Parameters src vec3d src Returns Vec3d this Set(double, double, double) Set values. public Vec3d Set(double x, double y, double z) Parameters x double x y double y z double z Returns Vec3d this Set(double[]) Set values by array. public Vec3d Set(double[] xyz) Parameters xyz double[] double[]{x,y,z} Returns Vec3d this Set(Func) Sets vector components using a function that maps direction index and current value to new value. public Vec3d Set(Func dirToValueFunc) Parameters dirToValueFunc Func Function that takes direction index (0=X, 1=Y, 2=Z) and current value, and returns the new value Returns Vec3d This vector after modification Set(Func) Sets vector components using a function that maps direction index to value. public Vec3d Set(Func dirToValueFunc) Parameters dirToValueFunc Func Function that takes direction index (0=X, 1=Y, 2=Z) and returns the corresponding value Returns Vec3d This vector after modification Set(int, double, double, double) Set values by direction offset. Direction 0,1,2 indicate x,y,z respectively. public Vec3d Set(int dir, double a, double b, double c) Parameters dir int direction offset a double value at direction (0+dir)%3 b double value at direction (1+dir)%3 c double value at direction (2+dir)%3 Returns Vec3d this SetEachNanToZero() Set NaN to 0 for each value. public Vec3d SetEachNanToZero() Returns Vec3d this SetEachValueAbs() Set each value to absolute. public Vec3d SetEachValueAbs() Returns Vec3d this ToArray() return new double[] { x, y, z } public double[] ToArray() Returns double[] { x, y, z } ToBuf(double[]) Set x,y,z to the dst array. public void ToBuf(double[] dst) Parameters dst double[] dst ToBuf(double[], ref int) Set x,y,z to the dst array from postion p and increase p by the pushed number. public int ToBuf(double[] dst, ref int p) Parameters dst double[] dst p int position from dst Returns int Which is pushed number of double ToString() To representative string with format:(x,y,z). public override string ToString() Returns string Representative string ToString(string) To string with format: (x,y,z) public string ToString(string format) Parameters format string format of ToString(string) Returns string Representative string ToString(string, IFormatProvider) Returns a string representation of the vector 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 vector ToString(string, int) Converts the vector to a string with the specified format and left padding. public string ToString(string format, int leftPadding) Parameters format string Format string for the double values leftPadding int Number of characters to pad on the left of each value Returns string Formatted string representation of the vector Transform(Func) Transform each element by the function. public Vec3d Transform(Func transformingFunc) Parameters transformingFunc Func Returns Vec3d TryParse(string, out Vec3d) Attempts to parse a string into a Vec3d. public static bool TryParse(string src, out Vec3d dst) Parameters src string The string to parse in format “(x,y,z)” dst Vec3d When this method returns, contains the Vec3d value if parsing succeeded, or null if parsing failed Returns bool true if parsing succeeded; otherwise, false WriteBin(BinaryWriter) Output to bytes: writer.Write(x); writer.Write(y); writer.Write(z); public void WriteBin(BinaryWriter writer) Parameters writer BinaryWriter writer Operators operator +(Vec3d, Vec3d) Plus. public static Vec3d operator +(Vec3d left, Vec3d right) Parameters left Vec3d a right Vec3d b Returns Vec3d new Vec3d(a.x + b.x, a.y + b.y, a.z + b.z) operator /(Vec3d, double) Get a new object from a scaled by 1/d. public static Vec3d operator /(Vec3d a, double d) Parameters a Vec3d d double Returns Vec3d operator ==(Vec3d, Vec3d) Equality operator for comparing two Vec3d objects. public static bool operator ==(Vec3d left, Vec3d right) Parameters left Vec3d Left operand right Vec3d Right operand Returns bool True if the vectors are equal, false otherwise operator !=(Vec3d, Vec3d) Inequality operator for comparing two Vec3d objects. public static bool operator !=(Vec3d left, Vec3d right) Parameters left Vec3d Left operand right Vec3d Right operand Returns bool True if the vectors are not equal, false otherwise operator *(Vec3d, Mat4d) Get p*src. public static Vec3d operator *(Vec3d p, Mat4d src) Parameters p Vec3d point src Mat4d transmform matrix Returns Vec3d new Vec3d(p.x * src.At(0, 0) + p.y * src.At(1, 0) + p.z * src.At(2, 0) + src.At(3, 0) , p.x* src.At(0, 1) + p.y* src.At(1, 1) + p.z* src.At(2, 1) + src.At(3, 1) , p.x* src.At(0, 2) + p.y* src.At(1, 2) + p.z* src.At(2, 2) + src.At(3, 2)) operator *(Vec3d, double) Scale a by s. public static Vec3d operator *(Vec3d a, double s) Parameters a Vec3d vector s double scale Returns Vec3d new Vec3d(a.x * s, a.y * s, a.z * s) operator -(Vec3d, Vec3d) Minus. public static Vec3d operator -(Vec3d a, Vec3d b) Parameters a Vec3d a b Vec3d b Returns Vec3d new Vec3d(a.x - b.x, a.y - b.y, a.z - b.z) operator -(Vec3d) Get negate vector. public static Vec3d operator -(Vec3d src) Parameters src Vec3d src Returns Vec3d new Vec3d(-src.x, -src.y, -src.z)" + "summary": "Class Vec3d Namespace Hi.Geom Assembly HiGeom.dll Basic 3D point (or vector). [BsonIgnoreExtraElements] public class Vec3d : IEquatable, IExpandToBox3d, IBinaryIo, IWriteBin, ICsvRowIo, IEqualityOperators, IAdditionOperators, ISubtractionOperators, IMultiplyOperators, IMultiplyOperators, IDivisionOperators, IVec, IFormattable Inheritance object Vec3d Implements IEquatable IExpandToBox3d IBinaryIo IWriteBin ICsvRowIo IEqualityOperators IAdditionOperators ISubtractionOperators IMultiplyOperators IMultiplyOperators IDivisionOperators IVec IFormattable Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods BinIoUtil.ToBytes(IWriteBin) GeomUtil.ExpandToBox3d(IExpandToBox3d, Mat4d, Box3d) GeomUtil.GetBox3d(IExpandToBox3d) 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 Vec3d() Ctor. public Vec3d() Vec3d(Polar3d) Ctor. public Vec3d(Polar3d src) Parameters src Polar3d src Vec3d(Vec2d, double) public Vec3d(Vec2d xy, double z) Parameters xy Vec2d z double Vec3d(Vec3d) Copy ctor. public Vec3d(Vec3d src) Parameters src Vec3d src Vec3d(vec3d) ctor. public Vec3d(vec3d src) Parameters src vec3d src Vec3d(vec3f) ctor. public Vec3d(vec3f src) Parameters src vec3f src Vec3d(IEnumerable) Creates a vector from an enumerable collection of three double values. public Vec3d(IEnumerable src) Parameters src IEnumerable Source collection containing three double values Vec3d(double, double, double) Ctor. public Vec3d(double x, double y, double z) Parameters x double x y double y z double z Vec3d(Func) Creates a vector using a function that maps direction index to value. public Vec3d(Func dirToValueFunc) Parameters dirToValueFunc Func Function that takes direction index (0=X, 1=Y, 2=Z) and returns the corresponding value Vec3d(BinaryReader) Ctor by bytes: x = reader.ReadDouble(); y = reader.ReadDouble(); z = reader.ReadDouble(); public Vec3d(BinaryReader reader) Parameters reader BinaryReader reader Vec3d(int, double, double, double) Ctor by direction offset. Direction 0,1,2 indicate x,y,z respectively. public Vec3d(int dir, double a, double b, double c) Parameters dir int direction offset a double value at direction (0+dir)%3 b double value at direction (1+dir)%3 c double value at direction (2+dir)%3 Vec3d(string) Ctor by string. The format is (x,y,z). public Vec3d(string src) Parameters src string src Vec3d((double, double, double)) Ctor. public Vec3d((double, double, double) src) Parameters src (double, double, double) src Fields x Value at x direction. public double x Field Value double y Value at y direction. public double y Field Value double z Value at z direction. public double z Field Value double Properties AbsSum [BsonIgnore] public double AbsSum { get; } Property Value double Sum of the abs {x,y,z}. Which is Math.Abs(x) + Math.Abs(y) + Math.Abs(z). AllOne public static Vec3d AllOne { get; } Property Value Vec3d Generate Vec3d(1, 1, 1). CsvText Csv text. [BsonIgnore] public string CsvText { get; set; } Property Value string CsvTitleText Csv titles text. [BsonIgnore] public string CsvTitleText { get; } Property Value string ElementNum Element number: 3 for (x,y,z). public static int ElementNum { get; } Property Value int IsAllFinite [BsonIgnore] public bool IsAllFinite { get; } Property Value bool Is x,y,z all finite. IsAllNaN [BsonIgnore] public bool IsAllNaN { get; } Property Value bool is x,y,z all NaN. IsAllNegativeInfinity [BsonIgnore] public bool IsAllNegativeInfinity { get; } Property Value bool is x,y,z all NegativeInfinity. IsAllPositiveInfinity [BsonIgnore] public bool IsAllPositiveInfinity { get; } Property Value bool is x,y,z all PositiveInfinity. IsAnyFinite [BsonIgnore] public bool IsAnyFinite { get; } Property Value bool Is at least one of x,y,z finite. IsAnyNaN [BsonIgnore] public bool IsAnyNaN { get; } Property Value bool Is any of {x,y,z} NaN. IsZero [BsonIgnore] public bool IsZero { get; } Property Value bool Is zero vector. Which is x == 0 && y == 0 && z == 0. this[int] Gets or sets the element at the specified index. public double this[int dir] { get; set; } Parameters dir int Property Value double The element at the specified index. Length [BsonIgnore] public double Length { get; } Property Value double Geometry length of this. LengthSquare [BsonIgnore] public double LengthSquare { get; } Property Value double Geometry length ^ 2. Which is x * x + y * y + z * z. MaxAbsDir [BsonIgnore] public int MaxAbsDir { get; } Property Value int Get the direction index with maximum absolute value. If the absolute of {x,y,z} is the biggest, return {0,1,2}. MaxDir [BsonIgnore] public int MaxDir { get; } Property Value int Get the direction index with maximum value. If {x,y,z} is the biggest, return {0,1,2}. MaxValue [BsonIgnore] public double MaxValue { get; } Property Value double The max value selected from {x,y,z}. Which is Math.Max(Math.Max(x, y), z). MinDir [BsonIgnore] public int MinDir { get; } Property Value int Get the direction index with maximum value. If {x,y,z} is the biggest, return {0,1,2}. MinValue [BsonIgnore] public double MinValue { get; } Property Value double The min value selected from {x,y,z}. Which is Math.Min(Math.Min(x, y), z). NaN public static Vec3d NaN { get; } Property Value Vec3d Generate Vec3d(double.NaN, double.NaN, double.NaN). NativeByteSize public static int NativeByteSize { get; } Property Value int Byte size: sizeof(double) * 3. NegativeInfinity public static Vec3d NegativeInfinity { get; } Property Value Vec3d Generate Vec3d(double.NegativeInfinity, double.NegativeInfinity, double.NegativeInfinity) PositiveInfinity public static Vec3d PositiveInfinity { get; } Property Value Vec3d Generate Vec3d(double.PositiveInfinity, double.PositiveInfinity, double.PositiveInfinity) Rank Dimension (i.e. Size) of the Vector. public int Rank { get; } Property Value int Text Gets or sets the vector as a string representation. [BsonIgnore] public string Text { get; set; } Property Value string UnitX public static Vec3d UnitX { get; } Property Value Vec3d Generate Vec3d(1, 0, 0). UnitY public static Vec3d UnitY { get; } Property Value Vec3d Generate Vec3d(0, 1, 0). UnitZ public static Vec3d UnitZ { get; } Property Value Vec3d Generate Vec3d(0, 0, 1). X Value at x direction. [BsonElement] public double X { get; set; } Property Value double XY Vec2d of X and Y. The getter gets a copied object. [BsonIgnore] public Vec2d XY { get; set; } Property Value Vec2d Y Value at y direction. [BsonElement] public double Y { get; set; } Property Value double Z Value at z direction. [BsonElement] public double Z { get; set; } Property Value double Zero public static Vec3d Zero { get; } Property Value Vec3d Generate Vec3d(0, 0, 0). Methods All(double) Creates a vector with all components set to the specified value. public static Vec3d All(double v) Parameters v double Value to set for all components Returns Vec3d A new vector with all components set to the specified value At(int) Get the value at the dirction. Direction 0,1,2 are x,y,z. If direction index is larger than 2, the return value is at z direction. public ref double At(int dir) Parameters dir int direction index Returns double value at the direction BilinearInterpolate(Vec3d, Vec3d, Vec3d, Vec3d, double, double) Performs bilinear interpolation between four points. public static Vec3d BilinearInterpolate(Vec3d p00, Vec3d p01, Vec3d p10, Vec3d p11, double u, double v) Parameters p00 Vec3d Point at (0,0) p01 Vec3d Point at (0,1) p10 Vec3d Point at (1,0) p11 Vec3d Point at (1,1) u double Interpolation parameter in first dimension (0.0 to 1.0) v double Interpolation parameter in second dimension (0.0 to 1.0) Returns Vec3d The interpolated point Cross(Vec3d, Vec3d) Get a cross b. public static Vec3d Cross(Vec3d a, Vec3d b) Parameters a Vec3d a b Vec3d b Returns Vec3d a x b Dot(Vec3d) this dot src. public double Dot(Vec3d src) Parameters src Vec3d src Returns double dotted value Enumerate() Enumerates the components of the vector. public IEnumerable Enumerate() Returns IEnumerable An enumerable sequence of the vector's components (X, Y, Z) Equals(Vec3d) Indicates whether the current object is equal to another object of the same type. public bool Equals(Vec3d other) Parameters other Vec3d An object to compare with this object. Returns bool true if the current object is equal to the other parameter; otherwise, false. Equals(Vec3d, double) check equals for each component with tolerance. public bool Equals(Vec3d other, double toleranceForEachComponent) Parameters other Vec3d other vec toleranceForEachComponent double tolerance for each component Returns bool check equals for each component with tolerance. 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. ExpandMax(Vec3d) Find and expand maximum values from src. public void ExpandMax(Vec3d src) Parameters src Vec3d src ExpandMin(Vec3d) Find and expand minimum values from src. public void ExpandMin(Vec3d src) Parameters src Vec3d src 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 GetCosSquareWith(Vec3d) Get Cos(theta)^2. theta is the angle between this and src. This function is faster than GetCosWith(Vec3d) since it lacks one square root operation. public double GetCosSquareWith(Vec3d src) Parameters src Vec3d one of edge vector Returns double Cos(theta)^2 GetCosWith(Vec3d) Get Cos(theta). theta is the angle between this and v. public double GetCosWith(Vec3d v) Parameters v Vec3d a vector Returns double Cos(theta) GetCross(Vec3d) Get this cross src. public Vec3d GetCross(Vec3d src) Parameters src Vec3d src Returns Vec3d GetCsvText(string) Gets the CSV text representation of this vector with the specified format. public string GetCsvText(string format) Parameters format string Format string for the double values Returns string CSV formatted string GetEachValueAbs() Creates a new vector with the absolute value of each component. public Vec3d GetEachValueAbs() Returns Vec3d A new vector with absolute values of each component GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. GetMulEach(Vec3d) Creates a new vector by multiplying each component of this vector with the corresponding component of another vector. public Vec3d GetMulEach(Vec3d vec) Parameters vec Vec3d The vector to multiply with Returns Vec3d A new vector with component-wise multiplication results GetMulWithoutTrans(Mat4d) Get a new object by this*mat without translation part. public Vec3d GetMulWithoutTrans(Mat4d mat) Parameters mat Mat4d transform matrix Returns Vec3d new Vec3d(x * mat.At(0, 0) + y * mat.At(1, 0) + z * mat.At(2, 0) , x* mat.At(0, 1) + y* mat.At(1, 1) + z* mat.At(2, 1) , x* mat.At(0, 2) + y* mat.At(1, 2) + z* mat.At(2, 2)) GetNormalized() Generate normalized vec. public Vec3d GetNormalized() Returns Vec3d Normalized vec GetRadian(Vec3d) Get angle between this and v. The angle has no sign. This vector is not required to be an unit vector. public double GetRadian(Vec3d v) Parameters v Vec3d one of the edge vector. Not required to be an unit vector. Returns double Angle in radian GetRadian(Vec3d, Vec3d) Get angle between this and v. This function applies normal vector to determine the sign of angle. This vector is not required to be an unit vector. public double GetRadian(Vec3d v, Vec3d n) Parameters v Vec3d vector of ending edge. Not required to be an unit vector. n Vec3d normal vector. Not required to be an unit vector. Returns double angle in radian GetRadianByUnitVector(Vec3d) Get angle between this and v. The angle has no sign. This vector is not required to be an unit vector. Both this and v should be unit vector. Much efficient than GetRadian(Vec3d). public double GetRadianByUnitVector(Vec3d v) Parameters v Vec3d one of the edge vector. Not required to be an unit vector. Returns double Angle in radian GetTransform(Func) Get the new Vec3d by transforming each element by the function. public Vec3d GetTransform(Func transformingFunc) Parameters transformingFunc Func Returns Vec3d GetVec2dByPlaneDir(int) Gets a 2D vector by projecting the 3D vector onto a plane. public Vec2d GetVec2dByPlaneDir(int dir) Parameters dir int Direction index: 0 for YZ plane, 1 for ZX plane, 2 for XY plane Returns Vec2d A 2D vector representing the projection GetXRotation(double) Get rotated Vec3d along x direction. CCW. Much efficient than using Mat4d multiplication. public Vec3d GetXRotation(double rad) Parameters rad double rotation radian Returns Vec3d rotated Vec3d GetYRotation(double) Get rotated Vec3d along y direction. CCW. Much efficient than using Mat4d multiplication. public Vec3d GetYRotation(double rad) Parameters rad double rotation radian Returns Vec3d rotated Vec3d GetZRotation(double) Get rotated Vec3d along z direction. CCW. Much efficient than using Mat4d multiplication. public Vec3d GetZRotation(double rad) Parameters rad double rotation radian Returns Vec3d rotated Vec3d Interpolate(Vec3d, Vec3d, double) Interpolate from a to b with ratio alpha:(1-alpha). public static Vec3d Interpolate(Vec3d a, Vec3d b, double alpha) Parameters a Vec3d a b Vec3d b alpha double ratio Returns Vec3d a * (1 - alpha) + b * alpha IsNormalized(double) Checks if the vector is normalized (has a length of approximately 1). public bool IsNormalized(double toleranceSquare = 1E-07) Parameters toleranceSquare double Square of the tolerance value for comparing with 1 (default: 1e-7) Returns bool True if the vector is normalized within the specified tolerance MulEach(Vec3d) Multiplies each component of this vector with the corresponding component of another vector. public Vec3d MulEach(Vec3d vec) Parameters vec Vec3d The vector to multiply with Returns Vec3d This vector after multiplication MulWithoutTrans(Mat4d) this*=mat without translation part. public Vec3d MulWithoutTrans(Mat4d mat) Parameters mat Mat4d transformation matrix Returns Vec3d this See Also GetMulWithoutTrans(Mat4d) Normalize() Normalize this. public Vec3d Normalize() Returns Vec3d this Parse(string) If src is not null and not empty string, return Vec3d(string); otherwise return null. public static Vec3d Parse(string src) Parameters src string src Returns Vec3d parsed Vec3d ParseByCsv(string) Parses a vector from a CSV text string. public static Vec3d ParseByCsv(string csvText) Parameters csvText string CSV formatted string containing vector components Returns Vec3d A new vector parsed from the CSV text ReadBin(BinaryReader) Reads binary data to initialize the object. public void ReadBin(BinaryReader reader) Parameters reader BinaryReader The binary reader to read from Set(Vec3d) Set values by copy. public Vec3d Set(Vec3d src) Parameters src Vec3d src Returns Vec3d this Set(vec3d) Set values by copy. public Vec3d Set(vec3d src) Parameters src vec3d src Returns Vec3d this Set(double, double, double) Set values. public Vec3d Set(double x, double y, double z) Parameters x double x y double y z double z Returns Vec3d this Set(double[]) Set values by array. public Vec3d Set(double[] xyz) Parameters xyz double[] double[]{x,y,z} Returns Vec3d this Set(Func) Sets vector components using a function that maps direction index and current value to new value. public Vec3d Set(Func dirToValueFunc) Parameters dirToValueFunc Func Function that takes direction index (0=X, 1=Y, 2=Z) and current value, and returns the new value Returns Vec3d This vector after modification Set(Func) Sets vector components using a function that maps direction index to value. public Vec3d Set(Func dirToValueFunc) Parameters dirToValueFunc Func Function that takes direction index (0=X, 1=Y, 2=Z) and returns the corresponding value Returns Vec3d This vector after modification Set(int, double, double, double) Set values by direction offset. Direction 0,1,2 indicate x,y,z respectively. public Vec3d Set(int dir, double a, double b, double c) Parameters dir int direction offset a double value at direction (0+dir)%3 b double value at direction (1+dir)%3 c double value at direction (2+dir)%3 Returns Vec3d this SetEachNanToZero() Set NaN to 0 for each value. public Vec3d SetEachNanToZero() Returns Vec3d this SetEachValueAbs() Set each value to absolute. public Vec3d SetEachValueAbs() Returns Vec3d this ToArray() return new double[] { x, y, z } public double[] ToArray() Returns double[] { x, y, z } ToBuf(double[]) Set x,y,z to the dst array. public void ToBuf(double[] dst) Parameters dst double[] dst ToBuf(double[], ref int) Set x,y,z to the dst array from postion p and increase p by the pushed number. public int ToBuf(double[] dst, ref int p) Parameters dst double[] dst p int position from dst Returns int Which is pushed number of double ToString() To representative string with format:(x,y,z). public override string ToString() Returns string Representative string ToString(string) To string with format: (x,y,z) public string ToString(string format) Parameters format string format of ToString(string) Returns string Representative string ToString(string, IFormatProvider) Returns a string representation of the vector 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 vector ToString(string, int) Converts the vector to a string with the specified format and left padding. public string ToString(string format, int leftPadding) Parameters format string Format string for the double values leftPadding int Number of characters to pad on the left of each value Returns string Formatted string representation of the vector Transform(Func) Transform each element by the function. public Vec3d Transform(Func transformingFunc) Parameters transformingFunc Func Returns Vec3d TryParse(string, out Vec3d) Attempts to parse a string into a Vec3d. public static bool TryParse(string src, out Vec3d dst) Parameters src string The string to parse in format “(x,y,z)” dst Vec3d When this method returns, contains the Vec3d value if parsing succeeded, or null if parsing failed Returns bool true if parsing succeeded; otherwise, false WriteBin(BinaryWriter) Output to bytes: writer.Write(x); writer.Write(y); writer.Write(z); public void WriteBin(BinaryWriter writer) Parameters writer BinaryWriter writer Operators operator +(Vec3d, Vec3d) Plus. public static Vec3d operator +(Vec3d left, Vec3d right) Parameters left Vec3d a right Vec3d b Returns Vec3d new Vec3d(a.x + b.x, a.y + b.y, a.z + b.z) operator /(Vec3d, double) Get a new object from a scaled by 1/d. public static Vec3d operator /(Vec3d a, double d) Parameters a Vec3d d double Returns Vec3d operator ==(Vec3d, Vec3d) Equality operator for comparing two Vec3d objects. public static bool operator ==(Vec3d left, Vec3d right) Parameters left Vec3d Left operand right Vec3d Right operand Returns bool True if the vectors are equal, false otherwise operator !=(Vec3d, Vec3d) Inequality operator for comparing two Vec3d objects. public static bool operator !=(Vec3d left, Vec3d right) Parameters left Vec3d Left operand right Vec3d Right operand Returns bool True if the vectors are not equal, false otherwise operator *(Vec3d, Mat4d) Get p*src. public static Vec3d operator *(Vec3d p, Mat4d src) Parameters p Vec3d point src Mat4d transmform matrix Returns Vec3d new Vec3d(p.x * src.At(0, 0) + p.y * src.At(1, 0) + p.z * src.At(2, 0) + src.At(3, 0) , p.x* src.At(0, 1) + p.y* src.At(1, 1) + p.z* src.At(2, 1) + src.At(3, 1) , p.x* src.At(0, 2) + p.y* src.At(1, 2) + p.z* src.At(2, 2) + src.At(3, 2)) operator *(Vec3d, double) Scale a by s. public static Vec3d operator *(Vec3d a, double s) Parameters a Vec3d vector s double scale Returns Vec3d new Vec3d(a.x * s, a.y * s, a.z * s) operator -(Vec3d, Vec3d) Minus. public static Vec3d operator -(Vec3d a, Vec3d b) Parameters a Vec3d a b Vec3d b Returns Vec3d new Vec3d(a.x - b.x, a.y - b.y, a.z - b.z) operator -(Vec3d) Get negate vector. public static Vec3d operator -(Vec3d src) Parameters src Vec3d src Returns Vec3d new Vec3d(-src.x, -src.y, -src.z)" }, "api/Hi.Geom.Vec3dUtil.html": { "href": "api/Hi.Geom.Vec3dUtil.html", @@ -1927,7 +1927,7 @@ "api/Hi.MachiningProcs.MachiningSession.html": { "href": "api/Hi.MachiningProcs.MachiningSession.html", "title": "Class MachiningSession | HiAPI-C# 2025", - "summary": "Class MachiningSession Namespace Hi.MachiningProcs Assembly HiMech.dll Represents a machining session that manages the execution and optimization of machining operations. Provides functionality for controlling the machining process, handling optimization options, and managing session state. public class MachiningSession Inheritance object MachiningSession 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 CurrentSourceCommand Gets or sets the current source command being processed. public IIndexedFileLine CurrentSourceCommand { get; set; } Property Value IIndexedFileLine Data Gets or sets the data dictionary for the player session. public Dictionary Data { get; set; } Property Value Dictionary NcOptOption Gets or sets the NC optimization options for UI operations. public NcOptOption NcOptOption { get; set; } Property Value NcOptOption PacePlayee Internal set only. public PacePlayee PacePlayee { get; set; } Property Value PacePlayee StepIndexToNcOptOptionList Gets or sets the mapping of step indices to NC optimization options. For internal use only. Takes effect during internal optimization process. public SortedList StepIndexToNcOptOptionList { get; set; } Property Value SortedList StepTaskBundle Gets or sets the current step task bundle. public MachiningParallelProc.StepTaskBundle StepTaskBundle { get; set; } Property Value MachiningParallelProc.StepTaskBundle Methods BeginPreserve() Begins a preserve section in the optimization process. public void BeginPreserve() EndPreserve() Ends a preserve section in the optimization process. public void EndPreserve() Preserve() Preserves one line of NC code in the optimization process. public void Preserve() UpdateNcOptOptionMapIfNeeded(int) Updates the NC optimization option map if needed. Internal use only. public bool UpdateNcOptOptionMapIfNeeded(int stepIndex) Parameters stepIndex int The index of the step to update. Returns bool True if the map was updated; otherwise, false. Events OnCurrentLineEnd Event raised when the current line ends. The event buffer is cleared on every line change. public event Action OnCurrentLineEnd Event Type Action" + "summary": "Class MachiningSession Namespace Hi.MachiningProcs Assembly HiMech.dll Represents a machining session that manages the execution and optimization of machining operations. Provides functionality for controlling the machining process, handling optimization options, and managing session state. public class MachiningSession Inheritance object MachiningSession 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 CurrentSourceCommand Gets or sets the current source command being processed. public IIndexedFileLine CurrentSourceCommand { get; set; } Property Value IIndexedFileLine Data Gets or sets the data dictionary for the player session. public Dictionary Data { get; set; } Property Value Dictionary IsNcOptOptionListUpdatedByStep Internal Use Only. public bool IsNcOptOptionListUpdatedByStep { get; set; } Property Value bool NcOptOption Gets or sets the NC optimization options for UI operations. public NcOptOption NcOptOption { get; set; } Property Value NcOptOption PacePlayee Internal set only. public PacePlayee PacePlayee { get; set; } Property Value PacePlayee StepIndexToNcOptOptionList Gets or sets the mapping of step indices to NC optimization options. For internal use only. Takes effect during internal optimization process. public SortedList StepIndexToNcOptOptionList { get; set; } Property Value SortedList StepTaskBundle Gets or sets the current step task bundle. public MachiningParallelProc.StepTaskBundle StepTaskBundle { get; set; } Property Value MachiningParallelProc.StepTaskBundle Methods BeginPreserve() Begins a preserve section in the optimization process. public void BeginPreserve() EndPreserve() Ends a preserve section in the optimization process. public void EndPreserve() Preserve() Preserves one line of NC code in the optimization process. public void Preserve() UpdateNcOptOptionMapIfNeeded(int) Updates the NC optimization option map if needed. Internal use only. public bool UpdateNcOptOptionMapIfNeeded(int stepIndex) Parameters stepIndex int The index of the step to update. Returns bool True if the map was updated; otherwise, false. Events OnCurrentLineEnd Event raised when the current line ends. The event buffer is cleared on every line change. public event Action OnCurrentLineEnd Event Type Action" }, "api/Hi.MachiningProcs.MillingActRunnerConfig.html": { "href": "api/Hi.MachiningProcs.MillingActRunnerConfig.html", @@ -1952,12 +1952,12 @@ "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 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 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 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) 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 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 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 OptSpindleTorqueSafetyFactor [JsAce] public double OptSpindleTorqueSafetyFactor { get; set; } Property Value double OptThermalYieldSafetyFactor Safety factor for spindle torque during optimization. [JsAce] public double OptThermalYieldSafetyFactor { get; set; } Property Value double ParaTemplateDimension Gets or sets the parameter template dimension (2D or 3D). [JsAce] public int ParaTemplateDimension { get; set; } Property Value int 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. 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. 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 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 Message(string) Displays a message in the message host. [JsAce(\"Message($1message)\")] public void Message(string message) Parameters message string The message to display 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() Controls the pace of machining operations during execution. [JsAce(\"Pace();\")] public void 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 = 2) 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. [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. [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) Trains milling parameters using the specified sample flag. [JsAce(\"TrainMillingPara(Fx|Fy|Fz, $1dstFile)\")] public void TrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double outlierRatio = 2) Parameters sampleFlag SampleFlag Sample flag indicating which components to train dstRelFile string Destination relative file path outlierRatio double Outlier ratio for data filtering 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. [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. [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 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 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 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) 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 ParaTemplateDimension Gets or sets the parameter template dimension (2D or 3D). [JsAce] public int ParaTemplateDimension { get; set; } Property Value int 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. 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. 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 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 Message(string) Displays a message in the message host. [JsAce(\"Message($1message)\")] public void Message(string message) Parameters message string The message to display 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() Controls the pace of machining operations during execution. [JsAce(\"Pace();\")] public void 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 = 2) 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. [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. [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) Trains milling parameters using the specified sample flag. [JsAce(\"TrainMillingPara(Fx|Fy|Fz, $1dstFile)\")] public void TrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double outlierRatio = 2) Parameters sampleFlag SampleFlag Sample flag indicating which components to train dstRelFile string Destination relative file path outlierRatio double Outlier ratio for data filtering 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", "title": "Class RuntimeController | HiAPI-C# 2025", - "summary": "Class RuntimeController Namespace Hi.MachiningProcs Assembly HiNc.dll Provides a C# scripting API for controlling and manipulating the milling course. Allows for runtime control of milling operations, geometry manipulation, and data analysis. [ApiController] [Route(\"api/[controller]/[action]\")] public class RuntimeController : ControllerBase Inheritance object ControllerBase RuntimeController Inherited Members ControllerBase.StatusCode(int) ControllerBase.StatusCode(int, object) ControllerBase.Content(string) ControllerBase.Content(string, string) ControllerBase.Content(string, string, Encoding) ControllerBase.Content(string, MediaTypeHeaderValue) ControllerBase.NoContent() ControllerBase.Ok() ControllerBase.Ok(object) ControllerBase.Redirect(string) ControllerBase.RedirectPermanent(string) ControllerBase.RedirectPreserveMethod(string) ControllerBase.RedirectPermanentPreserveMethod(string) ControllerBase.LocalRedirect(string) ControllerBase.LocalRedirectPermanent(string) ControllerBase.LocalRedirectPreserveMethod(string) ControllerBase.LocalRedirectPermanentPreserveMethod(string) ControllerBase.RedirectToAction() ControllerBase.RedirectToAction(string) ControllerBase.RedirectToAction(string, object) ControllerBase.RedirectToAction(string, string) ControllerBase.RedirectToAction(string, string, object) ControllerBase.RedirectToAction(string, string, string) ControllerBase.RedirectToAction(string, string, object, string) ControllerBase.RedirectToActionPreserveMethod(string, string, object, string) ControllerBase.RedirectToActionPermanent(string) ControllerBase.RedirectToActionPermanent(string, object) ControllerBase.RedirectToActionPermanent(string, string) ControllerBase.RedirectToActionPermanent(string, string, string) ControllerBase.RedirectToActionPermanent(string, string, object) ControllerBase.RedirectToActionPermanent(string, string, object, string) ControllerBase.RedirectToActionPermanentPreserveMethod(string, string, object, string) ControllerBase.RedirectToRoute(string) ControllerBase.RedirectToRoute(object) ControllerBase.RedirectToRoute(string, object) ControllerBase.RedirectToRoute(string, string) ControllerBase.RedirectToRoute(string, object, string) ControllerBase.RedirectToRoutePreserveMethod(string, object, string) ControllerBase.RedirectToRoutePermanent(string) ControllerBase.RedirectToRoutePermanent(object) ControllerBase.RedirectToRoutePermanent(string, object) ControllerBase.RedirectToRoutePermanent(string, string) ControllerBase.RedirectToRoutePermanent(string, object, string) ControllerBase.RedirectToRoutePermanentPreserveMethod(string, object, string) ControllerBase.RedirectToPage(string) ControllerBase.RedirectToPage(string, object) ControllerBase.RedirectToPage(string, string) ControllerBase.RedirectToPage(string, string, object) ControllerBase.RedirectToPage(string, string, string) ControllerBase.RedirectToPage(string, string, object, string) ControllerBase.RedirectToPagePermanent(string) ControllerBase.RedirectToPagePermanent(string, object) ControllerBase.RedirectToPagePermanent(string, string) ControllerBase.RedirectToPagePermanent(string, string, string) ControllerBase.RedirectToPagePermanent(string, string, object, string) ControllerBase.RedirectToPagePreserveMethod(string, string, object, string) ControllerBase.RedirectToPagePermanentPreserveMethod(string, string, object, string) ControllerBase.File(byte[], string) ControllerBase.File(byte[], string, bool) ControllerBase.File(byte[], string, string) ControllerBase.File(byte[], string, string, bool) ControllerBase.File(byte[], string, DateTimeOffset?, EntityTagHeaderValue) ControllerBase.File(byte[], string, DateTimeOffset?, EntityTagHeaderValue, bool) ControllerBase.File(byte[], string, string, DateTimeOffset?, EntityTagHeaderValue) ControllerBase.File(byte[], string, string, DateTimeOffset?, EntityTagHeaderValue, bool) ControllerBase.File(Stream, string) ControllerBase.File(Stream, string, bool) ControllerBase.File(Stream, string, string) ControllerBase.File(Stream, string, string, bool) ControllerBase.File(Stream, string, DateTimeOffset?, EntityTagHeaderValue) ControllerBase.File(Stream, string, DateTimeOffset?, EntityTagHeaderValue, bool) ControllerBase.File(Stream, string, string, DateTimeOffset?, EntityTagHeaderValue) ControllerBase.File(Stream, string, string, DateTimeOffset?, EntityTagHeaderValue, bool) ControllerBase.File(string, string) ControllerBase.File(string, string, bool) ControllerBase.File(string, string, string) ControllerBase.File(string, string, string, bool) ControllerBase.File(string, string, DateTimeOffset?, EntityTagHeaderValue) ControllerBase.File(string, string, DateTimeOffset?, EntityTagHeaderValue, bool) ControllerBase.File(string, string, string, DateTimeOffset?, EntityTagHeaderValue) ControllerBase.File(string, string, string, DateTimeOffset?, EntityTagHeaderValue, bool) ControllerBase.PhysicalFile(string, string) ControllerBase.PhysicalFile(string, string, bool) ControllerBase.PhysicalFile(string, string, string) ControllerBase.PhysicalFile(string, string, string, bool) ControllerBase.PhysicalFile(string, string, DateTimeOffset?, EntityTagHeaderValue) ControllerBase.PhysicalFile(string, string, DateTimeOffset?, EntityTagHeaderValue, bool) ControllerBase.PhysicalFile(string, string, string, DateTimeOffset?, EntityTagHeaderValue) ControllerBase.PhysicalFile(string, string, string, DateTimeOffset?, EntityTagHeaderValue, bool) ControllerBase.Unauthorized() ControllerBase.Unauthorized(object) ControllerBase.NotFound() ControllerBase.NotFound(object) ControllerBase.BadRequest() ControllerBase.BadRequest(object) ControllerBase.BadRequest(ModelStateDictionary) ControllerBase.UnprocessableEntity() ControllerBase.UnprocessableEntity(object) ControllerBase.UnprocessableEntity(ModelStateDictionary) ControllerBase.Conflict() ControllerBase.Conflict(object) ControllerBase.Conflict(ModelStateDictionary) ControllerBase.Problem(string, string, int?, string, string) ControllerBase.Problem(string, string, int?, string, string, IDictionary) ControllerBase.ValidationProblem(ValidationProblemDetails) ControllerBase.ValidationProblem(ModelStateDictionary) ControllerBase.ValidationProblem() ControllerBase.ValidationProblem(string, string, int?, string, string, ModelStateDictionary) ControllerBase.ValidationProblem(string, string, int?, string, string, ModelStateDictionary, IDictionary) ControllerBase.Created() ControllerBase.Created(string, object) ControllerBase.Created(Uri, object) ControllerBase.CreatedAtAction(string, object) ControllerBase.CreatedAtAction(string, object, object) ControllerBase.CreatedAtAction(string, string, object, object) ControllerBase.CreatedAtRoute(string, object) ControllerBase.CreatedAtRoute(object, object) ControllerBase.CreatedAtRoute(string, object, object) ControllerBase.Accepted() ControllerBase.Accepted(object) ControllerBase.Accepted(Uri) ControllerBase.Accepted(string) ControllerBase.Accepted(string, object) ControllerBase.Accepted(Uri, object) ControllerBase.AcceptedAtAction(string) ControllerBase.AcceptedAtAction(string, string) ControllerBase.AcceptedAtAction(string, object) ControllerBase.AcceptedAtAction(string, string, object) ControllerBase.AcceptedAtAction(string, object, object) ControllerBase.AcceptedAtAction(string, string, object, object) ControllerBase.AcceptedAtRoute(object) ControllerBase.AcceptedAtRoute(string) ControllerBase.AcceptedAtRoute(string, object) ControllerBase.AcceptedAtRoute(object, object) ControllerBase.AcceptedAtRoute(string, object, object) ControllerBase.Challenge() ControllerBase.Challenge(params string[]) ControllerBase.Challenge(AuthenticationProperties) ControllerBase.Challenge(AuthenticationProperties, params string[]) ControllerBase.Forbid() ControllerBase.Forbid(params string[]) ControllerBase.Forbid(AuthenticationProperties) ControllerBase.Forbid(AuthenticationProperties, params string[]) ControllerBase.SignIn(ClaimsPrincipal) ControllerBase.SignIn(ClaimsPrincipal, string) ControllerBase.SignIn(ClaimsPrincipal, AuthenticationProperties) ControllerBase.SignIn(ClaimsPrincipal, AuthenticationProperties, string) ControllerBase.SignOut() ControllerBase.SignOut(AuthenticationProperties) ControllerBase.SignOut(params string[]) ControllerBase.SignOut(AuthenticationProperties, params string[]) ControllerBase.TryUpdateModelAsync(TModel) ControllerBase.TryUpdateModelAsync(TModel, string) ControllerBase.TryUpdateModelAsync(TModel, string, IValueProvider) ControllerBase.TryUpdateModelAsync(TModel, string, params Expression>[]) ControllerBase.TryUpdateModelAsync(TModel, string, Func) ControllerBase.TryUpdateModelAsync(TModel, string, IValueProvider, params Expression>[]) ControllerBase.TryUpdateModelAsync(TModel, string, IValueProvider, Func) ControllerBase.TryUpdateModelAsync(object, Type, string) ControllerBase.TryUpdateModelAsync(object, Type, string, IValueProvider, Func) ControllerBase.TryValidateModel(object) ControllerBase.TryValidateModel(object, string) ControllerBase.HttpContext ControllerBase.Request ControllerBase.Response ControllerBase.RouteData ControllerBase.ModelState ControllerBase.ControllerContext ControllerBase.MetadataProvider ControllerBase.ModelBinderFactory ControllerBase.Url ControllerBase.ObjectValidator ControllerBase.ProblemDetailsFactory ControllerBase.User ControllerBase.Empty 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 RuntimeController(IProjectService) Initializes a new instance. public RuntimeController(IProjectService projectService) Parameters projectService IProjectService Properties 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 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 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 EnablePauseOnFailure [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 Global [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) is intended to be used. [JsAce] public static int MillingForceCycleDivisionNum { get; set; } Property Value int NcOptOption NcOptOption [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 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 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 OptSpindleTorqueSafetyFactor Safety factor for spindle torque during optimization. [JsAce] public double OptSpindleTorqueSafetyFactor { get; set; } Property Value double ParaTemplateDimension ParaTemplateDimension [JsAce] public int ParaTemplateDimension { get; set; } Property Value int RuntimeApi Gets the runtime API instance. public RuntimeApi RuntimeApi { get; } Property Value RuntimeApi ScriptOptions public ScriptOptions ScriptOptions { get; set; } Property Value ScriptOptions SessionMessageHost SessionMessageHost [JsAce] public SessionMessageHost SessionMessageHost { get; } Property Value SessionMessageHost StepCount Gets the total number of milling steps. [JsAce] public int StepCount { get; } Property Value int 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)\")] [NonAction] 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)\")] [HttpPost] 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)\")] [HttpPost] 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()\")] [HttpPost] public void BeginPreserve() BeginSelection(string, AnchorMode, IStepShift) Begin mark on current line. milling step() has not triggered yet. [NonAction] 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() BeginSession() [HttpPost] public void BeginSession() ClearTimeMappingData() Clears all time mapping data. [JsAce] [HttpPost] public void ClearTimeMappingData() Diff(double) Performs a difference analysis on the workpiece geometry to detect variations. [JsAce(\"Diff($1detectionRadius_mm)\")] [HttpPost] public void Diff(double detectionRadius_mm) Parameters detectionRadius_mm double Radius for detecting differences EndPreserve() End Preserve section in optimzation process. [JsAce(\"EndPreserve()\")] [HttpPost] public void EndPreserve() EndSelection(string, AnchorMode, IStepShift) End mark on current line for selection. [NonAction] 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() EndSession() [HttpPost] public void EndSession() ErrorMessage(string) Displays an error message in the message host. [JsAce(\"ErrorMessage($1message)\")] [HttpPost] 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)\")] [NonAction] 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\\\")\")] [NonAction] 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)\")] [HttpGet] 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)\")] [HttpGet] 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. [NonAction] 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 Map(string, FileTimeSection, CycleSamplingMode?) Maps selection data to time section. [HttpPost] 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 Message(string) Displays a message in the message host. [JsAce(\"Message($1message)\")] [HttpPost] public void Message(string message) Parameters message string The message to display 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]\\\"\")] [HttpPost] public void OptimizeToFiles(string relFileTemplate = \"Output/Opt-[NcName]\") Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder Pace() Controls the pace of machining operations during execution. [JsAce(\"Pace();\")] [HttpPost] public void Pace() Pause() Pause Player [JsAce(DocContentHtml = \"Pause Player\")] [HttpPost] public void Pause() PlayAct(IAct, IIndexedFileLine, CancellationToken?) PlayAct(IAct, IIndexedFileLine, CancellationToken?) [JsAce] [NonAction] public void PlayAct(IAct act, IIndexedFileLine sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct sourceCommand IIndexedFileLine cancellationToken CancellationToken? PlayClTeleport(double, double, double, double, double, double) PlayClTeleport(double, double, double, double, double, double) [JsAce] [HttpPost] public void PlayClTeleport(double x, double y, double z, double i, double j, double k) Parameters x double y double z double i double j double k double PlayCsvFile(string) Plays an CSV file with the specified relative path. [JsAce(\"PlayCsvFile($1\\\"csvFile\\\");\")] [HttpPost] 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.\")] [HttpPost] 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\\\");\")] [HttpPost] public void PlayNcFile(string relNcFilePath) Parameters relNcFilePath string Relative path to the NC file PlayToolingTeleport(int) PlayToolingTeleport(int) [JsAce] [HttpPost] public void PlayToolingTeleport(int toolId) Parameters toolId int Preserve() Preserve one line NC code in optimzation process. [JsAce(\"Preserve()\")] [HttpPost] public void Preserve() ProgressMessage(string) Displays a progress message in the message host. [JsAce(\"ProgressMessage($1message)\")] [HttpPost] 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)\")] [HttpPost] public void ReTrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double outlierRatio = 2) 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\\\")\")] [HttpPost] 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\\\")\")] [HttpPost] 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

\")] [NonAction] 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] [HttpPost] public void RemoveFlyPiece() Reset() Reset Player [JsAce(DocContentHtml = \"Reset Player\")] [HttpPost] public void Reset() ResetRuntime() Clears internal buffers. [JsAce] [HttpPost] public void ResetRuntime() RunNc(string, string) Runs NC code directly from a string. [JsAce(Snippet = \"RunNc($1\\\"ncCommand\\\",$2\\\"\\\"(Direct Command)\\\"\\\");\", DocContentHtml = \"Run NC. second parameter is the file name alternative shows in the log.\")] [NonAction] 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. [JsAce(\"RunNcFile($1\\\"ncFile\\\");\")] [NonAction] 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. [HttpPost] public void SetNcResolutionFeedPerCycle() SetNcResolutionFeedPerTooth() Sets NC resolution to feed per tooth mode. [HttpPost] public void SetNcResolutionFeedPerTooth() SetNcResolutionFixed(double, double) Sets NC resolution to fixed mode with specified resolution values. [HttpPost] 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)\")] [HttpPost] 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)\")] [HttpPost] 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. [NonAction] 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. [NonAction] public TimeShift ShiftTime_s(double seconds) Parameters seconds double Time in seconds Returns TimeShift Time shift object TrainMillingPara(SampleFlag, string, double) Trains milling parameters using the specified sample flag. [JsAce(\"TrainMillingPara(Fx|Fy|Fz, $1dstFile)\")] [HttpPost] public void TrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double outlierRatio = 2) Parameters sampleFlag SampleFlag Sample flag indicating which components to train dstRelFile string Destination relative file path outlierRatio double Outlier ratio for data filtering WarningMessage(string) Displays a warning message in the message host. [JsAce(\"WarningMessage($1message)\")] [HttpPost] 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\\\")\")] [HttpPost] 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)\")] [HttpPost] 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). [NonAction] 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\")] [HttpPost] 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.\")] [HttpPost] public void WriteStepFiles(string relFileTemplate = \"Output/[NcName].step.csv\") Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder" + "summary": "Class RuntimeController Namespace Hi.MachiningProcs Assembly HiNc.dll Provides a C# scripting API for controlling and manipulating the milling course. Allows for runtime control of milling operations, geometry manipulation, and data analysis. [ApiController] [Route(\"api/[controller]/[action]\")] public class RuntimeController : ControllerBase Inheritance object ControllerBase RuntimeController Inherited Members ControllerBase.StatusCode(int) ControllerBase.StatusCode(int, object) ControllerBase.Content(string) ControllerBase.Content(string, string) ControllerBase.Content(string, string, Encoding) ControllerBase.Content(string, MediaTypeHeaderValue) ControllerBase.NoContent() ControllerBase.Ok() ControllerBase.Ok(object) ControllerBase.Redirect(string) ControllerBase.RedirectPermanent(string) ControllerBase.RedirectPreserveMethod(string) ControllerBase.RedirectPermanentPreserveMethod(string) ControllerBase.LocalRedirect(string) ControllerBase.LocalRedirectPermanent(string) ControllerBase.LocalRedirectPreserveMethod(string) ControllerBase.LocalRedirectPermanentPreserveMethod(string) ControllerBase.RedirectToAction() ControllerBase.RedirectToAction(string) ControllerBase.RedirectToAction(string, object) ControllerBase.RedirectToAction(string, string) ControllerBase.RedirectToAction(string, string, object) ControllerBase.RedirectToAction(string, string, string) ControllerBase.RedirectToAction(string, string, object, string) ControllerBase.RedirectToActionPreserveMethod(string, string, object, string) ControllerBase.RedirectToActionPermanent(string) ControllerBase.RedirectToActionPermanent(string, object) ControllerBase.RedirectToActionPermanent(string, string) ControllerBase.RedirectToActionPermanent(string, string, string) ControllerBase.RedirectToActionPermanent(string, string, object) ControllerBase.RedirectToActionPermanent(string, string, object, string) ControllerBase.RedirectToActionPermanentPreserveMethod(string, string, object, string) ControllerBase.RedirectToRoute(string) ControllerBase.RedirectToRoute(object) ControllerBase.RedirectToRoute(string, object) ControllerBase.RedirectToRoute(string, string) ControllerBase.RedirectToRoute(string, object, string) ControllerBase.RedirectToRoutePreserveMethod(string, object, string) ControllerBase.RedirectToRoutePermanent(string) ControllerBase.RedirectToRoutePermanent(object) ControllerBase.RedirectToRoutePermanent(string, object) ControllerBase.RedirectToRoutePermanent(string, string) ControllerBase.RedirectToRoutePermanent(string, object, string) ControllerBase.RedirectToRoutePermanentPreserveMethod(string, object, string) ControllerBase.RedirectToPage(string) ControllerBase.RedirectToPage(string, object) ControllerBase.RedirectToPage(string, string) ControllerBase.RedirectToPage(string, string, object) ControllerBase.RedirectToPage(string, string, string) ControllerBase.RedirectToPage(string, string, object, string) ControllerBase.RedirectToPagePermanent(string) ControllerBase.RedirectToPagePermanent(string, object) ControllerBase.RedirectToPagePermanent(string, string) ControllerBase.RedirectToPagePermanent(string, string, string) ControllerBase.RedirectToPagePermanent(string, string, object, string) ControllerBase.RedirectToPagePreserveMethod(string, string, object, string) ControllerBase.RedirectToPagePermanentPreserveMethod(string, string, object, string) ControllerBase.File(byte[], string) ControllerBase.File(byte[], string, bool) ControllerBase.File(byte[], string, string) ControllerBase.File(byte[], string, string, bool) ControllerBase.File(byte[], string, DateTimeOffset?, EntityTagHeaderValue) ControllerBase.File(byte[], string, DateTimeOffset?, EntityTagHeaderValue, bool) ControllerBase.File(byte[], string, string, DateTimeOffset?, EntityTagHeaderValue) ControllerBase.File(byte[], string, string, DateTimeOffset?, EntityTagHeaderValue, bool) ControllerBase.File(Stream, string) ControllerBase.File(Stream, string, bool) ControllerBase.File(Stream, string, string) ControllerBase.File(Stream, string, string, bool) ControllerBase.File(Stream, string, DateTimeOffset?, EntityTagHeaderValue) ControllerBase.File(Stream, string, DateTimeOffset?, EntityTagHeaderValue, bool) ControllerBase.File(Stream, string, string, DateTimeOffset?, EntityTagHeaderValue) ControllerBase.File(Stream, string, string, DateTimeOffset?, EntityTagHeaderValue, bool) ControllerBase.File(string, string) ControllerBase.File(string, string, bool) ControllerBase.File(string, string, string) ControllerBase.File(string, string, string, bool) ControllerBase.File(string, string, DateTimeOffset?, EntityTagHeaderValue) ControllerBase.File(string, string, DateTimeOffset?, EntityTagHeaderValue, bool) ControllerBase.File(string, string, string, DateTimeOffset?, EntityTagHeaderValue) ControllerBase.File(string, string, string, DateTimeOffset?, EntityTagHeaderValue, bool) ControllerBase.PhysicalFile(string, string) ControllerBase.PhysicalFile(string, string, bool) ControllerBase.PhysicalFile(string, string, string) ControllerBase.PhysicalFile(string, string, string, bool) ControllerBase.PhysicalFile(string, string, DateTimeOffset?, EntityTagHeaderValue) ControllerBase.PhysicalFile(string, string, DateTimeOffset?, EntityTagHeaderValue, bool) ControllerBase.PhysicalFile(string, string, string, DateTimeOffset?, EntityTagHeaderValue) ControllerBase.PhysicalFile(string, string, string, DateTimeOffset?, EntityTagHeaderValue, bool) ControllerBase.Unauthorized() ControllerBase.Unauthorized(object) ControllerBase.NotFound() ControllerBase.NotFound(object) ControllerBase.BadRequest() ControllerBase.BadRequest(object) ControllerBase.BadRequest(ModelStateDictionary) ControllerBase.UnprocessableEntity() ControllerBase.UnprocessableEntity(object) ControllerBase.UnprocessableEntity(ModelStateDictionary) ControllerBase.Conflict() ControllerBase.Conflict(object) ControllerBase.Conflict(ModelStateDictionary) ControllerBase.Problem(string, string, int?, string, string) ControllerBase.Problem(string, string, int?, string, string, IDictionary) ControllerBase.ValidationProblem(ValidationProblemDetails) ControllerBase.ValidationProblem(ModelStateDictionary) ControllerBase.ValidationProblem() ControllerBase.ValidationProblem(string, string, int?, string, string, ModelStateDictionary) ControllerBase.ValidationProblem(string, string, int?, string, string, ModelStateDictionary, IDictionary) ControllerBase.Created() ControllerBase.Created(string, object) ControllerBase.Created(Uri, object) ControllerBase.CreatedAtAction(string, object) ControllerBase.CreatedAtAction(string, object, object) ControllerBase.CreatedAtAction(string, string, object, object) ControllerBase.CreatedAtRoute(string, object) ControllerBase.CreatedAtRoute(object, object) ControllerBase.CreatedAtRoute(string, object, object) ControllerBase.Accepted() ControllerBase.Accepted(object) ControllerBase.Accepted(Uri) ControllerBase.Accepted(string) ControllerBase.Accepted(string, object) ControllerBase.Accepted(Uri, object) ControllerBase.AcceptedAtAction(string) ControllerBase.AcceptedAtAction(string, string) ControllerBase.AcceptedAtAction(string, object) ControllerBase.AcceptedAtAction(string, string, object) ControllerBase.AcceptedAtAction(string, object, object) ControllerBase.AcceptedAtAction(string, string, object, object) ControllerBase.AcceptedAtRoute(object) ControllerBase.AcceptedAtRoute(string) ControllerBase.AcceptedAtRoute(string, object) ControllerBase.AcceptedAtRoute(object, object) ControllerBase.AcceptedAtRoute(string, object, object) ControllerBase.Challenge() ControllerBase.Challenge(params string[]) ControllerBase.Challenge(AuthenticationProperties) ControllerBase.Challenge(AuthenticationProperties, params string[]) ControllerBase.Forbid() ControllerBase.Forbid(params string[]) ControllerBase.Forbid(AuthenticationProperties) ControllerBase.Forbid(AuthenticationProperties, params string[]) ControllerBase.SignIn(ClaimsPrincipal) ControllerBase.SignIn(ClaimsPrincipal, string) ControllerBase.SignIn(ClaimsPrincipal, AuthenticationProperties) ControllerBase.SignIn(ClaimsPrincipal, AuthenticationProperties, string) ControllerBase.SignOut() ControllerBase.SignOut(AuthenticationProperties) ControllerBase.SignOut(params string[]) ControllerBase.SignOut(AuthenticationProperties, params string[]) ControllerBase.TryUpdateModelAsync(TModel) ControllerBase.TryUpdateModelAsync(TModel, string) ControllerBase.TryUpdateModelAsync(TModel, string, IValueProvider) ControllerBase.TryUpdateModelAsync(TModel, string, params Expression>[]) ControllerBase.TryUpdateModelAsync(TModel, string, Func) ControllerBase.TryUpdateModelAsync(TModel, string, IValueProvider, params Expression>[]) ControllerBase.TryUpdateModelAsync(TModel, string, IValueProvider, Func) ControllerBase.TryUpdateModelAsync(object, Type, string) ControllerBase.TryUpdateModelAsync(object, Type, string, IValueProvider, Func) ControllerBase.TryValidateModel(object) ControllerBase.TryValidateModel(object, string) ControllerBase.HttpContext ControllerBase.Request ControllerBase.Response ControllerBase.RouteData ControllerBase.ModelState ControllerBase.ControllerContext ControllerBase.MetadataProvider ControllerBase.ModelBinderFactory ControllerBase.Url ControllerBase.ObjectValidator ControllerBase.ProblemDetailsFactory ControllerBase.User ControllerBase.Empty 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 RuntimeController(IProjectService) Initializes a new instance. public RuntimeController(IProjectService projectService) Parameters projectService IProjectService Properties 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 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 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 EnablePauseOnFailure [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 Global [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) is intended to be used. [JsAce] public static int MillingForceCycleDivisionNum { get; set; } Property Value int NcOptOption NcOptOption [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 Safety factor for spindle torque during 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 thermal yield 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 ParaTemplateDimension ParaTemplateDimension [JsAce] public int ParaTemplateDimension { get; set; } Property Value int RuntimeApi Gets the runtime API instance. public RuntimeApi RuntimeApi { get; } Property Value RuntimeApi ScriptOptions public ScriptOptions ScriptOptions { get; set; } Property Value ScriptOptions SessionMessageHost SessionMessageHost [JsAce] public SessionMessageHost SessionMessageHost { get; } Property Value SessionMessageHost StepCount Gets the total number of milling steps. [JsAce] public int StepCount { get; } Property Value int 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)\")] [NonAction] 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)\")] [HttpPost] 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)\")] [HttpPost] 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()\")] [HttpPost] public void BeginPreserve() BeginSelection(string, AnchorMode, IStepShift) Begin mark on current line. milling step() has not triggered yet. [NonAction] 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() BeginSession() [HttpPost] public void BeginSession() ClearTimeMappingData() Clears all time mapping data. [JsAce] [HttpPost] public void ClearTimeMappingData() Diff(double) Performs a difference analysis on the workpiece geometry to detect variations. [JsAce(\"Diff($1detectionRadius_mm)\")] [HttpPost] public void Diff(double detectionRadius_mm) Parameters detectionRadius_mm double Radius for detecting differences EndPreserve() End Preserve section in optimzation process. [JsAce(\"EndPreserve()\")] [HttpPost] public void EndPreserve() EndSelection(string, AnchorMode, IStepShift) End mark on current line for selection. [NonAction] 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() EndSession() [HttpPost] public void EndSession() ErrorMessage(string) Displays an error message in the message host. [JsAce(\"ErrorMessage($1message)\")] [HttpPost] 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)\")] [NonAction] 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\\\")\")] [NonAction] 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)\")] [HttpGet] 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)\")] [HttpGet] 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. [NonAction] 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 Map(string, FileTimeSection, CycleSamplingMode?) Maps selection data to time section. [HttpPost] 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 Message(string) Displays a message in the message host. [JsAce(\"Message($1message)\")] [HttpPost] public void Message(string message) Parameters message string The message to display 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]\\\"\")] [HttpPost] public void OptimizeToFiles(string relFileTemplate = \"Output/Opt-[NcName]\") Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder Pace() Controls the pace of machining operations during execution. [JsAce(\"Pace();\")] [HttpPost] public void Pace() Pause() Pause Player [JsAce(DocContentHtml = \"Pause Player\")] [HttpPost] public void Pause() PlayAct(IAct, IIndexedFileLine, CancellationToken?) PlayAct(IAct, IIndexedFileLine, CancellationToken?) [JsAce] [NonAction] public void PlayAct(IAct act, IIndexedFileLine sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct sourceCommand IIndexedFileLine cancellationToken CancellationToken? PlayClTeleport(double, double, double, double, double, double) PlayClTeleport(double, double, double, double, double, double) [JsAce] [HttpPost] public void PlayClTeleport(double x, double y, double z, double i, double j, double k) Parameters x double y double z double i double j double k double PlayCsvFile(string) Plays an CSV file with the specified relative path. [JsAce(\"PlayCsvFile($1\\\"csvFile\\\");\")] [HttpPost] 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.\")] [HttpPost] 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\\\");\")] [HttpPost] public void PlayNcFile(string relNcFilePath) Parameters relNcFilePath string Relative path to the NC file PlayToolingTeleport(int) PlayToolingTeleport(int) [JsAce] [HttpPost] public void PlayToolingTeleport(int toolId) Parameters toolId int Preserve() Preserve one line NC code in optimzation process. [JsAce(\"Preserve()\")] [HttpPost] public void Preserve() ProgressMessage(string) Displays a progress message in the message host. [JsAce(\"ProgressMessage($1message)\")] [HttpPost] 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)\")] [HttpPost] public void ReTrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double outlierRatio = 2) 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\\\")\")] [HttpPost] 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\\\")\")] [HttpPost] 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

\")] [NonAction] 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] [HttpPost] public void RemoveFlyPiece() Reset() Reset Player [JsAce(DocContentHtml = \"Reset Player\")] [HttpPost] public void Reset() ResetRuntime() Clears internal buffers. [JsAce] [HttpPost] public void ResetRuntime() RunNc(string, string) Runs NC code directly from a string. [JsAce(Snippet = \"RunNc($1\\\"ncCommand\\\",$2\\\"\\\"(Direct Command)\\\"\\\");\", DocContentHtml = \"Run NC. second parameter is the file name alternative shows in the log.\")] [NonAction] 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. [JsAce(\"RunNcFile($1\\\"ncFile\\\");\")] [NonAction] 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. [HttpPost] public void SetNcResolutionFeedPerCycle() SetNcResolutionFeedPerTooth() Sets NC resolution to feed per tooth mode. [HttpPost] public void SetNcResolutionFeedPerTooth() SetNcResolutionFixed(double, double) Sets NC resolution to fixed mode with specified resolution values. [HttpPost] 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)\")] [HttpPost] 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)\")] [HttpPost] 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. [NonAction] 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. [NonAction] public TimeShift ShiftTime_s(double seconds) Parameters seconds double Time in seconds Returns TimeShift Time shift object TrainMillingPara(SampleFlag, string, double) Trains milling parameters using the specified sample flag. [JsAce(\"TrainMillingPara(Fx|Fy|Fz, $1dstFile)\")] [HttpPost] public void TrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double outlierRatio = 2) Parameters sampleFlag SampleFlag Sample flag indicating which components to train dstRelFile string Destination relative file path outlierRatio double Outlier ratio for data filtering WarningMessage(string) Displays a warning message in the message host. [JsAce(\"WarningMessage($1message)\")] [HttpPost] 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\\\")\")] [HttpPost] 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)\")] [HttpPost] 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). [NonAction] 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\")] [HttpPost] 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.\")] [HttpPost] public void WriteStepFiles(string relFileTemplate = \"Output/[NcName].step.csv\") Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder" }, "api/Hi.MachiningProcs.SessionMessage.html": { "href": "api/Hi.MachiningProcs.SessionMessage.html", @@ -2002,7 +2002,7 @@ "api/Hi.MachiningSteps.IMachiningStepHost.html": { "href": "api/Hi.MachiningSteps.IMachiningStepHost.html", "title": "Interface IMachiningStepHost | HiAPI-C# 2025", - "summary": "Interface IMachiningStepHost Namespace Hi.MachiningSteps Assembly HiMech.dll Represents a host interface for milling steps that provides access to milling equipment and related resources. public interface IMachiningStepHost : IGetMachiningEquipment Inherited Members IGetMachiningEquipment.GetMillingEquipment() 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 ClStrip ClStrip ClStrip { get; } Property Value ClStrip DictionaryColorGuide Gets the color guide for dictionary-based coloring. DictionaryColorGuide DictionaryColorGuide { get; } Property Value DictionaryColorGuide MachiningEquipment Gets the milling equipment used for machining operations. MachiningEquipment MachiningEquipment { get; } Property Value MachiningEquipment MachiningToolHouse Gets the tool house containing milling tools. MachiningToolHouse MachiningToolHouse { get; } Property Value MachiningToolHouse MillingStepLuggageReader Gets the parallel bulk reader for milling step luggage data. ParallelBulkReader MillingStepLuggageReader { get; } Property Value ParallelBulkReader TimeMapping Gets the time mapping for synchronization. TimeMapping TimeMapping { get; } Property Value TimeMapping" + "summary": "Interface IMachiningStepHost Namespace Hi.MachiningSteps Assembly HiMech.dll Represents a host interface for milling steps that provides access to milling equipment and related resources. public interface IMachiningStepHost : IGetMachiningEquipment Inherited Members IGetMachiningEquipment.GetMillingEquipment() 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 ClStrip ClStrip ClStrip { get; } Property Value ClStrip DictionaryColorGuide Gets the color guide for dictionary-based coloring. DictionaryColorGuide DictionaryColorGuide { get; } Property Value DictionaryColorGuide MachiningEquipment Gets the milling equipment used for machining operations. MachiningEquipment MachiningEquipment { get; } Property Value MachiningEquipment MachiningSession Gets the current machining session. MachiningSession MachiningSession { get; } Property Value MachiningSession MachiningToolHouse Gets the tool house containing milling tools. MachiningToolHouse MachiningToolHouse { get; } Property Value MachiningToolHouse MillingStepLuggageReader Gets the parallel bulk reader for milling step luggage data. ParallelBulkReader MillingStepLuggageReader { get; } Property Value ParallelBulkReader TimeMapping Gets the time mapping for synchronization. TimeMapping TimeMapping { get; } Property Value TimeMapping" }, "api/Hi.MachiningSteps.MachineMotionStep.html": { "href": "api/Hi.MachiningSteps.MachineMotionStep.html", @@ -2017,7 +2017,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. 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 millingPhysicsStep, 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. millingPhysicsStep 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 Gets the accumulated time. [Present(\"Time\", null, PhysicsUnit.None, \"G\")] [JsAce(ClassExt = \"MachiningStep\")] public TimeSpan AccumulatedTime { get; } 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? 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 [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. [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 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_radds() Gets the spindle speed in radians per second. public double GetSpindleSpeed_radds() Returns double Spindle speed in rad/s" + "summary": "Class MachiningStep Namespace Hi.MachiningSteps Assembly HiMech.dll Represents a machining step enriched with physics, mapping and source metadata. 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 millingPhysicsStep, 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. millingPhysicsStep 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 Gets the accumulated time. [Present(\"Time\", null, PhysicsUnit.None, \"G\")] [JsAce(ClassExt = \"MachiningStep\")] public TimeSpan AccumulatedTime { get; } 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 [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 [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. [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 ReliefFaceCollidingAngle_deg [Present(\"Relief Face Colliding Angle\", \"Rlf.C.A.\", PhysicsUnit.deg, \"G4\")] [JsAce(ClassExt = \"MachiningStep\")] public double? ReliefFaceCollidingAngle_deg { 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_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. Unlike the modification within the script (script command in NC code or RuntimeApi), the setting is not applied to the further step. 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", @@ -2812,7 +2812,7 @@ "api/Hi.MillingForces.MillingPhysicsBrief.html": { "href": "api/Hi.MillingForces.MillingPhysicsBrief.html", "title": "Class MillingPhysicsBrief | HiAPI-C# 2025", - "summary": "Class MillingPhysicsBrief Namespace Hi.MillingForces Assembly HiMech.dll Instant Physics brief on rake face for milling. public class MillingPhysicsBrief Inheritance object MillingPhysicsBrief 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 MillingPhysicsBrief() Ctor. public MillingPhysicsBrief() MillingPhysicsBrief(int) Initializes a new instance of the MillingPhysicsBrief class with a specified rotation division number. public MillingPhysicsBrief(int rotationDivisionNum) Parameters rotationDivisionNum int The number of divisions for rotation calculations. Properties AvgAbsForce_N Gets the average absolute force in Newtons. public double AvgAbsForce_N { get; } Property Value double AvgAbsMomentAboutSensorVec3d_Nm Gets the average absolute moment about the sensor as a 3D vector in Newton-meters. public Vec3d AvgAbsMomentAboutSensorVec3d_Nm { get; } Property Value Vec3d AvgAbsMomentXAboutSensorOnSpindleRotationCoordinate_Nm Gets the average absolute moment about the sensor on spindle rotation coordinate in Newton-meters. public double AvgAbsMomentXAboutSensorOnSpindleRotationCoordinate_Nm { get; } Property Value double AvgAbsMomentXAboutToolTipOnSpindleRotationCoordinate_Nm Gets the average absolute moment about the tool tip on spindle rotation coordinate in Newton-meters. public double AvgAbsMomentXAboutToolTipOnSpindleRotationCoordinate_Nm { get; } Property Value double AvgAbsTorqueOnSpindleRotationCoordinate_Nm Gets the average of abs spindle axial torque on Spindle rotation coordinate. public double AvgAbsTorqueOnSpindleRotationCoordinate_Nm { get; } Property Value double AvgContactEdgeLengthPerFlute_mm Gets the average contact edge length per flute in millimeters. public double AvgContactEdgeLengthPerFlute_mm { get; } Property Value double AvgForceToToolOnToolRunningCoordinate_N Avg cutting force to tool on tool running coordinate. public Vec3d AvgForceToToolOnToolRunningCoordinate_N { get; } Property Value Vec3d AvgMomentAboutSensor_Nm Gets the average moment about the sensor in Newton-meters. public double AvgMomentAboutSensor_Nm { get; } Property Value double AvgMomentAboutToolTipOnProgramCoordinate_Nm Gets the average moment about the tool tip on program coordinate in Newton-meters. public Vec3d AvgMomentAboutToolTipOnProgramCoordinate_Nm { get; } Property Value Vec3d AvgMomentAboutToolTipOnToolRunningCoordinate_Nm Gets the average moment about the tool tip on tool running coordinate in Newton-meters. public Vec3d AvgMomentAboutToolTipOnToolRunningCoordinate_Nm { get; } Property Value Vec3d AvgMomentAboutToolTip_Nm Gets the average moment about the tool tip in the program coordinate system, measured in Newton-meters. public double AvgMomentAboutToolTip_Nm { get; } Property Value double AvgMomentXyAboutObservationPoint Gets the average moment about the tool tip in the program coordinate system, measured in Newton-meters. public double AvgMomentXyAboutObservationPoint { get; } Property Value double AvgRadialForcePerFluteToTool_N Gets the average radial force per flute applied to the tool in Newtons. public double AvgRadialForcePerFluteToTool_N { get; } Property Value double ChipMass_g Gets or sets the chip mass in grams. public double ChipMass_g { get; } Property Value double ChipThickness_mm Gets or sets the actual chip thickness in millimeters after cutting. public double ChipThickness_mm { get; } Property Value double ChipVolume_mm3 ChipVolume_mm3 per flute. public double ChipVolume_mm3 { get; } Property Value double DeltaTipDeflectionOnToolRunningCoordinate_mm Gets the delta tip deflection on tool running coordinate in millimeters. public Vec3d DeltaTipDeflectionOnToolRunningCoordinate_mm { get; } Property Value Vec3d FrictionPower_W friction power takes by workpiece per cycle. the unit is watt. public double FrictionPower_W { get; } Property Value double InfInsistentSpindlePowerRatio Spindle Torque Ratio from spindle power capability on infinite insistency boundary. public double InfInsistentSpindlePowerRatio { get; } Property Value double InfInsistentSpindleTorqueRatio Spindle Torque Ratio from spindle torque capability on infinite insistency boundary. public double InfInsistentSpindleTorqueRatio { get; } Property Value double IsReliefFaceCollided public bool? IsReliefFaceCollided { get; } Property Value bool? MaxAbsForce_N Gets the maximum absolute force in Newtons. public double MaxAbsForce_N { get; } Property Value double MaxAxialTorqueOnToolRunningCoordinateZero_Nm Gets the maximum axial torque at the tool running coordinate origin in Newton-meters. public double MaxAxialTorqueOnToolRunningCoordinateZero_Nm { get; } Property Value double MaxCompetingCuttingForceOnToolRunningCoordinate_N Gets the maximum competing cutting force on tool running coordinate in Newtons. This represents the second-strongest force during the cutting cycle. public Vec3d MaxCompetingCuttingForceOnToolRunningCoordinate_N { get; } Property Value Vec3d MaxForceOnToolRunningCoordinate_N Gets the maximum force on the tool running coordinate in Newtons. public Vec3d MaxForceOnToolRunningCoordinate_N { get; } Property Value Vec3d MaxMomentAboutSensor_Nm Gets the maximum moment about the sensor in Newton-meters. public double MaxMomentAboutSensor_Nm { get; } Property Value double MaxMomentAboutToolTip_Nm Gets the maximum moment about the tool tip in Newton-meters. public double MaxMomentAboutToolTip_Nm { get; } Property Value double MaxSpindlePowerRatio Spindle Torque Ratio from max spindle power capability. public double MaxSpindlePowerRatio { get; } Property Value double MaxSpindleTorqueRatio Spindle Torque Ratio from max spindle torque capability. public double MaxSpindleTorqueRatio { get; } Property Value double RakeFaceCycleAvgContactArea_mm2 contact area along cutter outside contact point to circle center direction. The average is for each rotation angle. This property is for computing heat transfer. public double RakeFaceCycleAvgContactArea_mm2 { get; } Property Value double ReliefFaceCollidingVelocity_mmds Internal Use Only. The velocity is recorded here for optimzation. public double ReliefFaceCollidingVelocity_mmds { get; } Property Value double RotationAngleInterval_deg Delta angle in degree. The value is 360 / RotationDivisionNum. public double RotationAngleInterval_deg { get; } Property Value double RotationAngleInterval_rad Delta angle in radian. The value is 2 * pi / RotationDivisionNum. public double RotationAngleInterval_rad { get; } Property Value double RotationDivisionNum Gets the number of divisions used for rotation calculations. public int RotationDivisionNum { get; } Property Value int UncutChipThickness_mm Gets or sets the uncut chip thickness in millimeters. public double UncutChipThickness_mm { get; } Property Value double WorkpiecePlasticDepth_mm Positive value for compression. Negative value for tension. public double WorkpiecePlasticDepth_mm { get; } Property Value double YieldStressMinHeight_mm While computing cutter yielding, the small radial radius near the tool tip may cause singular computation. a small arbitrary gap is set to avoid the singular behavior. public static double YieldStressMinHeight_mm { get; set; } Property Value double YieldingStressRatio Gets the yielding stress ratio. public double YieldingStressRatio { get; } Property Value double Methods BuildNonSeqExtension(IMachiningTool, WorkpieceMaterial, SpindleCapability, SpindleSpeedCache, MachineMotionStep, MillingForceLuggage) Internal use. Build extended data. In single thread, no need to use the function. In multi thread, call it before going to un-safe area. public void BuildNonSeqExtension(IMachiningTool millingTool, WorkpieceMaterial workpieceMaterial, SpindleCapability spindleCapability, SpindleSpeedCache spindleSpeedCache, MachineMotionStep machineStep, MillingForceLuggage luggage) Parameters millingTool IMachiningTool workpieceMaterial WorkpieceMaterial spindleCapability SpindleCapability spindleSpeedCache SpindleSpeedCache machineStep MachineMotionStep luggage MillingForceLuggage GetAbsAxialPower_W() Gets the absolute axial power in Watts. public double GetAbsAxialPower_W() Returns double Absolute axial power in Watts. GetAvgForceToWorkpieceOnProgramCoordinate(MachineMotionStep) Avg cutting force on workpiece coordinate. public Vec3d GetAvgForceToWorkpieceOnProgramCoordinate(MachineMotionStep machineStep) Parameters machineStep MachineMotionStep Returns Vec3d GetAxialPowerTakenByWorkpiece_W() Gets the axial power taken by workpiece in Watts. public double GetAxialPowerTakenByWorkpiece_W() Returns double Axial power taken by workpiece in Watts. GetDeflectionTransformOnWorkpieceGeomCoordinate(IMachiningTool, WorkpieceMaterial, MachineMotionStep, Func) Gets the deflection transformation matrix in the workpiece geometric coordinate system. public Mat4d GetDeflectionTransformOnWorkpieceGeomCoordinate(IMachiningTool millingTool, WorkpieceMaterial workpieceMaterial, MachineMotionStep machineStep, Func luggageFunc) Parameters millingTool IMachiningTool The milling tool. workpieceMaterial WorkpieceMaterial The workpiece material. machineStep MachineMotionStep The machining step. luggageFunc Func Function to get the milling force luggage. Returns Mat4d The deflection transformation matrix. GetIndexAtMaxCuttingForce() Gets the index at which the maximum cutting force occurs. public int GetIndexAtMaxCuttingForce() Returns int The index of the maximum cutting force. GetInputSpindlePower_W(SpindleCapability) Gets the input spindle power in Watts. public double GetInputSpindlePower_W(SpindleCapability spindleCapability) Parameters spindleCapability SpindleCapability The spindle capability information. Returns double Input spindle power in Watts. GetMaxAbsForceSlope_NdDeg(MachiningToolHouse, WorkpieceMaterial, MachineMotionStep, Func) Absolute max force changed per degree. public double GetMaxAbsForceSlope_NdDeg(MachiningToolHouse toolHouse, WorkpieceMaterial workpieceMaterial, MachineMotionStep machineStep, Func luggageFunc) Parameters toolHouse MachiningToolHouse workpieceMaterial WorkpieceMaterial machineStep MachineMotionStep luggageFunc Func Returns double GetMaxBottomEdgeDeflectionOnToolRunningCoordinate_mm(IMachiningTool, WorkpieceMaterial, MachineMotionStep, Func) Gets the maximum deflection of the bottom edge in the tool running coordinate system. public Vec3d GetMaxBottomEdgeDeflectionOnToolRunningCoordinate_mm(IMachiningTool millingTool, WorkpieceMaterial workpieceMaterial, MachineMotionStep machineStep, Func luggageFunc) Parameters millingTool IMachiningTool The milling tool to get the deflection for. workpieceMaterial WorkpieceMaterial The workpiece material. machineStep MachineMotionStep The machining step. luggageFunc Func Function to get the milling force luggage. Returns Vec3d The maximum deflection vector in millimeters. GetMaxDeflectionTransformOnToolRunningCoordinate(IMachiningTool, WorkpieceMaterial, MachineMotionStep, Func) GetDeflectionTransformationByTipMovementOnToolRunningCoordinate public Mat4d GetMaxDeflectionTransformOnToolRunningCoordinate(IMachiningTool millingTool_, WorkpieceMaterial workpieceMaterial, MachineMotionStep machineStep, Func luggageFunc) Parameters millingTool_ IMachiningTool workpieceMaterial WorkpieceMaterial machineStep MachineMotionStep luggageFunc Func Returns Mat4d GetMaxTipDeflectionOnToolRunningCoordinate_mm(IMachiningTool) Gets the maximum deflection of the tool tip in the tool running coordinate system. public Vec3d GetMaxTipDeflectionOnToolRunningCoordinate_mm(IMachiningTool millingTool) Parameters millingTool IMachiningTool The milling tool to get the deflection for. Returns Vec3d The maximum deflection vector in millimeters. PowerWithoutFriction_W() Gets the power without friction in watts, calculated as axial power taken by workpiece minus friction power. public double PowerWithoutFriction_W() Returns double" + "summary": "Class MillingPhysicsBrief Namespace Hi.MillingForces Assembly HiMech.dll Instant Physics brief on rake face for milling. public class MillingPhysicsBrief Inheritance object MillingPhysicsBrief 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 MillingPhysicsBrief() Ctor. public MillingPhysicsBrief() MillingPhysicsBrief(int) Initializes a new instance of the MillingPhysicsBrief class with a specified rotation division number. public MillingPhysicsBrief(int rotationDivisionNum) Parameters rotationDivisionNum int The number of divisions for rotation calculations. Properties AvgAbsForce_N Gets the average absolute force in Newtons. public double AvgAbsForce_N { get; } Property Value double AvgAbsMomentAboutSensorVec3d_Nm Gets the average absolute moment about the sensor as a 3D vector in Newton-meters. public Vec3d AvgAbsMomentAboutSensorVec3d_Nm { get; } Property Value Vec3d AvgAbsMomentXAboutSensorOnSpindleRotationCoordinate_Nm Gets the average absolute moment about the sensor on spindle rotation coordinate in Newton-meters. public double AvgAbsMomentXAboutSensorOnSpindleRotationCoordinate_Nm { get; } Property Value double AvgAbsMomentXAboutToolTipOnSpindleRotationCoordinate_Nm Gets the average absolute moment about the tool tip on spindle rotation coordinate in Newton-meters. public double AvgAbsMomentXAboutToolTipOnSpindleRotationCoordinate_Nm { get; } Property Value double AvgAbsTorqueOnSpindleRotationCoordinate_Nm Gets the average of abs spindle axial torque on Spindle rotation coordinate. public double AvgAbsTorqueOnSpindleRotationCoordinate_Nm { get; } Property Value double AvgContactEdgeLengthPerFlute_mm Gets the average contact edge length per flute in millimeters. public double AvgContactEdgeLengthPerFlute_mm { get; } Property Value double AvgForceToToolOnToolRunningCoordinate_N Avg cutting force to tool on tool running coordinate. public Vec3d AvgForceToToolOnToolRunningCoordinate_N { get; } Property Value Vec3d AvgMomentAboutSensor_Nm Gets the average moment about the sensor in Newton-meters. public double AvgMomentAboutSensor_Nm { get; } Property Value double AvgMomentAboutToolTipOnProgramCoordinate_Nm Gets the average moment about the tool tip on program coordinate in Newton-meters. public Vec3d AvgMomentAboutToolTipOnProgramCoordinate_Nm { get; } Property Value Vec3d AvgMomentAboutToolTipOnToolRunningCoordinate_Nm Gets the average moment about the tool tip on tool running coordinate in Newton-meters. public Vec3d AvgMomentAboutToolTipOnToolRunningCoordinate_Nm { get; } Property Value Vec3d AvgMomentAboutToolTip_Nm Gets the average moment about the tool tip in the program coordinate system, measured in Newton-meters. public double AvgMomentAboutToolTip_Nm { get; } Property Value double AvgMomentXyAboutObservationPoint Gets the average moment about the tool tip in the program coordinate system, measured in Newton-meters. public double AvgMomentXyAboutObservationPoint { get; } Property Value double AvgRadialForcePerFluteToTool_N Gets the average radial force per flute applied to the tool in Newtons. public double AvgRadialForcePerFluteToTool_N { get; } Property Value double ChipMass_g Gets or sets the chip mass in grams. public double ChipMass_g { get; } Property Value double ChipThickness_mm Gets or sets the actual chip thickness in millimeters after cutting. public double ChipThickness_mm { get; } Property Value double ChipVolume_mm3 ChipVolume_mm3 per flute. public double ChipVolume_mm3 { get; } Property Value double DeltaTipDeflectionOnToolRunningCoordinate_mm Gets the delta tip deflection on tool running coordinate in millimeters. public Vec3d DeltaTipDeflectionOnToolRunningCoordinate_mm { get; } Property Value Vec3d FrictionPower_W friction power takes by workpiece per cycle. the unit is watt. public double FrictionPower_W { get; } Property Value double InfInsistentSpindlePowerRatio Spindle Torque Ratio from spindle power capability on infinite insistency boundary. public double InfInsistentSpindlePowerRatio { get; } Property Value double InfInsistentSpindleTorqueRatio Spindle Torque Ratio from spindle torque capability on infinite insistency boundary. public double InfInsistentSpindleTorqueRatio { get; } Property Value double IsReliefFaceCollided public bool? IsReliefFaceCollided { get; } Property Value bool? MaxAbsForce_N Gets the maximum absolute force in Newtons. public double MaxAbsForce_N { get; } Property Value double MaxAxialTorqueOnToolRunningCoordinateZero_Nm Gets the maximum axial torque at the tool running coordinate origin in Newton-meters. public double MaxAxialTorqueOnToolRunningCoordinateZero_Nm { get; } Property Value double MaxCompetingCuttingForceOnToolRunningCoordinate_N Gets the maximum competing cutting force on tool running coordinate in Newtons. This represents the second-strongest force during the cutting cycle. public Vec3d MaxCompetingCuttingForceOnToolRunningCoordinate_N { get; } Property Value Vec3d MaxForceOnToolRunningCoordinate_N Gets the maximum force on the tool running coordinate in Newtons. public Vec3d MaxForceOnToolRunningCoordinate_N { get; } Property Value Vec3d MaxMomentAboutSensor_Nm Gets the maximum moment about the sensor in Newton-meters. public double MaxMomentAboutSensor_Nm { get; } Property Value double MaxMomentAboutToolTip_Nm Gets the maximum moment about the tool tip in Newton-meters. public double MaxMomentAboutToolTip_Nm { get; } Property Value double MaxSpindlePowerRatio Spindle Torque Ratio from max spindle power capability. public double MaxSpindlePowerRatio { get; } Property Value double MaxSpindleTorqueRatio Spindle Torque Ratio from max spindle torque capability. public double MaxSpindleTorqueRatio { get; } Property Value double RakeFaceCycleAvgContactArea_mm2 contact area along cutter outside contact point to circle center direction. The average is for each rotation angle. This property is for computing heat transfer. public double RakeFaceCycleAvgContactArea_mm2 { get; } Property Value double ReliefFaceCollidingAngle_deg public double? ReliefFaceCollidingAngle_deg { get; } Property Value double? ReliefFaceCollidingAngle_rad The negative value means there is no relief face collision. public double? ReliefFaceCollidingAngle_rad { get; } Property Value double? RotationAngleInterval_deg Delta angle in degree. The value is 360 / RotationDivisionNum. public double RotationAngleInterval_deg { get; } Property Value double RotationAngleInterval_rad Delta angle in radian. The value is 2 * pi / RotationDivisionNum. public double RotationAngleInterval_rad { get; } Property Value double RotationDivisionNum Gets the number of divisions used for rotation calculations. public int RotationDivisionNum { get; } Property Value int UncutChipThickness_mm Gets or sets the uncut chip thickness in millimeters. public double UncutChipThickness_mm { get; } Property Value double WorkpiecePlasticDepth_mm Positive value for compression. Negative value for tension. public double WorkpiecePlasticDepth_mm { get; } Property Value double YieldStressMinHeight_mm While computing cutter yielding, the small radial radius near the tool tip may cause singular computation. a small arbitrary gap is set to avoid the singular behavior. public static double YieldStressMinHeight_mm { get; set; } Property Value double YieldingStressRatio Gets the yielding stress ratio. public double YieldingStressRatio { get; } Property Value double Methods BuildNonSeqExtension(IMachiningTool, WorkpieceMaterial, SpindleCapability, SpindleSpeedCache, MachineMotionStep, MillingForceLuggage) Internal use. Build extended data. In single thread, no need to use the function. In multi thread, call it before going to un-safe area. public void BuildNonSeqExtension(IMachiningTool millingTool, WorkpieceMaterial workpieceMaterial, SpindleCapability spindleCapability, SpindleSpeedCache spindleSpeedCache, MachineMotionStep machineStep, MillingForceLuggage luggage) Parameters millingTool IMachiningTool workpieceMaterial WorkpieceMaterial spindleCapability SpindleCapability spindleSpeedCache SpindleSpeedCache machineStep MachineMotionStep luggage MillingForceLuggage GetAbsAxialPower_W() Gets the absolute axial power in Watts. public double GetAbsAxialPower_W() Returns double Absolute axial power in Watts. GetAvgForceToWorkpieceOnProgramCoordinate(MachineMotionStep) Avg cutting force on workpiece coordinate. public Vec3d GetAvgForceToWorkpieceOnProgramCoordinate(MachineMotionStep machineStep) Parameters machineStep MachineMotionStep Returns Vec3d GetAxialPowerTakenByWorkpiece_W() Gets the axial power taken by workpiece in Watts. public double GetAxialPowerTakenByWorkpiece_W() Returns double Axial power taken by workpiece in Watts. GetDeflectionTransformOnWorkpieceGeomCoordinate(IMachiningTool, WorkpieceMaterial, MachineMotionStep, Func) Gets the deflection transformation matrix in the workpiece geometric coordinate system. public Mat4d GetDeflectionTransformOnWorkpieceGeomCoordinate(IMachiningTool millingTool, WorkpieceMaterial workpieceMaterial, MachineMotionStep machineStep, Func luggageFunc) Parameters millingTool IMachiningTool The milling tool. workpieceMaterial WorkpieceMaterial The workpiece material. machineStep MachineMotionStep The machining step. luggageFunc Func Function to get the milling force luggage. Returns Mat4d The deflection transformation matrix. GetIndexAtMaxCuttingForce() Gets the index at which the maximum cutting force occurs. public int GetIndexAtMaxCuttingForce() Returns int The index of the maximum cutting force. GetInputSpindlePower_W(SpindleCapability) Gets the input spindle power in Watts. public double GetInputSpindlePower_W(SpindleCapability spindleCapability) Parameters spindleCapability SpindleCapability The spindle capability information. Returns double Input spindle power in Watts. GetMaxAbsForceSlope_NdDeg(MachiningToolHouse, WorkpieceMaterial, MachineMotionStep, Func) Absolute max force changed per degree. public double GetMaxAbsForceSlope_NdDeg(MachiningToolHouse toolHouse, WorkpieceMaterial workpieceMaterial, MachineMotionStep machineStep, Func luggageFunc) Parameters toolHouse MachiningToolHouse workpieceMaterial WorkpieceMaterial machineStep MachineMotionStep luggageFunc Func Returns double GetMaxBottomEdgeDeflectionOnToolRunningCoordinate_mm(IMachiningTool, WorkpieceMaterial, MachineMotionStep, Func) Gets the maximum deflection of the bottom edge in the tool running coordinate system. public Vec3d GetMaxBottomEdgeDeflectionOnToolRunningCoordinate_mm(IMachiningTool millingTool, WorkpieceMaterial workpieceMaterial, MachineMotionStep machineStep, Func luggageFunc) Parameters millingTool IMachiningTool The milling tool to get the deflection for. workpieceMaterial WorkpieceMaterial The workpiece material. machineStep MachineMotionStep The machining step. luggageFunc Func Function to get the milling force luggage. Returns Vec3d The maximum deflection vector in millimeters. GetMaxDeflectionTransformOnToolRunningCoordinate(IMachiningTool, WorkpieceMaterial, MachineMotionStep, Func) GetDeflectionTransformationByTipMovementOnToolRunningCoordinate public Mat4d GetMaxDeflectionTransformOnToolRunningCoordinate(IMachiningTool millingTool_, WorkpieceMaterial workpieceMaterial, MachineMotionStep machineStep, Func luggageFunc) Parameters millingTool_ IMachiningTool workpieceMaterial WorkpieceMaterial machineStep MachineMotionStep luggageFunc Func Returns Mat4d GetMaxTipDeflectionOnToolRunningCoordinate_mm(IMachiningTool) Gets the maximum deflection of the tool tip in the tool running coordinate system. public Vec3d GetMaxTipDeflectionOnToolRunningCoordinate_mm(IMachiningTool millingTool) Parameters millingTool IMachiningTool The milling tool to get the deflection for. Returns Vec3d The maximum deflection vector in millimeters. PowerWithoutFriction_W() Gets the power without friction in watts, calculated as axial power taken by workpiece minus friction power. public double PowerWithoutFriction_W() Returns double" }, "api/Hi.MillingForces.PhysicsUtil.html": { "href": "api/Hi.MillingForces.PhysicsUtil.html", @@ -3317,12 +3317,12 @@ "api/Hi.NcOpt.FixedFeedPerCycleOptLimit.html": { "href": "api/Hi.NcOpt.FixedFeedPerCycleOptLimit.html", "title": "Class FixedFeedPerCycleOptLimit | HiAPI-C# 2025", - "summary": "Class FixedFeedPerCycleOptLimit Namespace Hi.NcOpt Assembly HiMech.dll Represents fixed feed-per-cycle optimization limits. Provides implementation for feed-per-cycle optimization with fixed minimum and maximum values. public class FixedFeedPerCycleOptLimit : IFeedPerToothOptLimit, IMakeXmlSource, IDuplicate, IClearCache, IToXElement Inheritance object FixedFeedPerCycleOptLimit Implements IFeedPerToothOptLimit IMakeXmlSource IDuplicate IClearCache IToXElement 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 FixedFeedPerCycleOptLimit(Func, double) Initializes a new instance of the FixedFeedPerCycleOptLimit class with specified parameters. public FixedFeedPerCycleOptLimit(Func fluteNumFunc, double maxFeedPerCycle_mm) Parameters fluteNumFunc Func Function that returns the number of flutes maxFeedPerCycle_mm double Maximum feed per cycle in millimeters FixedFeedPerCycleOptLimit(XElement, string, MillingCutter) Ctor. public FixedFeedPerCycleOptLimit(XElement src, string baseDirectory, MillingCutter cutter) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths cutter MillingCutter The milling cutter to use for flute number calculation Properties FluteNum Gets the number of flutes. public int FluteNum { get; } Property Value int MaxFeedPerCycle_mm Gets or sets the maximum feed per cycle value in millimeters. public double MaxFeedPerCycle_mm { get; set; } Property Value double MinFeedPerCycle_mm Gets or sets the minimum feed per cycle value in millimeters. public double MinFeedPerCycle_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() 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 GetMaxFeedPerTooth_mm() Gets the maximum feed per tooth value in millimeters. public double GetMaxFeedPerTooth_mm() Returns double The maximum feed per tooth value in millimeters. GetMinFeedPerTooth_mm() Gets the minimum feed per tooth value in millimeters. public double GetMinFeedPerTooth_mm() Returns double The minimum feed per tooth value in millimeters. 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. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class FixedFeedPerCycleOptLimit Namespace Hi.NcOpt Assembly HiMech.dll Represents fixed feed-per-cycle optimization limits. Provides implementation for feed-per-cycle optimization with fixed minimum and maximum values. public class FixedFeedPerCycleOptLimit : IFeedPerToothOptLimit, IMakeXmlSource, IDuplicate, IClearCache, IToXElement Inheritance object FixedFeedPerCycleOptLimit Implements IFeedPerToothOptLimit IMakeXmlSource IDuplicate IClearCache IToXElement 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 FixedFeedPerCycleOptLimit(Func, double) Initializes a new instance of the FixedFeedPerCycleOptLimit class with specified parameters. public FixedFeedPerCycleOptLimit(Func fluteNumFunc, double maxFeedPerCycle_mm) Parameters fluteNumFunc Func Function that returns the number of flutes maxFeedPerCycle_mm double Maximum feed per cycle in millimeters FixedFeedPerCycleOptLimit(XElement, string, MillingCutter) Ctor. public FixedFeedPerCycleOptLimit(XElement src, string baseDirectory, MillingCutter cutter) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths cutter MillingCutter The milling cutter to use for flute number calculation Properties FluteNum Gets the number of flutes. public int FluteNum { get; } Property Value int MaxFeedPerCycle_mm Gets or sets the maximum feed per cycle value in millimeters. public double MaxFeedPerCycle_mm { get; set; } Property Value double MinFeedPerCycle_mm Gets or sets the minimum feed per cycle value in millimeters. public double MinFeedPerCycle_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() 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 GetMaxFeedPerTooth_mm() Gets the maximum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MaxFeedPerTooth_mm, The smaller value will be applied in the optimization process. public double GetMaxFeedPerTooth_mm() Returns double The maximum feed per tooth value in millimeters. GetMinFeedPerTooth_mm() Gets the minimum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MinFeedPerTooth_mm, The larger value will be applied in the optimization process. public double GetMinFeedPerTooth_mm() Returns double The minimum feed per tooth value in millimeters. 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. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.NcOpt.FixedFeedPerToothOptLimit.html": { "href": "api/Hi.NcOpt.FixedFeedPerToothOptLimit.html", "title": "Class FixedFeedPerToothOptLimit | HiAPI-C# 2025", - "summary": "Class FixedFeedPerToothOptLimit Namespace Hi.NcOpt Assembly HiMech.dll Represents fixed feed-per-tooth optimization limits. Provides implementation for feed-per-tooth optimization with fixed minimum and maximum values. public class FixedFeedPerToothOptLimit : IFeedPerToothOptLimit, IMakeXmlSource, IDuplicate, IToXElement Inheritance object FixedFeedPerToothOptLimit Implements IFeedPerToothOptLimit IMakeXmlSource IDuplicate IToXElement 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 FixedFeedPerToothOptLimit() Ctor. public FixedFeedPerToothOptLimit() FixedFeedPerToothOptLimit(XElement, string) Initializes a new instance of the FixedFeedPerToothOptLimit class. public FixedFeedPerToothOptLimit(XElement element, string baseDirectory) Parameters element XElement The XML element containing optimization limit data. baseDirectory string The base directory for resolving relative paths. Properties MaxFeedPerTooth_mm Gets or sets the maximum feed per tooth value in millimeters. public double MaxFeedPerTooth_mm { get; set; } Property Value double MinFeedPerTooth_mm Gets or sets the minimum feed per tooth value in millimeters. public double MinFeedPerTooth_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods 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 GetMaxFeedPerTooth_mm() Gets the maximum feed per tooth value in millimeters. public double GetMaxFeedPerTooth_mm() Returns double The maximum feed per tooth value in millimeters. GetMinFeedPerTooth_mm() Gets the minimum feed per tooth value in millimeters. public double GetMinFeedPerTooth_mm() Returns double The minimum feed per tooth value in millimeters. 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. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class FixedFeedPerToothOptLimit Namespace Hi.NcOpt Assembly HiMech.dll Represents fixed feed-per-tooth optimization limits. Provides implementation for feed-per-tooth optimization with fixed minimum and maximum values. public class FixedFeedPerToothOptLimit : IFeedPerToothOptLimit, IMakeXmlSource, IDuplicate, IToXElement Inheritance object FixedFeedPerToothOptLimit Implements IFeedPerToothOptLimit IMakeXmlSource IDuplicate IToXElement 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 FixedFeedPerToothOptLimit() Ctor. public FixedFeedPerToothOptLimit() FixedFeedPerToothOptLimit(XElement, string) Initializes a new instance of the FixedFeedPerToothOptLimit class. public FixedFeedPerToothOptLimit(XElement element, string baseDirectory) Parameters element XElement The XML element containing optimization limit data. baseDirectory string The base directory for resolving relative paths. Properties MaxFeedPerTooth_mm Gets or sets the maximum feed per tooth value in millimeters. public double MaxFeedPerTooth_mm { get; set; } Property Value double MinFeedPerTooth_mm Gets or sets the minimum feed per tooth value in millimeters. public double MinFeedPerTooth_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods 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 GetMaxFeedPerTooth_mm() Gets the maximum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MaxFeedPerTooth_mm, The smaller value will be applied in the optimization process. public double GetMaxFeedPerTooth_mm() Returns double The maximum feed per tooth value in millimeters. GetMinFeedPerTooth_mm() Gets the minimum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MinFeedPerTooth_mm, The larger value will be applied in the optimization process. public double GetMinFeedPerTooth_mm() Returns double The minimum feed per tooth value in millimeters. 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. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.NcOpt.ICutterOptLimit.html": { "href": "api/Hi.NcOpt.ICutterOptLimit.html", @@ -3342,17 +3342,17 @@ "api/Hi.NcOpt.IFeedPerToothOptLimit.html": { "href": "api/Hi.NcOpt.IFeedPerToothOptLimit.html", "title": "Interface IFeedPerToothOptLimit | HiAPI-C# 2025", - "summary": "Interface IFeedPerToothOptLimit Namespace Hi.NcOpt Assembly HiMech.dll 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. public interface IFeedPerToothOptLimit : IMakeXmlSource, IDuplicate Inherited Members IMakeXmlSource.MakeXmlSource(string, string, bool) IDuplicate.Duplicate(params 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) Methods GetMaxFeedPerTooth_mm() Gets the maximum feed per tooth value in millimeters. double GetMaxFeedPerTooth_mm() Returns double The maximum feed per tooth value in millimeters. GetMinFeedPerTooth_mm() Gets the minimum feed per tooth value in millimeters. double GetMinFeedPerTooth_mm() Returns double The minimum feed per tooth value in millimeters." + "summary": "Interface IFeedPerToothOptLimit Namespace Hi.NcOpt Assembly HiMech.dll 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. public interface IFeedPerToothOptLimit : IMakeXmlSource, IDuplicate Inherited Members IMakeXmlSource.MakeXmlSource(string, string, bool) IDuplicate.Duplicate(params 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) Methods GetMaxFeedPerTooth_mm() Gets the maximum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MaxFeedPerTooth_mm, The smaller value will be applied in the optimization process. double GetMaxFeedPerTooth_mm() Returns double The maximum feed per tooth value in millimeters. GetMinFeedPerTooth_mm() Gets the minimum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MinFeedPerTooth_mm, The larger value will be applied in the optimization process. double GetMinFeedPerTooth_mm() Returns double The minimum feed per tooth value in millimeters." }, "api/Hi.NcOpt.MillingCutterOptLimit.html": { "href": "api/Hi.NcOpt.MillingCutterOptLimit.html", "title": "Class MillingCutterOptLimit | HiAPI-C# 2025", - "summary": "Class MillingCutterOptLimit Namespace Hi.NcOpt Assembly HiMech.dll Represents optimization limits for milling cutters. public class MillingCutterOptLimit : ICutterOptLimit, IFeedPerToothOptLimit, IMakeXmlSource, IDuplicate, IClearCache, IToXElement Inheritance object MillingCutterOptLimit Implements ICutterOptLimit IFeedPerToothOptLimit IMakeXmlSource IDuplicate IClearCache IToXElement 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 MillingCutterOptLimit() Ctor with null properties. public MillingCutterOptLimit() MillingCutterOptLimit(XElement, string, string, MillingCutter) Initializes a new instance of the MillingCutterOptLimit class from XML. public MillingCutterOptLimit(XElement src, string baseDirectory, string relFile, MillingCutter cutter) Parameters src XElement XML element source. baseDirectory string Base directory. relFile string Relative file path. cutter MillingCutter Milling cutter. Properties EnableLimitByMinimumUncutChipThickness Gets or sets whether to limit by minimum uncut chip thickness. public bool EnableLimitByMinimumUncutChipThickness { get; set; } Property Value bool EnableOpt Gets or sets whether optimization is enabled. public bool EnableOpt { get; set; } Property Value bool MaxFeedPerTooth_mm Gets or sets the maximum feed per tooth in millimeters. public double MaxFeedPerTooth_mm { get; set; } Property Value double MinFeedPerTooth_mm Gets or sets the minimum feed per tooth in millimeters. public double MinFeedPerTooth_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string YieldingSafetyFactor Gets or sets the safety factor for yielding. public double YieldingSafetyFactor { get; set; } Property Value double Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() 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 Remarks res[0] has to be ICutter. GetMaxFeedPerTooth_mm() Gets the maximum feed per tooth value in millimeters. public double GetMaxFeedPerTooth_mm() Returns double The maximum feed per tooth value in millimeters. GetMinFeedPerTooth_mm() Gets the minimum feed per tooth value in millimeters. public double GetMinFeedPerTooth_mm() Returns double The minimum feed per tooth value in millimeters. 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. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class MillingCutterOptLimit Namespace Hi.NcOpt Assembly HiMech.dll Represents optimization limits for milling cutters. public class MillingCutterOptLimit : ICutterOptLimit, IFeedPerToothOptLimit, IMakeXmlSource, IDuplicate, IClearCache, IToXElement Inheritance object MillingCutterOptLimit Implements ICutterOptLimit IFeedPerToothOptLimit IMakeXmlSource IDuplicate IClearCache IToXElement 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 MillingCutterOptLimit() Ctor with null properties. public MillingCutterOptLimit() MillingCutterOptLimit(XElement, string, string, MillingCutter) Initializes a new instance of the MillingCutterOptLimit class from XML. public MillingCutterOptLimit(XElement src, string baseDirectory, string relFile, MillingCutter cutter) Parameters src XElement XML element source. baseDirectory string Base directory. relFile string Relative file path. cutter MillingCutter Milling cutter. Properties EnableLimitByMinimumUncutChipThickness Gets or sets whether to limit by minimum uncut chip thickness. public bool EnableLimitByMinimumUncutChipThickness { get; set; } Property Value bool EnableOpt Gets or sets whether optimization is enabled. public bool EnableOpt { get; set; } Property Value bool MaxFeedPerTooth_mm Gets or sets the maximum feed per tooth in millimeters. Gets the maximum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MaxFeedPerTooth_mm, The smaller value will be applied in the optimization process. public double MaxFeedPerTooth_mm { get; set; } Property Value double MinFeedPerTooth_mm Gets or sets the minimum feed per tooth in millimeters. Gets the minimum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MinFeedPerTooth_mm, The larger value will be applied in the optimization process. public double MinFeedPerTooth_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string YieldingSafetyFactor Gets or sets the safety factor for yielding. By the principle of conservation, if the value is different from the NcOptOption.YieldingSafetyFactor, The larger value will be applied in the optimization process. public double YieldingSafetyFactor { get; set; } Property Value double YieldingUtilizationFactor Gets or sets the utilization factor for yielding. It is the reciprocal of YieldingSafetyFactor. public double YieldingUtilizationFactor { get; set; } Property Value double Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() 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 Remarks res[0] has to be ICutter. GetMaxFeedPerTooth_mm() Gets the maximum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MaxFeedPerTooth_mm, The smaller value will be applied in the optimization process. public double GetMaxFeedPerTooth_mm() Returns double The maximum feed per tooth value in millimeters. GetMinFeedPerTooth_mm() Gets the minimum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MinFeedPerTooth_mm, The larger value will be applied in the optimization process. public double GetMinFeedPerTooth_mm() Returns double The minimum feed per tooth value in millimeters. 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. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.NcOpt.NcOptOption.html": { "href": "api/Hi.NcOpt.NcOptOption.html", "title": "Class NcOptOption | HiAPI-C# 2025", - "summary": "Class NcOptOption Namespace Hi.NcOpt Assembly HiMech.dll Represents the optimization options for NC operations. public class NcOptOption : IMakeXmlSource, IEquatable, IToXElement Inheritance object NcOptOption Implements IMakeXmlSource IEquatable IToXElement Inherited Members object.Equals(object, object) 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 NcOptOption() Ctor. public NcOptOption() NcOptOption(NcOptOption) Copy Ctor. public NcOptOption(NcOptOption src) Parameters src NcOptOption src NcOptOption(XElement) Initializes a new instance of the NcOptOption class from XML. public NcOptOption(XElement src) Parameters src XElement The XML element containing the option data. Properties CompensationMask Internal Use Only. Gets or sets the compensation mask for axis compensation. public int CompensationMask { get; set; } Property Value int EnableDepthCompensation Gets or sets whether depth compensation is enabled. public bool EnableDepthCompensation { get; set; } Property Value bool EnableDepthSplition Enables or disables depth splitting optimization. public bool EnableDepthSplition { get; set; } Property Value bool EnableForwardCompensation Gets or sets whether forward compensation is enabled. public bool EnableForwardCompensation { get; set; } Property Value bool EnableInterpolation Enables or disables interpolation. public bool EnableInterpolation { get; set; } Property Value bool EnableOpt Enables or disables the optimization process. public bool EnableOpt { get; set; } Property Value bool EnableOptFeedrate Enables or disables feedrate optimization. public bool EnableOptFeedrate { get; set; } Property Value bool EnableSideCompensation Gets or sets whether side compensation is enabled. public bool EnableSideCompensation { get; set; } Property Value bool ExtendedPostDistance_mm Gets or sets the extended post-distance in millimeters. public double ExtendedPostDistance_mm { get; set; } Property Value double ExtendedPreDistance_mm Gets or sets the extended pre-distance in millimeters. public double ExtendedPreDistance_mm { get; set; } Property Value double FeedrateAssignmentRatio The option takes effect if EnableInterpolation is true. If the feedrate changing exceeds this ratio, the Feedrate in the NC line will be updated. public double FeedrateAssignmentRatio { get; set; } Property Value double MaxAcceleration_mmds2 Gets or sets the maximum acceleration in millimeters per second squared. The typical CNC lathe or machining center has an acceleration of 0.2g (2 m/sec2). High speed machines have accelerations up to 2g (20 m/sec2). An arbitrary value 10mm/s2 is chosen for initial value. Note: 600mm/min=10mm/s. public double MaxAcceleration_mmds2 { get; set; } Property Value double MaxFeedrate_mmdmin Gets or sets the maximum feedrate in millimeters per minute. public double MaxFeedrate_mmdmin { get; set; } Property Value double MaxFeedrate_mmds Gets or sets the maximum feedrate in millimeters per second. public double MaxFeedrate_mmds { get; set; } Property Value double MaxJerk_mmds3 Gets or sets the maximum jerk in millimeters per second cubed. public double MaxJerk_mmds3 { get; set; } Property Value double MinFeedrate_mmdmin Gets or sets the minimum feedrate in millimeters per minute. public double MinFeedrate_mmdmin { get; set; } Property Value double MinFeedrate_mmds Gets or sets the minimum feedrate in millimeters per second. public double MinFeedrate_mmds { get; set; } Property Value double PreferedForce_N Gets or sets the preferred force in Newtons. public double PreferedForce_N { get; set; } Property Value double RapidFeed_mmdmin Gets or sets the rapid feed rate in millimeters per minute. public double RapidFeed_mmdmin { get; set; } Property Value double RapidFeed_mmds Gets or sets the rapid feed rate in millimeters per second. public double RapidFeed_mmds { get; set; } Property Value double SpindlePowerSafetyFactor Gets or sets the safety factor for spindle power. public double SpindlePowerSafetyFactor { get; set; } Property Value double SpindleTorqueSafetyFactor Gets or sets the safety factor for spindle torque. public double SpindleTorqueSafetyFactor { get; set; } Property Value double ThermalYieldSafetyFactor Gets or sets the safety factor for cutter thermal yield. public double ThermalYieldSafetyFactor { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate() Creates a new instance of NcOptOption by duplicating the current instance. public NcOptOption Duplicate() Returns NcOptOption A new NcOptOption instance with the same values as the current instance. Equals(NcOptOption) Indicates whether the current object is equal to another object of the same type. public bool Equals(NcOptOption other) Parameters other NcOptOption 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. GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. 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. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class NcOptOption Namespace Hi.NcOpt Assembly HiMech.dll Represents the optimization options for NC operations. public class NcOptOption : IMakeXmlSource, IEquatable, IToXElement Inheritance object NcOptOption Implements IMakeXmlSource IEquatable IToXElement Inherited Members object.Equals(object, object) 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 NcOptOption() Ctor. public NcOptOption() NcOptOption(NcOptOption) Copy Ctor. public NcOptOption(NcOptOption src) Parameters src NcOptOption src NcOptOption(XElement) Initializes a new instance of the NcOptOption class from XML. public NcOptOption(XElement src) Parameters src XElement The XML element containing the option data. Properties CompensationMask Internal Use Only. Gets or sets the compensation mask for axis compensation. public int CompensationMask { get; set; } Property Value int EnableDepthCompensation Gets or sets whether depth compensation is enabled. public bool EnableDepthCompensation { get; set; } Property Value bool EnableDepthSplition Enables or disables depth splitting optimization. public bool EnableDepthSplition { get; set; } Property Value bool EnableForwardCompensation Gets or sets whether forward compensation is enabled. public bool EnableForwardCompensation { get; set; } Property Value bool EnableInterpolation Enables or disables interpolation. public bool EnableInterpolation { get; set; } Property Value bool EnableOpt Enables or disables the optimization process. public bool EnableOpt { get; set; } Property Value bool EnableOptFeedrate Enables or disables feedrate optimization. public bool EnableOptFeedrate { get; set; } Property Value bool EnableSideCompensation Gets or sets whether side compensation is enabled. public bool EnableSideCompensation { get; set; } Property Value bool ExtendedPostDistance_mm Gets or sets the extended post-distance in millimeters. public double ExtendedPostDistance_mm { get; set; } Property Value double ExtendedPreDistance_mm Gets or sets the extended pre-distance in millimeters. public double ExtendedPreDistance_mm { get; set; } Property Value double FeedrateAssignmentRatio The option takes effect if EnableInterpolation is true. If the feedrate changing exceeds this ratio, the Feedrate in the NC line will be updated. public double FeedrateAssignmentRatio { get; set; } Property Value double MaxAcceleration_mmds2 Gets or sets the maximum acceleration in millimeters per second squared. The typical CNC lathe or machining center has an acceleration of 0.2g (2 m/sec2). High speed machines have accelerations up to 2g (20 m/sec2). An arbitrary value 10mm/s2 is chosen for initial value. Note: 600mm/min=10mm/s. public double MaxAcceleration_mmds2 { get; set; } Property Value double MaxFeedPerTooth_mm Gets or sets the maximum feed per tooth in millimeters. By the principle of conservation, if the value is different from the IFeedPerToothOptLimit.GetMaxFeedPerTooth_mm(), The smaller value will be applied in the optimization process. public double MaxFeedPerTooth_mm { get; set; } Property Value double MaxFeedrate_mmdmin Gets or sets the maximum feedrate in millimeters per minute. public double MaxFeedrate_mmdmin { get; set; } Property Value double MaxFeedrate_mmds Gets or sets the maximum feedrate in millimeters per second. public double MaxFeedrate_mmds { get; set; } Property Value double MaxJerk_mmds3 Gets or sets the maximum jerk in millimeters per second cubed. public double MaxJerk_mmds3 { get; set; } Property Value double MinFeedPerTooth_mm Gets or sets the minimum feed per tooth in millimeters. By the principle of conservation, if the value is different from the IFeedPerToothOptLimit.GetMinFeedPerTooth_mm(), The larger value will be applied in the optimization process. public double MinFeedPerTooth_mm { get; set; } Property Value double MinFeedrate_mmdmin Gets or sets the minimum feedrate in millimeters per minute. public double MinFeedrate_mmdmin { get; set; } Property Value double MinFeedrate_mmds public double MinFeedrate_mmds { get; set; } Property Value double PreferedForce_N Gets or sets the preferred force in Newtons. public double PreferedForce_N { get; set; } Property Value double RapidFeed_mmdmin Gets or sets the rapid feed rate in millimeters per minute. public double RapidFeed_mmdmin { get; set; } Property Value double RapidFeed_mmds Gets or sets the rapid feed rate in millimeters per second. public double RapidFeed_mmds { get; set; } Property Value double SpindlePowerSafetyFactor Gets or sets the safety factor for spindle power. public double SpindlePowerSafetyFactor { get; set; } Property Value double SpindlePowerUtilizationFactor Gets or sets the utilization factor for spindle power. It is the reciprocal of SpindlePowerSafetyFactor. public double SpindlePowerUtilizationFactor { get; set; } Property Value double SpindleTorqueSafetyFactor Gets or sets the safety factor for spindle torque. public double SpindleTorqueSafetyFactor { get; set; } Property Value double SpindleTorqueUtilizationFactor Gets or sets the utilization factor for spindle torque. It is the reciprocal of SpindleTorqueSafetyFactor. public double SpindleTorqueUtilizationFactor { get; set; } Property Value double ThermalYieldSafetyFactor Gets or sets the safety factor for cutter thermal yield. public double ThermalYieldSafetyFactor { get; set; } Property Value double ThermalYieldUtilizationFactor Gets or sets the safety bound for cutter thermal yield. It is the reciprocal of ThermalYieldSafetyFactor. public double ThermalYieldUtilizationFactor { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string YieldingSafetyFactor Gets or sets the safety factor for yielding. By the principle of conservation, if the value is different from the MillingCutterOptLimit.YieldingSafetyFactor, The larger value will be applied in the optimization process. public double YieldingSafetyFactor { get; set; } Property Value double YieldingUtilizationFactor Gets or sets the utilization factor for yielding. It is the reciprocal of YieldingSafetyFactor. public double YieldingUtilizationFactor { get; set; } Property Value double Methods Duplicate() Creates a new instance of NcOptOption by duplicating the current instance. public NcOptOption Duplicate() Returns NcOptOption A new NcOptOption instance with the same values as the current instance. Equals(NcOptOption) Indicates whether the current object is equal to another object of the same type. public bool Equals(NcOptOption other) Parameters other NcOptOption 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. GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. 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. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.NcOpt.NcOptProc.html": { "href": "api/Hi.NcOpt.NcOptProc.html", @@ -3362,7 +3362,7 @@ "api/Hi.NcOpt.ShapeBasedCutterOptLimit.html": { "href": "api/Hi.NcOpt.ShapeBasedCutterOptLimit.html", "title": "Class ShapeBasedCutterOptLimit | HiAPI-C# 2025", - "summary": "Class ShapeBasedCutterOptLimit Namespace Hi.NcOpt Assembly HiMech.dll Represents optimization limits based on cutter shape parameters. public class ShapeBasedCutterOptLimit : IFeedPerToothOptLimit, IMakeXmlSource, IDuplicate, IClearCache Inheritance object ShapeBasedCutterOptLimit Implements IFeedPerToothOptLimit IMakeXmlSource IDuplicate IClearCache 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 ShapeBasedCutterOptLimit(MillingCutter) Initializes a new instance of the ShapeBasedCutterOptLimit class. public ShapeBasedCutterOptLimit(MillingCutter cutter) Parameters cutter MillingCutter The milling cutter. ShapeBasedCutterOptLimit(Func, Func, Func) Initializes a new instance of the ShapeBasedCutterOptLimit class. public ShapeBasedCutterOptLimit(Func fluteNumFunc, Func radiusFunc_mm, Func radialReliefAngleFunc_rad) Parameters fluteNumFunc Func Function to get the number of flutes radiusFunc_mm Func Function to get the radius in millimeters radialReliefAngleFunc_rad Func Function to get the radial relief angle in radians ShapeBasedCutterOptLimit(XElement, string, MillingCutter) Ctor. public ShapeBasedCutterOptLimit(XElement src, string baseDirectory, MillingCutter cutter) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths cutter MillingCutter The milling cutter to use for calculations Properties FluteNum Gets the number of flutes. public int FluteNum { get; } Property Value int FluteNumFunc Gets or sets the function to get the number of flutes. public Func FluteNumFunc { get; set; } Property Value Func MinFeedPerTooth_mm Gets or sets the minimum feed per tooth in millimeters. public double MinFeedPerTooth_mm { get; set; } Property Value double RadialReliefAngleFunc_rad Gets or sets the function to get the radial relief angle in radians. public Func RadialReliefAngleFunc_rad { get; set; } Property Value Func RadialReliefAngle_rad Gets or sets the radial relief angle in radians. public double RadialReliefAngle_rad { get; } Property Value double RadiusFunc_mm Gets or sets the function to get the radius in millimeters. public Func RadiusFunc_mm { get; set; } Property Value Func Radius_mm Gets or sets the radius in millimeters. public double Radius_mm { get; } Property Value double SafetyFactor Gets or sets the safety factor. public double SafetyFactor { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() 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 GetMaxFeedPerTooth_mm() Gets the maximum feed per tooth value in millimeters. public double GetMaxFeedPerTooth_mm() Returns double The maximum feed per tooth value in millimeters. GetMinFeedPerTooth_mm() Gets the minimum feed per tooth value in millimeters. public double GetMinFeedPerTooth_mm() Returns double The minimum feed per tooth value in millimeters. 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 ShapeBasedCutterOptLimit Namespace Hi.NcOpt Assembly HiMech.dll Represents optimization limits based on cutter shape parameters. public class ShapeBasedCutterOptLimit : IFeedPerToothOptLimit, IMakeXmlSource, IDuplicate, IClearCache Inheritance object ShapeBasedCutterOptLimit Implements IFeedPerToothOptLimit IMakeXmlSource IDuplicate IClearCache 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 ShapeBasedCutterOptLimit(MillingCutter) Initializes a new instance of the ShapeBasedCutterOptLimit class. public ShapeBasedCutterOptLimit(MillingCutter cutter) Parameters cutter MillingCutter The milling cutter. ShapeBasedCutterOptLimit(Func, Func, Func) Initializes a new instance of the ShapeBasedCutterOptLimit class. public ShapeBasedCutterOptLimit(Func fluteNumFunc, Func radiusFunc_mm, Func radialReliefAngleFunc_rad) Parameters fluteNumFunc Func Function to get the number of flutes radiusFunc_mm Func Function to get the radius in millimeters radialReliefAngleFunc_rad Func Function to get the radial relief angle in radians ShapeBasedCutterOptLimit(XElement, string, MillingCutter) Ctor. public ShapeBasedCutterOptLimit(XElement src, string baseDirectory, MillingCutter cutter) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths cutter MillingCutter The milling cutter to use for calculations Properties FluteNum Gets the number of flutes. public int FluteNum { get; } Property Value int FluteNumFunc Gets or sets the function to get the number of flutes. public Func FluteNumFunc { get; set; } Property Value Func MinFeedPerTooth_mm Gets or sets the minimum feed per tooth in millimeters. public double MinFeedPerTooth_mm { get; set; } Property Value double RadialReliefAngleFunc_rad Gets or sets the function to get the radial relief angle in radians. public Func RadialReliefAngleFunc_rad { get; set; } Property Value Func RadialReliefAngle_rad Gets or sets the radial relief angle in radians. public double RadialReliefAngle_rad { get; } Property Value double RadiusFunc_mm Gets or sets the function to get the radius in millimeters. public Func RadiusFunc_mm { get; set; } Property Value Func Radius_mm Gets or sets the radius in millimeters. public double Radius_mm { get; } Property Value double SafetyFactor Gets or sets the safety factor. public double SafetyFactor { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() 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 GetMaxFeedPerTooth_mm() Gets the maximum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MaxFeedPerTooth_mm, The smaller value will be applied in the optimization process. public double GetMaxFeedPerTooth_mm() Returns double The maximum feed per tooth value in millimeters. GetMinFeedPerTooth_mm() Gets the minimum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MinFeedPerTooth_mm, The larger value will be applied in the optimization process. public double GetMinFeedPerTooth_mm() Returns double The minimum feed per tooth value in millimeters. 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.NcOpt.html": { "href": "api/Hi.NcOpt.html", @@ -4327,7 +4327,7 @@ "api/Hi.Physics.WorkpieceMaterial.html": { "href": "api/Hi.Physics.WorkpieceMaterial.html", "title": "Class WorkpieceMaterial | HiAPI-C# 2025", - "summary": "Class WorkpieceMaterial Namespace Hi.Physics Assembly HiMech.dll Represents the physical and mechanical properties of a workpiece material. public class WorkpieceMaterial : IPreferredFileName, IStructureMaterial, IMakeXmlSource, IDuplicate, INameNote Inheritance object WorkpieceMaterial Implements IPreferredFileName IStructureMaterial IMakeXmlSource IDuplicate INameNote 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 WorkpieceMaterial() Ctor. public WorkpieceMaterial() WorkpieceMaterial(XElement, string) Ctor. public WorkpieceMaterial(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths Properties Al6061T6 General condition of Al6061T6. public static WorkpieceMaterial Al6061T6 { get; } Property Value WorkpieceMaterial CompressiveYieldStrength_MPa Gets or sets the compressive yield strength in megapascals (MPa). public double CompressiveYieldStrength_MPa { get; set; } Property Value double Density_gdcm3 Gets or sets the density in grams per cubic centimeter (g/cm³). public double Density_gdcm3 { get; set; } Property Value double Density_gdm3 Gets or sets the density in grams per cubic decimeter (g/dm³). public double Density_gdm3 { get; set; } Property Value double Density_gdmm3 Gets or sets the density in grams per cubic millimeter (g/mm³). public double Density_gdmm3 { get; set; } Property Value double EffectiveDepthForElogation_mm Gets or sets the effective depth for elongation in millimeters (mm). public double EffectiveDepthForElogation_mm { get; set; } Property Value double ElasticModulus_GPa Gets or sets the elastic modulus in gigapascals (GPa). public double ElasticModulus_GPa { get; set; } Property Value double ElogationRaioAtBreak Gets or sets the elongation ratio at break point. public double ElogationRaioAtBreak { get; set; } Property Value double FusionLatentHeat_Jdg Gets or sets the latent heat of fusion in joules per gram (J/g). public double FusionLatentHeat_Jdg { get; set; } Property Value double HeatCapacity_JdgK Gets or sets the specific heat capacity in joules per gram per Kelvin (J/g·K). public double HeatCapacity_JdgK { get; set; } Property Value double HeatConductivity_WdmK Gets or sets the heat transfer coefficient in watts per decimeter per Kelvin (W/dm·K). public double HeatConductivity_WdmK { get; set; } Property Value double HeatConductivity_WdmmK Gets or sets the heat conductivity in watts per millimeter per Kelvin (W/mm·K). This is a conversion of HeatConductivity_WdmK with a factor of 1/1000. public double HeatConductivity_WdmmK { get; set; } Property Value double MeltingTemperature_C Gets or sets the melting temperature in Celsius (°C). public double MeltingTemperature_C { get; set; } Property Value double MeltingTemperature_K Gets or sets the melting temperature in Kelvin (K). public double MeltingTemperature_K { get; set; } Property Value double Name Gets or sets the name of the material. public string Name { get; set; } Property Value string Note Gets or sets additional notes about the material. public string Note { get; set; } Property Value string PoissonRatio Gets or sets the Poisson's ratio of the material. public double PoissonRatio { get; set; } Property Value double PreferredFileName Gets or sets the preferred file name for this object when generating or saving files. public string PreferredFileName { get; set; } Property Value string TensileYieldStrength_MPa Gets or sets the tensile yield strength in megapascals (MPa). public double TensileYieldStrength_MPa { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods 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 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 WorkpieceMaterial Namespace Hi.Physics Assembly HiMech.dll Represents the physical and mechanical properties of a workpiece material. public class WorkpieceMaterial : IPreferredFileName, IStructureMaterial, IMakeXmlSource, IDuplicate, INameNote Inheritance object WorkpieceMaterial Implements IPreferredFileName IStructureMaterial IMakeXmlSource IDuplicate INameNote 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 WorkpieceMaterial() Ctor. public WorkpieceMaterial() WorkpieceMaterial(XElement, string) Ctor. public WorkpieceMaterial(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths Properties Al6061T6 General condition of Al6061T6. public static WorkpieceMaterial Al6061T6 { get; } Property Value WorkpieceMaterial CompressiveYieldStrength_MPa Gets or sets the compressive yield strength in megapascals (MPa). public double CompressiveYieldStrength_MPa { get; set; } Property Value double Density_gdcm3 Gets or sets the density in grams per cubic centimeter (g/cm³). public double Density_gdcm3 { get; set; } Property Value double Density_gdm3 Gets or sets the density in grams per cubic decimeter (g/dm³). public double Density_gdm3 { get; set; } Property Value double Density_gdmm3 Gets or sets the density in grams per cubic millimeter (g/mm³). public double Density_gdmm3 { get; set; } Property Value double ElasticModulus_GPa Gets or sets the elastic modulus in gigapascals (GPa). public double ElasticModulus_GPa { get; set; } Property Value double ElogationRaioAtBreak Gets or sets the elongation ratio at break point. public double ElogationRaioAtBreak { get; set; } Property Value double FusionLatentHeat_Jdg Gets or sets the latent heat of fusion in joules per gram (J/g). public double FusionLatentHeat_Jdg { get; set; } Property Value double HeatCapacity_JdgK Gets or sets the specific heat capacity in joules per gram per Kelvin (J/g·K). public double HeatCapacity_JdgK { get; set; } Property Value double HeatConductivity_WdmK Gets or sets the heat transfer coefficient in watts per decimeter per Kelvin (W/dm·K). public double HeatConductivity_WdmK { get; set; } Property Value double HeatConductivity_WdmmK Gets or sets the heat conductivity in watts per millimeter per Kelvin (W/mm·K). This is a conversion of HeatConductivity_WdmK with a factor of 1/1000. public double HeatConductivity_WdmmK { get; set; } Property Value double MeltingTemperature_C Gets or sets the melting temperature in Celsius (°C). public double MeltingTemperature_C { get; set; } Property Value double MeltingTemperature_K Gets or sets the melting temperature in Kelvin (K). public double MeltingTemperature_K { get; set; } Property Value double Name Gets or sets the name of the material. public string Name { get; set; } Property Value string Note Gets or sets additional notes about the material. public string Note { get; set; } Property Value string PoissonRatio Gets or sets the Poisson's ratio of the material. public double PoissonRatio { get; set; } Property Value double PreferredFileName Gets or sets the preferred file name for this object when generating or saving files. public string PreferredFileName { get; set; } Property Value string TensileYieldStrength_MPa Gets or sets the tensile yield strength in megapascals (MPa). public double TensileYieldStrength_MPa { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods 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 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.Physics.html": { "href": "api/Hi.Physics.html", @@ -5297,7 +5297,7 @@ "brief/user-guide/zh-Hant/script/NcOptimization/index.html": { "href": "brief/user-guide/zh-Hant/script/NcOptimization/index.html", "title": "NC優化 | HiAPI-C# 2025", - "summary": "NC優化 組態在NC仿真前設定,然後執行輸出優化NC檔指令。 可同時參考閱讀說明章節NC優化。 組態 Note 指令格式 OptEnableFeedrate = <布林值>; OptEnableInterpolation = <布林值>; OptRapidFeed_mmdmin = <實數>; OptMinFeedrate_mmdmin = <實數>; OptMaxFeedrate_mmdmin = <實數>; OptMaxAcceleration_mmds2 = <實數>; OptExtendedPreDistance_mm = <實數>; OptExtendedPostDistance_mm = <實數>; OptSpindlePowerSafetyFactor = <實數>; OptSpindleTorqueSafetyFactor = <實數>; OptThermalYieldSafetyFactor = <實數>; OptPreferedForce_N = <實數>; OptEnableFeedrate:啟用順序式(Sequential)進給率優化。 順序式係指該功能從下指令開始作用。與其相對的設定在刀具端,刀具端也能設定進給率優化,但是在裝刀時才會發揮作用。 OptEnableFeedrate與所有其他啟用進給率優化的指令需同時為真,進給率優化才會啟用。 即與刀具設定端必須同時為真(true),進給率優化才會啟用。 OptEnableFeedrate預設值為真。 OptEnableInterpolation:優化程序用重新插補。 重新插捕後NC碼會增加,可以更好地控制加減速。 OptRapidFeed_mmdmin:優化程序中的無切削區域進給率。單位mm/min。 沒有切到工件的NC路徑,為無切削區域。優化後該路徑將採用無切削區域進給率。 OptMinFeedrate_mmdmin:優化程序中的有切削區域最小進給。單位mm/min。 OptMaxFeedrate_mmdmin:優化程序中的有切削區域最大進給。單位mm/min。 有切到工件的NC路徑,為有切削區域。有切削區域的最大最小進給的設定通常依據經驗法則。 OptMaxAcceleration_mmds2:優化程序中的加減速限制。優化後NC碼的F值變化在該限制之內。單位 \\(mm/s^2\\)。 OptExtendedPreDistance_mm:優化程序中的有切削區域等效計算的前長度。單位mm。 OptExtendedPostDistance_mm:優化程序中的有切削區域等效計算的後長度。單位mm。 優化程序中的有切削區域等效計算的長度 OptSpindlePowerSafetyFactor:主軸功率安全係數。 於優化後的NC碼,主軸功率將盡可能趨近於目標值。 設為0則忽略此限制。 OptSpindleTorqueSafetyFactor:主軸扭力安全係數。 優化後的NC碼,主軸扭力將盡可能趨近於目標值。 設為0則忽略此限制。 OptThermalYieldSafetyFactor:刀刃熱降伏安全係數。 刀刃表面溫度超過一定值時,刀刃表面會因溫差產生的壓力造成塑性變形。 優化後的NC碼,刀刃表面度將盡可能趨近於目標值。 設為0則忽略此限制。 Note 目標值算法 目標值 = 100% / 安全係數 OptPreferedForce_N:優化程中的目標力。單位N。 在符合所有限制的條件下,優化程序中的加工路徑產生的力會盡可能的趨近目標力。 限制的優先序 在有切削區域中: 進給率的直接限制 優先於 加減速限制(OptMaxAcceleration_mmds2) 優先於 基於物理特性算出的限制。 進給率的直接限制 包含 腳本指令 OptMinFeedrate_mmdmin OptMaxFeedrate_mmdmin 刀具設定 每刃最小進給 每刃最大進給 基於物理特性算出的進給率限制 包含 腳本指令 OptSpindlePowerSafetyFactor OptSpindleTorqueSafetyFactor OptThermalYieldSafetyFactor OptPreferedForce_N 刀具設定 降伏力安全係數 若同級項目中的限制有衝突,則採取其中的最低進給率。 NC碼中的優化腳本指令 於指定NC行不啟用優化 在執行 Preserve() 的NC行中,不啟用優化。 Tip 指令範例 在 N0140 行不啟用優化。 ... N0130 X-1.965 Y17.053 N0140 G03 X-2.66 Y38.193 I-103.796 J7.172 (;@Preserve();) N0150 G01 X-3.068 Y40.776 ... 於指定NC範圍不啟用優化 使用BeginPreserve()的NC行及EndPreserve()的NC行及包含的NC範圍,不啟用優化。 Tip 指令範例 在 N0140、N0150、N0160 行不啟用優化。 ... N0130 X-1.965 Y17.053 N0140 G03 X-2.66 Y38.193 I-103.796 J7.172 (;@BeginPreserve();) N0150 G01 X-3.068 Y40.776 N0160 X-3.555 Y43.338 (;@EndPreserve();) N0170 X-4.125 Y45.875 ... 輸出優化NC檔 使用 OptimizeToFiles 方法輸出優化後的NC檔。 Note 指令格式 OptimizeToFiles(<路徑樣板>); <路徑樣板>支援 檔案路徑樣板。 Tip 指令範例 OptEnableFeedrate = true; OptEnableInterpolation = true; OptRapidFeed_mmdmin = 4000; OptMinFeedrate_mmdmin = 100; OptMaxFeedrate_mmdmin = 4000; OptMaxAcceleration_mmds2 = 10; OptExtendedPreDistance_mm = 3; OptExtendedPostDistance_mm = 2; OptSpindlePowerSafetyFactor = 1.5; OptSpindleTorqueSafetyFactor = 1.5; OptThermalYieldSafetyFactor = 0; OptPreferedForce_N = double.PositiveInfinity; PlayNcFile(\"NC/file1.nc\"); OptRapidFeed_mmdmin = 8000; PlayNcFile(\"NC/file2.nc\"); OptimizeToFiles(\"Cache/Opt-[NcName]\"); 組態設定可以穿插在NC仿真間,將會作用在組態設定後的NC仿真。 以上範例為例,優化後的NC程式file1.nc的無切削區域快速進給為4000,file2.nc則為8000。 Tip NC碼中的優化指令範例 ... N0110 X-3.064 Y6.378 (;@OptMaxAcceleration_mmds2=10;) N0120 X-2.411 Y11.712 N0130 X-1.965 Y17.053 N0140 G03 X-2.66 Y38.193 I-103.796 J7.172 (;@Preserve();) N0150 G01 X-3.068 Y40.776 (;@OptMaxAcceleration_mmds2=100; OptMaxFeedrate_mmdmin=12000;) N0160 X-3.555 Y43.338 N0170 X-4.125 Y45.875 ... N0110至N0150前,優化區加速度設為10 \\(mm/s^2\\); N0140單行不做優化; N0150及以後,優化區加速度設為100 \\(mm/s^2\\); N0150及以後,優化區切削區域最大進給設為12000 \\(mm/min\\);" + "summary": "NC優化 組態在NC仿真前設定,然後執行輸出優化NC檔指令。 可同時參考閱讀說明章節NC優化。 組態 Note 指令格式 OptEnableFeedrate = <布林值>; OptEnableInterpolation = <布林值>; OptRapidFeed_mmdmin = <實數>; OptMinFeedrate_mmdmin = <實數>; OptMaxFeedrate_mmdmin = <實數>; OptMaxAcceleration_mmds2 = <實數>; OptExtendedPreDistance_mm = <實數>; OptExtendedPostDistance_mm = <實數>; OptSpindlePowerSafetyFactor = <實數>; OptSpindleTorqueSafetyFactor = <實數>; OptThermalYieldSafetyFactor = <實數>; OptPreferedForce_N = <實數>; OptEnableFeedrate:啟用順序式(Sequential)進給率優化。 順序式係指該功能從下指令開始作用。與其相對的設定在刀具端,刀具端也能設定進給率優化,但是在裝刀時才會發揮作用。 OptEnableFeedrate與所有其他啟用進給率優化的指令需同時為真,進給率優化才會啟用。 即與刀具設定端必須同時為真(true),進給率優化才會啟用。 OptEnableFeedrate預設值為真。 OptEnableInterpolation:優化程序用重新插補。 重新插捕後NC碼會增加,可以更好地控制加減速。 OptFeedrateAssignmentRatio:進給賦值倍率。 當優化程序用重新插補並且進給率變化超過進給賦值倍率時,系統會依據OptMaxAcceleration_mmds2插入附帶進給率指令的NC碼。 進給賦值倍率越小,插補點越密集。進給賦值倍率越大,則偏離優化標的的程度越大。 在改進給賦值倍率的同時也要對應加大安全係數。 進給賦值倍率若是0.01,就是1%,每變更1%進給率就會給個新的插補點。 如果改大,比方說10%,可能會變成該處理論值應該是F100,可是優化後卻是F110,所以要配合安全係數修改。 OptRapidFeed_mmdmin:優化程序中的無切削區域進給率。單位mm/min。 沒有切到工件的NC路徑,為無切削區域。優化後該路徑將採用無切削區域進給率。 OptMinFeedrate_mmdmin:優化程序中的有切削區域最小進給。單位mm/min。 OptMaxFeedrate_mmdmin:優化程序中的有切削區域最大進給。單位mm/min。 有切到工件的NC路徑,為有切削區域。有切削區域的最大最小進給的設定通常依據經驗法則。 OptMaxAcceleration_mmds2:優化程序中的加減速限制。優化後NC碼的F值變化在該限制之內。單位 \\(mm/s^2\\)。 OptExtendedPreDistance_mm:優化程序中的有切削區域等效計算的前長度。單位mm。 OptExtendedPostDistance_mm:優化程序中的有切削區域等效計算的後長度。單位mm。 優化程序中的有切削區域等效計算的長度 OptSpindlePowerSafetyFactor:主軸功率安全係數。 於優化後的NC碼,主軸功率將盡可能趨近於目標值。 設為0則忽略此限制。 OptSpindleTorqueSafetyFactor:主軸扭力安全係數。 優化後的NC碼,主軸扭力將盡可能趨近於目標值。 設為0則忽略此限制。 OptThermalYieldSafetyFactor:刀刃熱降伏安全係數。 刀刃表面溫度超過一定值時,刀刃表面會因溫差產生的壓力造成塑性變形。 優化後的NC碼,刀刃表面度將盡可能趨近於目標值。 設為0則忽略此限制。 Note 目標值算法 目標值 = 100% / 安全係數 OptPreferedForce_N:優化程中的目標力。單位N。 在符合所有限制的條件下,優化程序中的加工路徑產生的力會盡可能的趨近目標力。 限制的優先序 在有切削區域中: 進給率的直接限制 優先於 加減速限制(OptMaxAcceleration_mmds2) 優先於 基於物理特性算出的限制。 進給率的直接限制 包含 腳本指令 OptMinFeedrate_mmdmin OptMaxFeedrate_mmdmin 刀具設定 每刃最小進給 每刃最大進給 基於物理特性算出的進給率限制 包含 腳本指令 OptSpindlePowerSafetyFactor OptSpindleTorqueSafetyFactor OptThermalYieldSafetyFactor OptPreferedForce_N 刀具設定 降伏力安全係數 若同級項目中的限制有衝突,則採取其中的最低進給率。 NC碼中的優化腳本指令 於指定NC行不啟用優化 在執行 Preserve() 的NC行中,不啟用優化。 Tip 指令範例 在 N0140 行不啟用優化。 ... N0130 X-1.965 Y17.053 N0140 G03 X-2.66 Y38.193 I-103.796 J7.172 (;@Preserve();) N0150 G01 X-3.068 Y40.776 ... 於指定NC範圍不啟用優化 使用BeginPreserve()的NC行及EndPreserve()的NC行及包含的NC範圍,不啟用優化。 Tip 指令範例 在 N0140、N0150、N0160 行不啟用優化。 ... N0130 X-1.965 Y17.053 N0140 G03 X-2.66 Y38.193 I-103.796 J7.172 (;@BeginPreserve();) N0150 G01 X-3.068 Y40.776 N0160 X-3.555 Y43.338 (;@EndPreserve();) N0170 X-4.125 Y45.875 ... 輸出優化NC檔 使用 OptimizeToFiles 方法輸出優化後的NC檔。 Note 指令格式 OptimizeToFiles(<路徑樣板>); <路徑樣板>支援 檔案路徑樣板。 Tip 指令範例 OptEnableFeedrate = true; OptEnableInterpolation = true; OptRapidFeed_mmdmin = 4000; OptMinFeedrate_mmdmin = 100; OptMaxFeedrate_mmdmin = 4000; OptMaxAcceleration_mmds2 = 10; OptExtendedPreDistance_mm = 3; OptExtendedPostDistance_mm = 2; OptSpindlePowerSafetyFactor = 1.5; OptSpindleTorqueSafetyFactor = 1.5; OptThermalYieldSafetyFactor = 0; OptPreferedForce_N = double.PositiveInfinity; PlayNcFile(\"NC/file1.nc\"); OptRapidFeed_mmdmin = 8000; PlayNcFile(\"NC/file2.nc\"); OptimizeToFiles(\"Cache/Opt-[NcName]\"); 組態設定可以穿插在NC仿真間,將會作用在組態設定後的NC仿真。 以上範例為例,優化後的NC程式file1.nc的無切削區域快速進給為4000,file2.nc則為8000。 Tip NC碼中的優化指令範例 ... N0110 X-3.064 Y6.378 (;@OptMaxAcceleration_mmds2=10;) N0120 X-2.411 Y11.712 N0130 X-1.965 Y17.053 N0140 G03 X-2.66 Y38.193 I-103.796 J7.172 (;@Preserve();) N0150 G01 X-3.068 Y40.776 (;@OptMaxAcceleration_mmds2=100; OptMaxFeedrate_mmdmin=12000;) N0160 X-3.555 Y43.338 N0170 X-4.125 Y45.875 ... N0110至N0150前,優化區加速度設為10 \\(mm/s^2\\); N0140單行不做優化; N0150及以後,優化區加速度設為100 \\(mm/s^2\\); N0150及以後,優化區切削區域最大進給設為12000 \\(mm/min\\);" }, "brief/user-guide/zh-Hant/script/PlayCsvFile/play-csv-file.html": { "href": "brief/user-guide/zh-Hant/script/PlayCsvFile/play-csv-file.html", diff --git a/App/wwwroot/HiAPI-docsite/xrefmap.yml b/App/wwwroot/HiAPI-docsite/xrefmap.yml index 748bb16..176ca22 100644 --- a/App/wwwroot/HiAPI-docsite/xrefmap.yml +++ b/App/wwwroot/HiAPI-docsite/xrefmap.yml @@ -14969,6 +14969,19 @@ references: isSpec: "True" fullName: Hi.CutterLocations.ClStrips.ClStrip.GetStripPos nameWithType: ClStrip.GetStripPos +- uid: Hi.CutterLocations.ClStrips.ClStrip.IsKeepingDispAlive + name: IsKeepingDispAlive + href: api/Hi.CutterLocations.ClStrips.ClStrip.html#Hi_CutterLocations_ClStrips_ClStrip_IsKeepingDispAlive + commentId: P:Hi.CutterLocations.ClStrips.ClStrip.IsKeepingDispAlive + fullName: Hi.CutterLocations.ClStrips.ClStrip.IsKeepingDispAlive + nameWithType: ClStrip.IsKeepingDispAlive +- uid: Hi.CutterLocations.ClStrips.ClStrip.IsKeepingDispAlive* + name: IsKeepingDispAlive + href: api/Hi.CutterLocations.ClStrips.ClStrip.html#Hi_CutterLocations_ClStrips_ClStrip_IsKeepingDispAlive_ + commentId: Overload:Hi.CutterLocations.ClStrips.ClStrip.IsKeepingDispAlive + isSpec: "True" + fullName: Hi.CutterLocations.ClStrips.ClStrip.IsKeepingDispAlive + nameWithType: ClStrip.IsKeepingDispAlive - uid: Hi.CutterLocations.ClStrips.ClStrip.IsShowDot name: IsShowDot href: api/Hi.CutterLocations.ClStrips.ClStrip.html#Hi_CutterLocations_ClStrips_ClStrip_IsShowDot @@ -15067,6 +15080,22 @@ references: isSpec: "True" fullName: Hi.CutterLocations.ClStrips.ClStrip.SetDispEnd nameWithType: ClStrip.SetDispEnd +- uid: Hi.CutterLocations.ClStrips.ClStrip.SetDispRange(System.Int32,System.Int32,System.Object,System.Int32) + name: SetDispRange(int, int, object, int) + href: api/Hi.CutterLocations.ClStrips.ClStrip.html#Hi_CutterLocations_ClStrips_ClStrip_SetDispRange_System_Int32_System_Int32_System_Object_System_Int32_ + commentId: M:Hi.CutterLocations.ClStrips.ClStrip.SetDispRange(System.Int32,System.Int32,System.Object,System.Int32) + name.vb: SetDispRange(Integer, Integer, Object, Integer) + fullName: Hi.CutterLocations.ClStrips.ClStrip.SetDispRange(int, int, object, int) + fullName.vb: Hi.CutterLocations.ClStrips.ClStrip.SetDispRange(Integer, Integer, Object, Integer) + nameWithType: ClStrip.SetDispRange(int, int, object, int) + nameWithType.vb: ClStrip.SetDispRange(Integer, Integer, Object, Integer) +- uid: Hi.CutterLocations.ClStrips.ClStrip.SetDispRange* + name: SetDispRange + href: api/Hi.CutterLocations.ClStrips.ClStrip.html#Hi_CutterLocations_ClStrips_ClStrip_SetDispRange_ + commentId: Overload:Hi.CutterLocations.ClStrips.ClStrip.SetDispRange + isSpec: "True" + fullName: Hi.CutterLocations.ClStrips.ClStrip.SetDispRange + nameWithType: ClStrip.SetDispRange - uid: Hi.CutterLocations.ClStrips.ClStrip.SetEnteredPos(Hi.CutterLocations.ClStrips.ClStripPos,System.Object) name: SetEnteredPos(ClStripPos, object) href: api/Hi.CutterLocations.ClStrips.ClStrip.html#Hi_CutterLocations_ClStrips_ClStrip_SetEnteredPos_Hi_CutterLocations_ClStrips_ClStripPos_System_Object_ @@ -70458,6 +70487,15 @@ references: fullName.vb: Hi.Geom.Vec3d.New(Hi.Geom.Polar3d) nameWithType: Vec3d.Vec3d(Polar3d) nameWithType.vb: Vec3d.New(Polar3d) +- uid: Hi.Geom.Vec3d.#ctor(Hi.Geom.Vec2d,System.Double) + name: Vec3d(Vec2d, double) + href: api/Hi.Geom.Vec3d.html#Hi_Geom_Vec3d__ctor_Hi_Geom_Vec2d_System_Double_ + commentId: M:Hi.Geom.Vec3d.#ctor(Hi.Geom.Vec2d,System.Double) + name.vb: New(Vec2d, Double) + fullName: Hi.Geom.Vec3d.Vec3d(Hi.Geom.Vec2d, double) + fullName.vb: Hi.Geom.Vec3d.New(Hi.Geom.Vec2d, Double) + nameWithType: Vec3d.Vec3d(Vec2d, double) + nameWithType.vb: Vec3d.New(Vec2d, Double) - uid: Hi.Geom.Vec3d.#ctor(Hi.Geom.Vec3d) name: Vec3d(Vec3d) href: api/Hi.Geom.Vec3d.html#Hi_Geom_Vec3d__ctor_Hi_Geom_Vec3d_ @@ -78703,6 +78741,19 @@ references: isSpec: "True" fullName: Hi.MachiningProcs.MachiningSession.EndPreserve nameWithType: MachiningSession.EndPreserve +- uid: Hi.MachiningProcs.MachiningSession.IsNcOptOptionListUpdatedByStep + name: IsNcOptOptionListUpdatedByStep + href: api/Hi.MachiningProcs.MachiningSession.html#Hi_MachiningProcs_MachiningSession_IsNcOptOptionListUpdatedByStep + commentId: P:Hi.MachiningProcs.MachiningSession.IsNcOptOptionListUpdatedByStep + fullName: Hi.MachiningProcs.MachiningSession.IsNcOptOptionListUpdatedByStep + nameWithType: MachiningSession.IsNcOptOptionListUpdatedByStep +- uid: Hi.MachiningProcs.MachiningSession.IsNcOptOptionListUpdatedByStep* + name: IsNcOptOptionListUpdatedByStep + href: api/Hi.MachiningProcs.MachiningSession.html#Hi_MachiningProcs_MachiningSession_IsNcOptOptionListUpdatedByStep_ + commentId: Overload:Hi.MachiningProcs.MachiningSession.IsNcOptOptionListUpdatedByStep + isSpec: "True" + fullName: Hi.MachiningProcs.MachiningSession.IsNcOptOptionListUpdatedByStep + nameWithType: MachiningSession.IsNcOptOptionListUpdatedByStep - uid: Hi.MachiningProcs.MachiningSession.NcOptOption name: NcOptOption href: api/Hi.MachiningProcs.MachiningSession.html#Hi_MachiningProcs_MachiningSession_NcOptOption @@ -79953,6 +80004,19 @@ references: isSpec: "True" fullName: Hi.MachiningProcs.RuntimeApi.OptMaxAcceleration_mmds2 nameWithType: RuntimeApi.OptMaxAcceleration_mmds2 +- uid: Hi.MachiningProcs.RuntimeApi.OptMaxFeedPerTooth_mm + name: OptMaxFeedPerTooth_mm + href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMaxFeedPerTooth_mm + commentId: P:Hi.MachiningProcs.RuntimeApi.OptMaxFeedPerTooth_mm + fullName: Hi.MachiningProcs.RuntimeApi.OptMaxFeedPerTooth_mm + nameWithType: RuntimeApi.OptMaxFeedPerTooth_mm +- uid: Hi.MachiningProcs.RuntimeApi.OptMaxFeedPerTooth_mm* + name: OptMaxFeedPerTooth_mm + href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMaxFeedPerTooth_mm_ + commentId: Overload:Hi.MachiningProcs.RuntimeApi.OptMaxFeedPerTooth_mm + isSpec: "True" + fullName: Hi.MachiningProcs.RuntimeApi.OptMaxFeedPerTooth_mm + nameWithType: RuntimeApi.OptMaxFeedPerTooth_mm - uid: Hi.MachiningProcs.RuntimeApi.OptMaxFeedrate_mmdmin name: OptMaxFeedrate_mmdmin href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMaxFeedrate_mmdmin @@ -79979,6 +80043,19 @@ references: isSpec: "True" fullName: Hi.MachiningProcs.RuntimeApi.OptMaxJerk_mmds3 nameWithType: RuntimeApi.OptMaxJerk_mmds3 +- uid: Hi.MachiningProcs.RuntimeApi.OptMinFeedPerTooth_mm + name: OptMinFeedPerTooth_mm + href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMinFeedPerTooth_mm + commentId: P:Hi.MachiningProcs.RuntimeApi.OptMinFeedPerTooth_mm + fullName: Hi.MachiningProcs.RuntimeApi.OptMinFeedPerTooth_mm + nameWithType: RuntimeApi.OptMinFeedPerTooth_mm +- uid: Hi.MachiningProcs.RuntimeApi.OptMinFeedPerTooth_mm* + name: OptMinFeedPerTooth_mm + href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMinFeedPerTooth_mm_ + commentId: Overload:Hi.MachiningProcs.RuntimeApi.OptMinFeedPerTooth_mm + isSpec: "True" + fullName: Hi.MachiningProcs.RuntimeApi.OptMinFeedPerTooth_mm + nameWithType: RuntimeApi.OptMinFeedPerTooth_mm - uid: Hi.MachiningProcs.RuntimeApi.OptMinFeedrate_mmdmin name: OptMinFeedrate_mmdmin href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptMinFeedrate_mmdmin @@ -80031,6 +80108,19 @@ references: isSpec: "True" fullName: Hi.MachiningProcs.RuntimeApi.OptSpindlePowerSafetyFactor nameWithType: RuntimeApi.OptSpindlePowerSafetyFactor +- uid: Hi.MachiningProcs.RuntimeApi.OptSpindlePowerUtilizationFactor + name: OptSpindlePowerUtilizationFactor + href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptSpindlePowerUtilizationFactor + commentId: P:Hi.MachiningProcs.RuntimeApi.OptSpindlePowerUtilizationFactor + fullName: Hi.MachiningProcs.RuntimeApi.OptSpindlePowerUtilizationFactor + nameWithType: RuntimeApi.OptSpindlePowerUtilizationFactor +- uid: Hi.MachiningProcs.RuntimeApi.OptSpindlePowerUtilizationFactor* + name: OptSpindlePowerUtilizationFactor + href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptSpindlePowerUtilizationFactor_ + commentId: Overload:Hi.MachiningProcs.RuntimeApi.OptSpindlePowerUtilizationFactor + isSpec: "True" + fullName: Hi.MachiningProcs.RuntimeApi.OptSpindlePowerUtilizationFactor + nameWithType: RuntimeApi.OptSpindlePowerUtilizationFactor - uid: Hi.MachiningProcs.RuntimeApi.OptSpindleTorqueSafetyFactor name: OptSpindleTorqueSafetyFactor href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptSpindleTorqueSafetyFactor @@ -80044,6 +80134,19 @@ references: isSpec: "True" fullName: Hi.MachiningProcs.RuntimeApi.OptSpindleTorqueSafetyFactor nameWithType: RuntimeApi.OptSpindleTorqueSafetyFactor +- uid: Hi.MachiningProcs.RuntimeApi.OptSpindleTorqueUtilizationFactor + name: OptSpindleTorqueUtilizationFactor + href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptSpindleTorqueUtilizationFactor + commentId: P:Hi.MachiningProcs.RuntimeApi.OptSpindleTorqueUtilizationFactor + fullName: Hi.MachiningProcs.RuntimeApi.OptSpindleTorqueUtilizationFactor + nameWithType: RuntimeApi.OptSpindleTorqueUtilizationFactor +- uid: Hi.MachiningProcs.RuntimeApi.OptSpindleTorqueUtilizationFactor* + name: OptSpindleTorqueUtilizationFactor + href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptSpindleTorqueUtilizationFactor_ + commentId: Overload:Hi.MachiningProcs.RuntimeApi.OptSpindleTorqueUtilizationFactor + isSpec: "True" + fullName: Hi.MachiningProcs.RuntimeApi.OptSpindleTorqueUtilizationFactor + nameWithType: RuntimeApi.OptSpindleTorqueUtilizationFactor - uid: Hi.MachiningProcs.RuntimeApi.OptThermalYieldSafetyFactor name: OptThermalYieldSafetyFactor href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptThermalYieldSafetyFactor @@ -80057,6 +80160,45 @@ references: isSpec: "True" fullName: Hi.MachiningProcs.RuntimeApi.OptThermalYieldSafetyFactor nameWithType: RuntimeApi.OptThermalYieldSafetyFactor +- uid: Hi.MachiningProcs.RuntimeApi.OptThermalYieldUtilizationFactor + name: OptThermalYieldUtilizationFactor + href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptThermalYieldUtilizationFactor + commentId: P:Hi.MachiningProcs.RuntimeApi.OptThermalYieldUtilizationFactor + fullName: Hi.MachiningProcs.RuntimeApi.OptThermalYieldUtilizationFactor + nameWithType: RuntimeApi.OptThermalYieldUtilizationFactor +- uid: Hi.MachiningProcs.RuntimeApi.OptThermalYieldUtilizationFactor* + name: OptThermalYieldUtilizationFactor + href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptThermalYieldUtilizationFactor_ + commentId: Overload:Hi.MachiningProcs.RuntimeApi.OptThermalYieldUtilizationFactor + isSpec: "True" + fullName: Hi.MachiningProcs.RuntimeApi.OptThermalYieldUtilizationFactor + nameWithType: RuntimeApi.OptThermalYieldUtilizationFactor +- uid: Hi.MachiningProcs.RuntimeApi.OptYieldingSafetyFactor + name: OptYieldingSafetyFactor + href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptYieldingSafetyFactor + commentId: P:Hi.MachiningProcs.RuntimeApi.OptYieldingSafetyFactor + fullName: Hi.MachiningProcs.RuntimeApi.OptYieldingSafetyFactor + nameWithType: RuntimeApi.OptYieldingSafetyFactor +- uid: Hi.MachiningProcs.RuntimeApi.OptYieldingSafetyFactor* + name: OptYieldingSafetyFactor + href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptYieldingSafetyFactor_ + commentId: Overload:Hi.MachiningProcs.RuntimeApi.OptYieldingSafetyFactor + isSpec: "True" + fullName: Hi.MachiningProcs.RuntimeApi.OptYieldingSafetyFactor + nameWithType: RuntimeApi.OptYieldingSafetyFactor +- uid: Hi.MachiningProcs.RuntimeApi.OptYieldingUtilizationFactor + name: OptYieldingUtilizationFactor + href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptYieldingUtilizationFactor + commentId: P:Hi.MachiningProcs.RuntimeApi.OptYieldingUtilizationFactor + fullName: Hi.MachiningProcs.RuntimeApi.OptYieldingUtilizationFactor + nameWithType: RuntimeApi.OptYieldingUtilizationFactor +- uid: Hi.MachiningProcs.RuntimeApi.OptYieldingUtilizationFactor* + name: OptYieldingUtilizationFactor + href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptYieldingUtilizationFactor_ + commentId: Overload:Hi.MachiningProcs.RuntimeApi.OptYieldingUtilizationFactor + isSpec: "True" + fullName: Hi.MachiningProcs.RuntimeApi.OptYieldingUtilizationFactor + nameWithType: RuntimeApi.OptYieldingUtilizationFactor - uid: Hi.MachiningProcs.RuntimeApi.OptimizeToFiles(System.String) name: OptimizeToFiles(string) href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptimizeToFiles_System_String_ @@ -81329,6 +81471,19 @@ references: isSpec: "True" fullName: Hi.MachiningProcs.RuntimeController.OptMaxAcceleration_mmds2 nameWithType: RuntimeController.OptMaxAcceleration_mmds2 +- uid: Hi.MachiningProcs.RuntimeController.OptMaxFeedPerTooth_mm + name: OptMaxFeedPerTooth_mm + href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptMaxFeedPerTooth_mm + commentId: P:Hi.MachiningProcs.RuntimeController.OptMaxFeedPerTooth_mm + fullName: Hi.MachiningProcs.RuntimeController.OptMaxFeedPerTooth_mm + nameWithType: RuntimeController.OptMaxFeedPerTooth_mm +- uid: Hi.MachiningProcs.RuntimeController.OptMaxFeedPerTooth_mm* + name: OptMaxFeedPerTooth_mm + href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptMaxFeedPerTooth_mm_ + commentId: Overload:Hi.MachiningProcs.RuntimeController.OptMaxFeedPerTooth_mm + isSpec: "True" + fullName: Hi.MachiningProcs.RuntimeController.OptMaxFeedPerTooth_mm + nameWithType: RuntimeController.OptMaxFeedPerTooth_mm - uid: Hi.MachiningProcs.RuntimeController.OptMaxFeedrate_mmdmin name: OptMaxFeedrate_mmdmin href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptMaxFeedrate_mmdmin @@ -81355,6 +81510,19 @@ references: isSpec: "True" fullName: Hi.MachiningProcs.RuntimeController.OptMaxJerk_mmds3 nameWithType: RuntimeController.OptMaxJerk_mmds3 +- uid: Hi.MachiningProcs.RuntimeController.OptMinFeedPerTooth_mm + name: OptMinFeedPerTooth_mm + href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptMinFeedPerTooth_mm + commentId: P:Hi.MachiningProcs.RuntimeController.OptMinFeedPerTooth_mm + fullName: Hi.MachiningProcs.RuntimeController.OptMinFeedPerTooth_mm + nameWithType: RuntimeController.OptMinFeedPerTooth_mm +- uid: Hi.MachiningProcs.RuntimeController.OptMinFeedPerTooth_mm* + name: OptMinFeedPerTooth_mm + href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptMinFeedPerTooth_mm_ + commentId: Overload:Hi.MachiningProcs.RuntimeController.OptMinFeedPerTooth_mm + isSpec: "True" + fullName: Hi.MachiningProcs.RuntimeController.OptMinFeedPerTooth_mm + nameWithType: RuntimeController.OptMinFeedPerTooth_mm - uid: Hi.MachiningProcs.RuntimeController.OptMinFeedrate_mmdmin name: OptMinFeedrate_mmdmin href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptMinFeedrate_mmdmin @@ -81407,6 +81575,19 @@ references: isSpec: "True" fullName: Hi.MachiningProcs.RuntimeController.OptSpindlePowerSafetyFactor nameWithType: RuntimeController.OptSpindlePowerSafetyFactor +- uid: Hi.MachiningProcs.RuntimeController.OptSpindlePowerUtilizationFactor + name: OptSpindlePowerUtilizationFactor + href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptSpindlePowerUtilizationFactor + commentId: P:Hi.MachiningProcs.RuntimeController.OptSpindlePowerUtilizationFactor + fullName: Hi.MachiningProcs.RuntimeController.OptSpindlePowerUtilizationFactor + nameWithType: RuntimeController.OptSpindlePowerUtilizationFactor +- uid: Hi.MachiningProcs.RuntimeController.OptSpindlePowerUtilizationFactor* + name: OptSpindlePowerUtilizationFactor + href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptSpindlePowerUtilizationFactor_ + commentId: Overload:Hi.MachiningProcs.RuntimeController.OptSpindlePowerUtilizationFactor + isSpec: "True" + fullName: Hi.MachiningProcs.RuntimeController.OptSpindlePowerUtilizationFactor + nameWithType: RuntimeController.OptSpindlePowerUtilizationFactor - uid: Hi.MachiningProcs.RuntimeController.OptSpindleTorqueSafetyFactor name: OptSpindleTorqueSafetyFactor href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptSpindleTorqueSafetyFactor @@ -81420,6 +81601,71 @@ references: isSpec: "True" fullName: Hi.MachiningProcs.RuntimeController.OptSpindleTorqueSafetyFactor nameWithType: RuntimeController.OptSpindleTorqueSafetyFactor +- uid: Hi.MachiningProcs.RuntimeController.OptSpindleTorqueUtilizationFactor + name: OptSpindleTorqueUtilizationFactor + href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptSpindleTorqueUtilizationFactor + commentId: P:Hi.MachiningProcs.RuntimeController.OptSpindleTorqueUtilizationFactor + fullName: Hi.MachiningProcs.RuntimeController.OptSpindleTorqueUtilizationFactor + nameWithType: RuntimeController.OptSpindleTorqueUtilizationFactor +- uid: Hi.MachiningProcs.RuntimeController.OptSpindleTorqueUtilizationFactor* + name: OptSpindleTorqueUtilizationFactor + href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptSpindleTorqueUtilizationFactor_ + commentId: Overload:Hi.MachiningProcs.RuntimeController.OptSpindleTorqueUtilizationFactor + isSpec: "True" + fullName: Hi.MachiningProcs.RuntimeController.OptSpindleTorqueUtilizationFactor + nameWithType: RuntimeController.OptSpindleTorqueUtilizationFactor +- uid: Hi.MachiningProcs.RuntimeController.OptThermalYieldSafetyFactor + name: OptThermalYieldSafetyFactor + href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptThermalYieldSafetyFactor + commentId: P:Hi.MachiningProcs.RuntimeController.OptThermalYieldSafetyFactor + fullName: Hi.MachiningProcs.RuntimeController.OptThermalYieldSafetyFactor + nameWithType: RuntimeController.OptThermalYieldSafetyFactor +- uid: Hi.MachiningProcs.RuntimeController.OptThermalYieldSafetyFactor* + name: OptThermalYieldSafetyFactor + href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptThermalYieldSafetyFactor_ + commentId: Overload:Hi.MachiningProcs.RuntimeController.OptThermalYieldSafetyFactor + isSpec: "True" + fullName: Hi.MachiningProcs.RuntimeController.OptThermalYieldSafetyFactor + nameWithType: RuntimeController.OptThermalYieldSafetyFactor +- uid: Hi.MachiningProcs.RuntimeController.OptThermalYieldUtilizationFactor + name: OptThermalYieldUtilizationFactor + href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptThermalYieldUtilizationFactor + commentId: P:Hi.MachiningProcs.RuntimeController.OptThermalYieldUtilizationFactor + fullName: Hi.MachiningProcs.RuntimeController.OptThermalYieldUtilizationFactor + nameWithType: RuntimeController.OptThermalYieldUtilizationFactor +- uid: Hi.MachiningProcs.RuntimeController.OptThermalYieldUtilizationFactor* + name: OptThermalYieldUtilizationFactor + href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptThermalYieldUtilizationFactor_ + commentId: Overload:Hi.MachiningProcs.RuntimeController.OptThermalYieldUtilizationFactor + isSpec: "True" + fullName: Hi.MachiningProcs.RuntimeController.OptThermalYieldUtilizationFactor + nameWithType: RuntimeController.OptThermalYieldUtilizationFactor +- uid: Hi.MachiningProcs.RuntimeController.OptYieldingSafetyFactor + name: OptYieldingSafetyFactor + href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptYieldingSafetyFactor + commentId: P:Hi.MachiningProcs.RuntimeController.OptYieldingSafetyFactor + fullName: Hi.MachiningProcs.RuntimeController.OptYieldingSafetyFactor + nameWithType: RuntimeController.OptYieldingSafetyFactor +- uid: Hi.MachiningProcs.RuntimeController.OptYieldingSafetyFactor* + name: OptYieldingSafetyFactor + href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptYieldingSafetyFactor_ + commentId: Overload:Hi.MachiningProcs.RuntimeController.OptYieldingSafetyFactor + isSpec: "True" + fullName: Hi.MachiningProcs.RuntimeController.OptYieldingSafetyFactor + nameWithType: RuntimeController.OptYieldingSafetyFactor +- uid: Hi.MachiningProcs.RuntimeController.OptYieldingUtilizationFactor + name: OptYieldingUtilizationFactor + href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptYieldingUtilizationFactor + commentId: P:Hi.MachiningProcs.RuntimeController.OptYieldingUtilizationFactor + fullName: Hi.MachiningProcs.RuntimeController.OptYieldingUtilizationFactor + nameWithType: RuntimeController.OptYieldingUtilizationFactor +- uid: Hi.MachiningProcs.RuntimeController.OptYieldingUtilizationFactor* + name: OptYieldingUtilizationFactor + href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptYieldingUtilizationFactor_ + commentId: Overload:Hi.MachiningProcs.RuntimeController.OptYieldingUtilizationFactor + isSpec: "True" + fullName: Hi.MachiningProcs.RuntimeController.OptYieldingUtilizationFactor + nameWithType: RuntimeController.OptYieldingUtilizationFactor - uid: Hi.MachiningProcs.RuntimeController.OptimizeToFiles(System.String) name: OptimizeToFiles(string) href: api/Hi.MachiningProcs.RuntimeController.html#Hi_MachiningProcs_RuntimeController_OptimizeToFiles_System_String_ @@ -82756,6 +83002,19 @@ references: isSpec: "True" fullName: Hi.MachiningSteps.IMachiningStepHost.MachiningEquipment nameWithType: IMachiningStepHost.MachiningEquipment +- uid: Hi.MachiningSteps.IMachiningStepHost.MachiningSession + name: MachiningSession + href: api/Hi.MachiningSteps.IMachiningStepHost.html#Hi_MachiningSteps_IMachiningStepHost_MachiningSession + commentId: P:Hi.MachiningSteps.IMachiningStepHost.MachiningSession + fullName: Hi.MachiningSteps.IMachiningStepHost.MachiningSession + nameWithType: IMachiningStepHost.MachiningSession +- uid: Hi.MachiningSteps.IMachiningStepHost.MachiningSession* + name: MachiningSession + href: api/Hi.MachiningSteps.IMachiningStepHost.html#Hi_MachiningSteps_IMachiningStepHost_MachiningSession_ + commentId: Overload:Hi.MachiningSteps.IMachiningStepHost.MachiningSession + isSpec: "True" + fullName: Hi.MachiningSteps.IMachiningStepHost.MachiningSession + nameWithType: IMachiningStepHost.MachiningSession - uid: Hi.MachiningSteps.IMachiningStepHost.MachiningToolHouse name: MachiningToolHouse href: api/Hi.MachiningSteps.IMachiningStepHost.html#Hi_MachiningSteps_IMachiningStepHost_MachiningToolHouse @@ -84343,6 +84602,19 @@ references: isSpec: "True" fullName: Hi.MachiningSteps.MachiningStep.InstantCraterWear_um nameWithType: MachiningStep.InstantCraterWear_um +- uid: Hi.MachiningSteps.MachiningStep.IsReliefFaceCollided + name: IsReliefFaceCollided + href: api/Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_IsReliefFaceCollided + commentId: P:Hi.MachiningSteps.MachiningStep.IsReliefFaceCollided + fullName: Hi.MachiningSteps.MachiningStep.IsReliefFaceCollided + nameWithType: MachiningStep.IsReliefFaceCollided +- uid: Hi.MachiningSteps.MachiningStep.IsReliefFaceCollided* + name: IsReliefFaceCollided + href: api/Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_IsReliefFaceCollided_ + commentId: Overload:Hi.MachiningSteps.MachiningStep.IsReliefFaceCollided + isSpec: "True" + fullName: Hi.MachiningSteps.MachiningStep.IsReliefFaceCollided + nameWithType: MachiningStep.IsReliefFaceCollided - uid: Hi.MachiningSteps.MachiningStep.IsTouched name: IsTouched href: api/Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_IsTouched @@ -84661,6 +84933,19 @@ references: isSpec: "True" fullName: Hi.MachiningSteps.MachiningStep.ReCutDepth_um nameWithType: MachiningStep.ReCutDepth_um +- uid: Hi.MachiningSteps.MachiningStep.ReliefFaceCollidingAngle_deg + name: ReliefFaceCollidingAngle_deg + href: api/Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_ReliefFaceCollidingAngle_deg + commentId: P:Hi.MachiningSteps.MachiningStep.ReliefFaceCollidingAngle_deg + fullName: Hi.MachiningSteps.MachiningStep.ReliefFaceCollidingAngle_deg + nameWithType: MachiningStep.ReliefFaceCollidingAngle_deg +- uid: Hi.MachiningSteps.MachiningStep.ReliefFaceCollidingAngle_deg* + name: ReliefFaceCollidingAngle_deg + href: api/Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_ReliefFaceCollidingAngle_deg_ + commentId: Overload:Hi.MachiningSteps.MachiningStep.ReliefFaceCollidingAngle_deg + isSpec: "True" + fullName: Hi.MachiningSteps.MachiningStep.ReliefFaceCollidingAngle_deg + nameWithType: MachiningStep.ReliefFaceCollidingAngle_deg - uid: Hi.MachiningSteps.MachiningStep.SideCuspList_um name: SideCuspList_um href: api/Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_SideCuspList_um @@ -84869,6 +85154,22 @@ references: isSpec: "True" fullName: Hi.MachiningSteps.MachiningStep.ToothSeqOnToolRunningCoordinate nameWithType: MachiningStep.ToothSeqOnToolRunningCoordinate +- uid: Hi.MachiningSteps.MachiningStep.UpdateNcOptOption(System.Action{Hi.NcOpt.NcOptOption}) + name: UpdateNcOptOption(Action) + href: api/Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_UpdateNcOptOption_System_Action_Hi_NcOpt_NcOptOption__ + commentId: M:Hi.MachiningSteps.MachiningStep.UpdateNcOptOption(System.Action{Hi.NcOpt.NcOptOption}) + name.vb: UpdateNcOptOption(Action(Of NcOptOption)) + fullName: Hi.MachiningSteps.MachiningStep.UpdateNcOptOption(System.Action) + fullName.vb: Hi.MachiningSteps.MachiningStep.UpdateNcOptOption(System.Action(Of Hi.NcOpt.NcOptOption)) + nameWithType: MachiningStep.UpdateNcOptOption(Action) + nameWithType.vb: MachiningStep.UpdateNcOptOption(Action(Of NcOptOption)) +- uid: Hi.MachiningSteps.MachiningStep.UpdateNcOptOption* + name: UpdateNcOptOption + href: api/Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_UpdateNcOptOption_ + commentId: Overload:Hi.MachiningSteps.MachiningStep.UpdateNcOptOption + isSpec: "True" + fullName: Hi.MachiningSteps.MachiningStep.UpdateNcOptOption + nameWithType: MachiningStep.UpdateNcOptOption - uid: Hi.MachiningSteps.MachiningStep.WorkpieceDermisTemperature_C name: WorkpieceDermisTemperature_C href: api/Hi.MachiningSteps.MachiningStep.html#Hi_MachiningSteps_MachiningStep_WorkpieceDermisTemperature_C @@ -100689,19 +100990,32 @@ references: isSpec: "True" fullName: Hi.MillingForces.MillingPhysicsBrief.RakeFaceCycleAvgContactArea_mm2 nameWithType: MillingPhysicsBrief.RakeFaceCycleAvgContactArea_mm2 -- uid: Hi.MillingForces.MillingPhysicsBrief.ReliefFaceCollidingVelocity_mmds - name: ReliefFaceCollidingVelocity_mmds - href: api/Hi.MillingForces.MillingPhysicsBrief.html#Hi_MillingForces_MillingPhysicsBrief_ReliefFaceCollidingVelocity_mmds - commentId: P:Hi.MillingForces.MillingPhysicsBrief.ReliefFaceCollidingVelocity_mmds - fullName: Hi.MillingForces.MillingPhysicsBrief.ReliefFaceCollidingVelocity_mmds - nameWithType: MillingPhysicsBrief.ReliefFaceCollidingVelocity_mmds -- uid: Hi.MillingForces.MillingPhysicsBrief.ReliefFaceCollidingVelocity_mmds* - name: ReliefFaceCollidingVelocity_mmds - href: api/Hi.MillingForces.MillingPhysicsBrief.html#Hi_MillingForces_MillingPhysicsBrief_ReliefFaceCollidingVelocity_mmds_ - commentId: Overload:Hi.MillingForces.MillingPhysicsBrief.ReliefFaceCollidingVelocity_mmds +- uid: Hi.MillingForces.MillingPhysicsBrief.ReliefFaceCollidingAngle_deg + name: ReliefFaceCollidingAngle_deg + href: api/Hi.MillingForces.MillingPhysicsBrief.html#Hi_MillingForces_MillingPhysicsBrief_ReliefFaceCollidingAngle_deg + commentId: P:Hi.MillingForces.MillingPhysicsBrief.ReliefFaceCollidingAngle_deg + fullName: Hi.MillingForces.MillingPhysicsBrief.ReliefFaceCollidingAngle_deg + nameWithType: MillingPhysicsBrief.ReliefFaceCollidingAngle_deg +- uid: Hi.MillingForces.MillingPhysicsBrief.ReliefFaceCollidingAngle_deg* + name: ReliefFaceCollidingAngle_deg + href: api/Hi.MillingForces.MillingPhysicsBrief.html#Hi_MillingForces_MillingPhysicsBrief_ReliefFaceCollidingAngle_deg_ + commentId: Overload:Hi.MillingForces.MillingPhysicsBrief.ReliefFaceCollidingAngle_deg isSpec: "True" - fullName: Hi.MillingForces.MillingPhysicsBrief.ReliefFaceCollidingVelocity_mmds - nameWithType: MillingPhysicsBrief.ReliefFaceCollidingVelocity_mmds + fullName: Hi.MillingForces.MillingPhysicsBrief.ReliefFaceCollidingAngle_deg + nameWithType: MillingPhysicsBrief.ReliefFaceCollidingAngle_deg +- uid: Hi.MillingForces.MillingPhysicsBrief.ReliefFaceCollidingAngle_rad + name: ReliefFaceCollidingAngle_rad + href: api/Hi.MillingForces.MillingPhysicsBrief.html#Hi_MillingForces_MillingPhysicsBrief_ReliefFaceCollidingAngle_rad + commentId: P:Hi.MillingForces.MillingPhysicsBrief.ReliefFaceCollidingAngle_rad + fullName: Hi.MillingForces.MillingPhysicsBrief.ReliefFaceCollidingAngle_rad + nameWithType: MillingPhysicsBrief.ReliefFaceCollidingAngle_rad +- uid: Hi.MillingForces.MillingPhysicsBrief.ReliefFaceCollidingAngle_rad* + name: ReliefFaceCollidingAngle_rad + href: api/Hi.MillingForces.MillingPhysicsBrief.html#Hi_MillingForces_MillingPhysicsBrief_ReliefFaceCollidingAngle_rad_ + commentId: Overload:Hi.MillingForces.MillingPhysicsBrief.ReliefFaceCollidingAngle_rad + isSpec: "True" + fullName: Hi.MillingForces.MillingPhysicsBrief.ReliefFaceCollidingAngle_rad + nameWithType: MillingPhysicsBrief.ReliefFaceCollidingAngle_rad - uid: Hi.MillingForces.MillingPhysicsBrief.RotationAngleInterval_deg name: RotationAngleInterval_deg href: api/Hi.MillingForces.MillingPhysicsBrief.html#Hi_MillingForces_MillingPhysicsBrief_RotationAngleInterval_deg @@ -112250,6 +112564,19 @@ references: isSpec: "True" fullName: Hi.NcOpt.MillingCutterOptLimit.YieldingSafetyFactor nameWithType: MillingCutterOptLimit.YieldingSafetyFactor +- uid: Hi.NcOpt.MillingCutterOptLimit.YieldingUtilizationFactor + name: YieldingUtilizationFactor + href: api/Hi.NcOpt.MillingCutterOptLimit.html#Hi_NcOpt_MillingCutterOptLimit_YieldingUtilizationFactor + commentId: P:Hi.NcOpt.MillingCutterOptLimit.YieldingUtilizationFactor + fullName: Hi.NcOpt.MillingCutterOptLimit.YieldingUtilizationFactor + nameWithType: MillingCutterOptLimit.YieldingUtilizationFactor +- uid: Hi.NcOpt.MillingCutterOptLimit.YieldingUtilizationFactor* + name: YieldingUtilizationFactor + href: api/Hi.NcOpt.MillingCutterOptLimit.html#Hi_NcOpt_MillingCutterOptLimit_YieldingUtilizationFactor_ + commentId: Overload:Hi.NcOpt.MillingCutterOptLimit.YieldingUtilizationFactor + isSpec: "True" + fullName: Hi.NcOpt.MillingCutterOptLimit.YieldingUtilizationFactor + nameWithType: MillingCutterOptLimit.YieldingUtilizationFactor - uid: Hi.NcOpt.NcOptOption name: NcOptOption href: api/Hi.NcOpt.NcOptOption.html @@ -112513,6 +112840,19 @@ references: isSpec: "True" fullName: Hi.NcOpt.NcOptOption.MaxAcceleration_mmds2 nameWithType: NcOptOption.MaxAcceleration_mmds2 +- uid: Hi.NcOpt.NcOptOption.MaxFeedPerTooth_mm + name: MaxFeedPerTooth_mm + href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_MaxFeedPerTooth_mm + commentId: P:Hi.NcOpt.NcOptOption.MaxFeedPerTooth_mm + fullName: Hi.NcOpt.NcOptOption.MaxFeedPerTooth_mm + nameWithType: NcOptOption.MaxFeedPerTooth_mm +- uid: Hi.NcOpt.NcOptOption.MaxFeedPerTooth_mm* + name: MaxFeedPerTooth_mm + href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_MaxFeedPerTooth_mm_ + commentId: Overload:Hi.NcOpt.NcOptOption.MaxFeedPerTooth_mm + isSpec: "True" + fullName: Hi.NcOpt.NcOptOption.MaxFeedPerTooth_mm + nameWithType: NcOptOption.MaxFeedPerTooth_mm - uid: Hi.NcOpt.NcOptOption.MaxFeedrate_mmdmin name: MaxFeedrate_mmdmin href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_MaxFeedrate_mmdmin @@ -112552,6 +112892,19 @@ references: isSpec: "True" fullName: Hi.NcOpt.NcOptOption.MaxJerk_mmds3 nameWithType: NcOptOption.MaxJerk_mmds3 +- uid: Hi.NcOpt.NcOptOption.MinFeedPerTooth_mm + name: MinFeedPerTooth_mm + href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_MinFeedPerTooth_mm + commentId: P:Hi.NcOpt.NcOptOption.MinFeedPerTooth_mm + fullName: Hi.NcOpt.NcOptOption.MinFeedPerTooth_mm + nameWithType: NcOptOption.MinFeedPerTooth_mm +- uid: Hi.NcOpt.NcOptOption.MinFeedPerTooth_mm* + name: MinFeedPerTooth_mm + href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_MinFeedPerTooth_mm_ + commentId: Overload:Hi.NcOpt.NcOptOption.MinFeedPerTooth_mm + isSpec: "True" + fullName: Hi.NcOpt.NcOptOption.MinFeedPerTooth_mm + nameWithType: NcOptOption.MinFeedPerTooth_mm - uid: Hi.NcOpt.NcOptOption.MinFeedrate_mmdmin name: MinFeedrate_mmdmin href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_MinFeedrate_mmdmin @@ -112630,6 +112983,19 @@ references: isSpec: "True" fullName: Hi.NcOpt.NcOptOption.SpindlePowerSafetyFactor nameWithType: NcOptOption.SpindlePowerSafetyFactor +- uid: Hi.NcOpt.NcOptOption.SpindlePowerUtilizationFactor + name: SpindlePowerUtilizationFactor + href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_SpindlePowerUtilizationFactor + commentId: P:Hi.NcOpt.NcOptOption.SpindlePowerUtilizationFactor + fullName: Hi.NcOpt.NcOptOption.SpindlePowerUtilizationFactor + nameWithType: NcOptOption.SpindlePowerUtilizationFactor +- uid: Hi.NcOpt.NcOptOption.SpindlePowerUtilizationFactor* + name: SpindlePowerUtilizationFactor + href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_SpindlePowerUtilizationFactor_ + commentId: Overload:Hi.NcOpt.NcOptOption.SpindlePowerUtilizationFactor + isSpec: "True" + fullName: Hi.NcOpt.NcOptOption.SpindlePowerUtilizationFactor + nameWithType: NcOptOption.SpindlePowerUtilizationFactor - uid: Hi.NcOpt.NcOptOption.SpindleTorqueSafetyFactor name: SpindleTorqueSafetyFactor href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_SpindleTorqueSafetyFactor @@ -112643,6 +113009,19 @@ references: isSpec: "True" fullName: Hi.NcOpt.NcOptOption.SpindleTorqueSafetyFactor nameWithType: NcOptOption.SpindleTorqueSafetyFactor +- uid: Hi.NcOpt.NcOptOption.SpindleTorqueUtilizationFactor + name: SpindleTorqueUtilizationFactor + href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_SpindleTorqueUtilizationFactor + commentId: P:Hi.NcOpt.NcOptOption.SpindleTorqueUtilizationFactor + fullName: Hi.NcOpt.NcOptOption.SpindleTorqueUtilizationFactor + nameWithType: NcOptOption.SpindleTorqueUtilizationFactor +- uid: Hi.NcOpt.NcOptOption.SpindleTorqueUtilizationFactor* + name: SpindleTorqueUtilizationFactor + href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_SpindleTorqueUtilizationFactor_ + commentId: Overload:Hi.NcOpt.NcOptOption.SpindleTorqueUtilizationFactor + isSpec: "True" + fullName: Hi.NcOpt.NcOptOption.SpindleTorqueUtilizationFactor + nameWithType: NcOptOption.SpindleTorqueUtilizationFactor - uid: Hi.NcOpt.NcOptOption.ThermalYieldSafetyFactor name: ThermalYieldSafetyFactor href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_ThermalYieldSafetyFactor @@ -112656,6 +113035,19 @@ references: isSpec: "True" fullName: Hi.NcOpt.NcOptOption.ThermalYieldSafetyFactor nameWithType: NcOptOption.ThermalYieldSafetyFactor +- uid: Hi.NcOpt.NcOptOption.ThermalYieldUtilizationFactor + name: ThermalYieldUtilizationFactor + href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_ThermalYieldUtilizationFactor + commentId: P:Hi.NcOpt.NcOptOption.ThermalYieldUtilizationFactor + fullName: Hi.NcOpt.NcOptOption.ThermalYieldUtilizationFactor + nameWithType: NcOptOption.ThermalYieldUtilizationFactor +- uid: Hi.NcOpt.NcOptOption.ThermalYieldUtilizationFactor* + name: ThermalYieldUtilizationFactor + href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_ThermalYieldUtilizationFactor_ + commentId: Overload:Hi.NcOpt.NcOptOption.ThermalYieldUtilizationFactor + isSpec: "True" + fullName: Hi.NcOpt.NcOptOption.ThermalYieldUtilizationFactor + nameWithType: NcOptOption.ThermalYieldUtilizationFactor - uid: Hi.NcOpt.NcOptOption.ToXElement name: ToXElement() href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_ToXElement @@ -112682,6 +113074,32 @@ references: isSpec: "True" fullName: Hi.NcOpt.NcOptOption.XName nameWithType: NcOptOption.XName +- uid: Hi.NcOpt.NcOptOption.YieldingSafetyFactor + name: YieldingSafetyFactor + href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_YieldingSafetyFactor + commentId: P:Hi.NcOpt.NcOptOption.YieldingSafetyFactor + fullName: Hi.NcOpt.NcOptOption.YieldingSafetyFactor + nameWithType: NcOptOption.YieldingSafetyFactor +- uid: Hi.NcOpt.NcOptOption.YieldingSafetyFactor* + name: YieldingSafetyFactor + href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_YieldingSafetyFactor_ + commentId: Overload:Hi.NcOpt.NcOptOption.YieldingSafetyFactor + isSpec: "True" + fullName: Hi.NcOpt.NcOptOption.YieldingSafetyFactor + nameWithType: NcOptOption.YieldingSafetyFactor +- uid: Hi.NcOpt.NcOptOption.YieldingUtilizationFactor + name: YieldingUtilizationFactor + href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_YieldingUtilizationFactor + commentId: P:Hi.NcOpt.NcOptOption.YieldingUtilizationFactor + fullName: Hi.NcOpt.NcOptOption.YieldingUtilizationFactor + nameWithType: NcOptOption.YieldingUtilizationFactor +- uid: Hi.NcOpt.NcOptOption.YieldingUtilizationFactor* + name: YieldingUtilizationFactor + href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_YieldingUtilizationFactor_ + commentId: Overload:Hi.NcOpt.NcOptOption.YieldingUtilizationFactor + isSpec: "True" + fullName: Hi.NcOpt.NcOptOption.YieldingUtilizationFactor + nameWithType: NcOptOption.YieldingUtilizationFactor - uid: Hi.NcOpt.NcOptProc name: NcOptProc href: api/Hi.NcOpt.NcOptProc.html @@ -131014,19 +131432,6 @@ references: isSpec: "True" fullName: Hi.Physics.WorkpieceMaterial.Duplicate nameWithType: WorkpieceMaterial.Duplicate -- uid: Hi.Physics.WorkpieceMaterial.EffectiveDepthForElogation_mm - name: EffectiveDepthForElogation_mm - href: api/Hi.Physics.WorkpieceMaterial.html#Hi_Physics_WorkpieceMaterial_EffectiveDepthForElogation_mm - commentId: P:Hi.Physics.WorkpieceMaterial.EffectiveDepthForElogation_mm - fullName: Hi.Physics.WorkpieceMaterial.EffectiveDepthForElogation_mm - nameWithType: WorkpieceMaterial.EffectiveDepthForElogation_mm -- uid: Hi.Physics.WorkpieceMaterial.EffectiveDepthForElogation_mm* - name: EffectiveDepthForElogation_mm - href: api/Hi.Physics.WorkpieceMaterial.html#Hi_Physics_WorkpieceMaterial_EffectiveDepthForElogation_mm_ - commentId: Overload:Hi.Physics.WorkpieceMaterial.EffectiveDepthForElogation_mm - isSpec: "True" - fullName: Hi.Physics.WorkpieceMaterial.EffectiveDepthForElogation_mm - nameWithType: WorkpieceMaterial.EffectiveDepthForElogation_mm - uid: Hi.Physics.WorkpieceMaterial.ElasticModulus_GPa name: ElasticModulus_GPa href: api/Hi.Physics.WorkpieceMaterial.html#Hi_Physics_WorkpieceMaterial_ElasticModulus_GPa diff --git a/App/zh-Hans/HiMech.resources.dll b/App/zh-Hans/HiMech.resources.dll index 693ca75..6b25154 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 50a43e7..a5906e8 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 0ef32f5..c5c6f22 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 34f0598..412e8b6 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 72beaa0..d37246e 100644 Binary files a/App/zh-Hant/HiNc.resources.dll and b/App/zh-Hant/HiNc.resources.dll differ