diff --git a/App/Hi.Wpf.dll b/App/Hi.Wpf.dll
index 9d73e75..f5b7822 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 79febb7..7ed1388 100644
Binary files a/App/HiCbtr.dll and b/App/HiCbtr.dll differ
diff --git a/App/HiDisp.dll b/App/HiDisp.dll
index 13d4d7b..ead00d1 100644
Binary files a/App/HiDisp.dll and b/App/HiDisp.dll differ
diff --git a/App/HiGeom.dll b/App/HiGeom.dll
index fa32f27..943d450 100644
Binary files a/App/HiGeom.dll and b/App/HiGeom.dll differ
diff --git a/App/HiLicense.dll b/App/HiLicense.dll
index 98bc91a..b9907f2 100644
Binary files a/App/HiLicense.dll and b/App/HiLicense.dll differ
diff --git a/App/HiMech.dll b/App/HiMech.dll
index 1217ab6..6df03f1 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 4470c72..5d6b36f 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.67",
- "HiNc": "3.1.88",
+ "Hi.Wpf": "3.1.68",
+ "HiNc": "3.1.89",
"runtimepack.Microsoft.NETCore.App.Runtime.win-x64": "9.0.11",
"runtimepack.Microsoft.WindowsDesktop.App.Runtime.win-x64": "9.0.11",
"runtimepack.Microsoft.AspNetCore.App.Runtime.win-x64": "9.0.11"
@@ -1600,39 +1600,39 @@
}
}
},
- "Hi.Wpf/3.1.67": {
+ "Hi.Wpf/3.1.68": {
"dependencies": {
- "HiDisp": "3.1.72"
+ "HiDisp": "3.1.73"
},
"runtime": {
"lib/net9.0-windows7.0/Hi.Wpf.dll": {
- "assemblyVersion": "3.1.67.0",
- "fileVersion": "3.1.67.0"
+ "assemblyVersion": "3.1.68.0",
+ "fileVersion": "3.1.68.0"
}
}
},
- "HiCbtr/3.1.72": {
+ "HiCbtr/3.1.73": {
"dependencies": {
- "HiDisp": "3.1.72"
+ "HiDisp": "3.1.73"
},
"runtime": {
"lib/net9.0/HiCbtr.dll": {
- "assemblyVersion": "3.1.72.0",
- "fileVersion": "3.1.72.0"
+ "assemblyVersion": "3.1.73.0",
+ "fileVersion": "3.1.73.0"
}
}
},
- "HiDisp/3.1.72": {
+ "HiDisp/3.1.73": {
"dependencies": {
- "HiGeom": "3.1.67",
+ "HiGeom": "3.1.68",
"System.Configuration.ConfigurationManager": "10.0.0",
"System.Drawing.Common": "10.0.0",
"System.Resources.Extensions": "10.0.0"
},
"runtime": {
"lib/net9.0/HiDisp.dll": {
- "assemblyVersion": "3.1.72.0",
- "fileVersion": "3.1.72.0"
+ "assemblyVersion": "3.1.73.0",
+ "fileVersion": "3.1.73.0"
}
},
"native": {
@@ -1647,7 +1647,7 @@
}
}
},
- "HiGeom/3.1.67": {
+ "HiGeom/3.1.68": {
"dependencies": {
"Google.Protobuf": "3.28.3",
"Grpc.AspNetCore": "2.66.0",
@@ -1658,8 +1658,8 @@
},
"runtime": {
"lib/net9.0/HiGeom.dll": {
- "assemblyVersion": "3.1.67.0",
- "fileVersion": "3.1.67.0"
+ "assemblyVersion": "3.1.68.0",
+ "fileVersion": "3.1.68.0"
}
},
"resources": {
@@ -1671,27 +1671,27 @@
}
}
},
- "HiLicense/3.1.67": {
+ "HiLicense/3.1.68": {
"dependencies": {
- "HiGeom": "3.1.67"
+ "HiGeom": "3.1.68"
},
"runtime": {
"lib/net9.0/HiLicense.dll": {
- "assemblyVersion": "3.1.67.0",
- "fileVersion": "3.1.67.0"
+ "assemblyVersion": "3.1.68.0",
+ "fileVersion": "3.1.68.0"
}
}
},
- "HiMech/3.1.79": {
+ "HiMech/3.1.80": {
"dependencies": {
"CommandLineParser": "2.9.1",
- "HiCbtr": "3.1.72",
+ "HiCbtr": "3.1.73",
"Microsoft.CodeAnalysis.CSharp.Scripting": "5.0.0"
},
"runtime": {
"lib/net9.0/HiMech.dll": {
- "assemblyVersion": "3.1.79.0",
- "fileVersion": "3.1.79.0"
+ "assemblyVersion": "3.1.80.0",
+ "fileVersion": "3.1.80.0"
}
},
"resources": {
@@ -1706,20 +1706,20 @@
}
}
},
- "HiNc/3.1.88": {
+ "HiNc/3.1.89": {
"dependencies": {
"Google.Protobuf": "3.28.3",
"Grpc.AspNetCore": "2.66.0",
"Grpc.Net.Client": "2.66.0",
- "HiLicense": "3.1.67",
- "HiMech": "3.1.79",
- "HiUniNc": "3.1.76",
+ "HiLicense": "3.1.68",
+ "HiMech": "3.1.80",
+ "HiUniNc": "3.1.77",
"System.IO.Pipelines": "10.0.0"
},
"runtime": {
"lib/net9.0/HiNc.dll": {
- "assemblyVersion": "3.1.88.0",
- "fileVersion": "3.1.88.0"
+ "assemblyVersion": "3.1.89.0",
+ "fileVersion": "3.1.89.0"
}
},
"resources": {
@@ -1731,14 +1731,14 @@
}
}
},
- "HiUniNc/3.1.76": {
+ "HiUniNc/3.1.77": {
"dependencies": {
- "HiMech": "3.1.79"
+ "HiMech": "3.1.80"
},
"runtime": {
"lib/net9.0/HiUniNc.dll": {
- "assemblyVersion": "3.1.76.0",
- "fileVersion": "3.1.76.0"
+ "assemblyVersion": "3.1.77.0",
+ "fileVersion": "3.1.77.0"
}
}
},
@@ -2219,61 +2219,61 @@
"path": "grpc.net.common/2.66.0",
"hashPath": "grpc.net.common.2.66.0.nupkg.sha512"
},
- "Hi.Wpf/3.1.67": {
+ "Hi.Wpf/3.1.68": {
"type": "package",
"serviceable": true,
- "sha512": "sha512-0zrTQuGkONCcBgyWdZFzjqLslyKtLqSR5NF5RTZhpHKK80lEzoh/KSEbIXknd6JcCWsru4FLGvcwYuBiMVpRIA==",
- "path": "hi.wpf/3.1.67",
- "hashPath": "hi.wpf.3.1.67.nupkg.sha512"
+ "sha512": "sha512-47lo+Zr99SD1/INkNAwz2gk+5NE0Lt2ZGGER1ae2joZVb/T9sNCIdJ3slFks45SIUdBd/XP7RR/r80bqHuYk2g==",
+ "path": "hi.wpf/3.1.68",
+ "hashPath": "hi.wpf.3.1.68.nupkg.sha512"
},
- "HiCbtr/3.1.72": {
+ "HiCbtr/3.1.73": {
"type": "package",
"serviceable": true,
- "sha512": "sha512-DjdVfnqK9ezMy83NecAdo82e/+UrLddx/b7PpRfmNU03qITJrLUdZX/84zMTvjSKYS8LsJ8rBL+ColKLHny8zw==",
- "path": "hicbtr/3.1.72",
- "hashPath": "hicbtr.3.1.72.nupkg.sha512"
+ "sha512": "sha512-rR9DyzXGkGZLGL7GYH8g2nO/8pqlhDwalpH51LMShuuZWNjPwPQDeQ1LDmH56y589OhkqG1ta26+9nssUwmSMA==",
+ "path": "hicbtr/3.1.73",
+ "hashPath": "hicbtr.3.1.73.nupkg.sha512"
},
- "HiDisp/3.1.72": {
+ "HiDisp/3.1.73": {
"type": "package",
"serviceable": true,
- "sha512": "sha512-HseZ2V1Zz2LOV/DZD6l9S40gMpv+Cv6Yrlxub+Y9eI7I/EX02zDwh8b2NZlKFYP8x6SDvgqnDcd5w3QUWVj6yg==",
- "path": "hidisp/3.1.72",
- "hashPath": "hidisp.3.1.72.nupkg.sha512"
+ "sha512": "sha512-eg0Nm/xUQ6M44Idl4U2XIcHAwrNJumvdK2KkdLA+YTb6gOtyvCEan0dA05cf/H6sJ5OicrCeEB4NdnfYP9Uw2g==",
+ "path": "hidisp/3.1.73",
+ "hashPath": "hidisp.3.1.73.nupkg.sha512"
},
- "HiGeom/3.1.67": {
+ "HiGeom/3.1.68": {
"type": "package",
"serviceable": true,
- "sha512": "sha512-5eK986BtFuffkIdUC7BMBVspY8azZSN1cpP/QX01mUR4GXuAsTEwNbaC6p6mrCI+BgVOlaXqN2a7l1f0J+8nFg==",
- "path": "higeom/3.1.67",
- "hashPath": "higeom.3.1.67.nupkg.sha512"
+ "sha512": "sha512-617ZiKB3OBH4uwk8P4nyQAFQd7NPISWUXQ/VW0ySR0MuvgXKSh9R+gXIY7UH/HDT1JY6bdFD9mCL9/j6K2htyg==",
+ "path": "higeom/3.1.68",
+ "hashPath": "higeom.3.1.68.nupkg.sha512"
},
- "HiLicense/3.1.67": {
+ "HiLicense/3.1.68": {
"type": "package",
"serviceable": true,
- "sha512": "sha512-wFb+3Gv3qf4McyLgfSvbjwH3OYa927qYMQLQEOEt+GfiXxm+37hYvz8ZKx7Ax7aPMdxxF/Lv6eJHIyEjMdvB9w==",
- "path": "hilicense/3.1.67",
- "hashPath": "hilicense.3.1.67.nupkg.sha512"
+ "sha512": "sha512-cl7qcGD3M40+gfbKFLuWO2HtcOeJsGnsk0gLUmd8oBXkIKtaoAZCOnuB3f/wEzr6IlOSpP48RvAPvPP4DaRgGA==",
+ "path": "hilicense/3.1.68",
+ "hashPath": "hilicense.3.1.68.nupkg.sha512"
},
- "HiMech/3.1.79": {
+ "HiMech/3.1.80": {
"type": "package",
"serviceable": true,
- "sha512": "sha512-Nn1RLi8Lp+7+U5AWA3/ICVTX/lbdggxiWLVWMDPZKhU/vhqy0ok74NXKXsnuznB6RYRCHJdQsajLOq/Q3jSoYw==",
- "path": "himech/3.1.79",
- "hashPath": "himech.3.1.79.nupkg.sha512"
+ "sha512": "sha512-gOZkPDfM4vGQN8KU2GlPMQgeSqUMdOkf4uUV9NXu51ojYtzBNazhpFHPNV/MkpAHOyzL1cQEmJ7oc4x7YzEZXA==",
+ "path": "himech/3.1.80",
+ "hashPath": "himech.3.1.80.nupkg.sha512"
},
- "HiNc/3.1.88": {
+ "HiNc/3.1.89": {
"type": "package",
"serviceable": true,
- "sha512": "sha512-bOCV1fk2+VJ3BwS6ZWUZ65BBhvvLZBORVEdCA5N67ZmLfdNP4Na0A7F+4Ia9hVIYADmC4PlR0qU9R5oovisaCA==",
- "path": "hinc/3.1.88",
- "hashPath": "hinc.3.1.88.nupkg.sha512"
+ "sha512": "sha512-IEecTPyS9WyRlEnsDZxLiS6lIuEFUErT/Hs6qrF2PkVYRquv7sLz/sraLLRi8lsRnkvI3oMnw50hW5cVGzNUIg==",
+ "path": "hinc/3.1.89",
+ "hashPath": "hinc.3.1.89.nupkg.sha512"
},
- "HiUniNc/3.1.76": {
+ "HiUniNc/3.1.77": {
"type": "package",
"serviceable": true,
- "sha512": "sha512-XbFy9gWOXkcgy69ZQ8LvWPaN9brfjayttoobXgL6GufvWUAKgI4QS++KhrMrq7vaDMn5A3Z8E65h+zRNlDruTQ==",
- "path": "hiuninc/3.1.76",
- "hashPath": "hiuninc.3.1.76.nupkg.sha512"
+ "sha512": "sha512-lkEdgDdNi5g0eJjLxExFWlWr9O8stcHiZ0J2fI4vEZQIIgJn23NtNx7SpBUhmvUvnMIeXae6Lfb5KE69GU+ZGg==",
+ "path": "hiuninc/3.1.77",
+ "hashPath": "hiuninc.3.1.77.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 cb9fdd3..3ae2922 100644
Binary files a/App/HiNC-2025-win-desktop.dll and b/App/HiNC-2025-win-desktop.dll differ
diff --git a/App/HiNC-2025-win-desktop.pdb b/App/HiNC-2025-win-desktop.pdb
index f1154d3..2b4a98a 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 df66319..ec2f763 100644
Binary files a/App/HiNc.dll and b/App/HiNc.dll differ
diff --git a/App/HiUniNc.dll b/App/HiUniNc.dll
index 95b1d4e..bc6ce6c 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 9c5c676..4fc30b4 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 afad1dc..ca7b233 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.MachiningProcs.RuntimeApi.html b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeApi.html
index dd19552..dea55e4 100644
--- a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeApi.html
+++ b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeApi.html
@@ -1040,38 +1040,6 @@ public bool OptEnableFeedrate { get; set; }
-
-
-
- OptEnableFlatProcLog
-
-
-
-
-
-
-
-
[JsAce]
-public static bool OptEnableFlatProcLog { get; set; }
-
-
-
-
-
-
- Property Value
-
- bool
-
-
-
-
-
-
-
-
-
-
@@ -1171,6 +1139,38 @@ public bool OptEnableSideCompensation { get; set; }
+
+
+
+ OptEnableSituStepAdjustmentLog
+
+
+
+
+
+
+
+
[JsAce]
+public static bool OptEnableSituStepAdjustmentLog { get; set; }
+
+
+
+
+
+
+ Property Value
+
+ bool
+
+
+
+
+
+
+
+
+
+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptProc.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptProc.html
index 446b460..a92357f 100644
--- a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptProc.html
+++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptProc.html
@@ -324,19 +324,19 @@ Class NcOptProc
-
+
-
- EnableFlatProcLog
+
+ EnableSituStepAdjustmentLog
- Enable create log file for building situ (independent) FlatExtendedStep process.
+
Enable create log file for building situ (independent) StepOptContext process.
-
public static bool EnableFlatProcLog { get; set; }
+
public static bool EnableSituStepAdjustmentLog { get; set; }
diff --git a/App/wwwroot/HiAPI-docsite/brief/dev-doc/release-note/index.html b/App/wwwroot/HiAPI-docsite/brief/dev-doc/release-note/index.html
index e918337..d38ce82 100644
--- a/App/wwwroot/HiAPI-docsite/brief/dev-doc/release-note/index.html
+++ b/App/wwwroot/HiAPI-docsite/brief/dev-doc/release-note/index.html
@@ -87,13 +87,24 @@
Release Note
+HiNc Packages Version 3.1.88
+
+Rename optimization log API for clarity (see 優化日誌 ):
+
+OptEnableFirstSituProcLog → <xref:Hi.MachiningProcs.RuntimeApi.OptEnableFlatProcLog*>
+OptEnableNcEmbeddedLog → OptEnableEmbeddedLog
+
+
+Improve .flatproc.log output to maintain step order during parallel computation
+Various stability improvements and bug fixes
+
HiNc Packages Version 3.1.86
-Re-build NcOptProc with stricter optimization logics.
+Re-build NcOptProc with stricter optimization logics
Add optimization logging features (see 優化日誌 ):
-.flatproc.log file output for optimization process analysis.
-Embedded log comments in optimized NC file marking source lines with (src) suffix.
+.flatproc.log file output for optimization process analysis
+Embedded log comments in optimized NC file marking source lines with (src) suffix
Fix cutting depth and width accuracy by bounding-box method with workpiece surface
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 fa76ff1..a5df677 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
@@ -242,11 +242,31 @@ N0170 X-4.125 Y45.875
優化日誌
優化過程提供兩種日誌功能,方便分析與除錯。
優化過程日誌檔
-OptEnableFlatProcLog (API) :啟用優化過程日誌檔輸出。預設為真。
+<xref:Hi.MachiningProcs.RuntimeApi.OptEnableFlatProcLog*>(API) :啟用優化過程日誌檔輸出。預設為真。
啟用後,優化過程會為每個NC檔輸出一個 .flatproc.log 檔案,記錄各步階的優化條件經OptExtendedPreDistance_mm (API) 及OptExtendedPostDistance_mm (API) 展開後獨立優化計算的資訊(不包含步階間的交互關係,如加減速)。
+日誌檔案內容依步階順序輸出(即使平行計算時也會保持順序),每行包含:
+
+原始NC行位置與步階索引
+各項優化限制的計算結果,例如:
+
+FrtByPreferedForce_mm: 依目標力計算的每刃進給
+FrtByYieldingStressRatio_mm: 依降伏應力比計算的每刃進給
+FrtBySpindleTorqueRatio_mm: 依主軸扭力比計算的每刃進給
+FrtBySpindlePowerRatio_mm: 依主軸功率比計算的每刃進給
+FrtByThermalYieldingRatio_mm: 依熱降伏比計算的每刃進給
+FrtByReliefAngle_mm: 依餘隙角碰撞計算的每刃進給
+
+
+
嵌入式日誌註解
OptEnableEmbeddedLog (API) :啟用嵌入式日誌註解。預設為真。
-啟用後,優化後的NC檔中會在原始NC行後方加上 (src) 後綴,方便對照原始NC碼與優化後的NC碼。
+啟用後,優化後的NC檔中會在NC行後方加上 (src(...)) 註解,包含:
+
+LineNo: 原始NC檔的行號
+StepIndex: 對應的步階索引
+
+例如:G01 X10.0 Y20.0 F500 (src(LineNo: 140, StepIndex: 256))
+此功能方便對照原始NC碼與優化後的NC碼,並可追蹤每行NC碼對應的步階資訊。
Note
指令格式
diff --git a/App/wwwroot/HiAPI-docsite/index.json b/App/wwwroot/HiAPI-docsite/index.json
index 4350248..dae7fbc 100644
--- a/App/wwwroot/HiAPI-docsite/index.json
+++ b/App/wwwroot/HiAPI-docsite/index.json
@@ -1962,7 +1962,7 @@
"api/Hi.MachiningProcs.RuntimeApi.html": {
"href": "api/Hi.MachiningProcs.RuntimeApi.html",
"title": "Class RuntimeApi | HiAPI-C# 2025",
- "summary": "Class RuntimeApi Namespace Hi.MachiningProcs Assembly HiNc.dll Runtime API for machining operations. public class RuntimeApi : ICsScriptApi Inheritance object RuntimeApi Implements ICsScriptApi Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate
(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Properties DefaultParaTemplateDimension Gets or sets the parameter template dimension (2D or 3D). [JsAce] public int DefaultParaTemplateDimension { get; set; } Property Value int DiffVisualRadius_mm Gets or sets the visual radius in millimeters for difference visualization. Controls the radius used for highlighting differences between workpiece states. [JsAce] public double DiffVisualRadius_mm { get; set; } Property Value double DispCacheMb Gets or sets the display cache size in megabytes. public long DispCacheMb { get; set; } Property Value long DispCache_Mb Gets or sets the display cache size in megabytes. [JsAce] public long DispCache_Mb { get; set; } Property Value long 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, ICuttingPara) is intended to be used. [JsAce] public static int MillingForceCycleDivisionNum { get; set; } Property Value int NcOptOption Gets or sets the NC optimization options. [JsAce] public NcOptOption NcOptOption { get; set; } Property Value NcOptOption OptEnableDepthCompensation Enables or disables depth compensation during optimization. [JsAce] public bool OptEnableDepthCompensation { get; set; } Property Value bool OptEnableEmbeddedLog [JsAce] public static bool OptEnableEmbeddedLog { 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 OptEnableFlatProcLog [JsAce] public static bool OptEnableFlatProcLog { get; set; } Property Value bool OptEnableForwardCompensation Enables or disables forward compensation during optimization. [JsAce] public bool OptEnableForwardCompensation { get; set; } Property Value bool OptEnableInterpolation Enables or disables reinterpolation for optimization. [JsAce] public bool OptEnableInterpolation { get; set; } Property Value bool OptEnableSideCompensation Enables or disables side compensation during optimization. [JsAce] public bool OptEnableSideCompensation { get; set; } Property Value bool OptExtendedPostDistance_mm Gets or sets the extended post-distance in millimeters for NC optimization. This is the distance after the current segment that will be considered for optimization. [JsAce] public double OptExtendedPostDistance_mm { get; set; } Property Value double OptExtendedPreDistance_mm Gets or sets the extended pre-distance in millimeters for NC optimization. This is the distance before the current segment that will be considered for optimization. [JsAce] public double OptExtendedPreDistance_mm { get; set; } Property Value double OptFeedrateAssignmentRatio Gets or sets the feedrate assignment ratio for optimization. If the feedrate change exceeds this ratio, the feedrate in the NC line will be updated. [JsAce] public double OptFeedrateAssignmentRatio { get; set; } Property Value double OptMaxAcceleration_mmds2 Maximum acceleration in mm/s² during optimization. Only takes effect on reinterpolated section. [JsAce(DocContentHtml = \"Only take effect on reinterpolated section.\")] public double OptMaxAcceleration_mmds2 { get; set; } Property Value double OptMaxFeedPerTooth_mm Gets or sets the maximum feed per tooth in millimeters for optimization. [JsAce] public double OptMaxFeedPerTooth_mm { get; set; } Property Value double OptMaxFeedrate_mmdmin Maximum feed rate in mm/min for cutting movements during optimization. [JsAce] public double OptMaxFeedrate_mmdmin { get; set; } Property Value double OptMaxJerk_mmds3 Maximum jerk in mm/s³ during optimization. Only takes effect on reinterpolated section. [JsAce(DocContentHtml = \"Only take effect on reinterpolated section.\")] public double OptMaxJerk_mmds3 { get; set; } Property Value double OptMinFeedPerTooth_mm Gets or sets the minimum feed per tooth in millimeters for optimization. [JsAce] public double OptMinFeedPerTooth_mm { get; set; } Property Value double OptMinFeedrate_mmdmin Minimum feed rate in mm/min for cutting movements during optimization. [JsAce] public double OptMinFeedrate_mmdmin { get; set; } Property Value double OptPreferedForce_N Preferred force in N for optimization. [JsAce] public double OptPreferedForce_N { get; set; } Property Value double OptRapidFeed_mmdmin Rapid feed rate in mm/min for non-cutting movements during optimization. [JsAce] public double OptRapidFeed_mmdmin { get; set; } Property Value double OptSpindlePowerSafetyFactor Safety factor for spindle power during optimization. [JsAce] public double OptSpindlePowerSafetyFactor { get; set; } Property Value double OptSpindlePowerUtilizationFactor Utilization factor for spindle power during optimization. It is the reciprocal of the spindle power safety factor. [JsAce] public double OptSpindlePowerUtilizationFactor { get; set; } Property Value double OptSpindleTorqueSafetyFactor [JsAce] public double OptSpindleTorqueSafetyFactor { get; set; } Property Value double OptSpindleTorqueUtilizationFactor Utilization factor for spindle torque during optimization. It is the reciprocal of the spindle torque safety factor. [JsAce] public double OptSpindleTorqueUtilizationFactor { get; set; } Property Value double OptThermalYieldSafetyFactor Safety factor for spindle torque during optimization. [JsAce] public double OptThermalYieldSafetyFactor { get; set; } Property Value double OptThermalYieldUtilizationFactor Utilization factor for thermal yield during optimization. It is the reciprocal of the thermal yield safety factor. [JsAce] public double OptThermalYieldUtilizationFactor { get; set; } Property Value double OptYieldingSafetyFactor Safety factor for yielding during optimization. [JsAce] public double OptYieldingSafetyFactor { get; set; } Property Value double OptYieldingUtilizationFactor Utilization factor for yielding during optimization. It is the reciprocal of the yielding safety factor. [JsAce] public double OptYieldingUtilizationFactor { get; set; } Property Value double ScriptOptions ScriptOptions. public ScriptOptions ScriptOptions { get; set; } Property Value ScriptOptions SessionMessageHost Gets the session message host for displaying messages. [JsAce] public SessionMessageHost SessionMessageHost { get; } Property Value SessionMessageHost StepCount Gets the total number of milling steps. [JsAce] public int StepCount { get; } Property Value int Workpiece [JsAce] public Workpiece Workpiece { get; set; } Property Value Workpiece Methods AddTimeDataByFile(string, string, double, double) Adds time-based data from a file to the time mapping dictionary with specified time bounds in seconds. [JsAce(\"AddTimeDataByFile($1key, $2relFile, $3beginTime, $4endTime)\")] public bool AddTimeDataByFile(string key, string relFile, double beginTime, double endTime) Parameters key string Key to identify the data relFile string Relative path to the data file beginTime double Beginning time in seconds endTime double Ending time in seconds Returns bool True if the data was successfully added, false otherwise AddTimeDataByFile(string, string, string, string) Adds time-based data from a file to the time mapping dictionary with specified time bounds. [JsAce(\"AddTimeDataByFile($1key, $2relFile, $3beginTime, $4endTime)\")] public bool AddTimeDataByFile(string key, string relFile, string beginTimeText, string endTimeText) Parameters key string Key to identify the data relFile string Relative path to the data file beginTimeText string Beginning time as text (seconds or TimeSpan format) endTimeText string Ending time as text (seconds or TimeSpan format) Returns bool True if the data was successfully added, false otherwise AppendMessagesToFile(string, params string[]) Appends messages to a file, optionally filtered by tags. [JsAce(\"AppendMessagesToFile(\\\"dstRelFile\\\",flags)\")] public void AppendMessagesToFile(string dstRelFile, params string[] flags) Parameters dstRelFile string Destination relative file path flags string[] Optional flags to filter messages by tags BeginPreserve() Begin Preserve section in optimzation process. [JsAce(\"BeginPreserve()\")] public void BeginPreserve() BeginSelection(string, AnchorMode, IStepShift) Begin mark on current line. milling step() has not triggered yet. public void BeginSelection(string key, AnchorMode anchorMode = AnchorMode.LineBegin, IStepShift shift = null) Parameters key string Identifier key for the selection anchorMode AnchorMode Mode for anchoring the beginning of selection shift IStepShift Step shift to apply BeginSession() Begins a new machining session. Not for end user. public void BeginSession() ClearTimeMappingData() Clears all time mapping data. [JsAce] public void ClearTimeMappingData() Diff(double) Performs a difference analysis on the workpiece geometry to detect variations. [JsAce(\"Diff($1detectionRadius_mm)\")] public void Diff(double detectionRadius_mm) Parameters detectionRadius_mm double Radius for detecting differences EndPreserve() End Preserve section in optimzation process. [JsAce(\"EndPreserve()\")] public void EndPreserve() EndSelection(string, AnchorMode, IStepShift) End mark on current line for selection. public void EndSelection(string key, AnchorMode anchorMode = AnchorMode.LineEnd, IStepShift shift = null) Parameters key string Identifier key for the selection anchorMode AnchorMode Mode for anchoring the end of selection shift IStepShift Step shift to apply EndSession() Ends the current machining session. Not for end user. public void EndSession() ErrorMessage(string) Displays an error message in the message host. [JsAce(\"ErrorMessage($1message)\")] public void ErrorMessage(string message) Parameters message string The error message to display FixedPace(double, double) Creates a fixed machining motion resolution with specified parameters. [JsAce(\"FixedPace($1linearResolution_mm, $2rotaryResolution_deg)\")] public FixedMachiningMotionResolution FixedPace(double linearResolution_mm, double rotaryResolution_deg) Parameters linearResolution_mm double Linear resolution in millimeters rotaryResolution_deg double Rotary resolution in degrees Returns FixedMachiningMotionResolution A new fixed machining motion resolution instance GetMillingStep(int) Retrieves a milling step at the specified index. [JsAce(Snippet = \"GetMillingStep($1\\\"stepIndex\\\")\")] public MachiningStep GetMillingStep(int stepIndex) Parameters stepIndex int Index of the milling step to retrieve Returns MachiningStep The milling step at the specified index GetStickMachiningToolObservationHeight_mm(int) Gets the observation height in millimeters for the specified stick machining tool. [JsAce(\"GetStickMachiningToolObservationHeight_mm($1toolId)\")] public double GetStickMachiningToolObservationHeight_mm(int toolId) Parameters toolId int The ID of the tool Returns double The observation height in millimeters GetUniformContourTrayShiftAngle_deg(int) Gets the shift angle in degrees for the uniform contour tray of the specified tool. [JsAce(\"GetUniformContourTrayShiftAngle_deg($1toolId)\")] public double GetUniformContourTrayShiftAngle_deg(int toolId) Parameters toolId int The ID of the tool Returns double The shift angle in degrees LineSelection(string, AnchorMode, IStepShift, AnchorMode, IStepShift) Create a line selection from begin to end mark. public void LineSelection(string key, AnchorMode beginAnchorMode = AnchorMode.LineBegin, IStepShift beginShift = null, AnchorMode endAnchorMode = AnchorMode.LineEnd, IStepShift endShift = null) Parameters key string Identifier key for the selection beginAnchorMode AnchorMode Mode for anchoring the beginning of selection beginShift IStepShift Step shift to apply at beginning endAnchorMode AnchorMode Mode for anchoring the end of selection endShift IStepShift Step shift to apply at end LoadCuttingParaByFile(string) [JsAce(\"LoadCuttingParaByFile($1\\\"relFile\\\")\")] public void LoadCuttingParaByFile(string relFile) Parameters relFile string Map(string, FileTimeSection, CycleSamplingMode?) Maps selection data to time section. public Task Map(string key, FileTimeSection fileTimeSection = null, StepTimeShotUtil.CycleSamplingMode? cycleSamplingMode = CycleSamplingMode.SpindleCycle) Parameters key string Identifier key for the selection fileTimeSection FileTimeSection File time section, or null to use the one associated with the key cycleSamplingMode StepTimeShotUtil.CycleSamplingMode? Cycle sampling mode Returns Task Task representing the asynchronous mapping operation MapByActualTime(string, CycleSamplingMode) [JsAce(\"MapByActualTime($1timeShotRelFile)\")] public void MapByActualTime(string timeShotRelFile, StepTimeShotUtil.CycleSamplingMode cycleSamplingMode = CycleSamplingMode.SpindleCycle) Parameters timeShotRelFile string cycleSamplingMode StepTimeShotUtil.CycleSamplingMode Message(string) Displays a message in the message host. [JsAce(\"Message($1message)\")] public void Message(string message) Parameters message string The message to display OptCallPreferFuncIndexDictionary() [JsAce(\"OptCallPreferFuncIndexDictionary()\")] public Dictionary, double> OptCallPreferFuncIndexDictionary() Returns Dictionary, double> OptimizeToFiles(string) Optimizes NC files and saves results using the specified file template. [JsAce(Snippet = \"OptimizeToFiles(\\\"Output/Opt-[NcName]\\\")\", DocContentHtml = \"Optimize To Files by substitude template keywoard \\\"[NcName]\\\"\")] public void OptimizeToFiles(string relFileTemplate = \"Output/Opt-[NcName]\") Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder Pace() A pausable mark for the playing process. The function enables Pause() to take effect. [JsAce(\"Pace();\")] public void Pace() Remarks Waits for the player to signal the next pace. Pause() Pause Player [JsAce(DocContentHtml = \"Pause Player\")] public void Pause() PlayAct(IAct, IIndexedFileLine, CancellationToken?) Plays an act with pacing control. [JsAce] public void PlayAct(IAct act, IIndexedFileLine sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct The act to play. sourceCommand IIndexedFileLine The source command. cancellationToken CancellationToken? Cancellation token. PlayClTeleport(double, double, double, double, double, double) Plays a CL (cutter location) teleport operation. [JsAce] public void PlayClTeleport(double x, double y, double z, double i, double j, double k) Parameters x double X coordinate. y double Y coordinate. z double Z coordinate. i double I vector component. j double J vector component. k double K vector component. PlayCsvFile(string) Plays an Csv file with the specified relative path. [JsAce(\"PlayCsvFile($1\\\"csvFile\\\");\")] public void PlayCsvFile(string relFilePath) Parameters relFilePath string Relative path to the CSV file PlayNc(string, string) Plays NC code directly from a string, executing each action and pacing between them. [JsAce(Snippet = \"PlayNc($1\\\"ncCommand\\\",$2\\\"\\\"(Direct Command)\\\"\\\");\", DocContentHtml = \"Play NC. second parameter is the file name alternative shows in the log.\")] public void PlayNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string NC code as a string fileNameAlternative string Alternative name to display in logs PlayNcFile(string) Plays an NC file with the specified relative path. [JsAce(\"PlayNcFile($1\\\"ncFile\\\");\")] public void PlayNcFile(string relNcFilePath) Parameters relNcFilePath string Relative path to the NC file PlayToolingTeleport(int) Plays a tooling teleport operation. [JsAce] public void PlayToolingTeleport(int toolId) Parameters toolId int The tool ID to teleport. Preserve() Preserve one line NC code in optimzation process. [JsAce(\"Preserve()\")] public void Preserve() ProgressMessage(string) Displays a progress message in the message host. [JsAce(\"ProgressMessage($1message)\")] public void ProgressMessage(string message) Parameters message string The progress message to display ReTrainMillingPara(SampleFlag, string, double) Re-trains milling parameters using the specified sample flag. [JsAce(\"ReTrainMillingPara(Fx|Fy|Fz, $1dstFile)\")] public void ReTrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double outlierRatio = 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. Not for end user. [JsAce(Snippet = \"RunNc($1\\\"ncCommand\\\",$2\\\"\\\"(Direct Command)\\\"\\\");\", DocContentHtml = \"Run NC. second parameter is the file name alternative shows in the log.\")] public IEnumerable RunNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string NC code as a string fileNameAlternative string Alternative name to display in logs Returns IEnumerable Enumerable sequence of actions to be executed RunNcFile(string) Runs an NC file with the specified relative path. Not for end user. [JsAce(\"RunNcFile($1\\\"ncFile\\\");\")] public IEnumerable RunNcFile(string relNcFilePath) Parameters relNcFilePath string Relative path to the NC file Returns IEnumerable Enumerable sequence of actions to be executed SetNcResolutionFeedPerCycle() Sets NC resolution to feed per cycle mode. public void SetNcResolutionFeedPerCycle() SetNcResolutionFeedPerTooth() Sets NC resolution to feed per tooth mode. public void SetNcResolutionFeedPerTooth() SetNcResolutionFixed(double, double) Sets NC resolution to fixed mode with specified resolution values. public void SetNcResolutionFixed(double linearResolution_mm, double rotaryResolution_deg) Parameters linearResolution_mm double Linear resolution in millimeters. rotaryResolution_deg double Rotary resolution in degrees. SetStickMachiningToolObservationHeight_mm(int, double) Sets the observation height in millimeters for the specified stick machining tool. [JsAce(\"SetStickMachiningToolObservationHeight_mm($1toolId,$2height_mm)\")] public void SetStickMachiningToolObservationHeight_mm(int toolId, double height) Parameters toolId int The ID of the tool height double The observation height in millimeters to set SetUniformContourTrayShiftAngle_deg(int, double) Sets the shift angle in degrees for the uniform contour tray of the specified tool. [JsAce(\"SetUniformContourTrayShiftAngle_deg($1toolId,$2angle_deg)\")] public void SetUniformContourTrayShiftAngle_deg(int toolId, double angle_deg) Parameters toolId int The ID of the tool angle_deg double The shift angle in degrees to set ShiftDistance_mm(double) Creates a distance shift object representing the specified distance in millimeters. public DistanceShift ShiftDistance_mm(double distanceShift_mm) Parameters distanceShift_mm double Distance shift in millimeters Returns DistanceShift Distance shift object ShiftTime_s(double) Creates a time shift object representing the specified time in seconds. public TimeShift ShiftTime_s(double seconds) Parameters seconds double Time in seconds Returns TimeShift Time shift object TrainMillingPara(SampleFlag, string, double, ICuttingPara) Trains milling parameters using the specified sample flag. [JsAce(\"TrainMillingPara(Fx|Fy|Fz, $1dstFile)\")] public void TrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double outlierRatio = 2, ICuttingPara paraTemplate = null) Parameters sampleFlag SampleFlag Sample flag indicating which components to train dstRelFile string Destination relative file path outlierRatio double Outlier ratio for data filtering paraTemplate ICuttingPara WarningMessage(string) Displays a warning message in the message host. [JsAce(\"WarningMessage($1message)\")] public void WarningMessage(string message) Parameters message string The warning message to display WriteRuntimeGeom(string) Writes the current runtime geometry to a file. [JsAce(\"WriteRuntimeGeom($1\\\"dstFile\\\")\")] public void WriteRuntimeGeom(string relFile) Parameters relFile string Relative path to the output file WriteRuntimeGeomToStl(string, double) Writes the current runtime geometry to an STL file. [JsAce(\"WriteRuntimeGeomToStl($1\\\"dstFile\\\",$2resolution_mm)\")] public void WriteRuntimeGeomToStl(string relFile, double resolution_mm = 0) Parameters relFile string Relative path to the output STL file resolution_mm double Resolution in millimeters (0 for default) WriteShotFiles(double, string) Writes time-series data to shot files with the specified resolution period (alternative parameter order). public void WriteShotFiles(double resolutionPeroid_ms, string relFileTemplate) Parameters resolutionPeroid_ms double Resolution period in milliseconds relFileTemplate string Template for output file path, can include [NcName] placeholder WriteShotFiles(string, double) Writes time-series data to shot files with the specified resolution period. [JsAce(Snippet = \"WriteShotFiles(\\\"Output/[NcName].shot.csv\\\",resolutionPeroid_ms)\", DocContentHtml = \"Write time series data by resolutionPeroid_ms\")] public void WriteShotFiles(string relFileTemplate = \"Output/[NcName].shot.csv\", double resolutionPeroid_ms = 1) Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder resolutionPeroid_ms double Resolution period in milliseconds WriteStepFiles(string) Writes step-series data to files with the specified file template. [JsAce(Snippet = \"WriteStepFiles(\\\"Output/[NcName].step.csv\\\")\", DocContentHtml = \"Write step series data.\")] public void WriteStepFiles(string relFileTemplate = \"Output/[NcName].step.csv\") Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder Events MachiningStepBuilt Gets or sets the action to configure steps during execution. The event will be cleared by the calling of ResetRuntime(). [JsAce(Snippet = \"MachiningStepBuilt+=($1preStep,$2curStep)=>{$3Command};\", DocContentHtml = \"Runtime Step Configuration action. preStep is the Previous Milling Step; curStep is the Current Milling Step. preStep is null if no previous step existed.\")] public event MachiningActRunner.MachiningStepBuiltDelegate MachiningStepBuilt Event Type MachiningActRunner.MachiningStepBuiltDelegate MachiningStepSelected Event that is triggered when a milling step is selected. The event will be cleared by the calling of ResetRuntime(). [JsAce(Snippet = \"MachiningStepSelected+=($1millingStep)=>{$2Command};\")] public event Action MachiningStepSelected Event Type Action"
+ "summary": "Class RuntimeApi Namespace Hi.MachiningProcs Assembly HiNc.dll Runtime API for machining operations. public class RuntimeApi : ICsScriptApi Inheritance object RuntimeApi Implements ICsScriptApi Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Properties DefaultParaTemplateDimension Gets or sets the parameter template dimension (2D or 3D). [JsAce] public int DefaultParaTemplateDimension { get; set; } Property Value int DiffVisualRadius_mm Gets or sets the visual radius in millimeters for difference visualization. Controls the radius used for highlighting differences between workpiece states. [JsAce] public double DiffVisualRadius_mm { get; set; } Property Value double DispCacheMb Gets or sets the display cache size in megabytes. public long DispCacheMb { get; set; } Property Value long DispCache_Mb Gets or sets the display cache size in megabytes. [JsAce] public long DispCache_Mb { get; set; } Property Value long 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, ICuttingPara) is intended to be used. [JsAce] public static int MillingForceCycleDivisionNum { get; set; } Property Value int NcOptOption Gets or sets the NC optimization options. [JsAce] public NcOptOption NcOptOption { get; set; } Property Value NcOptOption OptEnableDepthCompensation Enables or disables depth compensation during optimization. [JsAce] public bool OptEnableDepthCompensation { get; set; } Property Value bool OptEnableEmbeddedLog [JsAce] public static bool OptEnableEmbeddedLog { 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 OptEnableSituStepAdjustmentLog [JsAce] public static bool OptEnableSituStepAdjustmentLog { get; set; } Property Value bool OptExtendedPostDistance_mm Gets or sets the extended post-distance in millimeters for NC optimization. This is the distance after the current segment that will be considered for optimization. [JsAce] public double OptExtendedPostDistance_mm { get; set; } Property Value double OptExtendedPreDistance_mm Gets or sets the extended pre-distance in millimeters for NC optimization. This is the distance before the current segment that will be considered for optimization. [JsAce] public double OptExtendedPreDistance_mm { get; set; } Property Value double OptFeedrateAssignmentRatio Gets or sets the feedrate assignment ratio for optimization. If the feedrate change exceeds this ratio, the feedrate in the NC line will be updated. [JsAce] public double OptFeedrateAssignmentRatio { get; set; } Property Value double OptMaxAcceleration_mmds2 Maximum acceleration in mm/s² during optimization. Only takes effect on reinterpolated section. [JsAce(DocContentHtml = \"Only take effect on reinterpolated section.\")] public double OptMaxAcceleration_mmds2 { get; set; } Property Value double OptMaxFeedPerTooth_mm Gets or sets the maximum feed per tooth in millimeters for optimization. [JsAce] public double OptMaxFeedPerTooth_mm { get; set; } Property Value double OptMaxFeedrate_mmdmin Maximum feed rate in mm/min for cutting movements during optimization. [JsAce] public double OptMaxFeedrate_mmdmin { get; set; } Property Value double OptMaxJerk_mmds3 Maximum jerk in mm/s³ during optimization. Only takes effect on reinterpolated section. [JsAce(DocContentHtml = \"Only take effect on reinterpolated section.\")] public double OptMaxJerk_mmds3 { get; set; } Property Value double OptMinFeedPerTooth_mm Gets or sets the minimum feed per tooth in millimeters for optimization. [JsAce] public double OptMinFeedPerTooth_mm { get; set; } Property Value double OptMinFeedrate_mmdmin Minimum feed rate in mm/min for cutting movements during optimization. [JsAce] public double OptMinFeedrate_mmdmin { get; set; } Property Value double OptPreferedForce_N Preferred force in N for optimization. [JsAce] public double OptPreferedForce_N { get; set; } Property Value double OptRapidFeed_mmdmin Rapid feed rate in mm/min for non-cutting movements during optimization. [JsAce] public double OptRapidFeed_mmdmin { get; set; } Property Value double OptSpindlePowerSafetyFactor Safety factor for spindle power during optimization. [JsAce] public double OptSpindlePowerSafetyFactor { get; set; } Property Value double OptSpindlePowerUtilizationFactor Utilization factor for spindle power during optimization. It is the reciprocal of the spindle power safety factor. [JsAce] public double OptSpindlePowerUtilizationFactor { get; set; } Property Value double OptSpindleTorqueSafetyFactor [JsAce] public double OptSpindleTorqueSafetyFactor { get; set; } Property Value double OptSpindleTorqueUtilizationFactor Utilization factor for spindle torque during optimization. It is the reciprocal of the spindle torque safety factor. [JsAce] public double OptSpindleTorqueUtilizationFactor { get; set; } Property Value double OptThermalYieldSafetyFactor Safety factor for spindle torque during optimization. [JsAce] public double OptThermalYieldSafetyFactor { get; set; } Property Value double OptThermalYieldUtilizationFactor Utilization factor for thermal yield during optimization. It is the reciprocal of the thermal yield safety factor. [JsAce] public double OptThermalYieldUtilizationFactor { get; set; } Property Value double OptYieldingSafetyFactor Safety factor for yielding during optimization. [JsAce] public double OptYieldingSafetyFactor { get; set; } Property Value double OptYieldingUtilizationFactor Utilization factor for yielding during optimization. It is the reciprocal of the yielding safety factor. [JsAce] public double OptYieldingUtilizationFactor { get; set; } Property Value double ScriptOptions ScriptOptions. public ScriptOptions ScriptOptions { get; set; } Property Value ScriptOptions SessionMessageHost Gets the session message host for displaying messages. [JsAce] public SessionMessageHost SessionMessageHost { get; } Property Value SessionMessageHost StepCount Gets the total number of milling steps. [JsAce] public int StepCount { get; } Property Value int Workpiece [JsAce] public Workpiece Workpiece { get; set; } Property Value Workpiece Methods AddTimeDataByFile(string, string, double, double) Adds time-based data from a file to the time mapping dictionary with specified time bounds in seconds. [JsAce(\"AddTimeDataByFile($1key, $2relFile, $3beginTime, $4endTime)\")] public bool AddTimeDataByFile(string key, string relFile, double beginTime, double endTime) Parameters key string Key to identify the data relFile string Relative path to the data file beginTime double Beginning time in seconds endTime double Ending time in seconds Returns bool True if the data was successfully added, false otherwise AddTimeDataByFile(string, string, string, string) Adds time-based data from a file to the time mapping dictionary with specified time bounds. [JsAce(\"AddTimeDataByFile($1key, $2relFile, $3beginTime, $4endTime)\")] public bool AddTimeDataByFile(string key, string relFile, string beginTimeText, string endTimeText) Parameters key string Key to identify the data relFile string Relative path to the data file beginTimeText string Beginning time as text (seconds or TimeSpan format) endTimeText string Ending time as text (seconds or TimeSpan format) Returns bool True if the data was successfully added, false otherwise AppendMessagesToFile(string, params string[]) Appends messages to a file, optionally filtered by tags. [JsAce(\"AppendMessagesToFile(\\\"dstRelFile\\\",flags)\")] public void AppendMessagesToFile(string dstRelFile, params string[] flags) Parameters dstRelFile string Destination relative file path flags string[] Optional flags to filter messages by tags BeginPreserve() Begin Preserve section in optimzation process. [JsAce(\"BeginPreserve()\")] public void BeginPreserve() BeginSelection(string, AnchorMode, IStepShift) Begin mark on current line. milling step() has not triggered yet. public void BeginSelection(string key, AnchorMode anchorMode = AnchorMode.LineBegin, IStepShift shift = null) Parameters key string Identifier key for the selection anchorMode AnchorMode Mode for anchoring the beginning of selection shift IStepShift Step shift to apply BeginSession() Begins a new machining session. Not for end user. public void BeginSession() ClearTimeMappingData() Clears all time mapping data. [JsAce] public void ClearTimeMappingData() Diff(double) Performs a difference analysis on the workpiece geometry to detect variations. [JsAce(\"Diff($1detectionRadius_mm)\")] public void Diff(double detectionRadius_mm) Parameters detectionRadius_mm double Radius for detecting differences EndPreserve() End Preserve section in optimzation process. [JsAce(\"EndPreserve()\")] public void EndPreserve() EndSelection(string, AnchorMode, IStepShift) End mark on current line for selection. public void EndSelection(string key, AnchorMode anchorMode = AnchorMode.LineEnd, IStepShift shift = null) Parameters key string Identifier key for the selection anchorMode AnchorMode Mode for anchoring the end of selection shift IStepShift Step shift to apply EndSession() Ends the current machining session. Not for end user. public void EndSession() ErrorMessage(string) Displays an error message in the message host. [JsAce(\"ErrorMessage($1message)\")] public void ErrorMessage(string message) Parameters message string The error message to display FixedPace(double, double) Creates a fixed machining motion resolution with specified parameters. [JsAce(\"FixedPace($1linearResolution_mm, $2rotaryResolution_deg)\")] public FixedMachiningMotionResolution FixedPace(double linearResolution_mm, double rotaryResolution_deg) Parameters linearResolution_mm double Linear resolution in millimeters rotaryResolution_deg double Rotary resolution in degrees Returns FixedMachiningMotionResolution A new fixed machining motion resolution instance GetMillingStep(int) Retrieves a milling step at the specified index. [JsAce(Snippet = \"GetMillingStep($1\\\"stepIndex\\\")\")] public MachiningStep GetMillingStep(int stepIndex) Parameters stepIndex int Index of the milling step to retrieve Returns MachiningStep The milling step at the specified index GetStickMachiningToolObservationHeight_mm(int) Gets the observation height in millimeters for the specified stick machining tool. [JsAce(\"GetStickMachiningToolObservationHeight_mm($1toolId)\")] public double GetStickMachiningToolObservationHeight_mm(int toolId) Parameters toolId int The ID of the tool Returns double The observation height in millimeters GetUniformContourTrayShiftAngle_deg(int) Gets the shift angle in degrees for the uniform contour tray of the specified tool. [JsAce(\"GetUniformContourTrayShiftAngle_deg($1toolId)\")] public double GetUniformContourTrayShiftAngle_deg(int toolId) Parameters toolId int The ID of the tool Returns double The shift angle in degrees LineSelection(string, AnchorMode, IStepShift, AnchorMode, IStepShift) Create a line selection from begin to end mark. public void LineSelection(string key, AnchorMode beginAnchorMode = AnchorMode.LineBegin, IStepShift beginShift = null, AnchorMode endAnchorMode = AnchorMode.LineEnd, IStepShift endShift = null) Parameters key string Identifier key for the selection beginAnchorMode AnchorMode Mode for anchoring the beginning of selection beginShift IStepShift Step shift to apply at beginning endAnchorMode AnchorMode Mode for anchoring the end of selection endShift IStepShift Step shift to apply at end LoadCuttingParaByFile(string) [JsAce(\"LoadCuttingParaByFile($1\\\"relFile\\\")\")] public void LoadCuttingParaByFile(string relFile) Parameters relFile string Map(string, FileTimeSection, CycleSamplingMode?) Maps selection data to time section. public Task Map(string key, FileTimeSection fileTimeSection = null, StepTimeShotUtil.CycleSamplingMode? cycleSamplingMode = CycleSamplingMode.SpindleCycle) Parameters key string Identifier key for the selection fileTimeSection FileTimeSection File time section, or null to use the one associated with the key cycleSamplingMode StepTimeShotUtil.CycleSamplingMode? Cycle sampling mode Returns Task Task representing the asynchronous mapping operation MapByActualTime(string, CycleSamplingMode) [JsAce(\"MapByActualTime($1timeShotRelFile)\")] public void MapByActualTime(string timeShotRelFile, StepTimeShotUtil.CycleSamplingMode cycleSamplingMode = CycleSamplingMode.SpindleCycle) Parameters timeShotRelFile string cycleSamplingMode StepTimeShotUtil.CycleSamplingMode Message(string) Displays a message in the message host. [JsAce(\"Message($1message)\")] public void Message(string message) Parameters message string The message to display OptCallPreferFuncIndexDictionary() [JsAce(\"OptCallPreferFuncIndexDictionary()\")] public Dictionary, double> OptCallPreferFuncIndexDictionary() Returns Dictionary, double> OptimizeToFiles(string) Optimizes NC files and saves results using the specified file template. [JsAce(Snippet = \"OptimizeToFiles(\\\"Output/Opt-[NcName]\\\")\", DocContentHtml = \"Optimize To Files by substitude template keywoard \\\"[NcName]\\\"\")] public void OptimizeToFiles(string relFileTemplate = \"Output/Opt-[NcName]\") Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder Pace() A pausable mark for the playing process. The function enables Pause() to take effect. [JsAce(\"Pace();\")] public void Pace() Remarks Waits for the player to signal the next pace. Pause() Pause Player [JsAce(DocContentHtml = \"Pause Player\")] public void Pause() PlayAct(IAct, IIndexedFileLine, CancellationToken?) Plays an act with pacing control. [JsAce] public void PlayAct(IAct act, IIndexedFileLine sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct The act to play. sourceCommand IIndexedFileLine The source command. cancellationToken CancellationToken? Cancellation token. PlayClTeleport(double, double, double, double, double, double) Plays a CL (cutter location) teleport operation. [JsAce] public void PlayClTeleport(double x, double y, double z, double i, double j, double k) Parameters x double X coordinate. y double Y coordinate. z double Z coordinate. i double I vector component. j double J vector component. k double K vector component. PlayCsvFile(string) Plays an Csv file with the specified relative path. [JsAce(\"PlayCsvFile($1\\\"csvFile\\\");\")] public void PlayCsvFile(string relFilePath) Parameters relFilePath string Relative path to the CSV file PlayNc(string, string) Plays NC code directly from a string, executing each action and pacing between them. [JsAce(Snippet = \"PlayNc($1\\\"ncCommand\\\",$2\\\"\\\"(Direct Command)\\\"\\\");\", DocContentHtml = \"Play NC. second parameter is the file name alternative shows in the log.\")] public void PlayNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string NC code as a string fileNameAlternative string Alternative name to display in logs PlayNcFile(string) Plays an NC file with the specified relative path. [JsAce(\"PlayNcFile($1\\\"ncFile\\\");\")] public void PlayNcFile(string relNcFilePath) Parameters relNcFilePath string Relative path to the NC file PlayToolingTeleport(int) Plays a tooling teleport operation. [JsAce] public void PlayToolingTeleport(int toolId) Parameters toolId int The tool ID to teleport. Preserve() Preserve one line NC code in optimzation process. [JsAce(\"Preserve()\")] public void Preserve() ProgressMessage(string) Displays a progress message in the message host. [JsAce(\"ProgressMessage($1message)\")] public void ProgressMessage(string message) Parameters message string The progress message to display ReTrainMillingPara(SampleFlag, string, double) Re-trains milling parameters using the specified sample flag. [JsAce(\"ReTrainMillingPara(Fx|Fy|Fz, $1dstFile)\")] public void ReTrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double outlierRatio = 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. Not for end user. [JsAce(Snippet = \"RunNc($1\\\"ncCommand\\\",$2\\\"\\\"(Direct Command)\\\"\\\");\", DocContentHtml = \"Run NC. second parameter is the file name alternative shows in the log.\")] public IEnumerable RunNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string NC code as a string fileNameAlternative string Alternative name to display in logs Returns IEnumerable Enumerable sequence of actions to be executed RunNcFile(string) Runs an NC file with the specified relative path. Not for end user. [JsAce(\"RunNcFile($1\\\"ncFile\\\");\")] public IEnumerable RunNcFile(string relNcFilePath) Parameters relNcFilePath string Relative path to the NC file Returns IEnumerable Enumerable sequence of actions to be executed SetNcResolutionFeedPerCycle() Sets NC resolution to feed per cycle mode. public void SetNcResolutionFeedPerCycle() SetNcResolutionFeedPerTooth() Sets NC resolution to feed per tooth mode. public void SetNcResolutionFeedPerTooth() SetNcResolutionFixed(double, double) Sets NC resolution to fixed mode with specified resolution values. public void SetNcResolutionFixed(double linearResolution_mm, double rotaryResolution_deg) Parameters linearResolution_mm double Linear resolution in millimeters. rotaryResolution_deg double Rotary resolution in degrees. SetStickMachiningToolObservationHeight_mm(int, double) Sets the observation height in millimeters for the specified stick machining tool. [JsAce(\"SetStickMachiningToolObservationHeight_mm($1toolId,$2height_mm)\")] public void SetStickMachiningToolObservationHeight_mm(int toolId, double height) Parameters toolId int The ID of the tool height double The observation height in millimeters to set SetUniformContourTrayShiftAngle_deg(int, double) Sets the shift angle in degrees for the uniform contour tray of the specified tool. [JsAce(\"SetUniformContourTrayShiftAngle_deg($1toolId,$2angle_deg)\")] public void SetUniformContourTrayShiftAngle_deg(int toolId, double angle_deg) Parameters toolId int The ID of the tool angle_deg double The shift angle in degrees to set ShiftDistance_mm(double) Creates a distance shift object representing the specified distance in millimeters. public DistanceShift ShiftDistance_mm(double distanceShift_mm) Parameters distanceShift_mm double Distance shift in millimeters Returns DistanceShift Distance shift object ShiftTime_s(double) Creates a time shift object representing the specified time in seconds. public TimeShift ShiftTime_s(double seconds) Parameters seconds double Time in seconds Returns TimeShift Time shift object TrainMillingPara(SampleFlag, string, double, ICuttingPara) Trains milling parameters using the specified sample flag. [JsAce(\"TrainMillingPara(Fx|Fy|Fz, $1dstFile)\")] public void TrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double outlierRatio = 2, ICuttingPara paraTemplate = null) Parameters sampleFlag SampleFlag Sample flag indicating which components to train dstRelFile string Destination relative file path outlierRatio double Outlier ratio for data filtering paraTemplate ICuttingPara WarningMessage(string) Displays a warning message in the message host. [JsAce(\"WarningMessage($1message)\")] public void WarningMessage(string message) Parameters message string The warning message to display WriteRuntimeGeom(string) Writes the current runtime geometry to a file. [JsAce(\"WriteRuntimeGeom($1\\\"dstFile\\\")\")] public void WriteRuntimeGeom(string relFile) Parameters relFile string Relative path to the output file WriteRuntimeGeomToStl(string, double) Writes the current runtime geometry to an STL file. [JsAce(\"WriteRuntimeGeomToStl($1\\\"dstFile\\\",$2resolution_mm)\")] public void WriteRuntimeGeomToStl(string relFile, double resolution_mm = 0) Parameters relFile string Relative path to the output STL file resolution_mm double Resolution in millimeters (0 for default) WriteShotFiles(double, string) Writes time-series data to shot files with the specified resolution period (alternative parameter order). public void WriteShotFiles(double resolutionPeroid_ms, string relFileTemplate) Parameters resolutionPeroid_ms double Resolution period in milliseconds relFileTemplate string Template for output file path, can include [NcName] placeholder WriteShotFiles(string, double) Writes time-series data to shot files with the specified resolution period. [JsAce(Snippet = \"WriteShotFiles(\\\"Output/[NcName].shot.csv\\\",resolutionPeroid_ms)\", DocContentHtml = \"Write time series data by resolutionPeroid_ms\")] public void WriteShotFiles(string relFileTemplate = \"Output/[NcName].shot.csv\", double resolutionPeroid_ms = 1) Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder resolutionPeroid_ms double Resolution period in milliseconds WriteStepFiles(string) Writes step-series data to files with the specified file template. [JsAce(Snippet = \"WriteStepFiles(\\\"Output/[NcName].step.csv\\\")\", DocContentHtml = \"Write step series data.\")] public void WriteStepFiles(string relFileTemplate = \"Output/[NcName].step.csv\") Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder Events MachiningStepBuilt Gets or sets the action to configure steps during execution. The event will be cleared by the calling of ResetRuntime(). [JsAce(Snippet = \"MachiningStepBuilt+=($1preStep,$2curStep)=>{$3Command};\", DocContentHtml = \"Runtime Step Configuration action. preStep is the Previous Milling Step; curStep is the Current Milling Step. preStep is null if no previous step existed.\")] public event MachiningActRunner.MachiningStepBuiltDelegate MachiningStepBuilt Event Type MachiningActRunner.MachiningStepBuiltDelegate MachiningStepSelected Event that is triggered when a milling step is selected. The event will be cleared by the calling of ResetRuntime(). [JsAce(Snippet = \"MachiningStepSelected+=($1millingStep)=>{$2Command};\")] public event Action MachiningStepSelected Event Type Action"
},
"api/Hi.MachiningProcs.RuntimeController.html": {
"href": "api/Hi.MachiningProcs.RuntimeController.html",
@@ -3367,7 +3367,7 @@
"api/Hi.NcOpt.NcOptProc.html": {
"href": "api/Hi.NcOpt.NcOptProc.html",
"title": "Class NcOptProc | HiAPI-C# 2025",
- "summary": "Class NcOptProc Namespace Hi.NcOpt Assembly HiNc.dll Provides functionality for optimizing NC programs by modifying feed rates and tool paths. public class NcOptProc : IMakeXmlSource Inheritance object NcOptProc Implements IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors NcOptProc(SequentialBulkReader) Ctor. public NcOptProc(SequentialBulkReader millingStepLuggageReader) Parameters millingStepLuggageReader SequentialBulkReader NcOptProc(XElement, string, SequentialBulkReader) Ctor. public NcOptProc(XElement src, string baseDirectory, SequentialBulkReader millingStepLuggageReader) Parameters src XElement XML baseDirectory string Base directory path millingStepLuggageReader SequentialBulkReader Milling step luggage reader Properties CoreNum Parallel computation thread num. 0 is special number to use all cores. public static int CoreNum { get; set; } Property Value int EnableEmbeddedLog Enable embedded log to optimized NC file. public static bool EnableEmbeddedLog { get; set; } Property Value bool EnableFlatProcLog Enable create log file for building situ (independent) FlatExtendedStep process. public static bool EnableFlatProcLog { get; set; } Property Value bool XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Optimize(ICuttingPara, MachiningSession, LinkedList, NcEnv, List, MachiningToolHouse, IMessageHost, CancellationToken, string, string) Optimizes NC lines based on cutting parameters and milling steps. public IEnumerable<(NcLine SrcNcLine, NcLine OptNcLine)> Optimize(ICuttingPara millingPara, MachiningSession machiningSession, LinkedList srcNcLines, NcEnv ncEnv, List machiningSteps, MachiningToolHouse millingToolHouse, IMessageHost messageHost, CancellationToken cancellationToken, string baseDirectory, string relFileTemplate) Parameters millingPara ICuttingPara The cutting parameters for optimization machiningSession MachiningSession The current machining session srcNcLines LinkedList The source NC lines to optimize ncEnv NcEnv The NC environment settings machiningSteps List The list of milling steps millingToolHouse MachiningToolHouse The machining tool house messageHost IMessageHost The message host for logging cancellationToken CancellationToken Cancellation token to cancel the operation baseDirectory string relFileTemplate string The relative file template for output Returns IEnumerable<(NcLine SrcNcLine, NcLine OptNcLine)> Enumerable of source and optimized NC line pairs OptimizeToFiles(ICuttingPara, MachiningSession, LinkedList, NcEnv, MachiningToolHouse, ClStrip, string, IMessageHost, CancellationToken, string) Optimizes NC lines and writes the results to files. public void OptimizeToFiles(ICuttingPara millingPara, MachiningSession machiningSession, LinkedList ncLines, NcEnv ncEnv, MachiningToolHouse millingToolHouse, ClStrip clStrip, string baseDirectory, IMessageHost messageHost, CancellationToken cancellationToken, string relFileTemplate = \"Output/Opt-[NcName]\") Parameters millingPara ICuttingPara The cutting parameters for optimization machiningSession MachiningSession The current machining session ncLines LinkedList The NC lines to optimize ncEnv NcEnv The NC environment settings millingToolHouse MachiningToolHouse The machining tool house clStrip ClStrip The cutter location strip baseDirectory string The base directory for output files messageHost IMessageHost The message host for logging cancellationToken CancellationToken Cancellation token to cancel the operation relFileTemplate string The relative file template for output files"
+ "summary": "Class NcOptProc Namespace Hi.NcOpt Assembly HiNc.dll Provides functionality for optimizing NC programs by modifying feed rates and tool paths. public class NcOptProc : IMakeXmlSource Inheritance object NcOptProc Implements IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors NcOptProc(SequentialBulkReader) Ctor. public NcOptProc(SequentialBulkReader millingStepLuggageReader) Parameters millingStepLuggageReader SequentialBulkReader NcOptProc(XElement, string, SequentialBulkReader) Ctor. public NcOptProc(XElement src, string baseDirectory, SequentialBulkReader millingStepLuggageReader) Parameters src XElement XML baseDirectory string Base directory path millingStepLuggageReader SequentialBulkReader Milling step luggage reader Properties CoreNum Parallel computation thread num. 0 is special number to use all cores. public static int CoreNum { get; set; } Property Value int EnableEmbeddedLog Enable embedded log to optimized NC file. public static bool EnableEmbeddedLog { get; set; } Property Value bool EnableSituStepAdjustmentLog Enable create log file for building situ (independent) StepOptContext process. public static bool EnableSituStepAdjustmentLog { get; set; } Property Value bool XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Optimize(ICuttingPara, MachiningSession, LinkedList, NcEnv, List, MachiningToolHouse, IMessageHost, CancellationToken, string, string) Optimizes NC lines based on cutting parameters and milling steps. public IEnumerable<(NcLine SrcNcLine, NcLine OptNcLine)> Optimize(ICuttingPara millingPara, MachiningSession machiningSession, LinkedList srcNcLines, NcEnv ncEnv, List machiningSteps, MachiningToolHouse millingToolHouse, IMessageHost messageHost, CancellationToken cancellationToken, string baseDirectory, string relFileTemplate) Parameters millingPara ICuttingPara The cutting parameters for optimization machiningSession MachiningSession The current machining session srcNcLines LinkedList The source NC lines to optimize ncEnv NcEnv The NC environment settings machiningSteps List The list of milling steps millingToolHouse MachiningToolHouse The machining tool house messageHost IMessageHost The message host for logging cancellationToken CancellationToken Cancellation token to cancel the operation baseDirectory string relFileTemplate string The relative file template for output Returns IEnumerable<(NcLine SrcNcLine, NcLine OptNcLine)> Enumerable of source and optimized NC line pairs OptimizeToFiles(ICuttingPara, MachiningSession, LinkedList, NcEnv, MachiningToolHouse, ClStrip, string, IMessageHost, CancellationToken, string) Optimizes NC lines and writes the results to files. public void OptimizeToFiles(ICuttingPara millingPara, MachiningSession machiningSession, LinkedList ncLines, NcEnv ncEnv, MachiningToolHouse millingToolHouse, ClStrip clStrip, string baseDirectory, IMessageHost messageHost, CancellationToken cancellationToken, string relFileTemplate = \"Output/Opt-[NcName]\") Parameters millingPara ICuttingPara The cutting parameters for optimization machiningSession MachiningSession The current machining session ncLines LinkedList The NC lines to optimize ncEnv NcEnv The NC environment settings millingToolHouse MachiningToolHouse The machining tool house clStrip ClStrip The cutter location strip baseDirectory string The base directory for output files messageHost IMessageHost The message host for logging cancellationToken CancellationToken Cancellation token to cancel the operation relFileTemplate string The relative file template for output files"
},
"api/Hi.NcOpt.ShapeBasedCutterOptLimit.html": {
"href": "api/Hi.NcOpt.ShapeBasedCutterOptLimit.html",
@@ -5047,7 +5047,7 @@
"brief/dev-doc/release-note/index.html": {
"href": "brief/dev-doc/release-note/index.html",
"title": "Release Note | HiAPI-C# 2025",
- "summary": "Release Note HiNc Packages Version 3.1.86 Re-build NcOptProc with stricter optimization logics. Add optimization logging features (see 優化日誌): .flatproc.log file output for optimization process analysis. Embedded log comments in optimized NC file marking source lines with (src) suffix. Fix cutting depth and width accuracy by bounding-box method with workpiece surface Fix collision check error during concurrent changing collidable object Various stability improvements and bug fixes HiNc Packages Version 3.1.84 Optimize memory usage by shrinking map-size of clStripPos Fix design pattern of cutting parameter training module (MillingTraining) Add LoadCuttingParaByFile function to load cutting parameters from file Improve CsvRunner actual time parsing: automatically calculate step duration from actual time when duration is not provided Enhance message handling in RuntimeApi by unifying SessionMessageHost usage Improve optimization performance with better task scheduling Various performance improvements and bug fixes HiNc Packages Version 3.1.75 Add actual time tracking functionality (ActualTime) Various stability improvements and bug fixes HiNc Packages Version 3.1.74 Rename class MillingCutterOptLimit to MillingCutterOptOption Add physics simulation function for relief face collision depth detection (ReliefFaceCollidingDepth_mm) and optimization (EnableLimitByReliefAngle) Add UpdateNcOptOption function to step processing Fix step ordering bug from concurrent processing Fix ClStrip shrinking to zero issue"
+ "summary": "Release Note HiNc Packages Version 3.1.88 Rename optimization log API for clarity (see 優化日誌): OptEnableFirstSituProcLog → OptEnableNcEmbeddedLog → OptEnableEmbeddedLog Improve .flatproc.log output to maintain step order during parallel computation Various stability improvements and bug fixes HiNc Packages Version 3.1.86 Re-build NcOptProc with stricter optimization logics Add optimization logging features (see 優化日誌): .flatproc.log file output for optimization process analysis Embedded log comments in optimized NC file marking source lines with (src) suffix Fix cutting depth and width accuracy by bounding-box method with workpiece surface Fix collision check error during concurrent changing collidable object Various stability improvements and bug fixes HiNc Packages Version 3.1.84 Optimize memory usage by shrinking map-size of clStripPos Fix design pattern of cutting parameter training module (MillingTraining) Add LoadCuttingParaByFile function to load cutting parameters from file Improve CsvRunner actual time parsing: automatically calculate step duration from actual time when duration is not provided Enhance message handling in RuntimeApi by unifying SessionMessageHost usage Improve optimization performance with better task scheduling Various performance improvements and bug fixes HiNc Packages Version 3.1.75 Add actual time tracking functionality (ActualTime) Various stability improvements and bug fixes HiNc Packages Version 3.1.74 Rename class MillingCutterOptLimit to MillingCutterOptOption Add physics simulation function for relief face collision depth detection (ReliefFaceCollidingDepth_mm) and optimization (EnableLimitByReliefAngle) Add UpdateNcOptOption function to step processing Fix step ordering bug from concurrent processing Fix ClStrip shrinking to zero issue"
},
"brief/dev-doc/system-requirements.html": {
"href": "brief/dev-doc/system-requirements.html",
@@ -5337,7 +5337,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(API):啟用順序式(Sequential)進給率優化。 順序式係指該功能從下指令開始作用。與其相對的設定在刀具端,刀具端也能設定進給率優化,但是在裝刀時才會發揮作用。 OptEnableFeedrate(API)與所有其他啟用進給率優化的指令需同時為真,進給率優化才會啟用。 即與刀具設定端必須同時為真(true),進給率優化才會啟用。 OptEnableFeedrate(API)預設值為真。 OptEnableInterpolation(API):優化程序用重新插補。 重新插捕後NC碼會增加,可以更好地控制加減速。 OptFeedrateAssignmentRatio(API):進給賦值倍率。 當優化程序用重新插補並且進給率變化超過進給賦值倍率時,系統會依據OptMaxAcceleration_mmds2(API)插入附帶進給率指令的NC碼。 進給賦值倍率越小,插補點越密集。進給賦值倍率越大,則偏離優化標的的程度越大。 在改進給賦值倍率的同時也要對應加大安全係數。 進給賦值倍率若是0.01,就是1%,每變更1%進給率就會給個新的插補點。 如果改大,比方說10%,可能會變成該處理論值應該是F100,可是優化後卻是F110,所以要配合安全係數修改。 OptRapidFeed_mmdmin(API):優化程序中的無切削區域進給率。單位mm/min。 沒有切到工件的NC路徑,為無切削區域。優化後該路徑將採用無切削區域進給率。 OptMinFeedrate_mmdmin(API):優化程序中的有切削區域最小進給。單位mm/min。 OptMaxFeedrate_mmdmin(API):優化程序中的有切削區域最大進給。單位mm/min。 有切到工件的NC路徑,為有切削區域。有切削區域的最大最小進給的設定通常依據經驗法則。 OptMaxAcceleration_mmds2(API):優化程序中的加減速限制。優化後NC碼的F值變化在該限制之內。單位 \\(mm/s^2\\)。 OptExtendedPreDistance_mm(API):優化程序中的有切削區域等效計算的前長度。單位mm。 OptExtendedPostDistance_mm(API):優化程序中的有切削區域等效計算的後長度。單位mm。 優化程序中的有切削區域等效計算的長度 OptSpindlePowerSafetyFactor(API):主軸功率安全係數。 於優化後的NC碼,主軸功率將盡可能趨近於目標值。 設為0則忽略此限制。 OptSpindleTorqueSafetyFactor(API):主軸扭力安全係數。 優化後的NC碼,主軸扭力將盡可能趨近於目標值。 設為0則忽略此限制。 OptThermalYieldSafetyFactor(API):刀刃熱降伏安全係數。 刀刃表面溫度超過一定值時,刀刃表面會因溫差產生的壓力造成塑性變形。 優化後的NC碼,刀刃表面度將盡可能趨近於目標值。 設為0則忽略此限制。 Note 目標值算法 目標值 = 100% / 安全係數 OptPreferedForce_N(API):優化程中的目標力。單位N。 在符合所有限制的條件下,優化程序中的加工路徑產生的力會盡可能的趨近目標力。 限制的優先序 在有切削區域中: 進給率的直接限制 優先於 加減速限制(OptMaxAcceleration_mmds2(API)) 優先於 基於物理特性算出的限制。 進給率的直接限制 包含 腳本指令 OptMinFeedrate_mmdmin(API) OptMaxFeedrate_mmdmin(API) 刀具設定 每刃最小進給 每刃最大進給 基於物理特性算出的進給率限制 包含 腳本指令 OptSpindlePowerSafetyFactor(API) OptSpindleTorqueSafetyFactor(API) OptThermalYieldSafetyFactor(API) OptPreferedForce_N(API) 刀具設定 降伏力安全係數 若同級項目中的限制有衝突,則採取其中的最低進給率。 NC碼中的優化腳本指令 於指定NC行不啟用優化 在執行 Preserve(API)() 的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(API)()的NC行及EndPreserve(API)()的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 ... 優化日誌 優化過程提供兩種日誌功能,方便分析與除錯。 優化過程日誌檔 OptEnableFlatProcLog(API):啟用優化過程日誌檔輸出。預設為真。 啟用後,優化過程會為每個NC檔輸出一個 .flatproc.log 檔案,記錄各步階的優化條件經OptExtendedPreDistance_mm(API)及OptExtendedPostDistance_mm(API)展開後獨立優化計算的資訊(不包含步階間的交互關係,如加減速)。 嵌入式日誌註解 OptEnableEmbeddedLog(API):啟用嵌入式日誌註解。預設為真。 啟用後,優化後的NC檔中會在原始NC行後方加上 (src) 後綴,方便對照原始NC碼與優化後的NC碼。 Note 指令格式 OptEnableFlatProcLog = <布林值>; OptEnableEmbeddedLog = <布林值>; 輸出優化NC檔 使用 OptimizeToFiles(API) 方法輸出優化後的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仿真。 Warning 在 MachiningStepBuilt(API) 事件內使用 UpdateNcOptOption(API) 時,不能與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(API):啟用順序式(Sequential)進給率優化。 順序式係指該功能從下指令開始作用。與其相對的設定在刀具端,刀具端也能設定進給率優化,但是在裝刀時才會發揮作用。 OptEnableFeedrate(API)與所有其他啟用進給率優化的指令需同時為真,進給率優化才會啟用。 即與刀具設定端必須同時為真(true),進給率優化才會啟用。 OptEnableFeedrate(API)預設值為真。 OptEnableInterpolation(API):優化程序用重新插補。 重新插捕後NC碼會增加,可以更好地控制加減速。 OptFeedrateAssignmentRatio(API):進給賦值倍率。 當優化程序用重新插補並且進給率變化超過進給賦值倍率時,系統會依據OptMaxAcceleration_mmds2(API)插入附帶進給率指令的NC碼。 進給賦值倍率越小,插補點越密集。進給賦值倍率越大,則偏離優化標的的程度越大。 在改進給賦值倍率的同時也要對應加大安全係數。 進給賦值倍率若是0.01,就是1%,每變更1%進給率就會給個新的插補點。 如果改大,比方說10%,可能會變成該處理論值應該是F100,可是優化後卻是F110,所以要配合安全係數修改。 OptRapidFeed_mmdmin(API):優化程序中的無切削區域進給率。單位mm/min。 沒有切到工件的NC路徑,為無切削區域。優化後該路徑將採用無切削區域進給率。 OptMinFeedrate_mmdmin(API):優化程序中的有切削區域最小進給。單位mm/min。 OptMaxFeedrate_mmdmin(API):優化程序中的有切削區域最大進給。單位mm/min。 有切到工件的NC路徑,為有切削區域。有切削區域的最大最小進給的設定通常依據經驗法則。 OptMaxAcceleration_mmds2(API):優化程序中的加減速限制。優化後NC碼的F值變化在該限制之內。單位 \\(mm/s^2\\)。 OptExtendedPreDistance_mm(API):優化程序中的有切削區域等效計算的前長度。單位mm。 OptExtendedPostDistance_mm(API):優化程序中的有切削區域等效計算的後長度。單位mm。 優化程序中的有切削區域等效計算的長度 OptSpindlePowerSafetyFactor(API):主軸功率安全係數。 於優化後的NC碼,主軸功率將盡可能趨近於目標值。 設為0則忽略此限制。 OptSpindleTorqueSafetyFactor(API):主軸扭力安全係數。 優化後的NC碼,主軸扭力將盡可能趨近於目標值。 設為0則忽略此限制。 OptThermalYieldSafetyFactor(API):刀刃熱降伏安全係數。 刀刃表面溫度超過一定值時,刀刃表面會因溫差產生的壓力造成塑性變形。 優化後的NC碼,刀刃表面度將盡可能趨近於目標值。 設為0則忽略此限制。 Note 目標值算法 目標值 = 100% / 安全係數 OptPreferedForce_N(API):優化程中的目標力。單位N。 在符合所有限制的條件下,優化程序中的加工路徑產生的力會盡可能的趨近目標力。 限制的優先序 在有切削區域中: 進給率的直接限制 優先於 加減速限制(OptMaxAcceleration_mmds2(API)) 優先於 基於物理特性算出的限制。 進給率的直接限制 包含 腳本指令 OptMinFeedrate_mmdmin(API) OptMaxFeedrate_mmdmin(API) 刀具設定 每刃最小進給 每刃最大進給 基於物理特性算出的進給率限制 包含 腳本指令 OptSpindlePowerSafetyFactor(API) OptSpindleTorqueSafetyFactor(API) OptThermalYieldSafetyFactor(API) OptPreferedForce_N(API) 刀具設定 降伏力安全係數 若同級項目中的限制有衝突,則採取其中的最低進給率。 NC碼中的優化腳本指令 於指定NC行不啟用優化 在執行 Preserve(API)() 的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(API)()的NC行及EndPreserve(API)()的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 ... 優化日誌 優化過程提供兩種日誌功能,方便分析與除錯。 優化過程日誌檔 (API):啟用優化過程日誌檔輸出。預設為真。 啟用後,優化過程會為每個NC檔輸出一個 .flatproc.log 檔案,記錄各步階的優化條件經OptExtendedPreDistance_mm(API)及OptExtendedPostDistance_mm(API)展開後獨立優化計算的資訊(不包含步階間的交互關係,如加減速)。 日誌檔案內容依步階順序輸出(即使平行計算時也會保持順序),每行包含: 原始NC行位置與步階索引 各項優化限制的計算結果,例如: FrtByPreferedForce_mm: 依目標力計算的每刃進給 FrtByYieldingStressRatio_mm: 依降伏應力比計算的每刃進給 FrtBySpindleTorqueRatio_mm: 依主軸扭力比計算的每刃進給 FrtBySpindlePowerRatio_mm: 依主軸功率比計算的每刃進給 FrtByThermalYieldingRatio_mm: 依熱降伏比計算的每刃進給 FrtByReliefAngle_mm: 依餘隙角碰撞計算的每刃進給 嵌入式日誌註解 OptEnableEmbeddedLog(API):啟用嵌入式日誌註解。預設為真。 啟用後,優化後的NC檔中會在NC行後方加上 (src(...)) 註解,包含: LineNo: 原始NC檔的行號 StepIndex: 對應的步階索引 例如:G01 X10.0 Y20.0 F500 (src(LineNo: 140, StepIndex: 256)) 此功能方便對照原始NC碼與優化後的NC碼,並可追蹤每行NC碼對應的步階資訊。 Note 指令格式 OptEnableFlatProcLog = <布林值>; OptEnableEmbeddedLog = <布林值>; 輸出優化NC檔 使用 OptimizeToFiles(API) 方法輸出優化後的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仿真。 Warning 在 MachiningStepBuilt(API) 事件內使用 UpdateNcOptOption(API) 時,不能與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/Physics/index.html": {
"href": "brief/user-guide/zh-Hant/script/Physics/index.html",
diff --git a/App/wwwroot/HiAPI-docsite/xrefmap.yml b/App/wwwroot/HiAPI-docsite/xrefmap.yml
index e815644..9abc480 100644
--- a/App/wwwroot/HiAPI-docsite/xrefmap.yml
+++ b/App/wwwroot/HiAPI-docsite/xrefmap.yml
@@ -80143,19 +80143,6 @@ references:
isSpec: "True"
fullName: Hi.MachiningProcs.RuntimeApi.OptEnableFeedrate
nameWithType: RuntimeApi.OptEnableFeedrate
-- uid: Hi.MachiningProcs.RuntimeApi.OptEnableFlatProcLog
- name: OptEnableFlatProcLog
- href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptEnableFlatProcLog
- commentId: P:Hi.MachiningProcs.RuntimeApi.OptEnableFlatProcLog
- fullName: Hi.MachiningProcs.RuntimeApi.OptEnableFlatProcLog
- nameWithType: RuntimeApi.OptEnableFlatProcLog
-- uid: Hi.MachiningProcs.RuntimeApi.OptEnableFlatProcLog*
- name: OptEnableFlatProcLog
- href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptEnableFlatProcLog_
- commentId: Overload:Hi.MachiningProcs.RuntimeApi.OptEnableFlatProcLog
- isSpec: "True"
- fullName: Hi.MachiningProcs.RuntimeApi.OptEnableFlatProcLog
- nameWithType: RuntimeApi.OptEnableFlatProcLog
- uid: Hi.MachiningProcs.RuntimeApi.OptEnableForwardCompensation
name: OptEnableForwardCompensation
href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptEnableForwardCompensation
@@ -80195,6 +80182,19 @@ references:
isSpec: "True"
fullName: Hi.MachiningProcs.RuntimeApi.OptEnableSideCompensation
nameWithType: RuntimeApi.OptEnableSideCompensation
+- uid: Hi.MachiningProcs.RuntimeApi.OptEnableSituStepAdjustmentLog
+ name: OptEnableSituStepAdjustmentLog
+ href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptEnableSituStepAdjustmentLog
+ commentId: P:Hi.MachiningProcs.RuntimeApi.OptEnableSituStepAdjustmentLog
+ fullName: Hi.MachiningProcs.RuntimeApi.OptEnableSituStepAdjustmentLog
+ nameWithType: RuntimeApi.OptEnableSituStepAdjustmentLog
+- uid: Hi.MachiningProcs.RuntimeApi.OptEnableSituStepAdjustmentLog*
+ name: OptEnableSituStepAdjustmentLog
+ href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptEnableSituStepAdjustmentLog_
+ commentId: Overload:Hi.MachiningProcs.RuntimeApi.OptEnableSituStepAdjustmentLog
+ isSpec: "True"
+ fullName: Hi.MachiningProcs.RuntimeApi.OptEnableSituStepAdjustmentLog
+ nameWithType: RuntimeApi.OptEnableSituStepAdjustmentLog
- uid: Hi.MachiningProcs.RuntimeApi.OptExtendedPostDistance_mm
name: OptExtendedPostDistance_mm
href: api/Hi.MachiningProcs.RuntimeApi.html#Hi_MachiningProcs_RuntimeApi_OptExtendedPostDistance_mm
@@ -113455,19 +113455,19 @@ references:
isSpec: "True"
fullName: Hi.NcOpt.NcOptProc.EnableEmbeddedLog
nameWithType: NcOptProc.EnableEmbeddedLog
-- uid: Hi.NcOpt.NcOptProc.EnableFlatProcLog
- name: EnableFlatProcLog
- href: api/Hi.NcOpt.NcOptProc.html#Hi_NcOpt_NcOptProc_EnableFlatProcLog
- commentId: P:Hi.NcOpt.NcOptProc.EnableFlatProcLog
- fullName: Hi.NcOpt.NcOptProc.EnableFlatProcLog
- nameWithType: NcOptProc.EnableFlatProcLog
-- uid: Hi.NcOpt.NcOptProc.EnableFlatProcLog*
- name: EnableFlatProcLog
- href: api/Hi.NcOpt.NcOptProc.html#Hi_NcOpt_NcOptProc_EnableFlatProcLog_
- commentId: Overload:Hi.NcOpt.NcOptProc.EnableFlatProcLog
+- uid: Hi.NcOpt.NcOptProc.EnableSituStepAdjustmentLog
+ name: EnableSituStepAdjustmentLog
+ href: api/Hi.NcOpt.NcOptProc.html#Hi_NcOpt_NcOptProc_EnableSituStepAdjustmentLog
+ commentId: P:Hi.NcOpt.NcOptProc.EnableSituStepAdjustmentLog
+ fullName: Hi.NcOpt.NcOptProc.EnableSituStepAdjustmentLog
+ nameWithType: NcOptProc.EnableSituStepAdjustmentLog
+- uid: Hi.NcOpt.NcOptProc.EnableSituStepAdjustmentLog*
+ name: EnableSituStepAdjustmentLog
+ href: api/Hi.NcOpt.NcOptProc.html#Hi_NcOpt_NcOptProc_EnableSituStepAdjustmentLog_
+ commentId: Overload:Hi.NcOpt.NcOptProc.EnableSituStepAdjustmentLog
isSpec: "True"
- fullName: Hi.NcOpt.NcOptProc.EnableFlatProcLog
- nameWithType: NcOptProc.EnableFlatProcLog
+ fullName: Hi.NcOpt.NcOptProc.EnableSituStepAdjustmentLog
+ nameWithType: NcOptProc.EnableSituStepAdjustmentLog
- uid: Hi.NcOpt.NcOptProc.MakeXmlSource(System.String,System.String,System.Boolean)
name: MakeXmlSource(string, string, bool)
href: api/Hi.NcOpt.NcOptProc.html#Hi_NcOpt_NcOptProc_MakeXmlSource_System_String_System_String_System_Boolean_
diff --git a/App/zh-Hans/HiMech.resources.dll b/App/zh-Hans/HiMech.resources.dll
index 64f401c..4720a35 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 ac4ed76..13344bf 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 89c188a..f97b782 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 8a5e3df..9b885b3 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 ac4a066..c13f984 100644
Binary files a/App/zh-Hant/HiNc.resources.dll and b/App/zh-Hant/HiNc.resources.dll differ