diff --git a/App/Hi.WpfPlus.dll b/App/Hi.WpfPlus.dll index f05cdce2..73be70f0 100644 Binary files a/App/Hi.WpfPlus.dll and b/App/Hi.WpfPlus.dll differ diff --git a/App/HiCbtr.dll b/App/HiCbtr.dll index f42d7023..1d1bd008 100644 Binary files a/App/HiCbtr.dll and b/App/HiCbtr.dll differ diff --git a/App/HiDisp.dll b/App/HiDisp.dll index c05a32c6..a443cfc5 100644 Binary files a/App/HiDisp.dll and b/App/HiDisp.dll differ diff --git a/App/HiGeom.dll b/App/HiGeom.dll index 38e96acf..58f3a96f 100644 Binary files a/App/HiGeom.dll and b/App/HiGeom.dll differ diff --git a/App/HiLicense.dll b/App/HiLicense.dll index 54c313b4..8e39d5db 100644 Binary files a/App/HiLicense.dll and b/App/HiLicense.dll differ diff --git a/App/HiMech.dll b/App/HiMech.dll index bd610692..29b1f131 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 a8d91d0f..787b8e56 100644 --- a/App/HiNC-2025-win-desktop.deps.json +++ b/App/HiNC-2025-win-desktop.deps.json @@ -11,9 +11,9 @@ "dependencies": { "AvalonEdit": "6.3.0.90", "FontAwesome.Sharp": "6.3.0", - "Hi.WpfPlus": "3.1.139", - "HiNc": "3.1.172", - "HiNc-Resource": "3.1.54", + "Hi.WpfPlus": "3.1.140", + "HiNc": "3.1.173", + "HiNc-Resource": "3.1.55", "Serilog.Extensions.Hosting": "10.0.0", "Serilog.Sinks.Console": "6.1.1", "Serilog.Sinks.File": "7.0.0", @@ -1676,36 +1676,36 @@ } } }, - "Hi.WpfPlus/3.1.139": { + "Hi.WpfPlus/3.1.140": { "dependencies": { - "HiDisp": "3.1.145" + "HiDisp": "3.1.146" }, "runtime": { "lib/net10.0-windows7.0/Hi.WpfPlus.dll": { - "assemblyVersion": "3.1.139.0", - "fileVersion": "3.1.139.0" + "assemblyVersion": "3.1.140.0", + "fileVersion": "3.1.140.0" } } }, - "HiCbtr/3.1.142": { + "HiCbtr/3.1.143": { "dependencies": { - "HiDisp": "3.1.145" + "HiDisp": "3.1.146" }, "runtime": { "lib/net10.0/HiCbtr.dll": { - "assemblyVersion": "3.1.142.0", - "fileVersion": "3.1.142.0" + "assemblyVersion": "3.1.143.0", + "fileVersion": "3.1.143.0" } } }, - "HiDisp/3.1.145": { + "HiDisp/3.1.146": { "dependencies": { - "HiGeom": "3.1.134" + "HiGeom": "3.1.135" }, "runtime": { "lib/net10.0/HiDisp.dll": { - "assemblyVersion": "3.1.145.0", - "fileVersion": "3.1.145.0" + "assemblyVersion": "3.1.146.0", + "fileVersion": "3.1.146.0" } }, "native": { @@ -1723,7 +1723,7 @@ } } }, - "HiGeom/3.1.134": { + "HiGeom/3.1.135": { "dependencies": { "Google.Protobuf": "3.28.3", "Grpc.AspNetCore": "2.66.0", @@ -1733,8 +1733,8 @@ }, "runtime": { "lib/net10.0/HiGeom.dll": { - "assemblyVersion": "3.1.134.0", - "fileVersion": "3.1.134.0" + "assemblyVersion": "3.1.135.0", + "fileVersion": "3.1.135.0" } }, "resources": { @@ -1746,27 +1746,27 @@ } } }, - "HiLicense/3.1.135": { + "HiLicense/3.1.136": { "dependencies": { - "HiGeom": "3.1.134" + "HiGeom": "3.1.135" }, "runtime": { "lib/net10.0/HiLicense.dll": { - "assemblyVersion": "3.1.135.0", - "fileVersion": "3.1.135.0" + "assemblyVersion": "3.1.136.0", + "fileVersion": "3.1.136.0" } } }, - "HiMech/3.1.153": { + "HiMech/3.1.154": { "dependencies": { "CommandLineParser": "2.9.1", - "HiCbtr": "3.1.142", + "HiCbtr": "3.1.143", "Microsoft.CodeAnalysis.CSharp.Scripting": "5.3.0" }, "runtime": { "lib/net10.0/HiMech.dll": { - "assemblyVersion": "3.1.153.0", - "fileVersion": "3.1.153.0" + "assemblyVersion": "3.1.154.0", + "fileVersion": "3.1.154.0" } }, "resources": { @@ -1781,21 +1781,21 @@ } } }, - "HiNc/3.1.172": { + "HiNc/3.1.173": { "dependencies": { "Dapper": "2.1.35", "Google.Protobuf": "3.28.3", "Grpc.AspNetCore": "2.66.0", "Grpc.Net.Client": "2.66.0", - "HiLicense": "3.1.135", - "HiMech": "3.1.153", - "HiUniNc": "3.1.149", + "HiLicense": "3.1.136", + "HiMech": "3.1.154", + "HiUniNc": "3.1.150", "Microsoft.Data.Sqlite": "9.0.0" }, "runtime": { "lib/net10.0/HiNc.dll": { - "assemblyVersion": "3.1.172.0", - "fileVersion": "3.1.172.0" + "assemblyVersion": "3.1.173.0", + "fileVersion": "3.1.173.0" } }, "resources": { @@ -1807,22 +1807,22 @@ } } }, - "HiNc-Resource/3.1.54": { + "HiNc-Resource/3.1.55": { "runtime": { "lib/net10.0/HiNc-Resource.dll": { - "assemblyVersion": "3.1.54.0", - "fileVersion": "3.1.54.0" + "assemblyVersion": "3.1.55.0", + "fileVersion": "3.1.55.0" } } }, - "HiUniNc/3.1.149": { + "HiUniNc/3.1.150": { "dependencies": { - "HiMech": "3.1.153" + "HiMech": "3.1.154" }, "runtime": { "lib/net10.0/HiUniNc.dll": { - "assemblyVersion": "3.1.149.0", - "fileVersion": "3.1.149.0" + "assemblyVersion": "3.1.150.0", + "fileVersion": "3.1.150.0" } } }, @@ -2257,68 +2257,68 @@ "path": "grpc.net.common/2.66.0", "hashPath": "grpc.net.common.2.66.0.nupkg.sha512" }, - "Hi.WpfPlus/3.1.139": { + "Hi.WpfPlus/3.1.140": { "type": "package", "serviceable": true, - "sha512": "sha512-muLHNPY6TJ3BwVr7cQ4tp98ZmQ085OrmgbqVltpRbJmWNxq7bZtI1BHo/3VtermjeO0YNbDMFjpLNH8fp2XM3A==", - "path": "hi.wpfplus/3.1.139", - "hashPath": "hi.wpfplus.3.1.139.nupkg.sha512" + "sha512": "sha512-SkgBcnsPESMlOaauLdV0uLnPysvhI2zrIzjQqc1uuegy4r0X5yqmAPVwFdfkNc3YoV17qIOTGir29Ktx45aimg==", + "path": "hi.wpfplus/3.1.140", + "hashPath": "hi.wpfplus.3.1.140.nupkg.sha512" }, - "HiCbtr/3.1.142": { + "HiCbtr/3.1.143": { "type": "package", "serviceable": true, - "sha512": "sha512-yK0EWRkv0YWPJ1SsZLfYBDCOsJat/XpjTqLhLYreQFPp+5zTHd/6Uf6gjC8yIcHOAH4VjSCxvOQlMk7eVtG3wQ==", - "path": "hicbtr/3.1.142", - "hashPath": "hicbtr.3.1.142.nupkg.sha512" + "sha512": "sha512-SIpuwSOy1WB6cv25Hs7Zm5/sfhkhv3Im6se80SpUXWa0p4OqSYnUDjU2d3lOQyXgi505v1ba10g9iMXVyZO+CA==", + "path": "hicbtr/3.1.143", + "hashPath": "hicbtr.3.1.143.nupkg.sha512" }, - "HiDisp/3.1.145": { + "HiDisp/3.1.146": { "type": "package", "serviceable": true, - "sha512": "sha512-q6/RU5BeXcr88a4vhTqWes7UIcT9kapJm5viEdpDfn8cTldkLoVF+JXjlX62ksX28lYhynwYtOGsDRMucLCUqg==", - "path": "hidisp/3.1.145", - "hashPath": "hidisp.3.1.145.nupkg.sha512" + "sha512": "sha512-Q9OZZBS7FxLXLXO1Ov5O6hewPjqMsxUKWAGM4ckxupqwJt+4jHYgoOtB3UfK1cWOd9uEP+TaTFOmlY4tTEzZDg==", + "path": "hidisp/3.1.146", + "hashPath": "hidisp.3.1.146.nupkg.sha512" }, - "HiGeom/3.1.134": { + "HiGeom/3.1.135": { "type": "package", "serviceable": true, - "sha512": "sha512-Frf5//Zbo9YsCT5pdiAsvBwPOtsch1/hCKW17BatWcWwmSk98xC6hfDsDRGMSImN74kjA61U8RUlGicLJA/0Gw==", - "path": "higeom/3.1.134", - "hashPath": "higeom.3.1.134.nupkg.sha512" + "sha512": "sha512-DWyxMTuXlK3MiB+XaSBdXS1jfT4XhVsoFXE30LJybBjhjBlbgPxWocruXu8mHcU0yVHzM2fN0wuDipY5KEUQWA==", + "path": "higeom/3.1.135", + "hashPath": "higeom.3.1.135.nupkg.sha512" }, - "HiLicense/3.1.135": { + "HiLicense/3.1.136": { "type": "package", "serviceable": true, - "sha512": "sha512-5V4h8L9B/w0Xs7rpzXjomboCg6lXmmwIOrcOhLAuLxQ0PDNjnV4hWust3F9YRX9gJfbgx3dokZTV73LQ9lc2mg==", - "path": "hilicense/3.1.135", - "hashPath": "hilicense.3.1.135.nupkg.sha512" + "sha512": "sha512-0HH1O8vm/N3je+nxh+qLmswl0P83htSmm2NH8yrazgiEWwZ9+t+7JzBEC9xT9esrjs9zakldesAn9fYZo0l+RA==", + "path": "hilicense/3.1.136", + "hashPath": "hilicense.3.1.136.nupkg.sha512" }, - "HiMech/3.1.153": { + "HiMech/3.1.154": { "type": "package", "serviceable": true, - "sha512": "sha512-ojwLuEpicGegECy32QVng4h/VF7Kv3IljgWfyCnzHmRf9qVoFV09tu/zYAHLBL+TErWkYH+r+uduwuIWssBRQA==", - "path": "himech/3.1.153", - "hashPath": "himech.3.1.153.nupkg.sha512" + "sha512": "sha512-7grSGnaxe11EAOkLg+cmRSPO1t7+qS8+NJouqbsfA22WmWPOqIPEYmaiEuRC6lCfn0iBAX+rh9F8OQYjPDDVDA==", + "path": "himech/3.1.154", + "hashPath": "himech.3.1.154.nupkg.sha512" }, - "HiNc/3.1.172": { + "HiNc/3.1.173": { "type": "package", "serviceable": true, - "sha512": "sha512-dyofOqXS8u8PoGzORwc7seSNrRxv5bITEtiZikfrUPHxDojTg/M9toGBEQsN8/zEURLiUPBdVgNY/s2VayoxLg==", - "path": "hinc/3.1.172", - "hashPath": "hinc.3.1.172.nupkg.sha512" + "sha512": "sha512-pGoDJaOdBCKU6DQTEJVnKmvzMSGQ3v6BApHiYzwDMkQdV2y5KlFk3MZIgLRBWM6+nI4UiUFtFdjq8LUi0Yof1A==", + "path": "hinc/3.1.173", + "hashPath": "hinc.3.1.173.nupkg.sha512" }, - "HiNc-Resource/3.1.54": { + "HiNc-Resource/3.1.55": { "type": "package", "serviceable": true, - "sha512": "sha512-1hq99sqP6aySFTDzqwZb4eZygMyGbSBnfenBqSXyBYKA1JZN4Mb+154ODdBsIkKrjNuvFtwZxdyr0VDglM8hqw==", - "path": "hinc-resource/3.1.54", - "hashPath": "hinc-resource.3.1.54.nupkg.sha512" + "sha512": "sha512-X16YILf69BaRN3PiJKwKQoiRv58gpMezTz9wuzUsdFkl6N0w9Vwa1A5aAUa6VaALB+1RJ3J5RgRriJIvayHnjQ==", + "path": "hinc-resource/3.1.55", + "hashPath": "hinc-resource.3.1.55.nupkg.sha512" }, - "HiUniNc/3.1.149": { + "HiUniNc/3.1.150": { "type": "package", "serviceable": true, - "sha512": "sha512-jI/paWFfoCRiFl7Sz06GIhDk+Lip1c7TfZGXlgsp7aJdISA3bwPvEDHCrJeoCd2EjNEQapMZvUxXS4EFaKhwoQ==", - "path": "hiuninc/3.1.149", - "hashPath": "hiuninc.3.1.149.nupkg.sha512" + "sha512": "sha512-llavC4EZKaS421BsnfX/8vNDq2TZlpsCXVDec5wLcUPN06qQ8b0A6Jd09/fWvi3zwjNkQn4kdSXeKOjDUJuSNg==", + "path": "hiuninc/3.1.150", + "hashPath": "hiuninc.3.1.150.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 d7b4dd1d..dfcab1c3 100644 Binary files a/App/HiNC-2025-win-desktop.dll and b/App/HiNC-2025-win-desktop.dll differ diff --git a/App/HiNC-2025-win-desktop.exe b/App/HiNC-2025-win-desktop.exe index 6ba65e42..77fc6351 100644 Binary files a/App/HiNC-2025-win-desktop.exe and b/App/HiNC-2025-win-desktop.exe differ diff --git a/App/HiNC-2025-win-desktop.pdb b/App/HiNC-2025-win-desktop.pdb index 8e26bf3b..70d3b241 100644 Binary files a/App/HiNC-2025-win-desktop.pdb and b/App/HiNC-2025-win-desktop.pdb differ diff --git a/App/HiNc-Resource.dll b/App/HiNc-Resource.dll index f0c83614..763cb63f 100644 Binary files a/App/HiNc-Resource.dll and b/App/HiNc-Resource.dll differ diff --git a/App/HiNc.dll b/App/HiNc.dll index ab8ed999..92ce0de9 100644 Binary files a/App/HiNc.dll and b/App/HiNc.dll differ diff --git a/App/HiUniNc.dll b/App/HiUniNc.dll index 1ff63e5b..8b874454 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 46a9adbb..d1362866 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 ca79adec..727f1328 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.Cbtr.CubeTreeFile.html b/App/wwwroot/HiAPI-docsite/api/Hi.Cbtr.CubeTreeFile.html index 9d4caa0d..453889b1 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Cbtr.CubeTreeFile.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Cbtr.CubeTreeFile.html @@ -471,6 +471,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Collision.AnchoredCollidablePair.html b/App/wwwroot/HiAPI-docsite/api/Hi.Collision.AnchoredCollidablePair.html index 9d5c4c05..384c3fc7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Collision.AnchoredCollidablePair.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Collision.AnchoredCollidablePair.html @@ -653,6 +653,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Collision.CollisionIndexPair.html b/App/wwwroot/HiAPI-docsite/api/Hi.Collision.CollisionIndexPair.html index f44404bf..c5f64784 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Collision.CollisionIndexPair.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Collision.CollisionIndexPair.html @@ -582,6 +582,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.DictionaryColorGuide.html b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.DictionaryColorGuide.html index b938ed26..b54b441a 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.DictionaryColorGuide.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.DictionaryColorGuide.html @@ -614,6 +614,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.DiscreteQuantityColorGuide.html b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.DiscreteQuantityColorGuide.html index 6e385462..354aead7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.DiscreteQuantityColorGuide.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.DiscreteQuantityColorGuide.html @@ -514,6 +514,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.FilteredColorGuide.html b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.FilteredColorGuide.html index 48896ce3..21d49cfd 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.FilteredColorGuide.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.FilteredColorGuide.html @@ -522,6 +522,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.FuncRangeColorGuide.html b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.FuncRangeColorGuide.html index 3107e257..ff9ad97e 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.FuncRangeColorGuide.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.FuncRangeColorGuide.html @@ -559,6 +559,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.PlainColorGuide.html b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.PlainColorGuide.html index a6292973..df75d885 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.PlainColorGuide.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.PlainColorGuide.html @@ -481,6 +481,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.QuantityColorGuide.html b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.QuantityColorGuide.html index ede05016..761cb130 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.QuantityColorGuide.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.QuantityColorGuide.html @@ -583,6 +583,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.RangeColorRule.html b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.RangeColorRule.html index 9c674f4a..760d3699 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.RangeColorRule.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.RangeColorRule.html @@ -555,6 +555,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.RgbSeed.html b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.RgbSeed.html index d3c02788..ed29fefc 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.RgbSeed.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.RgbSeed.html @@ -443,6 +443,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.BlockingTimer.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.BlockingTimer.html index 1ff329c0..cc0eb5cd 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.BlockingTimer.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.BlockingTimer.html @@ -539,6 +539,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.IndexSegment.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.IndexSegment.html index a94c6035..1fb8e3a7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.IndexSegment.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.IndexSegment.html @@ -870,6 +870,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.IntegerKeyDictionaryConverter-1.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.IntegerKeyDictionaryConverter-1.html index bd13f316..c8dbd4d5 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.IntegerKeyDictionaryConverter-1.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.IntegerKeyDictionaryConverter-1.html @@ -492,6 +492,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.IntegerKeyDictionaryConverter.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.IntegerKeyDictionaryConverter.html index 3afed211..4390225c 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.IntegerKeyDictionaryConverter.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.IntegerKeyDictionaryConverter.html @@ -486,6 +486,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.RoutineBlocker.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.RoutineBlocker.html index 3c53e453..fcd2231c 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.RoutineBlocker.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.RoutineBlocker.html @@ -565,6 +565,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XFactory.XGeneratorDelegate.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XFactory.XGeneratorDelegate.html index bcbdd408..902bcbc7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XFactory.XGeneratorDelegate.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XFactory.XGeneratorDelegate.html @@ -6,7 +6,7 @@ - + @@ -97,7 +97,8 @@ Delegate XFactory.XGeneratorDelegate
Assembly
HiGeom.dll
-

Delegate for generating objects from XML elements with relative file path.

+

Delegate for generating an object from an XML element with relative +file path context.

@@ -108,26 +109,26 @@ Delegate XFactory.XGeneratorDelegate

Parameters

src XElement
-

The source XML element

+

The source XML element.

baseDirectory string
-

The base directory for resolving paths

+

The base directory for resolving paths.

relFile string
-

The relative file path

+

The relative file path.

progress IProgress<object>
-

Progress reporter for the XML parsing chain

+

Progress reporter for the XML parsing chain.

res object[]
-

Additional parameters for generation

+

Additional parameters for generation.

Returns

object
-

The generated object

+

The generated object.

@@ -165,8 +166,9 @@ Delegate XFactory.XGeneratorDelegate

Remarks

-

Note that the design pattern of seperating BaseDirectory and RelativePath is for easy data package moving. -The pattern assume the BaseDirectory can be changed if all the content in the BaseDirectory is changed to the destinate directory.

+

Separating baseDirectory and relFile +keeps data packages relocatable: moving the whole base directory only +requires updating the directory string, not every internal path.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XFactory.XmlExceptionDelegate.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XFactory.XmlExceptionDelegate.html index 3828202e..49e90d71 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XFactory.XmlExceptionDelegate.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XFactory.XmlExceptionDelegate.html @@ -108,10 +108,10 @@ Delegate XFactory.XmlExceptionDelegate

Parameters

relPath string
-

The relative path where the exception occurred

+

The relative path where the exception occurred.

exception Exception
-

The exception that was thrown

+

The exception that was thrown.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XFactory.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XFactory.html index 7bfca26a..38fdf3f8 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XFactory.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XFactory.html @@ -6,7 +6,7 @@ - + @@ -97,12 +97,13 @@ Class XFactory
Assembly
HiGeom.dll
-

Factory class for generating objects from XML elements using registered generator functions.

+

Factory for generating objects from XML elements using registered generator +functions.

-
public static class XFactory
+
public class XFactory
@@ -144,11 +145,57 @@ Class XFactory
+
+
Extension Methods
+
+
+ DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[]) +
+
+ InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>) +
+
+ InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>) +
+
+ ColorUtil.GetGloomyColor(object, double, double) +
+
+ NameUtil.GetSelectionName(object) +
+
+ StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) +
+
+ LockUtil.Lock(object) +
+

Remarks

-

Generator functions must be added to Generators to enable the factory to create objects from XML.

+

+Each XFactory instance owns its own Generators +registry. A process-wide Default singleton serves the common +case (single shared factory across the simulation pipeline); other instances +can be created for test isolation or parallel pipelines that need disjoint +registries. +

+

+Types that participate in XML round-trip expose a +public static void Reg(XFactory factory = null) method that adds +themselves (and chains Reg(factory) on dependents) to the given +factory's Generators. Boot roots (e.g. +LocalProjectService.Reg()) call the top-level Reg() once at +startup with the default factory. +

+

+The static Gen<T> / GenByChild<T> / +GenByFile<T> entry points always read from +Default. Callers that need to deserialize from a custom +factory's registry must look up the delegate via +factory.Generators[xname] directly. +

@@ -156,6 +203,40 @@ Class XFactory

+ + +

+ Default + +

+ +

Process-wide default factory used by the static Gen<T> +family. Reg-style methods register here when called with +no explicit factory argument.

+
+
+ +
+
public static XFactory Default { get; }
+
+ + + + + +

Property Value

+
+
XFactory
+
+
+ + + + + + + +

@@ -163,12 +244,13 @@ Class XFactory

-

Gets or sets the dictionary mapping XML element names to generator functions with relative file path.

+

XML-name → generator-function map for this factory instance. Populated +by each type's Reg(this) call.

-
public static Dictionary<string, XFactory.XGeneratorDelegate> Generators { get; set; }
+
public Dictionary<string, XFactory.XGeneratorDelegate> Generators { get; }
@@ -199,8 +281,7 @@ Class XFactory -

Generates an object of type T from the first child element of the provided XML element. -This overload discards the relative file path output.

+

Generates an object of type T from the first child element (discards relative file path).

@@ -261,37 +342,29 @@ This overload discards the relative file path output.

Parameters

src XElement
-

The parent XML element containing the child to process

-
+
baseDirectory string
-

The base directory for resolving paths

-
+
relFile string
-

Output parameter that receives the relative file path if src is a file reference, or null otherwise

-
+
progress IProgress<object>
-

Progress reporter for the XML parsing chain

-
+
enableRebase bool
-

Whether to rebase the directory to the file's location

-
+
res object[]
-

Additional parameters for generation

-
+

Returns

T
-

The generated object of type T, or null if src is null

-
+

Type Parameters

T
-

The type of object to generate

-
+
@@ -321,34 +394,27 @@ This overload discards the relative file path output.

Parameters

baseDirectory string
-

The base directory for resolving paths

-
+
relFile string
-

The relative file path to the XML file

-
+
progress IProgress<object>
-

Progress reporter for the XML parsing chain

-
+
enableRebase bool
-

Whether to rebase the directory to the file's location

-
+
res object[]
-

Additional parameters for generation

-
+

Returns

T
-

The generated object of type T, or null if relFile is null

-
+

Type Parameters

T
-

The type of object to generate

-
+
@@ -367,7 +433,7 @@ This overload discards the relative file path output.

-

Generates a FileRefSource<T> from the first child element of the provided XML element.

+

Generates a FileRefSource<T> from the first child element.

@@ -517,8 +583,7 @@ This overload discards the relative file path output.

-

Generates an object of type T from an XML element. -This overload discards the relative file path output.

+

Generates an object of type T from an XML element (discards relative file path).

@@ -529,34 +594,27 @@ This overload discards the relative file path output.

Parameters

src XElement
-

The source XML element

-
+
baseDirectory string
-

The base directory for resolving paths

-
+
progress IProgress<object>
-

Progress reporter for the XML parsing chain

-
+
enableRebase bool
-

Whether to rebase the directory to the file's location

-
+
res object[]
-

Additional parameters for generation

-
+

Returns

T
-

The generated object of type T

-
+

Type Parameters

T
-

The type of object to generate

-
+
@@ -575,7 +633,7 @@ This overload discards the relative file path output.

-

Generates an object of type T from an XML element.

+

Generates an object of type T from an XML element using Default.

@@ -586,37 +644,29 @@ This overload discards the relative file path output.

Parameters

src XElement
-

The source XML element

-
+
baseDirectory string
-

The base directory for resolving paths

-
+
relFile string
-

Output parameter that receives the relative file path if src is a file reference, or null otherwise

-
+
progress IProgress<object>
-

Progress reporter for the XML parsing chain

-
+
enableRebase bool
-

Whether to rebase the directory to the file's location

-
+
res object[]
-

Additional parameters for generation

-
+

Returns

T
-

The generated object of type T

-
+

Type Parameters

T
-

The type of object to generate

-
+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.html index b9f31bad..1b17a206 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.html @@ -109,7 +109,8 @@ Consumers retrieve it with res?.OfType<ProjectApiVersion>().FirstOrD
XFactory
-

Factory class for generating objects from XML elements using registered generator functions.

+

Factory for generating objects from XML elements using registered generator +functions.

@@ -141,7 +142,8 @@ Delegates
XFactory.XGeneratorDelegate
-

Delegate for generating objects from XML elements with relative file path.

+

Delegate for generating an object from an XML element with relative +file path context.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Disp.Flag.CoordinateDrawing.html b/App/wwwroot/HiAPI-docsite/api/Hi.Disp.Flag.CoordinateDrawing.html index 1ef64249..28b86378 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Disp.Flag.CoordinateDrawing.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Disp.Flag.CoordinateDrawing.html @@ -631,6 +631,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Box2d.html b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Box2d.html index 83cf5e7c..de1e08ab 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Box2d.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Box2d.html @@ -1407,6 +1407,40 @@ The Ctor keeps Min + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Box3d.html b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Box3d.html index d0920894..22f103d7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Box3d.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Box3d.html @@ -1999,6 +1999,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Cylindroid.html b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Cylindroid.html index cb0cc591..656abc9f 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Cylindroid.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Cylindroid.html @@ -788,6 +788,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.ExtendedCylinder.html b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.ExtendedCylinder.html index 1389d037..ea467ad6 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.ExtendedCylinder.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.ExtendedCylinder.html @@ -714,6 +714,38 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.GeomCombination.html b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.GeomCombination.html index 120ba68d..4e1dc2d0 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.GeomCombination.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.GeomCombination.html @@ -559,6 +559,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.PairZr.html b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.PairZr.html index 6cd33175..3df9a5aa 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.PairZr.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.PairZr.html @@ -764,6 +764,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Resolution.PolarResolution2d.html b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Resolution.PolarResolution2d.html index d64466bf..ebc5c02c 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Resolution.PolarResolution2d.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Resolution.PolarResolution2d.html @@ -478,6 +478,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.StlFile.html b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.StlFile.html index 332f36dd..69ee1677 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.StlFile.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.StlFile.html @@ -644,6 +644,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.TransformationGeom.html b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.TransformationGeom.html index 687f185a..e3dc46cc 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.TransformationGeom.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.TransformationGeom.html @@ -632,6 +632,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.HiNcHost.html b/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.HiNcHost.html index ca82e376..96250fae 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.HiNcHost.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.HiNcHost.html @@ -1288,6 +1288,42 @@ Host class for HiNC functionality that provides project management, path resolut + + +

+ Reg(XFactory) + +

+ +

Bootstraps XML-factory registration for the HiNC host. Equivalent to +Reg(XFactory); entry +points that construct HiNcHost directly (without going +through LocalProjectService) should call +this once at startup. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.PlayerDivConfig.html b/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.PlayerDivConfig.html index 555d8212..b5b01e19 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.PlayerDivConfig.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.PlayerDivConfig.html @@ -665,6 +665,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.ProxyConfig.html b/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.ProxyConfig.html index d5bde594..4b48e038 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.ProxyConfig.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.ProxyConfig.html @@ -370,6 +370,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.UserConfig.html b/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.UserConfig.html index 1237a896..430c74e3 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.UserConfig.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.UserConfig.html @@ -662,6 +662,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Machining.FreeformRemover.html b/App/wwwroot/HiAPI-docsite/api/Hi.Machining.FreeformRemover.html index 06918e6c..3bb4054a 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Machining.FreeformRemover.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Machining.FreeformRemover.html @@ -1381,6 +1381,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html b/App/wwwroot/HiAPI-docsite/api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html index a6198ecf..21685237 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html @@ -1197,6 +1197,39 @@ This method should be called before performing collision detection.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.html b/App/wwwroot/HiAPI-docsite/api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.html index a92d124d..32b9bb31 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.html @@ -635,6 +635,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.html b/App/wwwroot/HiAPI-docsite/api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.html index 46cef564..0220dc28 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.html @@ -426,6 +426,42 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Static constructor that initializes XML serialization support.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + +

Remarks

+

Registers the XML factory for deserializing MachiningEquipmentCollisionIndexPairsSource instances +and ensures required XML element names are initialized.

+
+ + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Machining.MachiningToolHouse.html b/App/wwwroot/HiAPI-docsite/api/Hi.Machining.MachiningToolHouse.html index dff19ca1..9a2a1ba7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Machining.MachiningToolHouse.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Machining.MachiningToolHouse.html @@ -468,6 +468,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.LocalProjectService.html b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.LocalProjectService.html index a34d8583..e1e01de6 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.LocalProjectService.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.LocalProjectService.html @@ -2069,6 +2069,42 @@ cycle (they live in the SyntaxPiece JSON dataflow rather than in any + + +

+ Reg(XFactory) + +

+ +

Bootstraps XML-factory registration for the simulation pipeline. +Entry points must call this once at startup before any project XML +is deserialized. Pass a custom XFactory for test +isolation, or null to populate Default. +Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningActRunnerConfig.html b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningActRunnerConfig.html index fa7cf97d..081841b2 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningActRunnerConfig.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningActRunnerConfig.html @@ -636,6 +636,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningProject.html b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningProject.html index ab080be5..3ced9fb7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningProject.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningProject.html @@ -864,6 +864,41 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer (and its legacy aliases) with the +given XFactory (or Default when +factory is null), and chains Reg(factory) +on dependents so the registration graph is observable. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Mapping.TimeMapping.html b/App/wwwroot/HiAPI-docsite/api/Hi.Mapping.TimeMapping.html index 9cc02568..7c081b59 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Mapping.TimeMapping.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Mapping.TimeMapping.html @@ -858,6 +858,40 @@ This method is thread-safe and can be called concurrently.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Mappings.FileTimeSection.html b/App/wwwroot/HiAPI-docsite/api/Hi.Mappings.FileTimeSection.html index cd974032..000271a5 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Mappings.FileTimeSection.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Mappings.FileTimeSection.html @@ -672,6 +672,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.GeneralMechanism.html b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.GeneralMechanism.html index 02fe4d53..ed063549 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.GeneralMechanism.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.GeneralMechanism.html @@ -663,6 +663,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.DynamicFreeform.html b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.DynamicFreeform.html index d38c24a7..b906bbce 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.DynamicFreeform.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.DynamicFreeform.html @@ -513,6 +513,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.DynamicRotation.html b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.DynamicRotation.html index 3d039f14..df6e6e9d 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.DynamicRotation.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.DynamicRotation.html @@ -679,6 +679,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.DynamicTranslation.html b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.DynamicTranslation.html index c9276d17..3082dab8 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.DynamicTranslation.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.DynamicTranslation.html @@ -611,6 +611,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.GeneralTransform.html b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.GeneralTransform.html index d2c5d879..4605e23b 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.GeneralTransform.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.GeneralTransform.html @@ -639,6 +639,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.NoTransform.html b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.NoTransform.html index 477820f4..e33451f6 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.NoTransform.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.NoTransform.html @@ -471,6 +471,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.StackTransformer.html b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.StackTransformer.html index 412fb06e..be08e40f 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.StackTransformer.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.StackTransformer.html @@ -737,6 +737,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.StaticFreeform.html b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.StaticFreeform.html index 0dea03ea..bb142534 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.StaticFreeform.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.StaticFreeform.html @@ -540,6 +540,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.StaticRotation.html b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.StaticRotation.html index f6c65186..f7b338d0 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.StaticRotation.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.StaticRotation.html @@ -671,6 +671,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.StaticTranslation.html b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.StaticTranslation.html index 3fea8e23..45f242bd 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.StaticTranslation.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.StaticTranslation.html @@ -572,6 +572,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.TransformerUtil.html b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.TransformerUtil.html index 74949dfa..46ce7e06 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.TransformerUtil.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Mech.Topo.TransformerUtil.html @@ -153,35 +153,6 @@ Class TransformerUtil

- - -

- Dummy() - -

- -

The function is for trigger the static constructor of this class. -The function is empty. -The static constructor register the class to the XFactory.

-
-
- -
-
public static void Dummy()
-
- - - - - - - - - - - - -

@@ -221,6 +192,46 @@ The static constructor register the class to the + +

+ Reg(XFactory) + +

+ +

Registers every concrete ITransformer implementation with +the given XFactory: NoTransform, +StaticTranslation, StaticRotation, +StaticFreeform, DynamicTranslation, +DynamicRotation, DynamicFreeform, +StackTransformer, and GeneralTransform. +Composites that deserialize a Branch (whose +Transformer child can be any of the above) should chain this +from their own Reg(factory). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.BallApt.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.BallApt.html index 337e514d..b8acdbe9 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.BallApt.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.BallApt.html @@ -545,6 +545,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.BullNoseApt.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.BullNoseApt.html index 506f9c72..62e4a41d 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.BullNoseApt.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.BullNoseApt.html @@ -578,6 +578,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.ColumnApt.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.ColumnApt.html index ed6df74a..4d63274a 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.ColumnApt.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.ColumnApt.html @@ -580,6 +580,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.ConeApt.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.ConeApt.html index 310a2d42..b5445435 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.ConeApt.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.ConeApt.html @@ -610,6 +610,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.ExactColumnApt.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.ExactColumnApt.html index dd8a3398..bf5b16a6 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.ExactColumnApt.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.ExactColumnApt.html @@ -545,6 +545,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.GeneralApt.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.GeneralApt.html index 115fa6f6..7d229b87 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.GeneralApt.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.GeneralApt.html @@ -1105,6 +1105,38 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.TaperApt.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.TaperApt.html index b3365afa..d81d68c5 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.TaperApt.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Apts.TaperApt.html @@ -713,6 +713,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.AptProfile.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.AptProfile.html index 0867da04..6751e4b4 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.AptProfile.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.AptProfile.html @@ -854,6 +854,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.ConstRatioProfile.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.ConstRatioProfile.html index 6a9b0d13..7721ddfe 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.ConstRatioProfile.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.ConstRatioProfile.html @@ -657,6 +657,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.CustomSpinningProfile.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.CustomSpinningProfile.html index 3e8a84be..497e5fdb 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.CustomSpinningProfile.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.CustomSpinningProfile.html @@ -636,6 +636,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.FluteDependentRatioProfile.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.FluteDependentRatioProfile.html index 0ef877cd..55dc6c35 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.FluteDependentRatioProfile.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.FluteDependentRatioProfile.html @@ -657,6 +657,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.MillingCutter.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.MillingCutter.html index 6e849e7a..d9e074f5 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.MillingCutter.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.Cutters.MillingCutter.html @@ -2637,6 +2637,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.ConstHelixSideContour.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.ConstHelixSideContour.html index d3b0ff83..67590fdf 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.ConstHelixSideContour.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.ConstHelixSideContour.html @@ -903,6 +903,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.FluteContour.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.FluteContour.html index 6ec00994..0b057cb4 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.FluteContour.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.FluteContour.html @@ -739,6 +739,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.FreeContourTray.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.FreeContourTray.html index 061c21ae..5f7c68aa 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.FreeContourTray.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.FreeContourTray.html @@ -585,6 +585,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.FreeformSideContour.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.FreeformSideContour.html index 2b2ad067..01c21e2b 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.FreeformSideContour.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.FreeformSideContour.html @@ -664,6 +664,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.ShiftedWorkingContour.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.ShiftedWorkingContour.html index f1acbd04..ba1eecb0 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.ShiftedWorkingContour.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.ShiftedWorkingContour.html @@ -747,6 +747,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

Operators

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.SlideBottomContour.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.SlideBottomContour.html index 05da056e..a7968bfe 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.SlideBottomContour.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.SlideBottomContour.html @@ -852,6 +852,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.UniformContourTray.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.UniformContourTray.html index 9dcae947..482c6914 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.UniformContourTray.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.FluteContours.UniformContourTray.html @@ -611,6 +611,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.MillingTools.MillingTool.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.MillingTools.MillingTool.html index 0b392a32..b2ae15c0 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.MillingTools.MillingTool.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.MillingTools.MillingTool.html @@ -1312,6 +1312,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.SpindleCapability.html b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.SpindleCapability.html index e7b54f77..aed3193e 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Milling.SpindleCapability.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Milling.SpindleCapability.html @@ -818,6 +818,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.ProfileMillingParas.LocalProfileMillingPara.html b/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.ProfileMillingParas.LocalProfileMillingPara.html index de45b118..dc35cd60 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.ProfileMillingParas.LocalProfileMillingPara.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.ProfileMillingParas.LocalProfileMillingPara.html @@ -1437,6 +1437,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.html b/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.html index 4b33302e..5edcf944 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.html @@ -1040,6 +1040,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.html b/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.html index 7af0ec53..ba5207e8 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.html @@ -717,6 +717,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.html b/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.html index f84d438e..a1428ca3 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.html @@ -595,7 +595,7 @@ Unit: N/mm.

Gets or sets the shear coefficient along the rake face cross line (c). Direction is from outer to center on side cutting. -Unit: N/mm².

+Unit: N/mm�.

@@ -628,7 +628,7 @@ Unit: N/mm².

Gets or sets the shear coefficient along the rake face normal direction (n). -Unit: N/mm².

+Unit: N/mm�.

@@ -1014,6 +1014,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

@@ -1048,9 +1082,9 @@ Since the folder can be moving with the configuration file.

Remarks

Index mapping: -0 - Kse (N/mm²) -1 - Ksc (N/mm²) -2 - Ksn (N/mm²) +0 - Kse (N/mm�) +1 - Ksc (N/mm�) +2 - Ksn (N/mm�) 3 - Kpe (N/mm) 4 - Kpc (N/mm) 5 - Kpn (N/mm)

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.html b/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.html index 2bc1db5d..ca6f09a0 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.html @@ -247,7 +247,7 @@ Internal Use Only.

Parameters

shearEcn Vec3d
-

The shear coefficient vector in ECN coordinates (N/mm²).

+

The shear coefficient vector in ECN coordinates (N/mm�).

ploughEcn Vec3d

The plough coefficient vector in ECN coordinates (N/mm).

@@ -319,13 +319,13 @@ Internal Use Only.

Parameters

kse double
-

The shear coefficient along the cutting edge direction (N/mm²).

+

The shear coefficient along the cutting edge direction (N/mm�).

ksc double
-

The shear coefficient along the rake face cross line (N/mm²).

+

The shear coefficient along the rake face cross line (N/mm�).

ksn double
-

The shear coefficient along the rake face normal direction (N/mm²).

+

The shear coefficient along the rake face normal direction (N/mm�).

kpe double

The plough coefficient along the cutting edge direction (N/mm).

@@ -888,7 +888,7 @@ Unit: N/mm.

Gets or sets the shear coefficient along the rake face cross line (c). Direction is from outer to center on side cutting. -Unit: N/mm².

+Unit: N/mm�.

@@ -922,7 +922,7 @@ Unit: N/mm².

Gets or sets the shear coefficient along the cutting edge direction (e). Direction is from lower to upper on side cutting. -Unit: N/mm².

+Unit: N/mm�.

@@ -955,7 +955,7 @@ Unit: N/mm².

Gets or sets the shear coefficient along the rake face normal direction (n). -Unit: N/mm².

+Unit: N/mm�.

@@ -1257,9 +1257,9 @@ For parameter training.

Remarks

Index mapping: -0 - Kse (N/mm²) -1 - Ksc (N/mm²) -2 - Ksn (N/mm²) +0 - Kse (N/mm�) +1 - Ksc (N/mm�) +2 - Ksn (N/mm�) 3 - Kpe (N/mm) 4 - Kpc (N/mm) 5 - Kpn (N/mm)

@@ -1319,6 +1319,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

@@ -1353,9 +1387,9 @@ Since the folder can be moving with the configuration file.

Remarks

Index mapping: -0 - Kse (N/mm²) -1 - Ksc (N/mm²) -2 - Ksn (N/mm²) +0 - Kse (N/mm�) +1 - Ksc (N/mm�) +2 - Ksn (N/mm�) 3 - Kpe (N/mm) 4 - Kpc (N/mm) 5 - Kpn (N/mm)

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.html b/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.html index 112964e9..81c8beda 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.html @@ -1056,6 +1056,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MillingProcs.MillingGuide.html b/App/wwwroot/HiAPI-docsite/api/Hi.MillingProcs.MillingGuide.html index 55f1fb2e..86a2f6fb 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MillingProcs.MillingGuide.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MillingProcs.MillingGuide.html @@ -501,6 +501,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.ClStripChartConfig.html b/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.ClStripChartConfig.html index b6627753..25f1ecb8 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.ClStripChartConfig.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.ClStripChartConfig.html @@ -367,6 +367,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.ClStripChartItemConfig.html b/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.ClStripChartItemConfig.html index a438d3f4..68306b7c 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.ClStripChartItemConfig.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.ClStripChartItemConfig.html @@ -364,6 +364,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.ForceCycleLineDivConfig.html b/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.ForceCycleLineDivConfig.html index c2060e16..94bd2c3e 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.ForceCycleLineDivConfig.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.ForceCycleLineDivConfig.html @@ -363,6 +363,40 @@ Class ForceCycleLineDivConfig + + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.html b/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.html index 214baa26..5fa8826a 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.html @@ -367,6 +367,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.TimeChartYConfig.html b/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.TimeChartYConfig.html index aad5b5d9..8379c100 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.TimeChartYConfig.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MillingStepUtils.TimeChartYConfig.html @@ -402,6 +402,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Fixtures.Fixture.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Fixtures.Fixture.html index 776d86e4..f77ca1d8 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Fixtures.Fixture.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Fixtures.Fixture.html @@ -1174,6 +1174,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.html index 326bfd60..ce8d6216 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.html @@ -462,6 +462,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Holders.CylindroidHolder.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Holders.CylindroidHolder.html index 4c880fd4..9aa44703 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Holders.CylindroidHolder.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Holders.CylindroidHolder.html @@ -1293,6 +1293,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Holders.FreeformHolder.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Holders.FreeformHolder.html index bd07faf0..16b96ec7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Holders.FreeformHolder.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Holders.FreeformHolder.html @@ -1392,6 +1392,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Solids.Solid.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Solids.Solid.html index c333b28a..4a400fb7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Solids.Solid.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Solids.Solid.html @@ -1087,6 +1087,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Topo.NcRotation.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Topo.NcRotation.html index c9126416..73834378 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Topo.NcRotation.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Topo.NcRotation.html @@ -844,6 +844,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Topo.NcTranslation.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Topo.NcTranslation.html index b3b3630a..d420bbdd 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Topo.NcTranslation.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Topo.NcTranslation.html @@ -734,6 +734,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Workpieces.Workpiece.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Workpieces.Workpiece.html index 79935c96..1ac50543 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Workpieces.Workpiece.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Workpieces.Workpiece.html @@ -968,6 +968,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.html index f98ffb82..c7734a59 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.html @@ -558,6 +558,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.html index 62815159..d397994c 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.html @@ -1383,6 +1383,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Xyzabc.CodeXyzabcMachineToolUri.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Xyzabc.CodeXyzabcMachineToolUri.html index bb71eeb2..d9417823 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Xyzabc.CodeXyzabcMachineToolUri.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Xyzabc.CodeXyzabcMachineToolUri.html @@ -554,6 +554,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.html index 219bfadb..b5ec8e7e 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.html @@ -1355,6 +1355,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.CuttingVelocityOptLimit.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.CuttingVelocityOptLimit.html index 7ecef657..a816d8fa 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.CuttingVelocityOptLimit.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.CuttingVelocityOptLimit.html @@ -574,6 +574,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.FixedFeedPerCycleOptLimit.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.FixedFeedPerCycleOptLimit.html index b9cc70a4..c59ffa07 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.FixedFeedPerCycleOptLimit.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.FixedFeedPerCycleOptLimit.html @@ -589,6 +589,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.FixedFeedPerToothOptLimit.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.FixedFeedPerToothOptLimit.html index 75664da5..2f8d9eff 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.FixedFeedPerToothOptLimit.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.FixedFeedPerToothOptLimit.html @@ -514,6 +514,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.MillingCutterOptOption.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.MillingCutterOptOption.html index 3448b7d4..57df14ab 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.MillingCutterOptOption.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.MillingCutterOptOption.html @@ -732,6 +732,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptOption.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptOption.html index ed71395a..ef8f6c6a 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptOption.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptOption.html @@ -1557,6 +1557,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptProc.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptProc.html index 7f0d8aa0..f1777e0c 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptProc.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.NcOptProc.html @@ -569,6 +569,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.ShapeBasedCutterOptLimit.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.ShapeBasedCutterOptLimit.html index fae897d5..d406fc25 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.ShapeBasedCutterOptLimit.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcOpt.ShapeBasedCutterOptLimit.html @@ -783,6 +783,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.CncBrandDependency.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.CncBrandDependency.html index e0d9178f..788beb77 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.CncBrandDependency.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.CncBrandDependency.html @@ -536,6 +536,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html index 21041e2e..a9be1655 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html @@ -477,6 +477,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.html index ce484ac2..e6ca9ce1 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.html @@ -1553,6 +1553,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.FanucPositionVariableLookup.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.FanucPositionVariableLookup.html index 115f6d6e..1df70ab2 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.FanucPositionVariableLookup.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.FanucPositionVariableLookup.html @@ -482,6 +482,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.FanucToolOffsetVariableLookup.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.FanucToolOffsetVariableLookup.html index c434cdb8..e98248bc 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.FanucToolOffsetVariableLookup.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.FanucToolOffsetVariableLookup.html @@ -6,7 +6,7 @@ - + @@ -111,7 +111,7 @@ no reference of its own and resolves the table from the per-call

Registered on a brand preset's -VariableEvaluatorSyntax.RuntimeVariableLookups, not on +RuntimeVariableLookups, not on NcDependencyList — the wrapper owns no long-lived data, only the Fanuc-style id addressing scheme. The underlying ToolOffsetTable still lives in @@ -468,6 +468,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.RetainedCommonVariableTable.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.RetainedCommonVariableTable.html index a43ed97d..7407f563 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.RetainedCommonVariableTable.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.RetainedCommonVariableTable.html @@ -535,6 +535,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.html index 27539176..e5572935 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Fanuc.html @@ -168,7 +168,7 @@ no reference of its own and resolves the table from the per-call

Registered on a brand preset's -VariableEvaluatorSyntax.RuntimeVariableLookups, not on +RuntimeVariableLookups, not on NcDependencyList — the wrapper owns no long-lived data, only the Fanuc-style id addressing scheme. The underlying ToolOffsetTable still lives in diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.FallbackConfig.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.FallbackConfig.html index 23dc1283..3db46bd7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.FallbackConfig.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.FallbackConfig.html @@ -384,6 +384,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.GenericBlockSkipConfig.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.GenericBlockSkipConfig.html index ef89d101..eea9ae7c 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.GenericBlockSkipConfig.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.GenericBlockSkipConfig.html @@ -417,6 +417,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.html index b054c2e6..7ec582ea 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.html @@ -549,6 +549,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.html index 894387a0..587cc208 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.html @@ -423,6 +423,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.html index ad605008..ec28d289 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.html @@ -450,6 +450,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.ToolingMcConfig.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.ToolingMcConfig.html index 596374ed..5de675e9 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.ToolingMcConfig.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Generic.ToolingMcConfig.html @@ -476,6 +476,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.html index 6b96eff3..011fc2ea 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.html @@ -1085,6 +1085,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.HeidenhainDatumTable.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.HeidenhainDatumTable.html index 0f299e9b..a5837261 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.HeidenhainDatumTable.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.HeidenhainDatumTable.html @@ -563,6 +563,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.html index 2c32ebb4..24cc41f5 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.html @@ -452,6 +452,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html index 742532fd..2be03229 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html @@ -991,6 +991,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.html index e7f07107..f012d47e 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.html @@ -1399,6 +1399,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html index e1125f98..ad2a6d56 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html @@ -351,6 +351,40 @@ the counter implicitly reset to 0.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.html index 111138ba..fc943815 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.html @@ -639,6 +639,40 @@ The Pn is from table buckle to tool attacher.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.ProjectFolderDependency.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.ProjectFolderDependency.html index 514a2b51..9b516ce2 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.ProjectFolderDependency.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.ProjectFolderDependency.html @@ -416,6 +416,40 @@ round-trip.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.html index c4e0a434..120019b5 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.html @@ -373,6 +373,40 @@ the empty element so the dependency survives an XML round-trip.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.html index e362e20c..34c1e055 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.html @@ -377,6 +377,40 @@ the empty element so the dependency survives an XML round-trip.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.html index dbbe1b21..aa01d1fc 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.html @@ -475,6 +475,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.VolatileVariableLookup.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.VolatileVariableLookup.html index 641fc35f..0f5c7e25 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.VolatileVariableLookup.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.VolatileVariableLookup.html @@ -397,6 +397,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html index 7fe61dfb..edf73860 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html @@ -127,7 +127,7 @@ they touch Parsing.Assignments, not Parsing.FanucGoto.

Label scanning uses two hosted helper syntaxes — -CommentSyntax and IndexSyntax — applied to +CommentSyntax and IndexSyntax — applied to each candidate block in turn so the predicate IndexNote.Number == target matches the same way the Parsing bundle would. Both are XML-IO-able so API customers can swap them @@ -499,6 +499,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.html index defb9df4..28296016 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.html @@ -446,6 +446,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.html index 7f3ecdfb..8d9433d3 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.html @@ -504,6 +504,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax.html index 7fe192ce..f047d44e 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax.html @@ -6,7 +6,7 @@ - + @@ -103,7 +103,7 @@ letters to Vars.Local #1-#26 per the Type-I map (see FanucMacroArgumentMap). Every inlined block carries the binding dict, a clone of the FanucMacroCall diagnostic record, and a MacroFrame id stamp — so -LocalVariableLookup resolves arg references in a +LocalVariableLookup resolves arg references in a single-block lookup, a cache dump landing on any block immediately shows which call it belongs to, and downstream FanucLocalVariableReadingSyntax carries body-internal @@ -118,7 +118,7 @@ Frame isolation works on two layers. Statically, caller blocks have no MacroFrame stamp (frame id 0 by Get(JsonObject)), so the inlined frame ids (allocated fresh per L-repetition) never collide with main. Dynamically, -LocalVariableLookup and +LocalVariableLookup and FanucLocalVariableReadingSyntax compare frame ids before carrying any Vars.Local entry across a block boundary — a macro body's body-internal writes therefore stay inside the @@ -460,6 +460,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.html index 2bc9bbb4..c645b259 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.html @@ -520,6 +520,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucSystemControlVariableSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucSystemControlVariableSyntax.html index 9f0e9319..e7303fdd 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucSystemControlVariableSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucSystemControlVariableSyntax.html @@ -542,6 +542,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.html index 76942516..816ea5bf 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.html @@ -126,7 +126,7 @@ they touch Parsing.Assignments, not Parsing.FanucGoto.

Label scanning uses two hosted helper syntaxes — -CommentSyntax and IndexSyntax — applied to +CommentSyntax and IndexSyntax — applied to each candidate block in turn so the predicate IndexNote.Number == target matches the same way the Parsing bundle would. Both are XML-IO-able so API customers can swap them @@ -242,7 +242,7 @@ letters to Vars.Local #1-#26 per the Type-I map (see FanucMacroArgumentMap). Every inlined block carries the binding dict, a clone of the FanucMacroCall diagnostic record, and a MacroFrame id stamp — so -LocalVariableLookup resolves arg references in a +LocalVariableLookup resolves arg references in a single-block lookup, a cache dump landing on any block immediately shows which call it belongs to, and downstream FanucLocalVariableReadingSyntax carries body-internal @@ -257,7 +257,7 @@ Frame isolation works on two layers. Statically, caller blocks have no MacroFrame stamp (frame id 0 by Get(JsonObject)), so the inlined frame ids (allocated fresh per L-repetition) never collide with main. Dynamically, -LocalVariableLookup and +LocalVariableLookup and FanucLocalVariableReadingSyntax compare frame ids before carrying any Vars.Local entry across a block boundary — a macro body's body-internal writes therefore stay inside the diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.html index d161c8f1..b97566be 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.html @@ -6,7 +6,7 @@ - + @@ -104,7 +104,7 @@ and ReadLines(int, string, string), segments through the provided ISegmenter, runs the -probeSyntaxes on each candidate block to +caller-supplied probe syntaxes on each candidate block to extract IndexNote.Number, and returns the slice from the first matching block to EOF.

@@ -215,7 +215,7 @@ participating in this scan.

Absolute path to read line content from.

labelPath string
-

Project-relative path to stamp on each line's IndexedFileLine label (so diagnostics anchor to a relative form, not the resolver's transient absolute path).

+

Project-relative path to stamp on each line's IndexedFileLine label (so diagnostics anchor to a relative form, not the resolver's transient absolute path).

fileIndex int

Fresh file index to stamp on each scanned line, allocated by the caller from FileIndexCounterDependency.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.MacroInlineUtil.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.MacroInlineUtil.html index be1e054b..22d04d7b 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.MacroInlineUtil.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.MacroInlineUtil.html @@ -220,7 +220,7 @@ freshly-allocated FileIndex and callRecord
, the frame id, and the resolved #N → value bindings. The caller passes -the result to LazyLinkedList<T>.PrependSource on +the result to PrependSource(IEnumerable<T>) on the source layer.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.RetainedCommonVariableReadingSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.RetainedCommonVariableReadingSyntax.html index 7c5ce0a1..de291f1d 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.RetainedCommonVariableReadingSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.RetainedCommonVariableReadingSyntax.html @@ -425,6 +425,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.SubProgramCallSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.SubProgramCallSyntax.html index abd78bda..3462ea22 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.SubProgramCallSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.SubProgramCallSyntax.html @@ -451,6 +451,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.SubProgramReturnSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.SubProgramReturnSyntax.html index 68ed1482..97f1bfd6 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.SubProgramReturnSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.SubProgramReturnSyntax.html @@ -498,6 +498,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html index 15fc6c2e..e57d1405 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html @@ -508,6 +508,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.VolatileVariableReadingSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.VolatileVariableReadingSyntax.html index 83031f72..793acd1a 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.VolatileVariableReadingSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.VolatileVariableReadingSyntax.html @@ -490,6 +490,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.html index 6423a845..d11b5fcd 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.EvaluationSyntaxs.html @@ -120,7 +120,7 @@ and ReadLines(int, string, string), segments through the provided ISegmenter, runs the -probeSyntaxes on each candidate block to +caller-supplied probe syntaxes on each candidate block to extract IndexNote.Number, and returns the slice from the first matching block to EOF.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Initializers.HomeMcInitializer.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Initializers.HomeMcInitializer.html index 6a31ff2d..d57c248a 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Initializers.HomeMcInitializer.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Initializers.HomeMcInitializer.html @@ -406,6 +406,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Initializers.StaticInitializer.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Initializers.StaticInitializer.html index 586a2203..924fccc2 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Initializers.StaticInitializer.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Initializers.StaticInitializer.html @@ -566,6 +566,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.InspectionSyntaxs.CleanupSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.InspectionSyntaxs.CleanupSyntax.html index ba768722..20e52b15 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.InspectionSyntaxs.CleanupSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.InspectionSyntaxs.CleanupSyntax.html @@ -455,6 +455,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.html index 6e8d98c7..3ff4ee91 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.html @@ -456,6 +456,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.InspectionSyntaxs.SnapshotSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.InspectionSyntaxs.SnapshotSyntax.html index d390fc4c..47926823 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.InspectionSyntaxs.SnapshotSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.InspectionSyntaxs.SnapshotSyntax.html @@ -575,6 +575,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.InspectionSyntaxs.UnconsumedCheckSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.InspectionSyntaxs.UnconsumedCheckSyntax.html index 345939d4..9012d17f 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.InspectionSyntaxs.UnconsumedCheckSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.InspectionSyntaxs.UnconsumedCheckSyntax.html @@ -442,6 +442,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.FanucGoto.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.FanucGoto.html index 11b90c3a..ff93508b 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.FanucGoto.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.FanucGoto.html @@ -6,7 +6,7 @@ - + @@ -111,7 +111,7 @@ Two source forms map to the same shape:

At parsing time N is a raw token from the source — it may be a literal ("100"), a variable reference ("#1"), or a -bracketed expression ("#[#2+5]"). VariableEvaluatorSyntax +bracketed expression ("#[#2+5]"). VariableEvaluatorSyntax substitutes a resolved literal back into the same field in the Evaluation bundle; FanucGotoSyntax then int.TryParses the final string to produce an int target. diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.FanucIfThen.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.FanucIfThen.html index 2ffa95bc..b3ca873f 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.FanucIfThen.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.FanucIfThen.html @@ -6,7 +6,7 @@ - + @@ -116,7 +116,7 @@ accepted and lifted together.

Condition is held as a string at parsing time so -VariableEvaluatorSyntax's pass-2 tree walk can substitute +VariableEvaluatorSyntax's pass-2 tree walk can substitute it to a numeric JsonValue in place; the FanucIfThenSyntax tail then reads the resolved node polymorphically via the same ReadCondition shape used by diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.FanucMacroCall.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.FanucMacroCall.html index 50bbd276..9239361d 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.FanucMacroCall.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.FanucMacroCall.html @@ -6,7 +6,7 @@ - + @@ -102,7 +102,7 @@ Class FanucMacroCall G65 host block (the caller) and every inlined block of the macro body — so a cache-dump reader can land on any block inside the macro and immediately see “this block belongs to a G65 call of -File with these argument bindings” without back-walking +FileName with these argument bindings” without back-walking to find the host.

Each inlined block additionally carries the resolved diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.MacroFrame.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.MacroFrame.html index f66fb666..bb1fbace 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.MacroFrame.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.MacroFrame.html @@ -6,7 +6,7 @@ - + @@ -97,7 +97,7 @@ Class MacroFrame

Assembly
HiMech.dll
-

Top-level integer marker stamped onto a SyntaxPiece's JSON +

Top-level integer marker stamped onto a SyntaxPiece's JSON to identify which call frame the block belongs to. Brand-agnostic by design — written by FanucMacroCallSyntax today, reusable by any future call-inlining syntax (Fanuc G66 diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.SubProgramReturn.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.SubProgramReturn.html index 8ca5876c..4050b6ab 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.SubProgramReturn.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.SubProgramReturn.html @@ -190,7 +190,7 @@ in cache dumps and surfaces the M99 P{seq} jump decision.

Set to P when the M99 actually redirected control flow to the caller's N{seq} block via -LazyLinkedList<T>.ReplaceSource. Null on plain M99 +ReplaceSource(IEnumerable<T>). Null on plain M99 (no P), and on M99 P{seq} that fell through because the jump could not be carried out.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.html index b136f75d..539819c7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.html @@ -212,7 +212,7 @@ Two source forms map to the same shape:

At parsing time N is a raw token from the source — it may be a literal ("100"), a variable reference ("#1"), or a -bracketed expression ("#[#2+5]"). VariableEvaluatorSyntax +bracketed expression ("#[#2+5]"). VariableEvaluatorSyntax substitutes a resolved literal back into the same field in the Evaluation bundle; FanucGotoSyntax then int.TryParses the final string to produce an int target. @@ -240,7 +240,7 @@ accepted and lifted together.

Condition is held as a string at parsing time so -VariableEvaluatorSyntax's pass-2 tree walk can substitute +VariableEvaluatorSyntax's pass-2 tree walk can substitute it to a numeric JsonValue in place; the FanucIfThenSyntax tail then reads the resolved node polymorphically via the same ReadCondition shape used by @@ -255,7 +255,7 @@ via the same ReadCondition shape used by G65 host block (the caller) and every inlined block of the macro body — so a cache-dump reader can land on any block inside the macro and immediately see “this block belongs to a G65 call of -File with these argument bindings” without back-walking +FileName with these argument bindings” without back-walking to find the host.

Each inlined block additionally carries the resolved @@ -340,7 +340,7 @@ do not share this key, because their data shapes are richer.

MacroFrame
-

Top-level integer marker stamped onto a SyntaxPiece's JSON +

Top-level integer marker stamped onto a SyntaxPiece's JSON to identify which call frame the block belongs to. Brand-agnostic by design — written by FanucMacroCallSyntax today, reusable by any future call-inlining syntax (Fanuc G66 diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.BackBoringSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.BackBoringSyntax.html index 86b5b013..ca8ce9a3 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.BackBoringSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.BackBoringSyntax.html @@ -421,6 +421,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.BareG28Behavior.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.BareG28Behavior.html index fb1a5379..6aef403e 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.BareG28Behavior.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.BareG28Behavior.html @@ -317,7 +317,7 @@ the home (0): }

Bare G28 — no axis specifiers — exercises the configurable -BareG28 policy. Default Alarm +BareG28 policy. Default Alarm emits Coord-RefReturn--003 and consumes the G28 without motion (the diagnostic surfaces through the NcDiagnosticProgress sink, not the block JSON, so the @@ -327,7 +327,7 @@ canonical #AfterBuild is just an empty object):

{ "Parsing": { "G28": {} } }
#AfterBuild:
{}
-Bare G28 with BareG28 set to +Bare G28 with BareG28 set to AllAxesHome: the syntax synthesises a literal at the inherited program position for every configured linear axis and the previous modal angle for every configured diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.BoringCycleSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.BoringCycleSyntax.html index 2046c648..f1b6ce04 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.BoringCycleSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.BoringCycleSyntax.html @@ -427,6 +427,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html index 0f9bf6e6..7b98d8de 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html @@ -390,6 +390,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.html index c8bfc890..8ec559ee 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.html @@ -577,6 +577,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.CoolantSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.CoolantSyntax.html index 07ec9fb0..af8d6905 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.CoolantSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.CoolantSyntax.html @@ -434,6 +434,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.DrillingCycleSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.DrillingCycleSyntax.html index dba9902b..a8a4b20e 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.DrillingCycleSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.DrillingCycleSyntax.html @@ -422,6 +422,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.html index e7ba771f..6eedc386 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.html @@ -448,6 +448,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.FeedrateSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.FeedrateSyntax.html index 14349bc0..bb42a7c9 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.FeedrateSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.FeedrateSyntax.html @@ -438,6 +438,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.FineBoringSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.FineBoringSyntax.html index a02c3045..d5456ac4 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.FineBoringSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.FineBoringSyntax.html @@ -420,6 +420,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.html index 8772dab6..5253922c 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.html @@ -434,6 +434,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.G53p1RotaryPositionSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.G53p1RotaryPositionSyntax.html index c67fa25e..625a417e 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.G53p1RotaryPositionSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.G53p1RotaryPositionSyntax.html @@ -435,6 +435,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCoordinateOffsetSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCoordinateOffsetSyntax.html index 78a33b61..9672f980 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCoordinateOffsetSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCoordinateOffsetSyntax.html @@ -489,6 +489,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.HighSpeedPeckCycleSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.HighSpeedPeckCycleSyntax.html index e44a4f72..269ab137 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.HighSpeedPeckCycleSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.HighSpeedPeckCycleSyntax.html @@ -420,6 +420,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.html index 51fc782c..aa5bed74 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.html @@ -560,6 +560,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.html index 2df44f41..6323d0ac 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.html @@ -491,6 +491,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.html index d77f89a2..a9dadf91 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.html @@ -507,6 +507,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.html index 0ad47296..17111296 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.html @@ -427,6 +427,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IsoLocalCoordinateOffsetSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IsoLocalCoordinateOffsetSyntax.html index 2cc5c18b..e8c82648 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IsoLocalCoordinateOffsetSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IsoLocalCoordinateOffsetSyntax.html @@ -520,6 +520,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html index b2d71e9b..1877d142 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html @@ -461,6 +461,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.html index f0314bb8..4a830b5d 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.html @@ -453,6 +453,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.html index 0ad67270..399554c2 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.html @@ -489,6 +489,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html index 1b5c99cc..022dc410 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html @@ -405,6 +405,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.McAbcXyzFallbackSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.McAbcXyzFallbackSyntax.html index fd1c415e..235873d2 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.McAbcXyzFallbackSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.McAbcXyzFallbackSyntax.html @@ -422,6 +422,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.McXyzSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.McXyzSyntax.html index 8888db2d..6e77acf1 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.McXyzSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.McXyzSyntax.html @@ -403,6 +403,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.html index 31e18bc4..86ff7868 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.html @@ -428,6 +428,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.PivotTransformationSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.PivotTransformationSyntax.html index 5296e1ea..074b6bfb 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.PivotTransformationSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.PivotTransformationSyntax.html @@ -436,6 +436,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.html index 508e8255..f2e135c3 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.html @@ -442,6 +442,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.PositioningSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.PositioningSyntax.html index ef7b629e..89fe89b5 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.PositioningSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.PositioningSyntax.html @@ -412,6 +412,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ProgramEndCleanSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ProgramEndCleanSyntax.html index b600bd63..3c1b4661 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ProgramEndCleanSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ProgramEndCleanSyntax.html @@ -475,6 +475,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.html index 90471925..a1158d67 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.html @@ -428,6 +428,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ProgramStopSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ProgramStopSyntax.html index 8e249bbf..4244a27e 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ProgramStopSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ProgramStopSyntax.html @@ -437,6 +437,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.html index 35bf8d83..f4e42ad4 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.html @@ -531,6 +531,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html index 5d7d2da8..1e7e85a3 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html @@ -6,7 +6,7 @@ - + @@ -97,7 +97,11 @@ Class ReferenceReturnSyntax
Assembly
HiMech.dll
-
+

G28 reference point return syntax. Behaviour is documented in detail +on the example attached to BareG28Behavior; this class +is the ISituNcSyntax implementation that the +BareG28 property configures.

+
@@ -439,6 +443,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.Siemens.SiemensCoordinateOffsetSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.Siemens.SiemensCoordinateOffsetSyntax.html index b3ab5906..8bf58022 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.Siemens.SiemensCoordinateOffsetSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.Siemens.SiemensCoordinateOffsetSyntax.html @@ -484,6 +484,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.html index e9960a9b..874eb14d 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.html @@ -436,6 +436,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.TappingCycleSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.TappingCycleSyntax.html index e4982643..05974111 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.TappingCycleSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.TappingCycleSyntax.html @@ -422,6 +422,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ToolChangeSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ToolChangeSyntax.html index d8213a5d..674d6250 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ToolChangeSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ToolChangeSyntax.html @@ -503,6 +503,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ToolHeightOffsetSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ToolHeightOffsetSyntax.html index e70bb200..44d27010 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ToolHeightOffsetSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.ToolHeightOffsetSyntax.html @@ -576,6 +576,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.html index 824b9cde..f5f2db0e 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.html @@ -469,6 +469,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.html index 8fbe04bb..8bacc90d 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.html @@ -798,7 +798,11 @@ MC vs predecessor lookback, picks strategy from
ReferenceReturnSyntax
-
+

G28 reference point return syntax. Behaviour is documented in detail +on the example attached to BareG28Behavior; this class +is the ISituNcSyntax implementation that the +BareG28 property configures.

+
RotaryAxisUtil
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.BlockSkipSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.BlockSkipSyntax.html index 7dfcea80..a8065b7a 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.BlockSkipSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.BlockSkipSyntax.html @@ -436,6 +436,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.html index 20cf7a6d..b31a79e8 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.html @@ -421,6 +421,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.TailCommentSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.TailCommentSyntax.html index e3eed5c6..8bedeff0 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.TailCommentSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.TailCommentSyntax.html @@ -458,6 +458,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.html index dba8dbef..2d8aee4d 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.html @@ -539,6 +539,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucGotoParsingSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucGotoParsingSyntax.html index a1daec12..2c57d6f7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucGotoParsingSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucGotoParsingSyntax.html @@ -468,6 +468,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.html index ad8e7885..2bbd0d0d 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.html @@ -458,6 +458,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucProgramNumberSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucProgramNumberSyntax.html index 8762e5ca..f653ab61 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucProgramNumberSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucProgramNumberSyntax.html @@ -447,6 +447,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.FlagSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.FlagSyntax.html index 1a95099f..1723fe0b 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.FlagSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.FlagSyntax.html @@ -481,6 +481,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.html index 0a585315..3aa2bbd1 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.html @@ -319,6 +319,40 @@ variable-tag pattern.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.html index bdc40b4e..def45fe2 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.html @@ -459,6 +459,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumSettingSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumSettingSyntax.html index 00ce651f..69166381 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumSettingSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumSettingSyntax.html @@ -438,6 +438,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.html index 86ed4b09..8422e5f4 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.html @@ -438,6 +438,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainBlkFormSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainBlkFormSyntax.html index c8f4870b..7a66b806 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainBlkFormSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainBlkFormSyntax.html @@ -473,6 +473,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCallSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCallSyntax.html index a6207a22..23b8b0c4 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCallSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCallSyntax.html @@ -429,6 +429,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCyclDefSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCyclDefSyntax.html index afbcc35e..7676a880 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCyclDefSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCyclDefSyntax.html @@ -442,6 +442,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.html index 0cf1e7e4..5fdbb961 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.html @@ -318,6 +318,40 @@ Extends + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLSyntax.html index 1e47b95c..eff4f0e5 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLSyntax.html @@ -458,6 +458,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLblSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLblSyntax.html index 5f28c91c..f77c8100 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLblSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLblSyntax.html @@ -431,6 +431,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainPlaneSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainPlaneSyntax.html index d8c828ee..f00349ce 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainPlaneSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainPlaneSyntax.html @@ -510,6 +510,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.html index 73f66d04..f31d7bf8 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.html @@ -422,6 +422,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainToolCallSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainToolCallSyntax.html index 568947c6..aef57a9e 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainToolCallSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainToolCallSyntax.html @@ -423,6 +423,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.html index 1b160103..106a74a7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.html @@ -319,6 +319,40 @@ variable-tag pattern.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.NamedVarAssignmentSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.NamedVarAssignmentSyntax.html index c445c035..0c281b85 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.NamedVarAssignmentSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.NamedVarAssignmentSyntax.html @@ -568,6 +568,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.html index a0619a12..8e414667 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.html @@ -530,6 +530,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html index 2fef1d8c..f9e61a85 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html @@ -666,6 +666,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.ShrinkIfNoDecimalPointSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.ShrinkIfNoDecimalPointSyntax.html index 98dc16e7..f3dc98ba 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.ShrinkIfNoDecimalPointSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.ShrinkIfNoDecimalPointSyntax.html @@ -420,6 +420,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.html index c0bcb97d..df7a5fbd 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.html @@ -597,6 +597,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.TagValueSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.TagValueSyntax.html index 1bf52450..8f3c18a6 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.TagValueSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.TagValueSyntax.html @@ -526,6 +526,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.TapeBoundarySyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.TapeBoundarySyntax.html index f46b9eb7..2673d5e5 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.TapeBoundarySyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.TapeBoundarySyntax.html @@ -468,6 +468,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html index 17731654..cc9c6803 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html @@ -628,6 +628,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.PostLogicSyntaxs.RadiusCompensationSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.PostLogicSyntaxs.RadiusCompensationSyntax.html index ffa6e9d0..60c1df04 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.PostLogicSyntaxs.RadiusCompensationSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.PostLogicSyntaxs.RadiusCompensationSyntax.html @@ -488,6 +488,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Segmenters.HeidenhainSegmenter.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Segmenters.HeidenhainSegmenter.html index 0e7b67b5..63f72d5a 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Segmenters.HeidenhainSegmenter.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Segmenters.HeidenhainSegmenter.html @@ -327,6 +327,40 @@ Also support single line NC block.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.html index 89204ece..3b8dee00 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.html @@ -428,6 +428,40 @@ Lines without the delimiter produce a single + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Segmenters.SingleLineSegmenter.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Segmenters.SingleLineSegmenter.html index e2f5af4f..45326ef7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Segmenters.SingleLineSegmenter.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Segmenters.SingleLineSegmenter.html @@ -295,6 +295,40 @@ Class SingleLineSegmenter + + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.ClLinearMotionSemantic.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.ClLinearMotionSemantic.html index b9bd7192..75608889 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.ClLinearMotionSemantic.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.ClLinearMotionSemantic.html @@ -312,6 +312,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.CompoundMotionSemantic.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.CompoundMotionSemantic.html index 09785fe8..51dc7cae 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.CompoundMotionSemantic.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.CompoundMotionSemantic.html @@ -306,6 +306,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.CoolantSemantic.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.CoolantSemantic.html index 23ff9047..559ed969 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.CoolantSemantic.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.CoolantSemantic.html @@ -309,6 +309,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.CsScriptBeginSemantic.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.CsScriptBeginSemantic.html index d29e819d..ee5dc7d2 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.CsScriptBeginSemantic.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.CsScriptBeginSemantic.html @@ -347,6 +347,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.CsScriptEndSemantic.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.CsScriptEndSemantic.html index 9c0670c9..f60d92bf 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.CsScriptEndSemantic.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.CsScriptEndSemantic.html @@ -347,6 +347,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.MachineCoordinateStepSemantic.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.MachineCoordinateStepSemantic.html index 17510546..37819d97 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.MachineCoordinateStepSemantic.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.MachineCoordinateStepSemantic.html @@ -306,6 +306,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.McArcMotionSemantic.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.McArcMotionSemantic.html index 81564d5a..8b34321b 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.McArcMotionSemantic.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.McArcMotionSemantic.html @@ -308,6 +308,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.McLinearMotionSemantic.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.McLinearMotionSemantic.html index 4875ad45..8e520536 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.McLinearMotionSemantic.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.McLinearMotionSemantic.html @@ -312,6 +312,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.SpindleSpeedSemantic.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.SpindleSpeedSemantic.html index 5eb09d8d..76578533 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.SpindleSpeedSemantic.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.SpindleSpeedSemantic.html @@ -307,6 +307,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.StrokeLimitCheckSemantic.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.StrokeLimitCheckSemantic.html index 9cdbe75f..8122cc5a 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.StrokeLimitCheckSemantic.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.StrokeLimitCheckSemantic.html @@ -306,6 +306,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.ToolChangeSemantic.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.ToolChangeSemantic.html index 3d5185e1..8e746fcd 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.ToolChangeSemantic.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Semantics.ToolChangeSemantic.html @@ -307,6 +307,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.SoftNcRunner.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.SoftNcRunner.html index 5801dd07..97b9facf 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.SoftNcRunner.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.SoftNcRunner.html @@ -858,6 +858,42 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers SoftNcRunner and chains Reg() on every +pipeline component the runner may deserialize from XML — dependencies, +initializers, segmenters, parsing/logic/evaluation/post-logic/inspection +syntaxes, and semantics. Idempotent; safe to call from any number of +boot paths.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Syntaxs.BundleSyntax.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Syntaxs.BundleSyntax.html index 7e57bcbd..13377a1d 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Syntaxs.BundleSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Syntaxs.BundleSyntax.html @@ -511,6 +511,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.CsvRunnerConfig.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.CsvRunnerConfig.html index 8930725f..f0974b94 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.CsvRunnerConfig.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.CsvRunnerConfig.html @@ -688,6 +688,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.HardNcEnv.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.HardNcEnv.html index 2c5daab4..88e2bc31 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.HardNcEnv.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.HardNcEnv.html @@ -1454,6 +1454,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.HardNcLine.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.HardNcLine.html index 3230a6bc..32a83507 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.HardNcLine.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.HardNcLine.html @@ -1903,7 +1903,7 @@ So be care that do not change the NC XYZ if not needed.

0-based ordinal in NC execution order, stamped at construction by -Hi.Numerical.FilePlayers.HardNcRunner (source-side) or by +HardNcRunner (source-side) or by NcOptProc (optimized-side, a fresh independent count). Init-state lines (RefNcLineOnInit) carry -1 as a “not in pipeline” sentinel.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.html index 8f745175..5cad8436 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.html @@ -542,6 +542,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.html index e8892502..770f2c8a 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.html @@ -448,6 +448,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.html index 332edfe0..2fadf8e6 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.html @@ -467,6 +467,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MillingToolOffsetTable.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MillingToolOffsetTable.html index b9f41ce9..a5efa217 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MillingToolOffsetTable.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MillingToolOffsetTable.html @@ -453,6 +453,40 @@ The key is Offset ID (H or D in NC code).

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MillingToolOffsetTableRow.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MillingToolOffsetTableRow.html index e08989ec..7fac5bcd 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MillingToolOffsetTableRow.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.MillingToolOffsetTableRow.html @@ -470,6 +470,40 @@ Class MillingToolOffsetTableRow

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.BoundSelector.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.BoundSelector.html index 806fc7d9..7142ecfc 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.BoundSelector.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.BoundSelector.html @@ -651,6 +651,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.BoundSelectorHost.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.BoundSelectorHost.html index 01f52a9f..ecc85986 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.BoundSelectorHost.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.BoundSelectorHost.html @@ -611,6 +611,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.BoundSelectorPair.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.BoundSelectorPair.html index 4dd49d6f..2bead355 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.BoundSelectorPair.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.BoundSelectorPair.html @@ -453,6 +453,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.html index e1bad51e..2b44a97d 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.html @@ -460,6 +460,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.DistanceShift.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.DistanceShift.html index 76375182..52e44544 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.DistanceShift.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.DistanceShift.html @@ -416,6 +416,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.TimeShift.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.TimeShift.html index f09a9932..82b233b6 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.TimeShift.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.StepSelectionUtils.TimeShift.html @@ -457,6 +457,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.Xyzabc.CodeXyzabcChain.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.Xyzabc.CodeXyzabcChain.html index bc0264bd..b68b1279 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.Xyzabc.CodeXyzabcChain.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.Xyzabc.CodeXyzabcChain.html @@ -1527,6 +1527,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.Xyzabc.GeneralXyzabcChain.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.Xyzabc.GeneralXyzabcChain.html index decc4195..d8a12a33 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.Xyzabc.GeneralXyzabcChain.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.Xyzabc.GeneralXyzabcChain.html @@ -1248,6 +1248,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Physics.CoatingMaterial.html b/App/wwwroot/HiAPI-docsite/api/Hi.Physics.CoatingMaterial.html index 59267d53..601a5d53 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Physics.CoatingMaterial.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Physics.CoatingMaterial.html @@ -563,6 +563,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Physics.CoolantHeatCondition.html b/App/wwwroot/HiAPI-docsite/api/Hi.Physics.CoolantHeatCondition.html index c85afd3d..e79e2888 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Physics.CoolantHeatCondition.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Physics.CoolantHeatCondition.html @@ -639,6 +639,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Physics.CutterMaterial.html b/App/wwwroot/HiAPI-docsite/api/Hi.Physics.CutterMaterial.html index 1a3b8568..c0bb531f 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Physics.CutterMaterial.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Physics.CutterMaterial.html @@ -1022,6 +1022,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Physics.StructureMaterial.html b/App/wwwroot/HiAPI-docsite/api/Hi.Physics.StructureMaterial.html index 71f217bb..c2a04682 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Physics.StructureMaterial.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Physics.StructureMaterial.html @@ -824,6 +824,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Physics.ThermalLayer1D.html b/App/wwwroot/HiAPI-docsite/api/Hi.Physics.ThermalLayer1D.html index 689a5c1e..acce2c90 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Physics.ThermalLayer1D.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Physics.ThermalLayer1D.html @@ -509,6 +509,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Physics.WorkpieceMaterial.html b/App/wwwroot/HiAPI-docsite/api/Hi.Physics.WorkpieceMaterial.html index cac1e98d..908c551c 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Physics.WorkpieceMaterial.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Physics.WorkpieceMaterial.html @@ -958,6 +958,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.EnablingWrapper.html b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.EnablingWrapper.html index 4173855b..8aafdeb7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.EnablingWrapper.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.EnablingWrapper.html @@ -445,6 +445,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.GeomDiffCommand.html b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.GeomDiffCommand.html index b9134156..083e8785 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.GeomDiffCommand.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.GeomDiffCommand.html @@ -406,6 +406,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.ListCommand.html b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.ListCommand.html index b2593b8e..79032c1b 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.ListCommand.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.ListCommand.html @@ -415,6 +415,41 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null), and chains Reg(factory) on dependents so the +registration graph is observable. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.MachiningMotionResolutionCommand.html b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.MachiningMotionResolutionCommand.html index ffddea0a..011a1462 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.MachiningMotionResolutionCommand.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.MachiningMotionResolutionCommand.html @@ -377,6 +377,41 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null), and chains Reg(factory) on dependents so the +registration graph is observable. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.NcCodeCommand.html b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.NcCodeCommand.html index 965c087a..fb88c77c 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.NcCodeCommand.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.NcCodeCommand.html @@ -471,6 +471,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.NcFileCommand.html b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.NcFileCommand.html index 1128677d..97673256 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.NcFileCommand.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.NcFileCommand.html @@ -438,6 +438,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.NcFileListCommand.html b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.NcFileListCommand.html index 30ad018a..5f533806 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.NcFileListCommand.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.NcFileListCommand.html @@ -371,6 +371,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.NcOptOptionCommand.html b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.NcOptOptionCommand.html index c6296dca..ae17b7ec 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.NcOptOptionCommand.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.NcOptOptionCommand.html @@ -414,6 +414,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.OptimizeToFilesCommand.html b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.OptimizeToFilesCommand.html index 2f1e5071..68832d1e 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.OptimizeToFilesCommand.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.OptimizeToFilesCommand.html @@ -371,6 +371,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.PostExecutionCommand.html b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.PostExecutionCommand.html index 4d062a5c..a3d530f2 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.PostExecutionCommand.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.PostExecutionCommand.html @@ -731,6 +731,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.PreSettingCommand.html b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.PreSettingCommand.html index 66f6e24e..319572a1 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.PreSettingCommand.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.PreSettingCommand.html @@ -606,6 +606,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.RecordRuntimeGeomCommand.html b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.RecordRuntimeGeomCommand.html index d4bf1024..499dd18e 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.RecordRuntimeGeomCommand.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.RecordRuntimeGeomCommand.html @@ -403,6 +403,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.ScriptCommand.html b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.ScriptCommand.html index adb76e37..be0d3968 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.ScriptCommand.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.ScriptCommand.html @@ -600,6 +600,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer (and its legacy alias) with the +given XFactory (or Default when +factory is null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.SimpleSessionCommand.html b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.SimpleSessionCommand.html index 57bad991..816b9044 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.SimpleSessionCommand.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.SimpleSessionCommand.html @@ -957,6 +957,41 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null), and chains Reg(factory) on dependents so the +registration graph is observable. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.WriteRuntimeGeomToStlCommand.html b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.WriteRuntimeGeomToStlCommand.html index 25722c44..0259df7f 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.WriteRuntimeGeomToStlCommand.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.WriteRuntimeGeomToStlCommand.html @@ -403,6 +403,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.WriteShotFilesCommand.html b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.WriteShotFilesCommand.html index a35d4a1a..d1b7dd50 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.WriteShotFilesCommand.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.WriteShotFilesCommand.html @@ -403,6 +403,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.WriteStepFilesCommand.html b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.WriteStepFilesCommand.html index 79edb0b3..987bff1b 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.WriteStepFilesCommand.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.SessionCommands.WriteStepFilesCommand.html @@ -371,6 +371,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/HiMachining.Milling.ClMillingDevice.html b/App/wwwroot/HiAPI-docsite/api/HiMachining.Milling.ClMillingDevice.html index ef7e230e..660f6d0c 100644 --- a/App/wwwroot/HiAPI-docsite/api/HiMachining.Milling.ClMillingDevice.html +++ b/App/wwwroot/HiAPI-docsite/api/HiMachining.Milling.ClMillingDevice.html @@ -805,6 +805,39 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer with the given XFactory +and chains Reg(factory) on dependents. Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/HiNc.Grpcs.MachiningProjectGrpcServer.html b/App/wwwroot/HiAPI-docsite/api/HiNc.Grpcs.MachiningProjectGrpcServer.html index 19706694..1a070123 100644 --- a/App/wwwroot/HiAPI-docsite/api/HiNc.Grpcs.MachiningProjectGrpcServer.html +++ b/App/wwwroot/HiAPI-docsite/api/HiNc.Grpcs.MachiningProjectGrpcServer.html @@ -498,6 +498,40 @@ Since the folder can be moving with the configuration file.

+ + +

+ Reg(XFactory) + +

+ +

Registers this type's deserializer (and its legacy alias) with the +given XFactory (or Default when +factory is null). Idempotent.

+
+
+ +
+
public static void Reg(XFactory factory = null)
+
+ +

Parameters

+
+
factory XFactory
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/fundamentals/common/xml-io.html b/App/wwwroot/HiAPI-docsite/fundamentals/common/xml-io.html index e02a45ff..281bed3c 100644 --- a/App/wwwroot/HiAPI-docsite/fundamentals/common/xml-io.html +++ b/App/wwwroot/HiAPI-docsite/fundamentals/common/xml-io.html @@ -92,24 +92,66 @@

Core Components

IMakeXmlSource Interface

The IMakeXmlSource interface defines the contract for objects that can be serialized to XML format. It contains a single method MakeXmlSource.

-

XFactory Registration

-

Every class implementing IMakeXmlSource must:

-
    -
  1. Define a static XName property matching the class name.
  2. -
  3. Register itself in the static constructor using XFactory.Regs.Add
  4. -
  5. Implement XML serialization and deserialization logic
  6. -
-

The registration delegate signature includes an IProgress<object> parameter for diagnostic message routing:

-
XFactory.Regs.Add(XName, (xml, baseDirectory, relFile, progress, res)
-    => new MyClass(xml, baseDirectory, relFile, progress));
-
-

For example, see BallApt:

-
static BallApt()
+

XFactory

+

XFactory is an instance class with a process-wide Default singleton (XFactory.Default). The instance form exists for test isolation and parallel pipelines that need disjoint generator registries; the static Gen<T> / GenByChild<T> / GenByFile<T> entry points always read from Default.

+

Each instance owns its own Generators dictionary (XML element name → generator delegate). Types add themselves via a Reg(factory) call (see below).

+

Explicit Registration via Reg(XFactory factory = null)

+

Every class implementing IMakeXmlSource exposes a public static Reg method:

+
public static void Reg(XFactory factory = null)
 {
-    // Register to the <see cref="XFactory.Default"/>.
-    XFactory.Generators.Add(XName, (xml,baseDirectory, relFile, progress, res) => new BallApt(xml));
+    factory ??= XFactory.Default;
+    factory.Generators.TryAdd(XName, (xml, baseDirectory, relFile, progress, res)
+        => new MyClass(xml, baseDirectory, relFile, progress));
 }
-

IProgress Threading

+
+

Key properties:

+
    +
  • Explicit. Callers see registration happen — no hidden side effect from accessing a static member or constructing a type.
  • +
  • Idempotent. Uses TryAdd, so the same Reg may be invoked any number of times from any number of boot paths.
  • +
  • Composable. Custom factory instances are supported via the optional factory parameter; default usage (MyClass.Reg();) populates XFactory.Default.
  • +
+

For example, see BallApt:

+
/// <summary>
+/// Registers this type's deserializer with the given <see cref="XFactory"/>
+/// (or <see cref="XFactory.Default"/> when <paramref name="factory"/> is
+/// <c>null</c>). Idempotent.
+/// </summary>
+public static void Reg(XFactory factory = null)
+{
+    factory ??= XFactory.Default;
+    factory.Generators.TryAdd(XName, (xml,baseDirectory, relFile, progress, res) => new BallApt(xml));
+}
+

Composite types chain Reg(factory) on dependents

+

When a class deserializes child elements via XFactory.Gen<T> / XFactory.GenByChild<T>, its Reg(factory) must chain Reg(factory) on each concrete child type so the whole dependency graph is reachable from a single root call:

+
public static void Reg(XFactory factory = null)
+{
+    factory ??= XFactory.Default;
+
+    DependentA.Reg(factory);
+    DependentB.Reg(factory);
+
+    factory.Generators.TryAdd(XName, (xml, baseDirectory, relFile, progress, res)
+        => new MyComposite(xml, baseDirectory, relFile, progress));
+}
+
+

For polymorphic deserialization (GenByChild<IInterface>), the composite must chain every concrete implementation that may appear in the XML. The largest composite, SoftNcRunner, chains roughly 130 dependents (every dependency, initializer, segmenter, syntax, and semantic the NC pipeline may deserialize).

+

Multi-name registration (legacy aliases)

+

When the XML payload may carry an old element name for backward compatibility, register the current XName first and group legacy aliases under a //legacy aliases comment:

+
public static void Reg(XFactory factory = null)
+{
+    factory ??= XFactory.Default;
+
+    XFactory.XGeneratorDelegate gen = (xml, baseDirectory, relFile, progress, res)
+        => new MachiningProject(xml, baseDirectory, progress);
+
+    factory.Generators.TryAdd(XName, gen);
+
+    //legacy aliases
+    factory.Generators.TryAdd("MachiningCourse", gen);
+    factory.Generators.TryAdd("MillingCourse", gen);
+}
+
+

IProgress Threading

The IProgress<object> parameter is threaded through the entire deserialization chain. When a class constructor calls XFactory to deserialize child objects, it passes the same progress instance:

public MyClass(XElement src, string baseDirectory, string relFile,
     IProgress<object> progress)
@@ -119,6 +161,11 @@
 }
 

Parsing errors are reported to the caller-provided IProgress<object> handler.

+

Boot path

+

An application's entry point (web service Program.cs, WPF App.xaml.cs, test fixture, etc.) must call the appropriate top-level Reg() once at startup, before any project XML is deserialized. For the simulation pipeline this is:

+
LocalProjectService.Reg();
+
+

LocalProjectService.Reg() chains MachiningProject.Reg(), which in turn chains every type the simulation pipeline may deserialize. After this single call returns, XFactory.Default.Generators carries the full deserialization graph.

Implementation Patterns

Simple Value Objects

See BallApt implementation:

@@ -286,10 +333,12 @@ public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibit

Best Practices

  1. XName: Always define static XName property matching the class name.
  2. -
  3. Registration: Register in static constructor using XFactory.Regs
  4. -
  5. Call the XName such like _ = CalleeClass.XName; in the caller class static initialization field so that the registration takes effect before calling the Callee construction by XFactory.
  6. +
  7. Registration: Expose public static void Reg(XFactory factory = null); first line is factory ??= XFactory.Default; then factory.Generators.TryAdd(XName, …).
  8. +
  9. Chain dependents: For every concrete type T that the ctor reads via XFactory.Gen<T> / XFactory.GenByChild<T>, add T.Reg(factory); to the chain. For polymorphic GenByChild<IInterface>, chain every implementation that the XML may carry.
  10. +
  11. Idempotent: Use TryAdd, never Add. The same Reg is called from many boot paths.
  12. Progress Threading: Pass the IProgress<object> parameter through all nested XFactory calls. See Message Management for the rationale.
  13. -
  14. Legacy Support: Maintain backward compatibility when needed
  15. +
  16. Legacy Support: Register the canonical XName first, then group aliases under a //legacy aliases comment.
  17. +
  18. Derived class registration: When a derived class needs its own Reg, mark it public new static void Reg(XFactory factory = null) so the C# compiler does not warn about hiding the base method.
diff --git a/App/wwwroot/HiAPI-docsite/index.json b/App/wwwroot/HiAPI-docsite/index.json index d4f55881..36855656 100644 --- a/App/wwwroot/HiAPI-docsite/index.json +++ b/App/wwwroot/HiAPI-docsite/index.json @@ -62,7 +62,7 @@ "api/Hi.Cbtr.CubeTreeFile.html": { "href": "api/Hi.Cbtr.CubeTreeFile.html", "title": "Class CubeTreeFile | HiAPI-C# 2025", - "summary": "Class CubeTreeFile Namespace Hi.Cbtr Assembly HiCbtr.dll Represents a file containing cube tree data. public class CubeTreeFile : IMakeXmlSource, ISourceFile, IToPresentDto Inheritance object CubeTreeFile Implements IMakeXmlSource ISourceFile IToPresentDto 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 CubeTreeFile() Ctor. public CubeTreeFile() CubeTreeFile(string, string) Ctor. public CubeTreeFile(string relFile, string baseDirectory) Parameters relFile string baseDirectory string CubeTreeFile(XElement, string) Ctor. public CubeTreeFile(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for relative paths. Properties BaseDirectory Gets or sets the base directory for file operations. public string BaseDirectory { get; set; } Property Value string SourceFile file path. public string SourceFile { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods LoadByFile() Loads a cube tree from the specified file. public CubeTree LoadByFile() Returns CubeTree The loaded cube tree, or null if the file path is empty or null. 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. ToPresentDto() Convert to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type and object properties" + "summary": "Class CubeTreeFile Namespace Hi.Cbtr Assembly HiCbtr.dll Represents a file containing cube tree data. public class CubeTreeFile : IMakeXmlSource, ISourceFile, IToPresentDto Inheritance object CubeTreeFile Implements IMakeXmlSource ISourceFile IToPresentDto 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 CubeTreeFile() Ctor. public CubeTreeFile() CubeTreeFile(string, string) Ctor. public CubeTreeFile(string relFile, string baseDirectory) Parameters relFile string baseDirectory string CubeTreeFile(XElement, string) Ctor. public CubeTreeFile(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for relative paths. Properties BaseDirectory Gets or sets the base directory for file operations. public string BaseDirectory { get; set; } Property Value string SourceFile file path. public string SourceFile { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods LoadByFile() Loads a cube tree from the specified file. public CubeTree LoadByFile() Returns CubeTree The loaded cube tree, or null if the file path is empty or null. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToPresentDto() Convert to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type and object properties" }, "api/Hi.Cbtr.DiffAttachment.html": { "href": "api/Hi.Cbtr.DiffAttachment.html", @@ -137,7 +137,7 @@ "api/Hi.Collision.AnchoredCollidablePair.html": { "href": "api/Hi.Collision.AnchoredCollidablePair.html", "title": "Class AnchoredCollidablePair | HiAPI-C# 2025", - "summary": "Class AnchoredCollidablePair Namespace Hi.Collision Assembly HiMech.dll Represents a pair of anchored collidable objects for collision detection. public class AnchoredCollidablePair : IMakeXmlSource Inheritance object AnchoredCollidablePair Implements IMakeXmlSource Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors AnchoredCollidablePair(IAnchoredCollidableBased, IAnchoredCollidableBased) Initializes a new instance of the AnchoredCollidablePair class with two collidable objects. public AnchoredCollidablePair(IAnchoredCollidableBased indexA, IAnchoredCollidableBased indexB) Parameters indexA IAnchoredCollidableBased The first collidable object. indexB IAnchoredCollidableBased The second collidable object. AnchoredCollidablePair(string, IAnchoredCollidableBased, IAnchoredCollidableBased) Initializes a new instance of the AnchoredCollidablePair class with a name and two collidable objects. public AnchoredCollidablePair(string name, IAnchoredCollidableBased indexA, IAnchoredCollidableBased indexB) Parameters name string The name of the pair. indexA IAnchoredCollidableBased The first collidable object. indexB IAnchoredCollidableBased The second collidable object. AnchoredCollidablePair(XElement, string, IProgress, object[]) Initializes a new instance of the AnchoredCollidablePair class from XML. public AnchoredCollidablePair(XElement src, string baseDirectory, IProgress progress, object[] res) Parameters src XElement The XML element containing the pair data. baseDirectory string The base directory for resolving relative paths. progress IProgress Progress reporter for diagnostic messages emitted during construction. res object[] Additional resources for initialization. Fields XName The XML element name for serialization. public static string XName Field Value string Properties CollisionFlag Gets or sets the collision flag indicating the collision status between the two objects. public CollisionFlag CollisionFlag { get; } Property Value CollisionFlag IndexA Gets the first collidable object in the pair. public IAnchoredCollidableBased IndexA { get; } Property Value IAnchoredCollidableBased IndexB Gets the second collidable object in the pair. public IAnchoredCollidableBased IndexB { get; } Property Value IAnchoredCollidableBased MatAB Gets or sets the transformation matrix from object A to object B. public Mat4d MatAB { get; set; } Property Value Mat4d Name Gets or sets the pair name for UI manipulation. public string Name { get; set; } Property Value string SafeDistance Gets or sets the safe distance between the two collidable objects. public double SafeDistance { get; set; } Property Value double Methods Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class AnchoredCollidablePair Namespace Hi.Collision Assembly HiMech.dll Represents a pair of anchored collidable objects for collision detection. public class AnchoredCollidablePair : IMakeXmlSource Inheritance object AnchoredCollidablePair Implements IMakeXmlSource Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors AnchoredCollidablePair(IAnchoredCollidableBased, IAnchoredCollidableBased) Initializes a new instance of the AnchoredCollidablePair class with two collidable objects. public AnchoredCollidablePair(IAnchoredCollidableBased indexA, IAnchoredCollidableBased indexB) Parameters indexA IAnchoredCollidableBased The first collidable object. indexB IAnchoredCollidableBased The second collidable object. AnchoredCollidablePair(string, IAnchoredCollidableBased, IAnchoredCollidableBased) Initializes a new instance of the AnchoredCollidablePair class with a name and two collidable objects. public AnchoredCollidablePair(string name, IAnchoredCollidableBased indexA, IAnchoredCollidableBased indexB) Parameters name string The name of the pair. indexA IAnchoredCollidableBased The first collidable object. indexB IAnchoredCollidableBased The second collidable object. AnchoredCollidablePair(XElement, string, IProgress, object[]) Initializes a new instance of the AnchoredCollidablePair class from XML. public AnchoredCollidablePair(XElement src, string baseDirectory, IProgress progress, object[] res) Parameters src XElement The XML element containing the pair data. baseDirectory string The base directory for resolving relative paths. progress IProgress Progress reporter for diagnostic messages emitted during construction. res object[] Additional resources for initialization. Fields XName The XML element name for serialization. public static string XName Field Value string Properties CollisionFlag Gets or sets the collision flag indicating the collision status between the two objects. public CollisionFlag CollisionFlag { get; } Property Value CollisionFlag IndexA Gets the first collidable object in the pair. public IAnchoredCollidableBased IndexA { get; } Property Value IAnchoredCollidableBased IndexB Gets the second collidable object in the pair. public IAnchoredCollidableBased IndexB { get; } Property Value IAnchoredCollidableBased MatAB Gets or sets the transformation matrix from object A to object B. public Mat4d MatAB { get; set; } Property Value Mat4d Name Gets or sets the pair name for UI manipulation. public string Name { get; set; } Property Value string SafeDistance Gets or sets the safe distance between the two collidable objects. public double SafeDistance { get; set; } Property Value double Methods Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Collision.CollidableStl.html": { "href": "api/Hi.Collision.CollidableStl.html", @@ -152,7 +152,7 @@ "api/Hi.Collision.CollisionIndexPair.html": { "href": "api/Hi.Collision.CollisionIndexPair.html", "title": "Class CollisionIndexPair | HiAPI-C# 2025", - "summary": "Class CollisionIndexPair Namespace Hi.Collision Assembly HiMech.dll Represents a pair of collision indices for collision detection. public class CollisionIndexPair : IMakeXmlSource Inheritance object CollisionIndexPair Implements IMakeXmlSource Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CollisionIndexPair(ICollisionIndex, ICollisionIndex) Initializes a new instance of the CollisionIndexPair class with two collision indices. public CollisionIndexPair(ICollisionIndex indexA, ICollisionIndex indexB) Parameters indexA ICollisionIndex The first collision index. indexB ICollisionIndex The second collision index. CollisionIndexPair(XElement, string, IProgress, object[]) Initializes a new instance of the CollisionIndexPair class from XML. public CollisionIndexPair(XElement src, string baseDirectory, IProgress progress, object[] res) Parameters src XElement The XML element containing the pair data. baseDirectory string The base directory for resolving relative paths. progress IProgress Progress reporter for diagnostic messages emitted during construction. res object[] Additional resources for initialization. Fields XName The XML element name for serialization. public static string XName Field Value string Properties CollisionFlag Gets or sets the collision flag indicating the collision status between the two objects. public CollisionFlag CollisionFlag { get; } Property Value CollisionFlag IndexA Gets the first collision index in the pair. public ICollisionIndex IndexA { get; } Property Value ICollisionIndex IndexB Gets the second collision index in the pair. public ICollisionIndex IndexB { get; } Property Value ICollisionIndex MatAB Gets or sets the transformation matrix from object A to object B. public Mat4d MatAB { get; set; } Property Value Mat4d SafeDistance Gets or sets the safe distance between the two collision indices. public double SafeDistance { get; set; } Property Value double Methods Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class CollisionIndexPair Namespace Hi.Collision Assembly HiMech.dll Represents a pair of collision indices for collision detection. public class CollisionIndexPair : IMakeXmlSource Inheritance object CollisionIndexPair Implements IMakeXmlSource Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CollisionIndexPair(ICollisionIndex, ICollisionIndex) Initializes a new instance of the CollisionIndexPair class with two collision indices. public CollisionIndexPair(ICollisionIndex indexA, ICollisionIndex indexB) Parameters indexA ICollisionIndex The first collision index. indexB ICollisionIndex The second collision index. CollisionIndexPair(XElement, string, IProgress, object[]) Initializes a new instance of the CollisionIndexPair class from XML. public CollisionIndexPair(XElement src, string baseDirectory, IProgress progress, object[] res) Parameters src XElement The XML element containing the pair data. baseDirectory string The base directory for resolving relative paths. progress IProgress Progress reporter for diagnostic messages emitted during construction. res object[] Additional resources for initialization. Fields XName The XML element name for serialization. public static string XName Field Value string Properties CollisionFlag Gets or sets the collision flag indicating the collision status between the two objects. public CollisionFlag CollisionFlag { get; } Property Value CollisionFlag IndexA Gets the first collision index in the pair. public ICollisionIndex IndexA { get; } Property Value ICollisionIndex IndexB Gets the second collision index in the pair. public ICollisionIndex IndexB { get; } Property Value ICollisionIndex MatAB Gets or sets the transformation matrix from object A to object B. public Mat4d MatAB { get; set; } Property Value Mat4d SafeDistance Gets or sets the safe distance between the two collision indices. public double SafeDistance { get; set; } Property Value double Methods Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Collision.CollisionUtil.html": { "href": "api/Hi.Collision.CollisionUtil.html", @@ -272,22 +272,22 @@ "api/Hi.Coloring.DictionaryColorGuide.html": { "href": "api/Hi.Coloring.DictionaryColorGuide.html", "title": "Class DictionaryColorGuide | HiAPI-C# 2025", - "summary": "Class DictionaryColorGuide Namespace Hi.Coloring Assembly HiMech.dll A color guide that manages a dictionary of color guides and allows selection of one active guide. public class DictionaryColorGuide : IColorGuide, IMakeXmlSource, IGetColorGuide Inheritance object DictionaryColorGuide Implements IColorGuide IMakeXmlSource IGetColorGuide 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 DictionaryColorGuide() Initializes a new instance of the DictionaryColorGuide class. public DictionaryColorGuide() DictionaryColorGuide(DictionaryColorGuide) Initializes a new instance of the DictionaryColorGuide class by copying from another instance. public DictionaryColorGuide(DictionaryColorGuide src) Parameters src DictionaryColorGuide The source color guide to copy from. DictionaryColorGuide(XElement, string, IProgress, Dictionary) Initializes a new instance of the DictionaryColorGuide class from XML. public DictionaryColorGuide(XElement src, string baseDirectory, IProgress progress, Dictionary colorGuideCtorArgDictionary) Parameters src XElement The XML element containing the color guide data. baseDirectory string The base directory for resolving relative paths. progress IProgress Progress reporter for diagnostic messages emitted during construction. colorGuideCtorArgDictionary Dictionary Dictionary containing constructor arguments for color guides. Properties KeyToColorGuide Gets or sets the dictionary mapping keys to color guides. public Dictionary KeyToColorGuide { get; set; } Property Value Dictionary SelectedColorGuide Gets the currently selected color guide. public IColorGuide SelectedColorGuide { get; } Property Value IColorGuide SelectedKey Gets or sets the key of the currently selected color guide. public string SelectedKey { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods GetColorGuide() Get IColorGuide. public IColorGuide GetColorGuide() Returns IColorGuide IColorGuide GetRgb(object) Get rgb bystep. public Vec3d GetRgb(object step) Parameters step object step Returns Vec3d rgb GetRgbWithPriority(object, out Vec3d, out double) Get color with the showing priority if the showing area overlapped by shrinking. Only effect on CubeTree. public void GetRgbWithPriority(object step, out Vec3d rgb, out double attachmentPriority) Parameters step object step rgb Vec3d rgb attachmentPriority double priority. Larger one takes priority. 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. RefreshSelectedColorGuide() Refreshes the selected color guide based on the current SelectedKey. public void RefreshSelectedColorGuide()" + "summary": "Class DictionaryColorGuide Namespace Hi.Coloring Assembly HiMech.dll A color guide that manages a dictionary of color guides and allows selection of one active guide. public class DictionaryColorGuide : IColorGuide, IMakeXmlSource, IGetColorGuide Inheritance object DictionaryColorGuide Implements IColorGuide IMakeXmlSource IGetColorGuide 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 DictionaryColorGuide() Initializes a new instance of the DictionaryColorGuide class. public DictionaryColorGuide() DictionaryColorGuide(DictionaryColorGuide) Initializes a new instance of the DictionaryColorGuide class by copying from another instance. public DictionaryColorGuide(DictionaryColorGuide src) Parameters src DictionaryColorGuide The source color guide to copy from. DictionaryColorGuide(XElement, string, IProgress, Dictionary) Initializes a new instance of the DictionaryColorGuide class from XML. public DictionaryColorGuide(XElement src, string baseDirectory, IProgress progress, Dictionary colorGuideCtorArgDictionary) Parameters src XElement The XML element containing the color guide data. baseDirectory string The base directory for resolving relative paths. progress IProgress Progress reporter for diagnostic messages emitted during construction. colorGuideCtorArgDictionary Dictionary Dictionary containing constructor arguments for color guides. Properties KeyToColorGuide Gets or sets the dictionary mapping keys to color guides. public Dictionary KeyToColorGuide { get; set; } Property Value Dictionary SelectedColorGuide Gets the currently selected color guide. public IColorGuide SelectedColorGuide { get; } Property Value IColorGuide SelectedKey Gets or sets the key of the currently selected color guide. public string SelectedKey { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods GetColorGuide() Get IColorGuide. public IColorGuide GetColorGuide() Returns IColorGuide IColorGuide GetRgb(object) Get rgb bystep. public Vec3d GetRgb(object step) Parameters step object step Returns Vec3d rgb GetRgbWithPriority(object, out Vec3d, out double) Get color with the showing priority if the showing area overlapped by shrinking. Only effect on CubeTree. public void GetRgbWithPriority(object step, out Vec3d rgb, out double attachmentPriority) Parameters step object step rgb Vec3d rgb attachmentPriority double priority. Larger one takes priority. 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. RefreshSelectedColorGuide() Refreshes the selected color guide based on the current SelectedKey. public void RefreshSelectedColorGuide() Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Coloring.DiscreteQuantityColorGuide.html": { "href": "api/Hi.Coloring.DiscreteQuantityColorGuide.html", "title": "Class DiscreteQuantityColorGuide | HiAPI-C# 2025", - "summary": "Class DiscreteQuantityColorGuide Namespace Hi.Coloring Assembly HiMech.dll A color guide that assigns colors based on discrete quantity values. public class DiscreteQuantityColorGuide : IColorGuide, IMakeXmlSource, IGetColorGuide Inheritance object DiscreteQuantityColorGuide Implements IColorGuide IMakeXmlSource IGetColorGuide 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 DiscreteQuantityColorGuide() Initializes a new instance of the DiscreteQuantityColorGuide class. public DiscreteQuantityColorGuide() DiscreteQuantityColorGuide(string) Initializes a new instance of the DiscreteQuantityColorGuide class with a specified quantity key. public DiscreteQuantityColorGuide(string quantityKey) Parameters quantityKey string The key used to retrieve quantity values. DiscreteQuantityColorGuide(XElement) Initializes a new instance of the DiscreteQuantityColorGuide class from XML. public DiscreteQuantityColorGuide(XElement src) Parameters src XElement The XML element containing the color guide data. Properties QuantityKey Gets or sets the key used to retrieve the quantity value. public string QuantityKey { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods GetColorGuide() Get IColorGuide. public IColorGuide GetColorGuide() Returns IColorGuide IColorGuide GetRgb(object) Get rgb bystep. public Vec3d GetRgb(object step) Parameters step object step Returns Vec3d rgb GetRgbWithPriority(object, out Vec3d, out double) Get color with the showing priority if the showing area overlapped by shrinking. Only effect on CubeTree. public void GetRgbWithPriority(object step, out Vec3d rgb, out double attachmentPriority) Parameters step object step rgb Vec3d rgb attachmentPriority double priority. Larger one takes priority. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class DiscreteQuantityColorGuide Namespace Hi.Coloring Assembly HiMech.dll A color guide that assigns colors based on discrete quantity values. public class DiscreteQuantityColorGuide : IColorGuide, IMakeXmlSource, IGetColorGuide Inheritance object DiscreteQuantityColorGuide Implements IColorGuide IMakeXmlSource IGetColorGuide 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 DiscreteQuantityColorGuide() Initializes a new instance of the DiscreteQuantityColorGuide class. public DiscreteQuantityColorGuide() DiscreteQuantityColorGuide(string) Initializes a new instance of the DiscreteQuantityColorGuide class with a specified quantity key. public DiscreteQuantityColorGuide(string quantityKey) Parameters quantityKey string The key used to retrieve quantity values. DiscreteQuantityColorGuide(XElement) Initializes a new instance of the DiscreteQuantityColorGuide class from XML. public DiscreteQuantityColorGuide(XElement src) Parameters src XElement The XML element containing the color guide data. Properties QuantityKey Gets or sets the key used to retrieve the quantity value. public string QuantityKey { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods GetColorGuide() Get IColorGuide. public IColorGuide GetColorGuide() Returns IColorGuide IColorGuide GetRgb(object) Get rgb bystep. public Vec3d GetRgb(object step) Parameters step object step Returns Vec3d rgb GetRgbWithPriority(object, out Vec3d, out double) Get color with the showing priority if the showing area overlapped by shrinking. Only effect on CubeTree. public void GetRgbWithPriority(object step, out Vec3d rgb, out double attachmentPriority) Parameters step object step rgb Vec3d rgb attachmentPriority double priority. Larger one takes priority. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Coloring.FilteredColorGuide.html": { "href": "api/Hi.Coloring.FilteredColorGuide.html", "title": "Class FilteredColorGuide | HiAPI-C# 2025", - "summary": "Class FilteredColorGuide Namespace Hi.Coloring Assembly HiMech.dll A color guide that combines a filter color guide with a dictionary color guide. public class FilteredColorGuide : IColorGuide, IMakeXmlSource, IGetColorGuide Inheritance object FilteredColorGuide Implements IColorGuide IMakeXmlSource IGetColorGuide 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 FilteredColorGuide() Initializes a new instance of the FilteredColorGuide class. public FilteredColorGuide() FilteredColorGuide(XElement, string, IProgress, Dictionary) Initializes a new instance of the FilteredColorGuide class from XML. public FilteredColorGuide(XElement src, string baseDirectory, IProgress progress, Dictionary colorGuideCtorArgDictionary) Parameters src XElement The XML element containing the color guide data. baseDirectory string The base directory for resolving relative paths. progress IProgress Progress reporter for diagnostic messages emitted during construction. colorGuideCtorArgDictionary Dictionary Dictionary containing constructor arguments for color guides. Properties DictionaryColorGuide Gets or sets the dictionary color guide that is used when the filter color guide returns null. public DictionaryColorGuide DictionaryColorGuide { get; set; } Property Value DictionaryColorGuide FilterColorGuide Gets or sets the filter color guide that is applied first. public IColorGuide FilterColorGuide { get; set; } Property Value IColorGuide XName Name for XML IO. public static string XName { get; } Property Value string Methods GetColorGuide() Get IColorGuide. public IColorGuide GetColorGuide() Returns IColorGuide IColorGuide GetRgb(object) Get rgb bystep. public Vec3d GetRgb(object step) Parameters step object step Returns Vec3d rgb GetRgbWithPriority(object, out Vec3d, out double) Get color with the showing priority if the showing area overlapped by shrinking. Only effect on CubeTree. public void GetRgbWithPriority(object step, out Vec3d rgb, out double attachmentPriority) Parameters step object step rgb Vec3d rgb attachmentPriority double priority. Larger one takes priority. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FilteredColorGuide Namespace Hi.Coloring Assembly HiMech.dll A color guide that combines a filter color guide with a dictionary color guide. public class FilteredColorGuide : IColorGuide, IMakeXmlSource, IGetColorGuide Inheritance object FilteredColorGuide Implements IColorGuide IMakeXmlSource IGetColorGuide 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 FilteredColorGuide() Initializes a new instance of the FilteredColorGuide class. public FilteredColorGuide() FilteredColorGuide(XElement, string, IProgress, Dictionary) Initializes a new instance of the FilteredColorGuide class from XML. public FilteredColorGuide(XElement src, string baseDirectory, IProgress progress, Dictionary colorGuideCtorArgDictionary) Parameters src XElement The XML element containing the color guide data. baseDirectory string The base directory for resolving relative paths. progress IProgress Progress reporter for diagnostic messages emitted during construction. colorGuideCtorArgDictionary Dictionary Dictionary containing constructor arguments for color guides. Properties DictionaryColorGuide Gets or sets the dictionary color guide that is used when the filter color guide returns null. public DictionaryColorGuide DictionaryColorGuide { get; set; } Property Value DictionaryColorGuide FilterColorGuide Gets or sets the filter color guide that is applied first. public IColorGuide FilterColorGuide { get; set; } Property Value IColorGuide XName Name for XML IO. public static string XName { get; } Property Value string Methods GetColorGuide() Get IColorGuide. public IColorGuide GetColorGuide() Returns IColorGuide IColorGuide GetRgb(object) Get rgb bystep. public Vec3d GetRgb(object step) Parameters step object step Returns Vec3d rgb GetRgbWithPriority(object, out Vec3d, out double) Get color with the showing priority if the showing area overlapped by shrinking. Only effect on CubeTree. public void GetRgbWithPriority(object step, out Vec3d rgb, out double attachmentPriority) Parameters step object step rgb Vec3d rgb attachmentPriority double priority. Larger one takes priority. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Coloring.FuncRangeColorGuide.html": { "href": "api/Hi.Coloring.FuncRangeColorGuide.html", "title": "Class FuncRangeColorGuide | HiAPI-C# 2025", - "summary": "Class FuncRangeColorGuide Namespace Hi.Coloring Assembly HiMech.dll A color guide that uses a function to get a numeric value and maps it to a color using a range color rule. public class FuncRangeColorGuide : IColorGuide, IMakeXmlSource, IGetColorGuide, IGetRangeColorRule Inheritance object FuncRangeColorGuide Implements IColorGuide IMakeXmlSource IGetColorGuide IGetRangeColorRule 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 FuncRangeColorGuide(Func, RangeColorRule) Initializes a new instance of the FuncRangeColorGuide class. public FuncRangeColorGuide(Func colorIndexFunc, RangeColorRule rangeColorRule) Parameters colorIndexFunc Func The function to get the numeric value for coloring. rangeColorRule RangeColorRule The rule that maps numeric values to colors. FuncRangeColorGuide(XElement, Func) Initializes a new instance of the FuncRangeColorGuide class from XML. public FuncRangeColorGuide(XElement src, Func colorIndexFunc) Parameters src XElement The XML element containing the color guide data. colorIndexFunc Func The function to get the numeric value for coloring. Properties ColorIndexFunc Gets or sets the function that extracts a numeric value from the input object for coloring. public Func ColorIndexFunc { get; set; } Property Value Func RangeColorRule Gets or sets the rule that maps numeric values to colors. public RangeColorRule RangeColorRule { get; set; } Property Value RangeColorRule XName Name for XML IO. public static string XName { get; } Property Value string Methods GetColorGuide() Get IColorGuide. public IColorGuide GetColorGuide() Returns IColorGuide IColorGuide GetRangeColorRule() Gets the range color rule. public RangeColorRule GetRangeColorRule() Returns RangeColorRule The range color rule. GetRgb(object) Get rgb bystep. public Vec3d GetRgb(object step) Parameters step object step Returns Vec3d rgb GetRgbWithPriority(object, out Vec3d, out double) Get color with the showing priority if the showing area overlapped by shrinking. Only effect on CubeTree. public void GetRgbWithPriority(object step, out Vec3d rgb, out double attachmentPriority) Parameters step object step rgb Vec3d rgb attachmentPriority double priority. Larger one takes priority. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FuncRangeColorGuide Namespace Hi.Coloring Assembly HiMech.dll A color guide that uses a function to get a numeric value and maps it to a color using a range color rule. public class FuncRangeColorGuide : IColorGuide, IMakeXmlSource, IGetColorGuide, IGetRangeColorRule Inheritance object FuncRangeColorGuide Implements IColorGuide IMakeXmlSource IGetColorGuide IGetRangeColorRule 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 FuncRangeColorGuide(Func, RangeColorRule) Initializes a new instance of the FuncRangeColorGuide class. public FuncRangeColorGuide(Func colorIndexFunc, RangeColorRule rangeColorRule) Parameters colorIndexFunc Func The function to get the numeric value for coloring. rangeColorRule RangeColorRule The rule that maps numeric values to colors. FuncRangeColorGuide(XElement, Func) Initializes a new instance of the FuncRangeColorGuide class from XML. public FuncRangeColorGuide(XElement src, Func colorIndexFunc) Parameters src XElement The XML element containing the color guide data. colorIndexFunc Func The function to get the numeric value for coloring. Properties ColorIndexFunc Gets or sets the function that extracts a numeric value from the input object for coloring. public Func ColorIndexFunc { get; set; } Property Value Func RangeColorRule Gets or sets the rule that maps numeric values to colors. public RangeColorRule RangeColorRule { get; set; } Property Value RangeColorRule XName Name for XML IO. public static string XName { get; } Property Value string Methods GetColorGuide() Get IColorGuide. public IColorGuide GetColorGuide() Returns IColorGuide IColorGuide GetRangeColorRule() Gets the range color rule. public RangeColorRule GetRangeColorRule() Returns RangeColorRule The range color rule. GetRgb(object) Get rgb bystep. public Vec3d GetRgb(object step) Parameters step object step Returns Vec3d rgb GetRgbWithPriority(object, out Vec3d, out double) Get color with the showing priority if the showing area overlapped by shrinking. Only effect on CubeTree. public void GetRgbWithPriority(object step, out Vec3d rgb, out double attachmentPriority) Parameters step object step rgb Vec3d rgb attachmentPriority double priority. Larger one takes priority. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Coloring.IColorGuide.html": { "href": "api/Hi.Coloring.IColorGuide.html", @@ -322,17 +322,17 @@ "api/Hi.Coloring.PlainColorGuide.html": { "href": "api/Hi.Coloring.PlainColorGuide.html", "title": "Class PlainColorGuide | HiAPI-C# 2025", - "summary": "Class PlainColorGuide Namespace Hi.Coloring Assembly HiMech.dll A color guide that provides a constant color value. public class PlainColorGuide : IColorGuide, IMakeXmlSource, IGetColorGuide Inheritance object PlainColorGuide Implements IColorGuide IMakeXmlSource IGetColorGuide 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 PlainColorGuide() Initializes a new instance of the PlainColorGuide class. public PlainColorGuide() PlainColorGuide(XElement) Initializes a new instance of the PlainColorGuide class from XML. public PlainColorGuide(XElement src) Parameters src XElement The XML element containing the color guide data. Properties Rgb Gets or sets the RGB color value. public Vec3d Rgb { get; set; } Property Value Vec3d XName Name for XML IO. public static string XName { get; } Property Value string Methods GetColorGuide() Get IColorGuide. public IColorGuide GetColorGuide() Returns IColorGuide IColorGuide GetRgb(object) Get rgb bystep. public Vec3d GetRgb(object step) Parameters step object step Returns Vec3d rgb GetRgbWithPriority(object, out Vec3d, out double) Get color with the showing priority if the showing area overlapped by shrinking. Only effect on CubeTree. public void GetRgbWithPriority(object step, out Vec3d rgb, out double attachmentPriority) Parameters step object step rgb Vec3d rgb attachmentPriority double priority. Larger one takes priority. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class PlainColorGuide Namespace Hi.Coloring Assembly HiMech.dll A color guide that provides a constant color value. public class PlainColorGuide : IColorGuide, IMakeXmlSource, IGetColorGuide Inheritance object PlainColorGuide Implements IColorGuide IMakeXmlSource IGetColorGuide 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 PlainColorGuide() Initializes a new instance of the PlainColorGuide class. public PlainColorGuide() PlainColorGuide(XElement) Initializes a new instance of the PlainColorGuide class from XML. public PlainColorGuide(XElement src) Parameters src XElement The XML element containing the color guide data. Properties Rgb Gets or sets the RGB color value. public Vec3d Rgb { get; set; } Property Value Vec3d XName Name for XML IO. public static string XName { get; } Property Value string Methods GetColorGuide() Get IColorGuide. public IColorGuide GetColorGuide() Returns IColorGuide IColorGuide GetRgb(object) Get rgb bystep. public Vec3d GetRgb(object step) Parameters step object step Returns Vec3d rgb GetRgbWithPriority(object, out Vec3d, out double) Get color with the showing priority if the showing area overlapped by shrinking. Only effect on CubeTree. public void GetRgbWithPriority(object step, out Vec3d rgb, out double attachmentPriority) Parameters step object step rgb Vec3d rgb attachmentPriority double priority. Larger one takes priority. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Coloring.QuantityColorGuide.html": { "href": "api/Hi.Coloring.QuantityColorGuide.html", "title": "Class QuantityColorGuide | HiAPI-C# 2025", - "summary": "Class QuantityColorGuide Namespace Hi.Coloring Assembly HiMech.dll A color guide that maps numeric quantities to colors using a range color rule. public class QuantityColorGuide : IColorGuide, IMakeXmlSource, IGetColorGuide, IGetRangeColorRule Inheritance object QuantityColorGuide Implements IColorGuide IMakeXmlSource IGetColorGuide IGetRangeColorRule 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 QuantityColorGuide() Initializes a new instance of the QuantityColorGuide class. public QuantityColorGuide() QuantityColorGuide(string, RangeColorRule) Initializes a new instance of the QuantityColorGuide class with specified quantity key and range color rule. public QuantityColorGuide(string quantityKey, RangeColorRule rangeColorRule) Parameters quantityKey string The key used to retrieve quantity values. rangeColorRule RangeColorRule The rule that maps numeric values to colors. QuantityColorGuide(XElement) Initializes a new instance of the QuantityColorGuide class from XML. public QuantityColorGuide(XElement src) Parameters src XElement The XML element containing the color guide data. Properties QuantityKey Gets or sets the key used to retrieve the quantity value. public string QuantityKey { get; set; } Property Value string RangeColorRule Gets or sets the rule that maps numeric values to colors. public RangeColorRule RangeColorRule { get; set; } Property Value RangeColorRule XName Name for XML IO. public static string XName { get; } Property Value string Methods GetColorGuide() Get IColorGuide. public IColorGuide GetColorGuide() Returns IColorGuide IColorGuide GetRangeColorRule() Gets the range color rule. public RangeColorRule GetRangeColorRule() Returns RangeColorRule The range color rule. GetRgb(object) Get rgb bystep. public Vec3d GetRgb(object step) Parameters step object step Returns Vec3d rgb GetRgbWithPriority(object, out Vec3d, out double) Get color with the showing priority if the showing area overlapped by shrinking. Only effect on CubeTree. public void GetRgbWithPriority(object step, out Vec3d rgb, out double attachmentPriority) Parameters step object step rgb Vec3d rgb attachmentPriority double priority. Larger one takes priority. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class QuantityColorGuide Namespace Hi.Coloring Assembly HiMech.dll A color guide that maps numeric quantities to colors using a range color rule. public class QuantityColorGuide : IColorGuide, IMakeXmlSource, IGetColorGuide, IGetRangeColorRule Inheritance object QuantityColorGuide Implements IColorGuide IMakeXmlSource IGetColorGuide IGetRangeColorRule 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 QuantityColorGuide() Initializes a new instance of the QuantityColorGuide class. public QuantityColorGuide() QuantityColorGuide(string, RangeColorRule) Initializes a new instance of the QuantityColorGuide class with specified quantity key and range color rule. public QuantityColorGuide(string quantityKey, RangeColorRule rangeColorRule) Parameters quantityKey string The key used to retrieve quantity values. rangeColorRule RangeColorRule The rule that maps numeric values to colors. QuantityColorGuide(XElement) Initializes a new instance of the QuantityColorGuide class from XML. public QuantityColorGuide(XElement src) Parameters src XElement The XML element containing the color guide data. Properties QuantityKey Gets or sets the key used to retrieve the quantity value. public string QuantityKey { get; set; } Property Value string RangeColorRule Gets or sets the rule that maps numeric values to colors. public RangeColorRule RangeColorRule { get; set; } Property Value RangeColorRule XName Name for XML IO. public static string XName { get; } Property Value string Methods GetColorGuide() Get IColorGuide. public IColorGuide GetColorGuide() Returns IColorGuide IColorGuide GetRangeColorRule() Gets the range color rule. public RangeColorRule GetRangeColorRule() Returns RangeColorRule The range color rule. GetRgb(object) Get rgb bystep. public Vec3d GetRgb(object step) Parameters step object step Returns Vec3d rgb GetRgbWithPriority(object, out Vec3d, out double) Get color with the showing priority if the showing area overlapped by shrinking. Only effect on CubeTree. public void GetRgbWithPriority(object step, out Vec3d rgb, out double attachmentPriority) Parameters step object step rgb Vec3d rgb attachmentPriority double priority. Larger one takes priority. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Coloring.RangeColorRule.html": { "href": "api/Hi.Coloring.RangeColorRule.html", "title": "Class RangeColorRule | HiAPI-C# 2025", - "summary": "Class RangeColorRule Namespace Hi.Coloring Assembly HiGeom.dll Defines a rule for mapping numeric values to colors based on a range. public class RangeColorRule : IMakeXmlSource, IGetRangeColorRule Inheritance object RangeColorRule Implements IMakeXmlSource IGetRangeColorRule 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) XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors RangeColorRule() Ctor. public RangeColorRule() RangeColorRule(double, double, RatioRgbFuncEnum) Constructor with range and color function specification. public RangeColorRule(double floor, double ceiling, RatioRgbFuncEnum ratioRgbFuncEnum = RatioRgbFuncEnum.NormalizedPositiveErf) Parameters floor double The lower bound of the range. ceiling double The upper bound of the range. ratioRgbFuncEnum RatioRgbFuncEnum The function to map ratio values to RGB colors. RangeColorRule(XElement) Ctor. public RangeColorRule(XElement src) Parameters src XElement XML Fields RatioRgbFuncEnum The function used to map ratio values to RGB colors. public RatioRgbFuncEnum RatioRgbFuncEnum Field Value RatioRgbFuncEnum Properties Ceiling Gets or sets the upper bound of the range. public double Ceiling { get; set; } Property Value double Floor Gets or sets the lower bound of the range. public double Floor { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods GetRangeColorRule() Gets the range color rule. public RangeColorRule GetRangeColorRule() Returns RangeColorRule The range color rule. GetRgb(double) Gets the RGB color for a given value based on the range and color function. public Vec3d GetRgb(double v) Parameters v double The value to convert to a color. Returns Vec3d RGB color vector. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class RangeColorRule Namespace Hi.Coloring Assembly HiGeom.dll Defines a rule for mapping numeric values to colors based on a range. public class RangeColorRule : IMakeXmlSource, IGetRangeColorRule Inheritance object RangeColorRule Implements IMakeXmlSource IGetRangeColorRule 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) XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors RangeColorRule() Ctor. public RangeColorRule() RangeColorRule(double, double, RatioRgbFuncEnum) Constructor with range and color function specification. public RangeColorRule(double floor, double ceiling, RatioRgbFuncEnum ratioRgbFuncEnum = RatioRgbFuncEnum.NormalizedPositiveErf) Parameters floor double The lower bound of the range. ceiling double The upper bound of the range. ratioRgbFuncEnum RatioRgbFuncEnum The function to map ratio values to RGB colors. RangeColorRule(XElement) Ctor. public RangeColorRule(XElement src) Parameters src XElement XML Fields RatioRgbFuncEnum The function used to map ratio values to RGB colors. public RatioRgbFuncEnum RatioRgbFuncEnum Field Value RatioRgbFuncEnum Properties Ceiling Gets or sets the upper bound of the range. public double Ceiling { get; set; } Property Value double Floor Gets or sets the lower bound of the range. public double Floor { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods GetRangeColorRule() Gets the range color rule. public RangeColorRule GetRangeColorRule() Returns RangeColorRule The range color rule. GetRgb(double) Gets the RGB color for a given value based on the range and color function. public Vec3d GetRgb(double v) Parameters v double The value to convert to a color. Returns Vec3d RGB color vector. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Coloring.RatioRgbFuncEnum.html": { "href": "api/Hi.Coloring.RatioRgbFuncEnum.html", @@ -342,7 +342,7 @@ "api/Hi.Coloring.RgbSeed.html": { "href": "api/Hi.Coloring.RgbSeed.html", "title": "Class RgbSeed | HiAPI-C# 2025", - "summary": "Class RgbSeed Namespace Hi.Coloring Assembly HiGeom.dll A simple object contains RGB value. public class RgbSeed : IGetRgb, IMakeXmlSource Inheritance object RgbSeed Implements IGetRgb 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) XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors RgbSeed() Ctor. public RgbSeed() RgbSeed(Vec3d) Ctor. public RgbSeed(Vec3d rgb) Parameters rgb Vec3d RGB RgbSeed(XElement) Ctor. public RgbSeed(XElement src) Parameters src XElement XML Properties Rgb RGB. public Vec3d Rgb { get; set; } Property Value Vec3d XName Name for XML IO. public static string XName { get; } Property Value string Methods GetRgb() Get RGB. public Vec3d GetRgb() Returns Vec3d RGB MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class RgbSeed Namespace Hi.Coloring Assembly HiGeom.dll A simple object contains RGB value. public class RgbSeed : IGetRgb, IMakeXmlSource Inheritance object RgbSeed Implements IGetRgb 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) XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors RgbSeed() Ctor. public RgbSeed() RgbSeed(Vec3d) Ctor. public RgbSeed(Vec3d rgb) Parameters rgb Vec3d RGB RgbSeed(XElement) Ctor. public RgbSeed(XElement src) Parameters src XElement XML Properties Rgb RGB. public Vec3d Rgb { get; set; } Property Value Vec3d XName Name for XML IO. public static string XName { get; } Property Value string Methods GetRgb() Get RGB. public Vec3d GetRgb() Returns Vec3d RGB 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Coloring.html": { "href": "api/Hi.Coloring.html", @@ -362,7 +362,7 @@ "api/Hi.Common.BlockingTimer.html": { "href": "api/Hi.Common.BlockingTimer.html", "title": "Class BlockingTimer | HiAPI-C# 2025", - "summary": "Class BlockingTimer Namespace Hi.Common Assembly HiGeom.dll Timer use one task and delay each event call. The delay time is Period, counted from the previous trigger to the nest trigger. The first function call does no intending delay. If the execution time is over the Period, no delay between the triggers. public class BlockingTimer : IMakeXmlSource, IDisposable Inheritance object BlockingTimer Implements IMakeXmlSource IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors BlockingTimer() Ctor. public BlockingTimer() BlockingTimer(TimeSpan) Initializes a new instance of the BlockingTimer class with the specified period. public BlockingTimer(TimeSpan period) Parameters period TimeSpan The time interval between timer events BlockingTimer(XElement) Constructor that initializes the timer from XML data. public BlockingTimer(XElement src) Parameters src XElement XML element containing timer configuration Fields XName XML element name for serialization. public static string XName Field Value string Properties Period The time period between timer events. public TimeSpan Period { get; set; } Property Value TimeSpan WorkingTask Gets the task that represents the timer's working process. public Task WorkingTask { get; } Property Value Task Methods Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool EnsureRunOnce() Ensures the timer runs at least once. public Task EnsureRunOnce() Returns Task The task representing the timer's working process 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. Start() Starts the timer in long-term mode. public Task Start() Returns Task The task representing the timer's working process Stop() Stops the timer and cancels any ongoing operations. public Task Stop() Returns Task The task representing the timer's working process Events Elapsed Event that is triggered when the timer elapses. public event Action Elapsed Event Type Action" + "summary": "Class BlockingTimer Namespace Hi.Common Assembly HiGeom.dll Timer use one task and delay each event call. The delay time is Period, counted from the previous trigger to the nest trigger. The first function call does no intending delay. If the execution time is over the Period, no delay between the triggers. public class BlockingTimer : IMakeXmlSource, IDisposable Inheritance object BlockingTimer Implements IMakeXmlSource IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors BlockingTimer() Ctor. public BlockingTimer() BlockingTimer(TimeSpan) Initializes a new instance of the BlockingTimer class with the specified period. public BlockingTimer(TimeSpan period) Parameters period TimeSpan The time interval between timer events BlockingTimer(XElement) Constructor that initializes the timer from XML data. public BlockingTimer(XElement src) Parameters src XElement XML element containing timer configuration Fields XName XML element name for serialization. public static string XName Field Value string Properties Period The time period between timer events. public TimeSpan Period { get; set; } Property Value TimeSpan WorkingTask Gets the task that represents the timer's working process. public Task WorkingTask { get; } Property Value Task Methods Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool EnsureRunOnce() Ensures the timer runs at least once. public Task EnsureRunOnce() Returns Task The task representing the timer's working process 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Start() Starts the timer in long-term mode. public Task Start() Returns Task The task representing the timer's working process Stop() Stops the timer and cancels any ongoing operations. public Task Stop() Returns Task The task representing the timer's working process Events Elapsed Event that is triggered when the timer elapses. public event Action Elapsed Event Type Action" }, "api/Hi.Common.BytesUtil.html": { "href": "api/Hi.Common.BytesUtil.html", @@ -697,17 +697,17 @@ "api/Hi.Common.IndexSegment.html": { "href": "api/Hi.Common.IndexSegment.html", "title": "Class IndexSegment | HiAPI-C# 2025", - "summary": "Class IndexSegment Namespace Hi.Common Assembly HiGeom.dll Represents a segment of indices with a beginning (inclusive) and ending (exclusive> point. Used for defining segment of data in collections or arrays. public class IndexSegment : IEquatable, IMakeXmlSource Inheritance object IndexSegment Implements IEquatable IMakeXmlSource Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors IndexSegment() Initializes a new instance of the IndexSegment class. public IndexSegment() IndexSegment(IndexSegment) Initializes a new instance of the IndexSegment class by copying another instance. public IndexSegment(IndexSegment src) Parameters src IndexSegment The source index segment to copy from. IndexSegment(int, int) Initializes a new instance of the IndexSegment class with the specified begin and end indices. public IndexSegment(int begin, int end) Parameters begin int The beginning index (inclusive). end int The ending index (exclusive). IndexSegment(XElement) Initializes a new instance of the IndexSegment class from an XML element. public IndexSegment(XElement src) Parameters src XElement The XML element containing the index segment data. Fields XName The XML element name used for serialization. public static string XName Field Value string begin Begin index. Inclusive. public int begin Field Value int end End index. Exclusive. public int end Field Value int Properties Begin Gets or sets the beginning index of the segment (inclusive). public int Begin { get; set; } Property Value int End Gets or sets the ending index of the segment (exclusive). public int End { get; set; } Property Value int Length Gets the length of the segment (End - Begin). public int Length { get; } Property Value int Methods Any() Determines whether this index segment contains any indices. public bool Any() Returns bool true if the segment contains any indices; otherwise, false. Contains(int) Determines whether this index segment contains the specified index. public bool Contains(int index) Parameters index int The index to check. Returns bool true if the index is within the segment; otherwise, false. Enumerate() Enumerates all indices within this segment. public IEnumerable Enumerate() Returns IEnumerable An enumerable collection of all indices within the segment. Equals(IndexSegment) Determines whether the specified index segment is equal to the current index segment. public bool Equals(IndexSegment other) Parameters other IndexSegment The index segment to compare with the current index segment. Returns bool true if the specified index segment is equal to the current index segment; otherwise, false. Equals(object) Determines whether the specified object is equal to the current index segment. public override bool Equals(object obj) Parameters obj object The object to compare with the current index segment. Returns bool true if the specified object is equal to the current index segment; otherwise, false. Expand(int) Expands this index segment to include the specified value if needed. public void Expand(int v) Parameters v int The value to include in the segment. GetHashCode() Returns a hash code for this index segment. public override int GetHashCode() Returns int A hash code for the current index segment. GetIndexSegment(IList, int, int, Func) Gets an index segment from a list of data items by the specific group index. public static IndexSegment GetIndexSegment(IList steps, int seekingStartListIndex, int targetGroupIndex, Func dataToGroupIndexFunc) Parameters steps IList The list of data items. seekingStartListIndex int The start step index for seeking. targetGroupIndex int The target segment key. dataToGroupIndexFunc Func A function that extracts a segmentkey from a data item. Returns IndexSegment An index segment representing the range of indices. Type Parameters TData The type of data items. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToString() Returns a string representation of this index segment. public override string ToString() Returns string A string representation of the current index segment." + "summary": "Class IndexSegment Namespace Hi.Common Assembly HiGeom.dll Represents a segment of indices with a beginning (inclusive) and ending (exclusive> point. Used for defining segment of data in collections or arrays. public class IndexSegment : IEquatable, IMakeXmlSource Inheritance object IndexSegment Implements IEquatable IMakeXmlSource Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors IndexSegment() Initializes a new instance of the IndexSegment class. public IndexSegment() IndexSegment(IndexSegment) Initializes a new instance of the IndexSegment class by copying another instance. public IndexSegment(IndexSegment src) Parameters src IndexSegment The source index segment to copy from. IndexSegment(int, int) Initializes a new instance of the IndexSegment class with the specified begin and end indices. public IndexSegment(int begin, int end) Parameters begin int The beginning index (inclusive). end int The ending index (exclusive). IndexSegment(XElement) Initializes a new instance of the IndexSegment class from an XML element. public IndexSegment(XElement src) Parameters src XElement The XML element containing the index segment data. Fields XName The XML element name used for serialization. public static string XName Field Value string begin Begin index. Inclusive. public int begin Field Value int end End index. Exclusive. public int end Field Value int Properties Begin Gets or sets the beginning index of the segment (inclusive). public int Begin { get; set; } Property Value int End Gets or sets the ending index of the segment (exclusive). public int End { get; set; } Property Value int Length Gets the length of the segment (End - Begin). public int Length { get; } Property Value int Methods Any() Determines whether this index segment contains any indices. public bool Any() Returns bool true if the segment contains any indices; otherwise, false. Contains(int) Determines whether this index segment contains the specified index. public bool Contains(int index) Parameters index int The index to check. Returns bool true if the index is within the segment; otherwise, false. Enumerate() Enumerates all indices within this segment. public IEnumerable Enumerate() Returns IEnumerable An enumerable collection of all indices within the segment. Equals(IndexSegment) Determines whether the specified index segment is equal to the current index segment. public bool Equals(IndexSegment other) Parameters other IndexSegment The index segment to compare with the current index segment. Returns bool true if the specified index segment is equal to the current index segment; otherwise, false. Equals(object) Determines whether the specified object is equal to the current index segment. public override bool Equals(object obj) Parameters obj object The object to compare with the current index segment. Returns bool true if the specified object is equal to the current index segment; otherwise, false. Expand(int) Expands this index segment to include the specified value if needed. public void Expand(int v) Parameters v int The value to include in the segment. GetHashCode() Returns a hash code for this index segment. public override int GetHashCode() Returns int A hash code for the current index segment. GetIndexSegment(IList, int, int, Func) Gets an index segment from a list of data items by the specific group index. public static IndexSegment GetIndexSegment(IList steps, int seekingStartListIndex, int targetGroupIndex, Func dataToGroupIndexFunc) Parameters steps IList The list of data items. seekingStartListIndex int The start step index for seeking. targetGroupIndex int The target segment key. dataToGroupIndexFunc Func A function that extracts a segmentkey from a data item. Returns IndexSegment An index segment representing the range of indices. Type Parameters TData The type of data items. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToString() Returns a string representation of this index segment. public override string ToString() Returns string A string representation of the current index segment." }, "api/Hi.Common.IntegerKeyDictionaryConverter-1.html": { "href": "api/Hi.Common.IntegerKeyDictionaryConverter-1.html", "title": "Class IntegerKeyDictionaryConverter | HiAPI-C# 2025", - "summary": "Class IntegerKeyDictionaryConverter Namespace Hi.Common Assembly HiGeom.dll Generic version of IntegerKeyDictionaryConverter that works with a specific value type. public class IntegerKeyDictionaryConverter : IMakeXmlSource Type Parameters TValue The type of values in the dictionary. Inheritance object IntegerKeyDictionaryConverter 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) XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors IntegerKeyDictionaryConverter() Ctor. public IntegerKeyDictionaryConverter() IntegerKeyDictionaryConverter(XElement) Ctor. public IntegerKeyDictionaryConverter(XElement src) Parameters src XElement XML Properties RawKeyList Dont modify. public List RawKeyList { get; } Property Value List RawKeyToIndex Dont modify. public Dictionary RawKeyToIndex { get; } Property Value Dictionary XName Name for XML IO. public static string XName { get; } Property Value string Methods GetIntegerKeyDictionary(Dictionary) Converts a dictionary with string keys to a dictionary with integer keys. public Dictionary GetIntegerKeyDictionary(Dictionary rawKeyDictionary) Parameters rawKeyDictionary Dictionary The dictionary with string keys to convert. Returns Dictionary A dictionary with integer keys. GetRestoredDictionary(Dictionary) Converts a dictionary with integer keys back to a dictionary with string keys. public Dictionary GetRestoredDictionary(Dictionary integerKeyDictionary) Parameters integerKeyDictionary Dictionary The dictionary with integer keys to convert. Returns Dictionary A dictionary with string keys. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class IntegerKeyDictionaryConverter Namespace Hi.Common Assembly HiGeom.dll Generic version of IntegerKeyDictionaryConverter that works with a specific value type. public class IntegerKeyDictionaryConverter : IMakeXmlSource Type Parameters TValue The type of values in the dictionary. Inheritance object IntegerKeyDictionaryConverter 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) XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors IntegerKeyDictionaryConverter() Ctor. public IntegerKeyDictionaryConverter() IntegerKeyDictionaryConverter(XElement) Ctor. public IntegerKeyDictionaryConverter(XElement src) Parameters src XElement XML Properties RawKeyList Dont modify. public List RawKeyList { get; } Property Value List RawKeyToIndex Dont modify. public Dictionary RawKeyToIndex { get; } Property Value Dictionary XName Name for XML IO. public static string XName { get; } Property Value string Methods GetIntegerKeyDictionary(Dictionary) Converts a dictionary with string keys to a dictionary with integer keys. public Dictionary GetIntegerKeyDictionary(Dictionary rawKeyDictionary) Parameters rawKeyDictionary Dictionary The dictionary with string keys to convert. Returns Dictionary A dictionary with integer keys. GetRestoredDictionary(Dictionary) Converts a dictionary with integer keys back to a dictionary with string keys. public Dictionary GetRestoredDictionary(Dictionary integerKeyDictionary) Parameters integerKeyDictionary Dictionary The dictionary with integer keys to convert. Returns Dictionary A dictionary with string keys. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Common.IntegerKeyDictionaryConverter.html": { "href": "api/Hi.Common.IntegerKeyDictionaryConverter.html", "title": "Class IntegerKeyDictionaryConverter | HiAPI-C# 2025", - "summary": "Class IntegerKeyDictionaryConverter Namespace Hi.Common Assembly HiGeom.dll Converts dictionaries with string keys to dictionaries with integer keys for more efficient storage and lookup. public class IntegerKeyDictionaryConverter : IMakeXmlSource Inheritance object IntegerKeyDictionaryConverter 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) XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors IntegerKeyDictionaryConverter() Initializes a new instance of the IntegerKeyDictionaryConverter class. public IntegerKeyDictionaryConverter() IntegerKeyDictionaryConverter(XElement) Initializes a new instance of the IntegerKeyDictionaryConverter class from XML. public IntegerKeyDictionaryConverter(XElement src) Parameters src XElement XML element containing the converter data. Properties RawKeyList Dont modify. public List RawKeyList { get; } Property Value List RawKeyToIndex Dont modify. public Dictionary RawKeyToIndex { get; } Property Value Dictionary XName Name for XML IO. public static string XName { get; } Property Value string Methods GetIntegerKeyDictionary(Dictionary) Converts a dictionary with string keys to a dictionary with integer keys. public Dictionary GetIntegerKeyDictionary(Dictionary rawKeyDictionary) Parameters rawKeyDictionary Dictionary The dictionary with string keys to convert. Returns Dictionary A dictionary with integer keys. GetRestoredDictionary(Dictionary) Converts a dictionary with integer keys back to a dictionary with string keys. public Dictionary GetRestoredDictionary(Dictionary integerKeyDictionary) Parameters integerKeyDictionary Dictionary The dictionary with integer keys to convert. Returns Dictionary A dictionary with string keys. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class IntegerKeyDictionaryConverter Namespace Hi.Common Assembly HiGeom.dll Converts dictionaries with string keys to dictionaries with integer keys for more efficient storage and lookup. public class IntegerKeyDictionaryConverter : IMakeXmlSource Inheritance object IntegerKeyDictionaryConverter 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) XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors IntegerKeyDictionaryConverter() Initializes a new instance of the IntegerKeyDictionaryConverter class. public IntegerKeyDictionaryConverter() IntegerKeyDictionaryConverter(XElement) Initializes a new instance of the IntegerKeyDictionaryConverter class from XML. public IntegerKeyDictionaryConverter(XElement src) Parameters src XElement XML element containing the converter data. Properties RawKeyList Dont modify. public List RawKeyList { get; } Property Value List RawKeyToIndex Dont modify. public Dictionary RawKeyToIndex { get; } Property Value Dictionary XName Name for XML IO. public static string XName { get; } Property Value string Methods GetIntegerKeyDictionary(Dictionary) Converts a dictionary with string keys to a dictionary with integer keys. public Dictionary GetIntegerKeyDictionary(Dictionary rawKeyDictionary) Parameters rawKeyDictionary Dictionary The dictionary with string keys to convert. Returns Dictionary A dictionary with integer keys. GetRestoredDictionary(Dictionary) Converts a dictionary with integer keys back to a dictionary with string keys. public Dictionary GetRestoredDictionary(Dictionary integerKeyDictionary) Parameters integerKeyDictionary Dictionary The dictionary with integer keys to convert. Returns Dictionary A dictionary with string keys. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Common.InternalException.html": { "href": "api/Hi.Common.InternalException.html", @@ -937,7 +937,7 @@ "api/Hi.Common.RoutineBlocker.html": { "href": "api/Hi.Common.RoutineBlocker.html", "title": "Class RoutineBlocker | HiAPI-C# 2025", - "summary": "Class RoutineBlocker Namespace Hi.Common Assembly HiGeom.dll Block the thread to the given delay from the previous block. public class RoutineBlocker : IMakeXmlSource, IDisposable Inheritance object RoutineBlocker Implements IMakeXmlSource IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors RoutineBlocker() Constructor public RoutineBlocker() RoutineBlocker(TimeSpan) Initializes a new instance of the RoutineBlocker class with the specified period. public RoutineBlocker(TimeSpan period) Parameters period TimeSpan The time period between blocks RoutineBlocker(XElement) Initializes a new instance of the RoutineBlocker class from an XML element. public RoutineBlocker(XElement src) Parameters src XElement The XML element containing the blocker configuration Fields XName Gets the XML element name used for serialization. public static string XName Field Value string Properties Period Delay time between each previous Block(). public TimeSpan Period { get; set; } Property Value TimeSpan Methods Block() Delay the thread. The delay time is Period, counted from the previous Block() to the current Block(). The first function call does no delay. If the time between two Block() is over Period, the function call does no delay. public void Block() Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool HasToBlock() If calling Block() make thread delay, return true; otherwise, false. public bool HasToBlock() Returns bool Has to block IsEnabled() Enable the Block() function. public bool IsEnabled() Returns bool 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. SetDisable() Disables the blocker, canceling any pending operations. public void SetDisable() SetEnable(Action) Enable the Block() function. public void SetEnable(Action disablingCallback = null) Parameters disablingCallback Action" + "summary": "Class RoutineBlocker Namespace Hi.Common Assembly HiGeom.dll Block the thread to the given delay from the previous block. public class RoutineBlocker : IMakeXmlSource, IDisposable Inheritance object RoutineBlocker Implements IMakeXmlSource IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors RoutineBlocker() Constructor public RoutineBlocker() RoutineBlocker(TimeSpan) Initializes a new instance of the RoutineBlocker class with the specified period. public RoutineBlocker(TimeSpan period) Parameters period TimeSpan The time period between blocks RoutineBlocker(XElement) Initializes a new instance of the RoutineBlocker class from an XML element. public RoutineBlocker(XElement src) Parameters src XElement The XML element containing the blocker configuration Fields XName Gets the XML element name used for serialization. public static string XName Field Value string Properties Period Delay time between each previous Block(). public TimeSpan Period { get; set; } Property Value TimeSpan Methods Block() Delay the thread. The delay time is Period, counted from the previous Block() to the current Block(). The first function call does no delay. If the time between two Block() is over Period, the function call does no delay. public void Block() Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool HasToBlock() If calling Block() make thread delay, return true; otherwise, false. public bool HasToBlock() Returns bool Has to block IsEnabled() Enable the Block() function. public bool IsEnabled() Returns bool 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetDisable() Disables the blocker, canceling any pending operations. public void SetDisable() SetEnable(Action) Enable the Block() function. public void SetEnable(Action disablingCallback = null) Parameters disablingCallback Action" }, "api/Hi.Common.SearchResult.html": { "href": "api/Hi.Common.SearchResult.html", @@ -1007,17 +1007,17 @@ "api/Hi.Common.XmlUtils.XFactory.XGeneratorDelegate.html": { "href": "api/Hi.Common.XmlUtils.XFactory.XGeneratorDelegate.html", "title": "Delegate XFactory.XGeneratorDelegate | HiAPI-C# 2025", - "summary": "Delegate XFactory.XGeneratorDelegate Namespace Hi.Common.XmlUtils Assembly HiGeom.dll Delegate for generating objects from XML elements with relative file path. public delegate object XFactory.XGeneratorDelegate(XElement src, string baseDirectory, string relFile, IProgress progress, object[] res) Parameters src XElement The source XML element baseDirectory string The base directory for resolving paths relFile string The relative file path progress IProgress Progress reporter for the XML parsing chain res object[] Additional parameters for generation Returns object The generated object Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Remarks Note that the design pattern of seperating BaseDirectory and RelativePath is for easy data package moving. The pattern assume the BaseDirectory can be changed if all the content in the BaseDirectory is changed to the destinate directory." + "summary": "Delegate XFactory.XGeneratorDelegate Namespace Hi.Common.XmlUtils Assembly HiGeom.dll Delegate for generating an object from an XML element with relative file path context. public delegate object XFactory.XGeneratorDelegate(XElement src, string baseDirectory, string relFile, IProgress progress, object[] res) Parameters src XElement The source XML element. baseDirectory string The base directory for resolving paths. relFile string The relative file path. progress IProgress Progress reporter for the XML parsing chain. res object[] Additional parameters for generation. Returns object The generated object. Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Remarks Separating baseDirectory and relFile keeps data packages relocatable: moving the whole base directory only requires updating the directory string, not every internal path." }, "api/Hi.Common.XmlUtils.XFactory.XmlExceptionDelegate.html": { "href": "api/Hi.Common.XmlUtils.XFactory.XmlExceptionDelegate.html", "title": "Delegate XFactory.XmlExceptionDelegate | HiAPI-C# 2025", - "summary": "Delegate XFactory.XmlExceptionDelegate Namespace Hi.Common.XmlUtils Assembly HiGeom.dll Delegate for handling XML exceptions during generation. public delegate void XFactory.XmlExceptionDelegate(string relPath, Exception exception) Parameters relPath string The relative path where the exception occurred exception Exception The exception that was thrown 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)" + "summary": "Delegate XFactory.XmlExceptionDelegate Namespace Hi.Common.XmlUtils Assembly HiGeom.dll Delegate for handling XML exceptions during generation. public delegate void XFactory.XmlExceptionDelegate(string relPath, Exception exception) Parameters relPath string The relative path where the exception occurred. exception Exception The exception that was thrown. 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)" }, "api/Hi.Common.XmlUtils.XFactory.html": { "href": "api/Hi.Common.XmlUtils.XFactory.html", "title": "Class XFactory | HiAPI-C# 2025", - "summary": "Class XFactory Namespace Hi.Common.XmlUtils Assembly HiGeom.dll Factory class for generating objects from XML elements using registered generator functions. public static class XFactory Inheritance object XFactory Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Remarks Generator functions must be added to Generators to enable the factory to create objects from XML. Properties Generators Gets or sets the dictionary mapping XML element names to generator functions with relative file path. public static Dictionary Generators { get; set; } Property Value Dictionary Methods GenByChild(XElement, string, IProgress, bool, object[]) Generates an object of type T from the first child element of the provided XML element. This overload discards the relative file path output. public static T GenByChild(XElement src, string baseDirectory, IProgress progress, bool enableRebase = true, object[] res = null) where T : class Parameters src XElement baseDirectory string progress IProgress enableRebase bool res object[] Returns T Type Parameters T GenByChild(XElement, string, out string, IProgress, bool, object[]) Generates an object of type T from the first child element of the provided XML element. public static T GenByChild(XElement src, string baseDirectory, out string relFile, IProgress progress, bool enableRebase = true, object[] res = null) where T : class Parameters src XElement The parent XML element containing the child to process baseDirectory string The base directory for resolving paths relFile string Output parameter that receives the relative file path if src is a file reference, or null otherwise progress IProgress Progress reporter for the XML parsing chain enableRebase bool Whether to rebase the directory to the file's location res object[] Additional parameters for generation Returns T The generated object of type T, or null if src is null Type Parameters T The type of object to generate GenByFile(string, string, IProgress, bool, object[]) Generates an object of type T from an XML file. public static T GenByFile(string baseDirectory, string relFile, IProgress progress, bool enableRebase = true, object[] res = null) where T : class Parameters baseDirectory string The base directory for resolving paths relFile string The relative file path to the XML file progress IProgress Progress reporter for the XML parsing chain enableRebase bool Whether to rebase the directory to the file's location res object[] Additional parameters for generation Returns T The generated object of type T, or null if relFile is null Type Parameters T The type of object to generate GenFileRefSourceByChild(XElement, string, IProgress, bool, object[]) Generates a FileRefSource from the first child element of the provided XML element. public static FileRefSource GenFileRefSourceByChild(XElement src, string baseDirectory, IProgress progress, bool enableRebase = true, object[] res = null) where T : class, IMakeXmlSource Parameters src XElement baseDirectory string progress IProgress enableRebase bool res object[] Returns FileRefSource Type Parameters T GenFileRefSourceByFile(string, string, IProgress, bool, object[]) Generates a FileRefSource from an XML file. public static FileRefSource GenFileRefSourceByFile(string baseDirectory, string relFile, IProgress progress, bool enableRebase = true, object[] res = null) where T : class, IMakeXmlSource Parameters baseDirectory string relFile string progress IProgress enableRebase bool res object[] Returns FileRefSource Type Parameters T GenFileRefSource(XElement, string, IProgress, bool, object[]) Generates a FileRefSource from an XML element. public static FileRefSource GenFileRefSource(XElement src, string baseDirectory, IProgress progress, bool enableRebase = true, object[] res = null) where T : class, IMakeXmlSource Parameters src XElement baseDirectory string progress IProgress enableRebase bool res object[] Returns FileRefSource Type Parameters T Gen(XElement, string, IProgress, bool, object[]) Generates an object of type T from an XML element. This overload discards the relative file path output. public static T Gen(XElement src, string baseDirectory, IProgress progress, bool enableRebase = true, object[] res = null) where T : class Parameters src XElement The source XML element baseDirectory string The base directory for resolving paths progress IProgress Progress reporter for the XML parsing chain enableRebase bool Whether to rebase the directory to the file's location res object[] Additional parameters for generation Returns T The generated object of type T Type Parameters T The type of object to generate Gen(XElement, string, out string, IProgress, bool, object[]) Generates an object of type T from an XML element. public static T Gen(XElement src, string baseDirectory, out string relFile, IProgress progress, bool enableRebase = true, object[] res = null) where T : class Parameters src XElement The source XML element baseDirectory string The base directory for resolving paths relFile string Output parameter that receives the relative file path if src is a file reference, or null otherwise progress IProgress Progress reporter for the XML parsing chain enableRebase bool Whether to rebase the directory to the file's location res object[] Additional parameters for generation Returns T The generated object of type T Type Parameters T The type of object to generate" + "summary": "Class XFactory Namespace Hi.Common.XmlUtils Assembly HiGeom.dll Factory for generating objects from XML elements using registered generator functions. public class XFactory Inheritance object XFactory 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) Remarks Each XFactory instance owns its own Generators registry. A process-wide Default singleton serves the common case (single shared factory across the simulation pipeline); other instances can be created for test isolation or parallel pipelines that need disjoint registries. Types that participate in XML round-trip expose a public static void Reg(XFactory factory = null) method that adds themselves (and chains Reg(factory) on dependents) to the given factory's Generators. Boot roots (e.g. LocalProjectService.Reg()) call the top-level Reg() once at startup with the default factory. The static Gen / GenByChild / GenByFile entry points always read from Default. Callers that need to deserialize from a custom factory's registry must look up the delegate via factory.Generators[xname] directly. Properties Default Process-wide default factory used by the static Gen family. Reg-style methods register here when called with no explicit factory argument. public static XFactory Default { get; } Property Value XFactory Generators XML-name → generator-function map for this factory instance. Populated by each type's Reg(this) call. public Dictionary Generators { get; } Property Value Dictionary Methods GenByChild(XElement, string, IProgress, bool, object[]) Generates an object of type T from the first child element (discards relative file path). public static T GenByChild(XElement src, string baseDirectory, IProgress progress, bool enableRebase = true, object[] res = null) where T : class Parameters src XElement baseDirectory string progress IProgress enableRebase bool res object[] Returns T Type Parameters T GenByChild(XElement, string, out string, IProgress, bool, object[]) Generates an object of type T from the first child element of the provided XML element. public static T GenByChild(XElement src, string baseDirectory, out string relFile, IProgress progress, bool enableRebase = true, object[] res = null) where T : class Parameters src XElement baseDirectory string relFile string progress IProgress enableRebase bool res object[] Returns T Type Parameters T GenByFile(string, string, IProgress, bool, object[]) Generates an object of type T from an XML file. public static T GenByFile(string baseDirectory, string relFile, IProgress progress, bool enableRebase = true, object[] res = null) where T : class Parameters baseDirectory string relFile string progress IProgress enableRebase bool res object[] Returns T Type Parameters T GenFileRefSourceByChild(XElement, string, IProgress, bool, object[]) Generates a FileRefSource from the first child element. public static FileRefSource GenFileRefSourceByChild(XElement src, string baseDirectory, IProgress progress, bool enableRebase = true, object[] res = null) where T : class, IMakeXmlSource Parameters src XElement baseDirectory string progress IProgress enableRebase bool res object[] Returns FileRefSource Type Parameters T GenFileRefSourceByFile(string, string, IProgress, bool, object[]) Generates a FileRefSource from an XML file. public static FileRefSource GenFileRefSourceByFile(string baseDirectory, string relFile, IProgress progress, bool enableRebase = true, object[] res = null) where T : class, IMakeXmlSource Parameters baseDirectory string relFile string progress IProgress enableRebase bool res object[] Returns FileRefSource Type Parameters T GenFileRefSource(XElement, string, IProgress, bool, object[]) Generates a FileRefSource from an XML element. public static FileRefSource GenFileRefSource(XElement src, string baseDirectory, IProgress progress, bool enableRebase = true, object[] res = null) where T : class, IMakeXmlSource Parameters src XElement baseDirectory string progress IProgress enableRebase bool res object[] Returns FileRefSource Type Parameters T Gen(XElement, string, IProgress, bool, object[]) Generates an object of type T from an XML element (discards relative file path). public static T Gen(XElement src, string baseDirectory, IProgress progress, bool enableRebase = true, object[] res = null) where T : class Parameters src XElement baseDirectory string progress IProgress enableRebase bool res object[] Returns T Type Parameters T Gen(XElement, string, out string, IProgress, bool, object[]) Generates an object of type T from an XML element using Default. public static T Gen(XElement src, string baseDirectory, out string relFile, IProgress progress, bool enableRebase = true, object[] res = null) where T : class Parameters src XElement baseDirectory string relFile string progress IProgress enableRebase bool res object[] Returns T Type Parameters T" }, "api/Hi.Common.XmlUtils.XmlUtil.html": { "href": "api/Hi.Common.XmlUtils.XmlUtil.html", @@ -1027,7 +1027,7 @@ "api/Hi.Common.XmlUtils.html": { "href": "api/Hi.Common.XmlUtils.html", "title": "Namespace Hi.Common.XmlUtils | HiAPI-C# 2025", - "summary": "Namespace Hi.Common.XmlUtils Classes FileRefSource A class that combines an XML-serializable data object with its source file path. ProjectApiVersion Carries the API version read from a project file's XML attribute through the XFactory deserialization pipeline via the object[] res parameter. Consumers retrieve it with res?.OfType().FirstOrDefault(). XFactory Factory class for generating objects from XML elements using registered generator functions. XmlUtil Utility for managing XML. Interfaces IMakeXmlSource Interface for objects that can be serialized to XML format. IToXElement Interface of ToXElement(). Which can be represented by a single XElement. Delegates SetFileDelegate Delegate for setting the file path during XML operations. XFactory.XGeneratorDelegate Delegate for generating objects from XML elements with relative file path. XFactory.XmlExceptionDelegate Delegate for handling XML exceptions during generation." + "summary": "Namespace Hi.Common.XmlUtils Classes FileRefSource A class that combines an XML-serializable data object with its source file path. ProjectApiVersion Carries the API version read from a project file's XML attribute through the XFactory deserialization pipeline via the object[] res parameter. Consumers retrieve it with res?.OfType().FirstOrDefault(). XFactory Factory for generating objects from XML elements using registered generator functions. XmlUtil Utility for managing XML. Interfaces IMakeXmlSource Interface for objects that can be serialized to XML format. IToXElement Interface of ToXElement(). Which can be represented by a single XElement. Delegates SetFileDelegate Delegate for setting the file path during XML operations. XFactory.XGeneratorDelegate Delegate for generating an object from an XML element with relative file path context. XFactory.XmlExceptionDelegate Delegate for handling XML exceptions during generation." }, "api/Hi.Common.html": { "href": "api/Hi.Common.html", @@ -1152,7 +1152,7 @@ "api/Hi.Disp.Flag.CoordinateDrawing.html": { "href": "api/Hi.Disp.Flag.CoordinateDrawing.html", "title": "Class CoordinateDrawing | HiAPI-C# 2025", - "summary": "Class CoordinateDrawing Namespace Hi.Disp.Flag Assembly HiDisp.dll Draw a Cartesian Coordinate. public class CoordinateDrawing : IDisplayee, IExpandToBox3d, IDisposable, IMakeXmlSource Inheritance object CoordinateDrawing Implements IDisplayee IExpandToBox3d IDisposable 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) DispUtil.Display(IDisplayee, Bind, Mat4d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CoordinateDrawing() Ctor. public CoordinateDrawing() CoordinateDrawing(string) Ctor with setter of TextAtOrigin. public CoordinateDrawing(string textAtOrigin) Parameters textAtOrigin string text at origin CoordinateDrawing(XElement) Ctor. public CoordinateDrawing(XElement src) Parameters src XElement XML Properties DimensionInPixels public double DimensionInPixels { get; set; } Property Value double Edge length in pixels. HslOffset public static Vec3d HslOffset { get; set; } Property Value Vec3d HSL offset for coloring this. TextAtOrigin public string TextAtOrigin { get; set; } Property Value string Text displays at the origin of this coordinate. XName Name for XML IO. public static string XName { get; } Property Value string Methods Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. Display(Bind, string) Displays a coordinate drawing with the specified binding context and tag. public static void Display(Bind bind, string tag) Parameters bind Bind The binding context to display on. tag string The tag text to display at the origin. Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class CoordinateDrawing Namespace Hi.Disp.Flag Assembly HiDisp.dll Draw a Cartesian Coordinate. public class CoordinateDrawing : IDisplayee, IExpandToBox3d, IDisposable, IMakeXmlSource Inheritance object CoordinateDrawing Implements IDisplayee IExpandToBox3d IDisposable 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) DispUtil.Display(IDisplayee, Bind, Mat4d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CoordinateDrawing() Ctor. public CoordinateDrawing() CoordinateDrawing(string) Ctor with setter of TextAtOrigin. public CoordinateDrawing(string textAtOrigin) Parameters textAtOrigin string text at origin CoordinateDrawing(XElement) Ctor. public CoordinateDrawing(XElement src) Parameters src XElement XML Properties DimensionInPixels public double DimensionInPixels { get; set; } Property Value double Edge length in pixels. HslOffset public static Vec3d HslOffset { get; set; } Property Value Vec3d HSL offset for coloring this. TextAtOrigin public string TextAtOrigin { get; set; } Property Value string Text displays at the origin of this coordinate. XName Name for XML IO. public static string XName { get; } Property Value string Methods Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. Display(Bind, string) Displays a coordinate drawing with the specified binding context and tag. public static void Display(Bind bind, string tag) Parameters bind Bind The binding context to display on. tag string The tag text to display at the origin. Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Disp.Flag.CubicalFlagDrawing.html": { "href": "api/Hi.Disp.Flag.CubicalFlagDrawing.html", @@ -1352,7 +1352,7 @@ "api/Hi.Geom.Box2d.html": { "href": "api/Hi.Geom.Box2d.html", "title": "Class Box2d | HiAPI-C# 2025", - "summary": "Class Box2d Namespace Hi.Geom Assembly HiGeom.dll Lightweight 2d box. An orthogonal box which the edges are all parallel with Cartesian Coordinate. The data contains in a Box2d is Min and Max. public class Box2d : IExpandToBox2d, IEquatable, IBinaryIo, IWriteBin, IFormattable Inheritance object Box2d Implements IExpandToBox2d IEquatable IBinaryIo IWriteBin IFormattable Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods BinIoUtil.ToBytes(IWriteBin) 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 Box2d() Ctor. public Box2d() Box2d(NoInit) Ctor. The Ctor keeps Min and Max to null. public Box2d(Box2d.NoInit noInit) Parameters noInit Box2d.NoInit Box2d(params IExpandToBox2d[]) Initializes a new instance of the Box2d class that encompasses all the specified objects. public Box2d(params IExpandToBox2d[] src) Parameters src IExpandToBox2d[] The objects to include in the box. Box2d(Vec2d, Vec2d) Ctor. public Box2d(Vec2d min, Vec2d max) Parameters min Vec2d Min max Vec2d Max Box2d(box2d) Ctor. public Box2d(box2d src) Parameters src box2d src Box2d(IEnumerable) Initializes a new instance of the Box2d class that encompasses all the objects in the specified collection. public Box2d(IEnumerable src) Parameters src IEnumerable The collection of objects to include in the box. Box2d(double, double, double, double) Initializes a new instance of the Box2d class with the specified minimum and maximum coordinates. public Box2d(double minx, double miny, double maxx, double maxy) Parameters minx double The minimum X coordinate. miny double The minimum Y coordinate. maxx double The maximum X coordinate. maxy double The maximum Y coordinate. Box2d(BinaryReader) Initializes a new instance of the Box2d class from binary data. public Box2d(BinaryReader reader) Parameters reader BinaryReader The binary reader to read the data from. Box2d(XElement) Ctor. public Box2d(XElement src) Parameters src XElement XML Properties Center Center public Vec2d Center { get; } Property Value Vec2d CenterUnitBox Generate a center unit box which min~max is (-0.5,-0.5,-0.5)~(-0.5,0.5,0.5). public static Box2d CenterUnitBox { get; } Property Value Box2d DiagonalLength Diagonal length. public double DiagonalLength { get; } Property Value double Dim Dimension. public Vec2d Dim { get; } Property Value Vec2d HasVolume Gets a value indicating whether this box has a non-zero volume. public bool HasVolume { get; } Property Value bool IsAllNaN Determines whether all coordinates of this box are NaN. public bool IsAllNaN { get; } Property Value bool IsFinite True if the box is finite. public bool IsFinite { get; } Property Value bool IsReversedPoleBox True if the box is ReversedPoleBox public bool IsReversedPoleBox { get; } Property Value bool Max Maximum point of the box. public Vec2d Max { get; set; } Property Value Vec2d Min Minimum point of the box. public Vec2d Min { get; set; } Property Value Vec2d NaN Generate a nan box which min~max is (nan,nan,nan)~(nan,nan,nan). public static Box2d NaN { get; } Property Value Box2d NativeByteSize Gets the size in bytes of the native representation of this box. public static int NativeByteSize { get; } Property Value int ReversedPoleBox Generate a reversed pole box which min~max is (∞,∞,∞)~(-∞,-∞,-∞). public static Box2d ReversedPoleBox { get; } Property Value Box2d UnitBox Generate a unit box which min~max is (0,0,0)~(1,1,1). public static Box2d UnitBox { get; } Property Value Box2d Volume Gets the volume (area) of this box. public double Volume { get; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string ZeroBox Generate a zero box which min~max is (0,0,0)~(0,0,0). public static Box2d ZeroBox { get; } Property Value Box2d Methods ApexAt(int) Get Apex at the box. public Vec2d ApexAt(int index) Parameters index int index 0~7. all of 8 apex. Returns Vec2d Equals(Box2d) Indicates whether the current object is equal to another object of the same type. public bool Equals(Box2d other) Parameters other Box2d An object to compare with this object. Returns bool true if the current object is equal to the other parameter; otherwise, false. Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. Expand(Box2d) Expands this box to include the specified box. public Box2d Expand(Box2d src) Parameters src Box2d The box to include. Returns Box2d This box instance after expansion. Expand(Vec2d) Expands this box to include the specified point. public Box2d Expand(Vec2d p) Parameters p Vec2d The point to include in the box. Returns Box2d This box instance after expansion. ExpandToBox2d(Box2d) Expands the specified destination box to include this box. public void ExpandToBox2d(Box2d dst) Parameters dst Box2d The destination box to expand. GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. IsOverlapped(Box2d) Is the box overlapped to otherBox. public bool IsOverlapped(Box2d otherBox) Parameters otherBox Box2d other box Returns bool is overlapped MakeXmlSource(string) public XElement MakeXmlSource(string baseDirectory) Parameters baseDirectory string Returns XElement ReadBin(BinaryReader) Reads binary data to initialize the object. public void ReadBin(BinaryReader reader) Parameters reader BinaryReader The binary reader to read from Scale(double) Scale the box from the coordinate origin. The operation is equal to: Min *= s; Max *= s; public Box2d Scale(double s) Parameters s double scale Returns Box2d this ScaleFromCenter(double) Scales this box from its center by the specified factor. public Box2d ScaleFromCenter(double s) Parameters s double The scale factor. Returns Box2d This box instance after scaling. Set(Box2d) Copy the src. The Min and Max are kept the same object. Only the double values changed. public Box2d Set(Box2d src) Parameters src Box2d src Returns Box2d this Set(box2d) Copy the src. The Min and Max are kept the same object. Only the double values changed. public Box2d Set(box2d src) Parameters src box2d src Returns Box2d this Set(double, double, double, double) Sets the minimum and maximum coordinates of this box. public Box2d Set(double minx, double miny, double maxx, double maxy) Parameters minx double The minimum X coordinate. miny double The minimum Y coordinate. maxx double The maximum X coordinate. maxy double The maximum Y coordinate. Returns Box2d This box instance. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. ToString(string, IFormatProvider) Returns a string representation of the box formatted according to the specified format. public string ToString(string format, IFormatProvider formatProvider) Parameters format string The format to use for each component formatProvider IFormatProvider The format provider to use Returns string A formatted string representation of the box Translate(Vec2d) Translate the box. public Box2d Translate(Vec2d vec) Parameters vec Vec2d translation vector Returns Box2d this WriteBin(BinaryWriter) Writes the box data to a binary writer. public void WriteBin(BinaryWriter writer) Parameters writer BinaryWriter The binary writer to write the data to." + "summary": "Class Box2d Namespace Hi.Geom Assembly HiGeom.dll Lightweight 2d box. An orthogonal box which the edges are all parallel with Cartesian Coordinate. The data contains in a Box2d is Min and Max. public class Box2d : IExpandToBox2d, IEquatable, IBinaryIo, IWriteBin, IFormattable Inheritance object Box2d Implements IExpandToBox2d IEquatable IBinaryIo IWriteBin IFormattable Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods BinIoUtil.ToBytes(IWriteBin) 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 Box2d() Ctor. public Box2d() Box2d(NoInit) Ctor. The Ctor keeps Min and Max to null. public Box2d(Box2d.NoInit noInit) Parameters noInit Box2d.NoInit Box2d(params IExpandToBox2d[]) Initializes a new instance of the Box2d class that encompasses all the specified objects. public Box2d(params IExpandToBox2d[] src) Parameters src IExpandToBox2d[] The objects to include in the box. Box2d(Vec2d, Vec2d) Ctor. public Box2d(Vec2d min, Vec2d max) Parameters min Vec2d Min max Vec2d Max Box2d(box2d) Ctor. public Box2d(box2d src) Parameters src box2d src Box2d(IEnumerable) Initializes a new instance of the Box2d class that encompasses all the objects in the specified collection. public Box2d(IEnumerable src) Parameters src IEnumerable The collection of objects to include in the box. Box2d(double, double, double, double) Initializes a new instance of the Box2d class with the specified minimum and maximum coordinates. public Box2d(double minx, double miny, double maxx, double maxy) Parameters minx double The minimum X coordinate. miny double The minimum Y coordinate. maxx double The maximum X coordinate. maxy double The maximum Y coordinate. Box2d(BinaryReader) Initializes a new instance of the Box2d class from binary data. public Box2d(BinaryReader reader) Parameters reader BinaryReader The binary reader to read the data from. Box2d(XElement) Ctor. public Box2d(XElement src) Parameters src XElement XML Properties Center Center public Vec2d Center { get; } Property Value Vec2d CenterUnitBox Generate a center unit box which min~max is (-0.5,-0.5,-0.5)~(-0.5,0.5,0.5). public static Box2d CenterUnitBox { get; } Property Value Box2d DiagonalLength Diagonal length. public double DiagonalLength { get; } Property Value double Dim Dimension. public Vec2d Dim { get; } Property Value Vec2d HasVolume Gets a value indicating whether this box has a non-zero volume. public bool HasVolume { get; } Property Value bool IsAllNaN Determines whether all coordinates of this box are NaN. public bool IsAllNaN { get; } Property Value bool IsFinite True if the box is finite. public bool IsFinite { get; } Property Value bool IsReversedPoleBox True if the box is ReversedPoleBox public bool IsReversedPoleBox { get; } Property Value bool Max Maximum point of the box. public Vec2d Max { get; set; } Property Value Vec2d Min Minimum point of the box. public Vec2d Min { get; set; } Property Value Vec2d NaN Generate a nan box which min~max is (nan,nan,nan)~(nan,nan,nan). public static Box2d NaN { get; } Property Value Box2d NativeByteSize Gets the size in bytes of the native representation of this box. public static int NativeByteSize { get; } Property Value int ReversedPoleBox Generate a reversed pole box which min~max is (∞,∞,∞)~(-∞,-∞,-∞). public static Box2d ReversedPoleBox { get; } Property Value Box2d UnitBox Generate a unit box which min~max is (0,0,0)~(1,1,1). public static Box2d UnitBox { get; } Property Value Box2d Volume Gets the volume (area) of this box. public double Volume { get; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string ZeroBox Generate a zero box which min~max is (0,0,0)~(0,0,0). public static Box2d ZeroBox { get; } Property Value Box2d Methods ApexAt(int) Get Apex at the box. public Vec2d ApexAt(int index) Parameters index int index 0~7. all of 8 apex. Returns Vec2d Equals(Box2d) Indicates whether the current object is equal to another object of the same type. public bool Equals(Box2d other) Parameters other Box2d An object to compare with this object. Returns bool true if the current object is equal to the other parameter; otherwise, false. Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. Expand(Box2d) Expands this box to include the specified box. public Box2d Expand(Box2d src) Parameters src Box2d The box to include. Returns Box2d This box instance after expansion. Expand(Vec2d) Expands this box to include the specified point. public Box2d Expand(Vec2d p) Parameters p Vec2d The point to include in the box. Returns Box2d This box instance after expansion. ExpandToBox2d(Box2d) Expands the specified destination box to include this box. public void ExpandToBox2d(Box2d dst) Parameters dst Box2d The destination box to expand. GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. IsOverlapped(Box2d) Is the box overlapped to otherBox. public bool IsOverlapped(Box2d otherBox) Parameters otherBox Box2d other box Returns bool is overlapped MakeXmlSource(string) public XElement MakeXmlSource(string baseDirectory) Parameters baseDirectory string Returns XElement ReadBin(BinaryReader) Reads binary data to initialize the object. public void ReadBin(BinaryReader reader) Parameters reader BinaryReader The binary reader to read from Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Scale(double) Scale the box from the coordinate origin. The operation is equal to: Min *= s; Max *= s; public Box2d Scale(double s) Parameters s double scale Returns Box2d this ScaleFromCenter(double) Scales this box from its center by the specified factor. public Box2d ScaleFromCenter(double s) Parameters s double The scale factor. Returns Box2d This box instance after scaling. Set(Box2d) Copy the src. The Min and Max are kept the same object. Only the double values changed. public Box2d Set(Box2d src) Parameters src Box2d src Returns Box2d this Set(box2d) Copy the src. The Min and Max are kept the same object. Only the double values changed. public Box2d Set(box2d src) Parameters src box2d src Returns Box2d this Set(double, double, double, double) Sets the minimum and maximum coordinates of this box. public Box2d Set(double minx, double miny, double maxx, double maxy) Parameters minx double The minimum X coordinate. miny double The minimum Y coordinate. maxx double The maximum X coordinate. maxy double The maximum Y coordinate. Returns Box2d This box instance. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. ToString(string, IFormatProvider) Returns a string representation of the box formatted according to the specified format. public string ToString(string format, IFormatProvider formatProvider) Parameters format string The format to use for each component formatProvider IFormatProvider The format provider to use Returns string A formatted string representation of the box Translate(Vec2d) Translate the box. public Box2d Translate(Vec2d vec) Parameters vec Vec2d translation vector Returns Box2d this WriteBin(BinaryWriter) Writes the box data to a binary writer. public void WriteBin(BinaryWriter writer) Parameters writer BinaryWriter The binary writer to write the data to." }, "api/Hi.Geom.Box3d.NoInit.html": { "href": "api/Hi.Geom.Box3d.NoInit.html", @@ -1362,12 +1362,12 @@ "api/Hi.Geom.Box3d.html": { "href": "api/Hi.Geom.Box3d.html", "title": "Class Box3d | HiAPI-C# 2025", - "summary": "Class Box3d Namespace Hi.Geom Assembly HiGeom.dll Lightweight 3d box. An orthogonal box which the edges are all parallel with Cartesian Coordinate. The data contains in a Box3d is Min and Max. public class Box3d : IExpandToBox3d, IEquatable, IStlSource, IGetStl, IMakeXmlSource, IBinaryIo, IWriteBin, IDuplicate, IFormattable, IToPresentDto Inheritance object Box3d Implements IExpandToBox3d IEquatable IStlSource IGetStl IMakeXmlSource IBinaryIo IWriteBin IDuplicate IFormattable IToPresentDto Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods BinIoUtil.ToBytes(IWriteBin) XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) GeomUtil.ExpandToBox3d(IExpandToBox3d, Mat4d, Box3d) GeomUtil.GetBox3d(IExpandToBox3d) PairZrUtil.GetZrList(IGetStl) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors Box3d() Ctor. public Box3d() Box3d(NoInit) Ctor. The Ctor keeps Min and Max to null. public Box3d(Box3d.NoInit noInit) Parameters noInit Box3d.NoInit Box3d(params IExpandToBox3d[]) Creates a box that encompasses all the provided expandable objects. public Box3d(params IExpandToBox3d[] src) Parameters src IExpandToBox3d[] Array of objects that can expand to a box Box3d(Vec3d, Vec3d) Ctor. public Box3d(Vec3d min, Vec3d max) Parameters min Vec3d Min max Vec3d Max Box3d(box3d) Ctor. public Box3d(box3d src) Parameters src box3d src Box3d(IEnumerable) Creates a box that encompasses all the provided expandable objects. public Box3d(IEnumerable src) Parameters src IEnumerable Collection of objects that can expand to a box Box3d(double, double, double, double, double, double) Creates a box with the specified minimum and maximum coordinates. public Box3d(double minx, double miny, double minz, double maxx, double maxy, double maxz) Parameters minx double Minimum X coordinate miny double Minimum Y coordinate minz double Minimum Z coordinate maxx double Maximum X coordinate maxy double Maximum Y coordinate maxz double Maximum Z coordinate Box3d(BinaryReader) Creates a box from binary data. public Box3d(BinaryReader reader) Parameters reader BinaryReader Binary reader to read the box data from Box3d(XElement) Ctor. public Box3d(XElement src) Parameters src XElement XML Properties BottomCenter Center of the bottom surface. public Vec3d BottomCenter { get; } Property Value Vec3d BottomView Gets a transformation matrix for viewing the box from the bottom. public Mat4d BottomView { get; } Property Value Mat4d Center Center public Vec3d Center { get; } Property Value Vec3d CenterUnitBox Generate a center unit box which min~max is (-0.5,-0.5,-0.5)~(0.5,0.5,0.5). public static Box3d CenterUnitBox { get; } Property Value Box3d DiagonalLength Diagonal length. public double DiagonalLength { get; } Property Value double Dim Dimension. public Vec3d Dim { get; } Property Value Vec3d FrontView Gets a transformation matrix for viewing the box from the front. public Mat4d FrontView { get; } Property Value Mat4d HasVolume Checks if the box has a positive volume (all dimensions are greater than zero). public bool HasVolume { get; } Property Value bool InfiniteBox Generate a infinite box which min~max is (-∞,-∞,-∞)~(∞,∞,∞). public static Box3d InfiniteBox { get; } Property Value Box3d IsAllNaN True if all components of Min and Max are NaN. public bool IsAllNaN { get; } Property Value bool IsFinite True if the box is finite. public bool IsFinite { get; } Property Value bool IsReversedPoleBox True if the box is ReversedPoleBox public bool IsReversedPoleBox { get; } Property Value bool IsometricView Gets a transformation matrix for viewing the box from an isometric perspective. public Mat4d IsometricView { get; } Property Value Mat4d LeftSideView Gets a transformation matrix for viewing the box from the left side. public Mat4d LeftSideView { get; } Property Value Mat4d Max Maximum point of the box. public Vec3d Max { get; set; } Property Value Vec3d Min Minimum point of the box. public Vec3d Min { get; set; } Property Value Vec3d NaN Generate a nan box which min~max is (nan,nan,nan)~(nan,nan,nan). public static Box3d NaN { get; } Property Value Box3d NativeByteSize Gets the native byte size of a Box3d (2 Vec3d objects). public static int NativeByteSize { get; } Property Value int RearView Gets a transformation matrix for viewing the box from the rear. public Mat4d RearView { get; } Property Value Mat4d ReversedPoleBox Generate a reversed pole box which min~max is (∞,∞,∞)~(-∞,-∞,-∞). public static Box3d ReversedPoleBox { get; } Property Value Box3d RightSideView Gets a transformation matrix for viewing the box from the right side. public Mat4d RightSideView { get; } Property Value Mat4d TopCenter Center of the top surface. public Vec3d TopCenter { get; } Property Value Vec3d TopView Gets a transformation matrix for viewing the box from the top. public Mat4d TopView { get; } Property Value Mat4d UnitBox Generate a unit box which min~max is (0,0,0)~(1,1,1). public static Box3d UnitBox { get; } Property Value Box3d Volume Gets the volume of the box. public double Volume { get; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string ZeroBox Generate a zero box which min~max is (0,0,0)~(0,0,0). public static Box3d ZeroBox { get; } Property Value Box3d Methods ApexAt(int) Get Apex at the box. public Vec3d ApexAt(int index) Parameters index int index 0~7. all of 8 apex. Returns Vec3d Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object Equals(Box3d) Indicates whether the current object is equal to another object of the same type. public bool Equals(Box3d other) Parameters other Box3d An object to compare with this object. Returns bool true if the current object is equal to the other parameter; otherwise, false. Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. Expand(Box3d) Expands this box to include another box. public Box3d Expand(Box3d src) Parameters src Box3d The box to include Returns Box3d This box after expansion Expand(Vec3d) Expands the box to include the specified point. public Box3d Expand(Vec3d p) Parameters p Vec3d Point to include in the box Returns Box3d This box after expansion Expand(IEnumerable) Expands the box to include all specified points. public Box3d Expand(IEnumerable ps) Parameters ps IEnumerable The points to include in the box. Returns Box3d This box after expansion. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. GetStl() Generate Stl. public Stl GetStl() Returns Stl stl GetTransformedBoundingBox(Mat4d) Get the bounding box of the transformed box. public Box3d GetTransformedBoundingBox(Mat4d mat) Parameters mat Mat4d matrix Returns Box3d GetTris(ICollection) Generates triangles representing the box's surfaces. public int GetTris(ICollection dst) Parameters dst ICollection Collection to add the triangles to Returns int The number of triangles added (12) IsOverlapped(Box3d) Is the box overlapped to otherBox. public bool IsOverlapped(Box3d otherBox) Parameters otherBox Box3d other box Returns bool is overlapped MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. MemberAt(int) Get member at the location. public Vec3d MemberAt(int iter) Parameters iter int iterator Returns Vec3d Minif iter is 0; otherwise, return Max ReadBin(BinaryReader) Reads box data from a binary reader. public void ReadBin(BinaryReader reader) Parameters reader BinaryReader Binary reader to read the box data from ScaleFromCenter(double) Scales the box from its center point. public Box3d ScaleFromCenter(double s) Parameters s double Scale factor Returns Box3d This box after scaling Set(Box3d) Copy the src. The Min and Max are kept the same object. Only the double values changed. public Box3d Set(Box3d src) Parameters src Box3d src Returns Box3d this Set(box3d) Copy the src. The Min and Max are kept the same object. Only the double values changed. public Box3d Set(box3d src) Parameters src box3d src Returns Box3d this Set(double, double, double, double, double, double) Sets the box coordinates to the specified values. public Box3d Set(double minx, double miny, double minz, double maxx, double maxy, double maxz) Parameters minx double Minimum X coordinate miny double Minimum Y coordinate minz double Minimum Z coordinate maxx double Maximum X coordinate maxy double Maximum Y coordinate maxz double Maximum Z coordinate Returns Box3d This box after modification SetToTransformedBoundingBox(Mat4d) Set the box to the bounding box of the matrix-transformed box. public Box3d SetToTransformedBoundingBox(Mat4d mat) Parameters mat Mat4d matrix Returns Box3d this ToPresentDto() Convert Box3d to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type, min, max properties ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. ToString(string, IFormatProvider) Returns a string representation of the box formatted according to the specified format. public string ToString(string format, IFormatProvider formatProvider) Parameters format string The format to use for each component formatProvider IFormatProvider The format provider to use Returns string A formatted string representation of the box Translate(Vec3d) Translate the box. public Box3d Translate(Vec3d vec) Parameters vec Vec3d translation vector Returns Box3d this WriteBin(BinaryWriter) Writes box data to a binary writer. public void WriteBin(BinaryWriter writer) Parameters writer BinaryWriter Binary writer to write the box data to" + "summary": "Class Box3d Namespace Hi.Geom Assembly HiGeom.dll Lightweight 3d box. An orthogonal box which the edges are all parallel with Cartesian Coordinate. The data contains in a Box3d is Min and Max. public class Box3d : IExpandToBox3d, IEquatable, IStlSource, IGetStl, IMakeXmlSource, IBinaryIo, IWriteBin, IDuplicate, IFormattable, IToPresentDto Inheritance object Box3d Implements IExpandToBox3d IEquatable IStlSource IGetStl IMakeXmlSource IBinaryIo IWriteBin IDuplicate IFormattable IToPresentDto Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods BinIoUtil.ToBytes(IWriteBin) XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) GeomUtil.ExpandToBox3d(IExpandToBox3d, Mat4d, Box3d) GeomUtil.GetBox3d(IExpandToBox3d) PairZrUtil.GetZrList(IGetStl) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors Box3d() Ctor. public Box3d() Box3d(NoInit) Ctor. The Ctor keeps Min and Max to null. public Box3d(Box3d.NoInit noInit) Parameters noInit Box3d.NoInit Box3d(params IExpandToBox3d[]) Creates a box that encompasses all the provided expandable objects. public Box3d(params IExpandToBox3d[] src) Parameters src IExpandToBox3d[] Array of objects that can expand to a box Box3d(Vec3d, Vec3d) Ctor. public Box3d(Vec3d min, Vec3d max) Parameters min Vec3d Min max Vec3d Max Box3d(box3d) Ctor. public Box3d(box3d src) Parameters src box3d src Box3d(IEnumerable) Creates a box that encompasses all the provided expandable objects. public Box3d(IEnumerable src) Parameters src IEnumerable Collection of objects that can expand to a box Box3d(double, double, double, double, double, double) Creates a box with the specified minimum and maximum coordinates. public Box3d(double minx, double miny, double minz, double maxx, double maxy, double maxz) Parameters minx double Minimum X coordinate miny double Minimum Y coordinate minz double Minimum Z coordinate maxx double Maximum X coordinate maxy double Maximum Y coordinate maxz double Maximum Z coordinate Box3d(BinaryReader) Creates a box from binary data. public Box3d(BinaryReader reader) Parameters reader BinaryReader Binary reader to read the box data from Box3d(XElement) Ctor. public Box3d(XElement src) Parameters src XElement XML Properties BottomCenter Center of the bottom surface. public Vec3d BottomCenter { get; } Property Value Vec3d BottomView Gets a transformation matrix for viewing the box from the bottom. public Mat4d BottomView { get; } Property Value Mat4d Center Center public Vec3d Center { get; } Property Value Vec3d CenterUnitBox Generate a center unit box which min~max is (-0.5,-0.5,-0.5)~(0.5,0.5,0.5). public static Box3d CenterUnitBox { get; } Property Value Box3d DiagonalLength Diagonal length. public double DiagonalLength { get; } Property Value double Dim Dimension. public Vec3d Dim { get; } Property Value Vec3d FrontView Gets a transformation matrix for viewing the box from the front. public Mat4d FrontView { get; } Property Value Mat4d HasVolume Checks if the box has a positive volume (all dimensions are greater than zero). public bool HasVolume { get; } Property Value bool InfiniteBox Generate a infinite box which min~max is (-∞,-∞,-∞)~(∞,∞,∞). public static Box3d InfiniteBox { get; } Property Value Box3d IsAllNaN True if all components of Min and Max are NaN. public bool IsAllNaN { get; } Property Value bool IsFinite True if the box is finite. public bool IsFinite { get; } Property Value bool IsReversedPoleBox True if the box is ReversedPoleBox public bool IsReversedPoleBox { get; } Property Value bool IsometricView Gets a transformation matrix for viewing the box from an isometric perspective. public Mat4d IsometricView { get; } Property Value Mat4d LeftSideView Gets a transformation matrix for viewing the box from the left side. public Mat4d LeftSideView { get; } Property Value Mat4d Max Maximum point of the box. public Vec3d Max { get; set; } Property Value Vec3d Min Minimum point of the box. public Vec3d Min { get; set; } Property Value Vec3d NaN Generate a nan box which min~max is (nan,nan,nan)~(nan,nan,nan). public static Box3d NaN { get; } Property Value Box3d NativeByteSize Gets the native byte size of a Box3d (2 Vec3d objects). public static int NativeByteSize { get; } Property Value int RearView Gets a transformation matrix for viewing the box from the rear. public Mat4d RearView { get; } Property Value Mat4d ReversedPoleBox Generate a reversed pole box which min~max is (∞,∞,∞)~(-∞,-∞,-∞). public static Box3d ReversedPoleBox { get; } Property Value Box3d RightSideView Gets a transformation matrix for viewing the box from the right side. public Mat4d RightSideView { get; } Property Value Mat4d TopCenter Center of the top surface. public Vec3d TopCenter { get; } Property Value Vec3d TopView Gets a transformation matrix for viewing the box from the top. public Mat4d TopView { get; } Property Value Mat4d UnitBox Generate a unit box which min~max is (0,0,0)~(1,1,1). public static Box3d UnitBox { get; } Property Value Box3d Volume Gets the volume of the box. public double Volume { get; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string ZeroBox Generate a zero box which min~max is (0,0,0)~(0,0,0). public static Box3d ZeroBox { get; } Property Value Box3d Methods ApexAt(int) Get Apex at the box. public Vec3d ApexAt(int index) Parameters index int index 0~7. all of 8 apex. Returns Vec3d Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object Equals(Box3d) Indicates whether the current object is equal to another object of the same type. public bool Equals(Box3d other) Parameters other Box3d An object to compare with this object. Returns bool true if the current object is equal to the other parameter; otherwise, false. Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. Expand(Box3d) Expands this box to include another box. public Box3d Expand(Box3d src) Parameters src Box3d The box to include Returns Box3d This box after expansion Expand(Vec3d) Expands the box to include the specified point. public Box3d Expand(Vec3d p) Parameters p Vec3d Point to include in the box Returns Box3d This box after expansion Expand(IEnumerable) Expands the box to include all specified points. public Box3d Expand(IEnumerable ps) Parameters ps IEnumerable The points to include in the box. Returns Box3d This box after expansion. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. GetStl() Generate Stl. public Stl GetStl() Returns Stl stl GetTransformedBoundingBox(Mat4d) Get the bounding box of the transformed box. public Box3d GetTransformedBoundingBox(Mat4d mat) Parameters mat Mat4d matrix Returns Box3d GetTris(ICollection) Generates triangles representing the box's surfaces. public int GetTris(ICollection dst) Parameters dst ICollection Collection to add the triangles to Returns int The number of triangles added (12) IsOverlapped(Box3d) Is the box overlapped to otherBox. public bool IsOverlapped(Box3d otherBox) Parameters otherBox Box3d other box Returns bool is overlapped MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. MemberAt(int) Get member at the location. public Vec3d MemberAt(int iter) Parameters iter int iterator Returns Vec3d Minif iter is 0; otherwise, return Max ReadBin(BinaryReader) Reads box data from a binary reader. public void ReadBin(BinaryReader reader) Parameters reader BinaryReader Binary reader to read the box data from Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ScaleFromCenter(double) Scales the box from its center point. public Box3d ScaleFromCenter(double s) Parameters s double Scale factor Returns Box3d This box after scaling Set(Box3d) Copy the src. The Min and Max are kept the same object. Only the double values changed. public Box3d Set(Box3d src) Parameters src Box3d src Returns Box3d this Set(box3d) Copy the src. The Min and Max are kept the same object. Only the double values changed. public Box3d Set(box3d src) Parameters src box3d src Returns Box3d this Set(double, double, double, double, double, double) Sets the box coordinates to the specified values. public Box3d Set(double minx, double miny, double minz, double maxx, double maxy, double maxz) Parameters minx double Minimum X coordinate miny double Minimum Y coordinate minz double Minimum Z coordinate maxx double Maximum X coordinate maxy double Maximum Y coordinate maxz double Maximum Z coordinate Returns Box3d This box after modification SetToTransformedBoundingBox(Mat4d) Set the box to the bounding box of the matrix-transformed box. public Box3d SetToTransformedBoundingBox(Mat4d mat) Parameters mat Mat4d matrix Returns Box3d this ToPresentDto() Convert Box3d to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type, min, max properties ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. ToString(string, IFormatProvider) Returns a string representation of the box formatted according to the specified format. public string ToString(string format, IFormatProvider formatProvider) Parameters format string The format to use for each component formatProvider IFormatProvider The format provider to use Returns string A formatted string representation of the box Translate(Vec3d) Translate the box. public Box3d Translate(Vec3d vec) Parameters vec Vec3d translation vector Returns Box3d this WriteBin(BinaryWriter) Writes box data to a binary writer. public void WriteBin(BinaryWriter writer) Parameters writer BinaryWriter Binary writer to write the box data to" }, "api/Hi.Geom.Cylindroid.html": { "href": "api/Hi.Geom.Cylindroid.html", "title": "Class Cylindroid | HiAPI-C# 2025", - "summary": "Class Cylindroid Namespace Hi.Geom Assembly HiGeom.dll 3d Geometry of Cylindroid. public class Cylindroid : IStlSource, IGetStl, IMakeXmlSource, IExpandToBox3d, IGetZrContour, IDuplicate, IGetZrList, IGenStl, IToPresentDto Inheritance object Cylindroid Implements IStlSource IGetStl IMakeXmlSource IExpandToBox3d IGetZrContour IDuplicate IGetZrList IGenStl IToPresentDto Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) GeomUtil.ExpandToBox3d(IExpandToBox3d, Mat4d, Box3d) GeomUtil.GetBox3d(IExpandToBox3d) PairZrUtil.GetZrList(IGetStl) PairZrUtil.GetVolume(IGetZrList) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors Cylindroid() Initializes a new instance of the Cylindroid class with an empty list of PairZr objects. public Cylindroid() Cylindroid(Cylindroid) Initializes a new instance of the Cylindroid class by copying another Cylindroid. public Cylindroid(Cylindroid src) Parameters src Cylindroid The source Cylindroid to copy from. Cylindroid(params PairZr[]) Ctor. The order of z values should be from small to large in general case. public Cylindroid(params PairZr[] pairZRs) Parameters pairZRs PairZr[] See PairZrs. Cylindroid(XElement) Ctor. public Cylindroid(XElement src) Parameters src XElement XML Properties DefaultPolarResolution2d Default polar resolution. public static IPolarResolution2d DefaultPolarResolution2d { get; set; } Property Value IPolarResolution2d PairZrs ZR values. The order of z values should be from small to large in general case. public List PairZrs { get; set; } Property Value List UnitCylinder Generate a cylindroid that height is 1 and radius is 0.5. public static Cylindroid UnitCylinder { get; } Property Value Cylindroid XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GenCylinder(double, double) Generates a cylinder with the specified height and radius. public static Cylindroid GenCylinder(double height, double r) Parameters height double The height of the cylinder. r double The radius of the cylinder. Returns Cylindroid A new Cylindroid representing the cylinder. GenStl(IPolarResolution2d) Generates a new STL. public Stl GenStl(IPolarResolution2d resolution) Parameters resolution IPolarResolution2d Polar resolution Returns Stl A newly created STL. GetStl() Gets the STL geometry data. public Stl GetStl() Returns Stl The STL geometry object GetZrContour(double) Gets Z-R contour data as a list of PairZr objects. The Z values should generally be ordered from smallest to largest. public IList GetZrContour(double latitudeAngleResolution_rad) Parameters latitudeAngleResolution_rad double Resolution of latitude angle in radians Returns IList Z-R contour data as a list of PairZr objects GetZrList() Gets a list of Z-R coordinate pairs. public List GetZrList() Returns List A list of PairZr objects representing Z-R coordinates. 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. ToPresentDto() Convert Cylindroid to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type and zrPairs properties" + "summary": "Class Cylindroid Namespace Hi.Geom Assembly HiGeom.dll 3d Geometry of Cylindroid. public class Cylindroid : IStlSource, IGetStl, IMakeXmlSource, IExpandToBox3d, IGetZrContour, IDuplicate, IGetZrList, IGenStl, IToPresentDto Inheritance object Cylindroid Implements IStlSource IGetStl IMakeXmlSource IExpandToBox3d IGetZrContour IDuplicate IGetZrList IGenStl IToPresentDto Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) GeomUtil.ExpandToBox3d(IExpandToBox3d, Mat4d, Box3d) GeomUtil.GetBox3d(IExpandToBox3d) PairZrUtil.GetZrList(IGetStl) PairZrUtil.GetVolume(IGetZrList) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors Cylindroid() Initializes a new instance of the Cylindroid class with an empty list of PairZr objects. public Cylindroid() Cylindroid(Cylindroid) Initializes a new instance of the Cylindroid class by copying another Cylindroid. public Cylindroid(Cylindroid src) Parameters src Cylindroid The source Cylindroid to copy from. Cylindroid(params PairZr[]) Ctor. The order of z values should be from small to large in general case. public Cylindroid(params PairZr[] pairZRs) Parameters pairZRs PairZr[] See PairZrs. Cylindroid(XElement) Ctor. public Cylindroid(XElement src) Parameters src XElement XML Properties DefaultPolarResolution2d Default polar resolution. public static IPolarResolution2d DefaultPolarResolution2d { get; set; } Property Value IPolarResolution2d PairZrs ZR values. The order of z values should be from small to large in general case. public List PairZrs { get; set; } Property Value List UnitCylinder Generate a cylindroid that height is 1 and radius is 0.5. public static Cylindroid UnitCylinder { get; } Property Value Cylindroid XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GenCylinder(double, double) Generates a cylinder with the specified height and radius. public static Cylindroid GenCylinder(double height, double r) Parameters height double The height of the cylinder. r double The radius of the cylinder. Returns Cylindroid A new Cylindroid representing the cylinder. GenStl(IPolarResolution2d) Generates a new STL. public Stl GenStl(IPolarResolution2d resolution) Parameters resolution IPolarResolution2d Polar resolution Returns Stl A newly created STL. GetStl() Gets the STL geometry data. public Stl GetStl() Returns Stl The STL geometry object GetZrContour(double) Gets Z-R contour data as a list of PairZr objects. The Z values should generally be ordered from smallest to largest. public IList GetZrContour(double latitudeAngleResolution_rad) Parameters latitudeAngleResolution_rad double Resolution of latitude angle in radians Returns IList Z-R contour data as a list of PairZr objects GetZrList() Gets a list of Z-R coordinate pairs. public List GetZrList() Returns List A list of PairZr objects representing Z-R coordinates. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToPresentDto() Convert Cylindroid to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type and zrPairs properties" }, "api/Hi.Geom.DVec3d.html": { "href": "api/Hi.Geom.DVec3d.html", @@ -1382,7 +1382,7 @@ "api/Hi.Geom.ExtendedCylinder.html": { "href": "api/Hi.Geom.ExtendedCylinder.html", "title": "Class ExtendedCylinder | HiAPI-C# 2025", - "summary": "Class ExtendedCylinder Namespace Hi.Geom Assembly HiGeom.dll An extensible cylinder geometry that generates a corresponding Cylindroid by the start section and the total length. public class ExtendedCylinder : IStlSource, IGetStl, IExpandToBox3d, IGetZrContour, IDuplicate, IGetZrList, IGenStl, IMakeXmlSource, IToXElement Inheritance object ExtendedCylinder Implements IStlSource IGetStl IExpandToBox3d IGetZrContour IDuplicate IGetZrList IGenStl IMakeXmlSource IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) GeomUtil.ExpandToBox3d(IExpandToBox3d, Mat4d, Box3d) GeomUtil.GetBox3d(IExpandToBox3d) PairZrUtil.GetZrList(IGetStl) PairZrUtil.GetVolume(IGetZrList) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ExtendedCylinder() Initializes a new instance of the ExtendedCylinder class. public ExtendedCylinder() ExtendedCylinder(double, Func) Initializes a new instance with the specified total length and start section provider. public ExtendedCylinder(double fullLength, Func beginPairZrSource = null) Parameters fullLength double Total length beginPairZrSource Func Start section provider ExtendedCylinder(XElement) Initializes a new instance of the ExtendedCylinder class from XML data. public ExtendedCylinder(XElement src) Parameters src XElement The XML element containing extended cylinder data. Properties BeginPairZrSource The provider of the starting ZR section. public Func BeginPairZrSource { get; set; } Property Value Func Cylindroid Returns a Cylindroid view generated from current settings. public Cylindroid Cylindroid { get; } Property Value Cylindroid FullLength The total length of the cylinder along the Z-axis. public double FullLength { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GenStl(IPolarResolution2d) Generates a new STL. public Stl GenStl(IPolarResolution2d resolution) Parameters resolution IPolarResolution2d Polar resolution Returns Stl A newly created STL. GetStl() Gets the STL geometry data. public Stl GetStl() Returns Stl The STL geometry object GetZrContour(double) Gets Z-R contour data as a list of PairZr objects. The Z values should generally be ordered from smallest to largest. public IList GetZrContour(double latitudeAngleResolution_rad) Parameters latitudeAngleResolution_rad double Resolution of latitude angle in radians Returns IList Z-R contour data as a list of PairZr objects GetZrList() Gets a list of Z-R coordinate pairs. public List GetZrList() Returns List A list of PairZr objects representing Z-R coordinates. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class ExtendedCylinder Namespace Hi.Geom Assembly HiGeom.dll An extensible cylinder geometry that generates a corresponding Cylindroid by the start section and the total length. public class ExtendedCylinder : IStlSource, IGetStl, IExpandToBox3d, IGetZrContour, IDuplicate, IGetZrList, IGenStl, IMakeXmlSource, IToXElement Inheritance object ExtendedCylinder Implements IStlSource IGetStl IExpandToBox3d IGetZrContour IDuplicate IGetZrList IGenStl IMakeXmlSource IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) GeomUtil.ExpandToBox3d(IExpandToBox3d, Mat4d, Box3d) GeomUtil.GetBox3d(IExpandToBox3d) PairZrUtil.GetZrList(IGetStl) PairZrUtil.GetVolume(IGetZrList) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ExtendedCylinder() Initializes a new instance of the ExtendedCylinder class. public ExtendedCylinder() ExtendedCylinder(double, Func) Initializes a new instance with the specified total length and start section provider. public ExtendedCylinder(double fullLength, Func beginPairZrSource = null) Parameters fullLength double Total length beginPairZrSource Func Start section provider ExtendedCylinder(XElement) Initializes a new instance of the ExtendedCylinder class from XML data. public ExtendedCylinder(XElement src) Parameters src XElement The XML element containing extended cylinder data. Properties BeginPairZrSource The provider of the starting ZR section. public Func BeginPairZrSource { get; set; } Property Value Func Cylindroid Returns a Cylindroid view generated from current settings. public Cylindroid Cylindroid { get; } Property Value Cylindroid FullLength The total length of the cylinder along the Z-axis. public double FullLength { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GenStl(IPolarResolution2d) Generates a new STL. public Stl GenStl(IPolarResolution2d resolution) Parameters resolution IPolarResolution2d Polar resolution Returns Stl A newly created STL. GetStl() Gets the STL geometry data. public Stl GetStl() Returns Stl The STL geometry object GetZrContour(double) Gets Z-R contour data as a list of PairZr objects. The Z values should generally be ordered from smallest to largest. public IList GetZrContour(double latitudeAngleResolution_rad) Parameters latitudeAngleResolution_rad double Resolution of latitude angle in radians Returns IList Z-R contour data as a list of PairZr objects GetZrList() Gets a list of Z-R coordinate pairs. public List GetZrList() Returns List A list of PairZr objects representing Z-R coordinates. 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. Reg(XFactory) Registers this type's deserializer and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.Geom.Flat3d.html": { "href": "api/Hi.Geom.Flat3d.html", @@ -1402,7 +1402,7 @@ "api/Hi.Geom.GeomCombination.html": { "href": "api/Hi.Geom.GeomCombination.html", "title": "Class GeomCombination | HiAPI-C# 2025", - "summary": "Class GeomCombination Namespace Hi.Geom Assembly HiGeom.dll A class that manages multiple STL sources as a single source. public class GeomCombination : IStlSource, IGetStl, IMakeXmlSource, IGenStl Inheritance object GeomCombination Implements IStlSource IGetStl IMakeXmlSource IGenStl Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) PairZrUtil.GetZrList(IGetStl) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors GeomCombination() Default constructor that initializes an empty collection of STL sources. public GeomCombination() GeomCombination(params IStlSource[]) Initializes a new instance with a set of STL sources. public GeomCombination(params IStlSource[] stlSources) Parameters stlSources IStlSource[] A set of STL sources GeomCombination(XElement, string, string, IProgress) Ctor. public GeomCombination(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement XML baseDirectory string Base directory path relFile string Relative file path progress IProgress Optional progress reporter for the XML parsing chain Properties StlSources Collection of STL sources managed by this instance. public List StlSources { get; } Property Value List XName Name for XML IO. public static string XName { get; } Property Value string Methods CleanStlCache() Clears the cached STL data, forcing it to be regenerated on the next request. public void CleanStlCache() Duplicate(params object[]) public object Duplicate(params object[] res) Parameters res object[] Returns object GenStl(IPolarResolution2d) Generates a new STL. public Stl GenStl(IPolarResolution2d resolution) Parameters resolution IPolarResolution2d Polar resolution Returns Stl A newly created STL. GetStl() Gets the STL geometry data. public Stl GetStl() Returns Stl The STL geometry object MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class GeomCombination Namespace Hi.Geom Assembly HiGeom.dll A class that manages multiple STL sources as a single source. public class GeomCombination : IStlSource, IGetStl, IMakeXmlSource, IGenStl Inheritance object GeomCombination Implements IStlSource IGetStl IMakeXmlSource IGenStl Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) PairZrUtil.GetZrList(IGetStl) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors GeomCombination() Default constructor that initializes an empty collection of STL sources. public GeomCombination() GeomCombination(params IStlSource[]) Initializes a new instance with a set of STL sources. public GeomCombination(params IStlSource[] stlSources) Parameters stlSources IStlSource[] A set of STL sources GeomCombination(XElement, string, string, IProgress) Ctor. public GeomCombination(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement XML baseDirectory string Base directory path relFile string Relative file path progress IProgress Optional progress reporter for the XML parsing chain Properties StlSources Collection of STL sources managed by this instance. public List StlSources { get; } Property Value List XName Name for XML IO. public static string XName { get; } Property Value string Methods CleanStlCache() Clears the cached STL data, forcing it to be regenerated on the next request. public void CleanStlCache() Duplicate(params object[]) public object Duplicate(params object[] res) Parameters res object[] Returns object GenStl(IPolarResolution2d) Generates a new STL. public Stl GenStl(IPolarResolution2d resolution) Parameters resolution IPolarResolution2d Polar resolution Returns Stl A newly created STL. GetStl() Gets the STL geometry data. public Stl GetStl() Returns Stl The STL geometry object MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Geom.GeomUtil.html": { "href": "api/Hi.Geom.GeomUtil.html", @@ -1517,7 +1517,7 @@ "api/Hi.Geom.PairZr.html": { "href": "api/Hi.Geom.PairZr.html", "title": "Class PairZr | HiAPI-C# 2025", - "summary": "Class PairZr Namespace Hi.Geom Assembly HiGeom.dll Value pair of Z and R. public class PairZr : IMakeXmlSource, IExpandToBox3d, IEqualityOperators, IAdditionOperators, ISubtractionOperators, IMultiplyOperators, IDivisionOperators, IFormattable Inheritance object PairZr Implements IMakeXmlSource IExpandToBox3d IEqualityOperators IAdditionOperators ISubtractionOperators IMultiplyOperators IDivisionOperators IFormattable Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) GeomUtil.ExpandToBox3d(IExpandToBox3d, Mat4d, Box3d) GeomUtil.GetBox3d(IExpandToBox3d) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors PairZr() Ctor. public PairZr() PairZr(PairZr) Copy ctor. public PairZr(PairZr src) Parameters src PairZr PairZr(double, double) Ctor. public PairZr(double z, double r) Parameters z double see Z r double see R PairZr(string) Ctor. public PairZr(string src) Parameters src string PairZr(XElement) Ctor. public PairZr(XElement src) Parameters src XElement XML Properties R R value. public double R { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Z Z value. public double Z { get; set; } Property Value double ZR (x,y)=(z,r). public Vec2d ZR { get; set; } Property Value Vec2d Methods Equals(PairZr) public bool Equals(PairZr other) Parameters other PairZr Returns bool Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GenCircle(int) Generates a collection of Vec3d points forming a circle at the Z coordinate with radius R. public IEnumerable GenCircle(int posNum) Parameters posNum int The number of points to generate around the circle Returns IEnumerable An enumerable collection of Vec3d points GenPolarCircle(int) Generates a collection of Polar3d points forming a circle at the Z coordinate with radius R. public IEnumerable GenPolarCircle(int posNum) Parameters posNum int The number of points to generate around the circle Returns IEnumerable An enumerable collection of Polar3d points GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. ToString(string, IFormatProvider) Returns a string representation of the PairZr formatted according to the specified format. public string ToString(string format, IFormatProvider formatProvider) Parameters format string The format to use for each component formatProvider IFormatProvider The format provider to use Returns string A formatted string representation of the PairZr Operators operator +(PairZr, PairZr) Addition operator that adds two PairZr instances. public static PairZr operator +(PairZr left, PairZr right) Parameters left PairZr The left operand right PairZr The right operand Returns PairZr A new PairZr instance with the sum of Z and R values operator /(PairZr, double) Division operator that divides a PairZr instance by a scalar value. public static PairZr operator /(PairZr left, double right) Parameters left PairZr The PairZr instance right double The scalar value Returns PairZr A new PairZr instance with Z and R values divided by the scalar operator ==(PairZr, PairZr) Equality operator that compares two PairZr instances. public static bool operator ==(PairZr left, PairZr right) Parameters left PairZr The left operand right PairZr The right operand Returns bool True if both instances are equal; otherwise, false operator !=(PairZr, PairZr) Inequality operator that compares two PairZr instances. public static bool operator !=(PairZr left, PairZr right) Parameters left PairZr The left operand right PairZr The right operand Returns bool True if the instances are not equal; otherwise, false operator *(PairZr, double) Multiplication operator that multiplies a PairZr instance by a scalar value. public static PairZr operator *(PairZr left, double right) Parameters left PairZr The PairZr instance right double The scalar value Returns PairZr A new PairZr instance with Z and R values multiplied by the scalar operator -(PairZr, PairZr) Subtraction operator that subtracts one PairZr instance from another. public static PairZr operator -(PairZr a, PairZr b) Parameters a PairZr The left operand b PairZr The right operand to subtract Returns PairZr A new PairZr instance with the difference of Z and R values" + "summary": "Class PairZr Namespace Hi.Geom Assembly HiGeom.dll Value pair of Z and R. public class PairZr : IMakeXmlSource, IExpandToBox3d, IEqualityOperators, IAdditionOperators, ISubtractionOperators, IMultiplyOperators, IDivisionOperators, IFormattable Inheritance object PairZr Implements IMakeXmlSource IExpandToBox3d IEqualityOperators IAdditionOperators ISubtractionOperators IMultiplyOperators IDivisionOperators IFormattable Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) GeomUtil.ExpandToBox3d(IExpandToBox3d, Mat4d, Box3d) GeomUtil.GetBox3d(IExpandToBox3d) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors PairZr() Ctor. public PairZr() PairZr(PairZr) Copy ctor. public PairZr(PairZr src) Parameters src PairZr PairZr(double, double) Ctor. public PairZr(double z, double r) Parameters z double see Z r double see R PairZr(string) Ctor. public PairZr(string src) Parameters src string PairZr(XElement) Ctor. public PairZr(XElement src) Parameters src XElement XML Properties R R value. public double R { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Z Z value. public double Z { get; set; } Property Value double ZR (x,y)=(z,r). public Vec2d ZR { get; set; } Property Value Vec2d Methods Equals(PairZr) public bool Equals(PairZr other) Parameters other PairZr Returns bool Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GenCircle(int) Generates a collection of Vec3d points forming a circle at the Z coordinate with radius R. public IEnumerable GenCircle(int posNum) Parameters posNum int The number of points to generate around the circle Returns IEnumerable An enumerable collection of Vec3d points GenPolarCircle(int) Generates a collection of Polar3d points forming a circle at the Z coordinate with radius R. public IEnumerable GenPolarCircle(int posNum) Parameters posNum int The number of points to generate around the circle Returns IEnumerable An enumerable collection of Polar3d points GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. ToString(string, IFormatProvider) Returns a string representation of the PairZr formatted according to the specified format. public string ToString(string format, IFormatProvider formatProvider) Parameters format string The format to use for each component formatProvider IFormatProvider The format provider to use Returns string A formatted string representation of the PairZr Operators operator +(PairZr, PairZr) Addition operator that adds two PairZr instances. public static PairZr operator +(PairZr left, PairZr right) Parameters left PairZr The left operand right PairZr The right operand Returns PairZr A new PairZr instance with the sum of Z and R values operator /(PairZr, double) Division operator that divides a PairZr instance by a scalar value. public static PairZr operator /(PairZr left, double right) Parameters left PairZr The PairZr instance right double The scalar value Returns PairZr A new PairZr instance with Z and R values divided by the scalar operator ==(PairZr, PairZr) Equality operator that compares two PairZr instances. public static bool operator ==(PairZr left, PairZr right) Parameters left PairZr The left operand right PairZr The right operand Returns bool True if both instances are equal; otherwise, false operator !=(PairZr, PairZr) Inequality operator that compares two PairZr instances. public static bool operator !=(PairZr left, PairZr right) Parameters left PairZr The left operand right PairZr The right operand Returns bool True if the instances are not equal; otherwise, false operator *(PairZr, double) Multiplication operator that multiplies a PairZr instance by a scalar value. public static PairZr operator *(PairZr left, double right) Parameters left PairZr The PairZr instance right double The scalar value Returns PairZr A new PairZr instance with Z and R values multiplied by the scalar operator -(PairZr, PairZr) Subtraction operator that subtracts one PairZr instance from another. public static PairZr operator -(PairZr a, PairZr b) Parameters a PairZr The left operand b PairZr The right operand to subtract Returns PairZr A new PairZr instance with the difference of Z and R values" }, "api/Hi.Geom.PairZrUtil.html": { "href": "api/Hi.Geom.PairZrUtil.html", @@ -1547,7 +1547,7 @@ "api/Hi.Geom.Resolution.PolarResolution2d.html": { "href": "api/Hi.Geom.Resolution.PolarResolution2d.html", "title": "Class PolarResolution2d | HiAPI-C# 2025", - "summary": "Class PolarResolution2d Namespace Hi.Geom.Resolution Assembly HiGeom.dll Polar resolution for generating geometry in polar coordinate. public class PolarResolution2d : IPolarResolution2d, IMakeXmlSource, IToXElement Inheritance object PolarResolution2d Implements IPolarResolution2d IMakeXmlSource IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) 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 PolarResolution2d() Initializes a new instance of the PolarResolution2d class. public PolarResolution2d() PolarResolution2d(double, double) Initializes a new instance of the PolarResolution2d class with values. public PolarResolution2d(double linearResolution_mm, double angleResolution_rad) Parameters linearResolution_mm double Linear resolution in millimeters angleResolution_rad double Angular resolution in radians PolarResolution2d(XElement) Initializes a new instance of the PolarResolution2d class from XML data. public PolarResolution2d(XElement src) Parameters src XElement The XML element containing polar resolution data. Properties AngleResolution_deg Gets or sets the angular resolution in degrees. public double AngleResolution_deg { get; set; } Property Value double AngleResolution_rad Gets or sets the angular resolution in radians. public double AngleResolution_rad { get; set; } Property Value double LinearResolution_mm Gets or sets the linear resolution in millimeters. public double LinearResolution_mm { get; set; } Property Value double 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. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class PolarResolution2d Namespace Hi.Geom.Resolution Assembly HiGeom.dll Polar resolution for generating geometry in polar coordinate. public class PolarResolution2d : IPolarResolution2d, IMakeXmlSource, IToXElement Inheritance object PolarResolution2d Implements IPolarResolution2d IMakeXmlSource IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) 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 PolarResolution2d() Initializes a new instance of the PolarResolution2d class. public PolarResolution2d() PolarResolution2d(double, double) Initializes a new instance of the PolarResolution2d class with values. public PolarResolution2d(double linearResolution_mm, double angleResolution_rad) Parameters linearResolution_mm double Linear resolution in millimeters angleResolution_rad double Angular resolution in radians PolarResolution2d(XElement) Initializes a new instance of the PolarResolution2d class from XML data. public PolarResolution2d(XElement src) Parameters src XElement The XML element containing polar resolution data. Properties AngleResolution_deg Gets or sets the angular resolution in degrees. public double AngleResolution_deg { get; set; } Property Value double AngleResolution_rad Gets or sets the angular resolution in radians. public double AngleResolution_rad { get; set; } Property Value double LinearResolution_mm Gets or sets the linear resolution in millimeters. public double LinearResolution_mm { get; set; } Property Value double 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.Geom.Resolution.html": { "href": "api/Hi.Geom.Resolution.html", @@ -1627,7 +1627,7 @@ "api/Hi.Geom.StlFile.html": { "href": "api/Hi.Geom.StlFile.html", "title": "Class StlFile | HiAPI-C# 2025", - "summary": "Class StlFile Namespace Hi.Geom Assembly HiGeom.dll Represents an STL file with loading and saving capabilities public class StlFile : IStlSource, IGetStl, IMakeXmlSource, IExpandToBox3d, IDuplicate, ISourceFile, IToPresentDto Inheritance object StlFile Implements IStlSource IGetStl IMakeXmlSource IExpandToBox3d IDuplicate ISourceFile IToPresentDto Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) GeomUtil.ExpandToBox3d(IExpandToBox3d, Mat4d, Box3d) GeomUtil.GetBox3d(IExpandToBox3d) PairZrUtil.GetZrList(IGetStl) 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 StlFile() Ctor. public StlFile() StlFile(string) Ctor. public StlFile(string filePath) Parameters filePath string file path StlFile(string, string) Initializes a new instance with the specified file path and optional base directory. If base directory is provided, the STL will be loaded immediately. public StlFile(string filePath, string baseDirectory) Parameters filePath string STL file path baseDirectory string Base directory to load file from StlFile(XElement, string, IProgress) Ctor. public StlFile(XElement src, string baseDirectory, IProgress progress) Parameters src XElement XML baseDirectory string Base directory path progress IProgress Progress reporter for diagnostic messages emitted during construction. Properties CacheStl CacheStl is loaded by the xml construtor. public Stl CacheStl { get; set; } Property Value Stl SourceFile Stl file path. public string SourceFile { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetStl() Gets the STL geometry data. public Stl GetStl() Returns Stl The STL geometry object LoadStlByFile(string) Loads an STL file from the specified base directory into the cache public Stl LoadStlByFile(string baseDirectory) Parameters baseDirectory string The base directory where the file is located Returns Stl The loaded STL object, or null if the file path is empty or loading fails 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. SaveStlToFile(string) Saves the cached STL data to a file in the specified base directory public void SaveStlToFile(string baseDirectory) Parameters baseDirectory string The base directory where the file will be saved ToPresentDto() Convert StlFile to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type and sourceFile properties" + "summary": "Class StlFile Namespace Hi.Geom Assembly HiGeom.dll Represents an STL file with loading and saving capabilities public class StlFile : IStlSource, IGetStl, IMakeXmlSource, IExpandToBox3d, IDuplicate, ISourceFile, IToPresentDto Inheritance object StlFile Implements IStlSource IGetStl IMakeXmlSource IExpandToBox3d IDuplicate ISourceFile IToPresentDto Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) GeomUtil.ExpandToBox3d(IExpandToBox3d, Mat4d, Box3d) GeomUtil.GetBox3d(IExpandToBox3d) PairZrUtil.GetZrList(IGetStl) 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 StlFile() Ctor. public StlFile() StlFile(string) Ctor. public StlFile(string filePath) Parameters filePath string file path StlFile(string, string) Initializes a new instance with the specified file path and optional base directory. If base directory is provided, the STL will be loaded immediately. public StlFile(string filePath, string baseDirectory) Parameters filePath string STL file path baseDirectory string Base directory to load file from StlFile(XElement, string, IProgress) Ctor. public StlFile(XElement src, string baseDirectory, IProgress progress) Parameters src XElement XML baseDirectory string Base directory path progress IProgress Progress reporter for diagnostic messages emitted during construction. Properties CacheStl CacheStl is loaded by the xml construtor. public Stl CacheStl { get; set; } Property Value Stl SourceFile Stl file path. public string SourceFile { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetStl() Gets the STL geometry data. public Stl GetStl() Returns Stl The STL geometry object LoadStlByFile(string) Loads an STL file from the specified base directory into the cache public Stl LoadStlByFile(string baseDirectory) Parameters baseDirectory string The base directory where the file is located Returns Stl The loaded STL object, or null if the file path is empty or loading fails 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SaveStlToFile(string) Saves the cached STL data to a file in the specified base directory public void SaveStlToFile(string baseDirectory) Parameters baseDirectory string The base directory where the file will be saved ToPresentDto() Convert StlFile to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type and sourceFile properties" }, "api/Hi.Geom.StlFuncHost.html": { "href": "api/Hi.Geom.StlFuncHost.html", @@ -1697,7 +1697,7 @@ "api/Hi.Geom.TransformationGeom.html": { "href": "api/Hi.Geom.TransformationGeom.html", "title": "Class TransformationGeom | HiAPI-C# 2025", - "summary": "Class TransformationGeom Namespace Hi.Geom Assembly HiMech.dll Represents a geometric transformation that can be applied to a geometry object. This class combines a transformer with a target geometry to produce transformed geometric results. public class TransformationGeom : IStlSource, IGetStl, IMakeXmlSource, IGeomProperty, IGenStl, IExpandToBox3d, IDuplicate Inheritance object TransformationGeom Implements IStlSource IGetStl IMakeXmlSource IGeomProperty IGenStl IExpandToBox3d IDuplicate Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods StlUtil.ToFaceDrawing(IGetStl) StlUtil.ToLineDrawing(IGetStl) StlUtil.ToSparkleLineDrawing(IGetStl) 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) Remarks The TransformationGeom class provides functionality to: Apply geometric transformations to STL geometry Support XML serialization and deserialization Handle duplication of transformation configurations Manage transformation matrices and their application to geometry Constructors TransformationGeom() Initializes a new instance of the TransformationGeom class with default values. public TransformationGeom() TransformationGeom(IGetStl) Initializes a new instance of the TransformationGeom class with a specified geometry. public TransformationGeom(IGetStl geom) Parameters geom IGetStl The geometry object to be transformed. TransformationGeom(XElement, string, IProgress) Initializes a new instance of the TransformationGeom class from XML data. public TransformationGeom(XElement src, string baseDirectory, IProgress progress) Parameters src XElement The XML element containing the transformation data. baseDirectory string The base directory for resolving relative paths. progress IProgress Progress reporter for diagnostic messages emitted during construction. Remarks This constructor deserializes both the transformer and geometry data from the provided XML. If either element is missing or invalid, the corresponding property will be null. Properties Geom Gets or sets the target geometry that will be transformed. public IGetStl Geom { get; set; } Property Value IGetStl Remarks This property represents the base geometry object that will have the transformation applied to it. If null, operations involving this geometry will return null results. Transformer Gets or sets the transformer that defines the geometric transformation. The transformation is applied from left (first element) to right (last element), with the target geometry being on the left side. public ITransformer Transformer { get; set; } Property Value ITransformer Remarks The transformer can be null, in which case no transformation is applied to the geometry. XName Gets the XML element name used for serialization. public static string XName { get; } Property Value string The string “TransformationGeom”. Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object Remarks The duplication process creates new instances of both the transformer and geometry objects if they implement the appropriate cloning interfaces. ExpandToBox3d(Box3d) Expands the given box to include the bounds of the transformed geometry. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d The box to expand. Remarks This method updates the provided box to encompass the transformed geometry. If the geometry or its STL representation is null, no expansion occurs. GenStl(IPolarResolution2d) Generates a new STL. public Stl GenStl(IPolarResolution2d resolution) Parameters resolution IPolarResolution2d Polar resolution Returns Stl A newly created STL. GetStl() Gets the transformed STL representation of the geometry. public Stl GetStl() Returns Stl The transformed STL if both geometry and transformer are valid; the original STL if transformer is null; null if geometry is null or produces null STL. Remarks If the transformer is null, the method returns the untransformed geometry. If the geometry is null or produces a null STL, the method returns null. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object." + "summary": "Class TransformationGeom Namespace Hi.Geom Assembly HiMech.dll Represents a geometric transformation that can be applied to a geometry object. This class combines a transformer with a target geometry to produce transformed geometric results. public class TransformationGeom : IStlSource, IGetStl, IMakeXmlSource, IGeomProperty, IGenStl, IExpandToBox3d, IDuplicate Inheritance object TransformationGeom Implements IStlSource IGetStl IMakeXmlSource IGeomProperty IGenStl IExpandToBox3d IDuplicate Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods StlUtil.ToFaceDrawing(IGetStl) StlUtil.ToLineDrawing(IGetStl) StlUtil.ToSparkleLineDrawing(IGetStl) 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) Remarks The TransformationGeom class provides functionality to: Apply geometric transformations to STL geometry Support XML serialization and deserialization Handle duplication of transformation configurations Manage transformation matrices and their application to geometry Constructors TransformationGeom() Initializes a new instance of the TransformationGeom class with default values. public TransformationGeom() TransformationGeom(IGetStl) Initializes a new instance of the TransformationGeom class with a specified geometry. public TransformationGeom(IGetStl geom) Parameters geom IGetStl The geometry object to be transformed. TransformationGeom(XElement, string, IProgress) Initializes a new instance of the TransformationGeom class from XML data. public TransformationGeom(XElement src, string baseDirectory, IProgress progress) Parameters src XElement The XML element containing the transformation data. baseDirectory string The base directory for resolving relative paths. progress IProgress Progress reporter for diagnostic messages emitted during construction. Remarks This constructor deserializes both the transformer and geometry data from the provided XML. If either element is missing or invalid, the corresponding property will be null. Properties Geom Gets or sets the target geometry that will be transformed. public IGetStl Geom { get; set; } Property Value IGetStl Remarks This property represents the base geometry object that will have the transformation applied to it. If null, operations involving this geometry will return null results. Transformer Gets or sets the transformer that defines the geometric transformation. The transformation is applied from left (first element) to right (last element), with the target geometry being on the left side. public ITransformer Transformer { get; set; } Property Value ITransformer Remarks The transformer can be null, in which case no transformation is applied to the geometry. XName Gets the XML element name used for serialization. public static string XName { get; } Property Value string The string “TransformationGeom”. Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object Remarks The duplication process creates new instances of both the transformer and geometry objects if they implement the appropriate cloning interfaces. ExpandToBox3d(Box3d) Expands the given box to include the bounds of the transformed geometry. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d The box to expand. Remarks This method updates the provided box to encompass the transformed geometry. If the geometry or its STL representation is null, no expansion occurs. GenStl(IPolarResolution2d) Generates a new STL. public Stl GenStl(IPolarResolution2d resolution) Parameters resolution IPolarResolution2d Polar resolution Returns Stl A newly created STL. GetStl() Gets the transformed STL representation of the geometry. public Stl GetStl() Returns Stl The transformed STL if both geometry and transformer are valid; the original STL if transformer is null; null if geometry is null or produces null STL. Remarks If the transformer is null, the method returns the untransformed geometry. If the geometry is null or produces a null STL, the method returns null. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object." }, "api/Hi.Geom.Tri3d.html": { "href": "api/Hi.Geom.Tri3d.html", @@ -1817,7 +1817,7 @@ "api/Hi.HiNcKits.HiNcHost.html": { "href": "api/Hi.HiNcKits.HiNcHost.html", "title": "Class HiNcHost | HiAPI-C# 2025", - "summary": "Class HiNcHost Namespace Hi.HiNcKits Assembly HiNc.dll Rich HiNC Service. Host class for HiNC functionality that provides project management, path resolution, and DB integration. public class HiNcHost : IDisposable Inheritance object HiNcHost Implements IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors HiNcHost(ProxyProjectService, ILogger) Initializes a new instance of the HiNcHost class with a proxy project service. public HiNcHost(ProxyProjectService proxyProjectService, ILogger logger = null) Parameters proxyProjectService ProxyProjectService The proxy project service to use. logger ILogger Optional logger instance. Fields HiNcUserDbMetaName Gets the name of the HiNC user database metadata. public const string HiNcUserDbMetaName = \"UserDbMeta\" Field Value string HiNcUserDbName Gets the name of the HiNC user database. public const string HiNcUserDbName = \"HiNcUserDb\" Field Value string Properties AdminDirectory Admin absolute directory. public string AdminDirectory { get; set; } Property Value string AdminExtendedNamedPath Gets the admin extended named path. public ExtendedNamedPath AdminExtendedNamedPath { get; } Property Value ExtendedNamedPath AdminNamedPath Gets the admin named path. public NamedPath AdminNamedPath { get; } Property Value NamedPath CacheDbId Gets the cache database ID. public static string CacheDbId { get; set; } Property Value string IdentityStorage Gets the SQLite identity storage instance (for user authentication). public SqliteIdentityStorage IdentityStorage { get; } Property Value SqliteIdentityStorage LocalProjectService Gets the local project service from the proxy project service. public LocalProjectService LocalProjectService { get; } Property Value LocalProjectService MachiningProject Gets the machining project from the local project service. public MachiningProject MachiningProject { get; } Property Value MachiningProject ProjectDirectory Project Absolute Directory. public string ProjectDirectory { get; } Property Value string ProjectExtendedNamedPath Gets the project extended named path. public ExtendedNamedPath ProjectExtendedNamedPath { get; } Property Value ExtendedNamedPath ProjectNamedPath Gets the project named path. public NamedPath ProjectNamedPath { get; } Property Value NamedPath ProjectRelativeDirectory Gets the relative project directory path. public string ProjectRelativeDirectory { get; } Property Value string RelativeProjectPath Gets the relative project path from the proxy project service. public string RelativeProjectPath { get; } Property Value string ResourceDir Resource absolute directory. public string ResourceDir { get; } Property Value string ResourceExtendedNamedPath Gets the resource extended named path. public ExtendedNamedPath ResourceExtendedNamedPath { get; } Property Value ExtendedNamedPath ResourceNamedPath Gets the resource named path. public NamedPath ResourceNamedPath { get; } Property Value NamedPath ResourceRelDir Relative directory from AdminDirectory for resource. public string ResourceRelDir { get; set; } Property Value string StepStorage Gets the SQLite step storage instance (for milling step data). public SqliteStepStorage StepStorage { get; } Property Value SqliteStepStorage Methods CloseProject() Closes the current project. public void CloseProject() CopyResourceIfNotExisted() Copies resources if they don't already exist in the target location. public void CopyResourceIfNotExisted() Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool GetExtendedNamedPathByNamePath(string) Gets an extended named path by its name path. public ExtendedNamedPath GetExtendedNamedPathByNamePath(string namePath) Parameters namePath string The name path to look up. Returns ExtendedNamedPath The extended named path for the specified name path, or null if not found. GetExtendedNamedPathByPath(string) Gets an extended named path by its path. public ExtendedNamedPath GetExtendedNamedPathByPath(string path) Parameters path string The path to look up. Returns ExtendedNamedPath The extended named path with the specified path, or null if not found. GetExtendedNamedPathByUriPara(string) GetExtendedNamedPath By blazor page parameter. public ExtendedNamedPath GetExtendedNamedPathByUriPara(string uriPara) Parameters uriPara string Returns ExtendedNamedPath GetExtendedNamedPathList(params BasePathEnum[]) Gets a list of extended named paths for the specified base path types. public List GetExtendedNamedPathList(params BasePathEnum[] basePathEnums) Parameters basePathEnums BasePathEnum[] The base path types to include. Returns List A list of extended named paths. GetNamedPathByName(string) Gets a named path by its name. public NamedPath GetNamedPathByName(string name) Parameters name string The name of the path to retrieve Returns NamedPath The named path with the specified name, or null if not found GetNamedPathByPath(string) Gets a named path by its path. public NamedPath GetNamedPathByPath(string path) Parameters path string The path to look up. Returns NamedPath The named path with the specified path, or null if not found. GetNamedPathList(params BasePathEnum[]) Gets a list of named paths for the specified base path types. public List GetNamedPathList(params BasePathEnum[] basePathEnums) Parameters basePathEnums BasePathEnum[] The base path types to include. Returns List A list of named paths. LoadProjectByRelativePath(string) Loads a project from the specified relative file path. public void LoadProjectByRelativePath(string relativeFilePathFromAdminRoot) Parameters relativeFilePathFromAdminRoot string The relative file path from the admin directory root NewProjectByRelFile(string) Creates a new project from a relative file path. public void NewProjectByRelFile(string relFilePath) Parameters relFilePath string The relative file path from the admin directory ReloadProject() Reloads the current project. public void ReloadProject() SaveAsProject(string) Saves the current project to a specified relative file path. public void SaveAsProject(string relativeFilePath) Parameters relativeFilePath string The relative file path from the admin directory root SaveProject() Save project in the current path. public void SaveProject() ShowMessageBoard(string, string, BootstrapTheme) Shows a message board with specified title, message and theme. public void ShowMessageBoard(string title, string message, BootstrapTheme bootstrapThemeColor) Parameters title string The title of the message board message string The message to display bootstrapThemeColor BootstrapTheme The bootstrap theme color for the message board Events OnShownMessageBoard Event raised when a message board is shown. public event ShowMessageBoardDelegate OnShownMessageBoard Event Type ShowMessageBoardDelegate" + "summary": "Class HiNcHost Namespace Hi.HiNcKits Assembly HiNc.dll Rich HiNC Service. Host class for HiNC functionality that provides project management, path resolution, and DB integration. public class HiNcHost : IDisposable Inheritance object HiNcHost Implements IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors HiNcHost(ProxyProjectService, ILogger) Initializes a new instance of the HiNcHost class with a proxy project service. public HiNcHost(ProxyProjectService proxyProjectService, ILogger logger = null) Parameters proxyProjectService ProxyProjectService The proxy project service to use. logger ILogger Optional logger instance. Fields HiNcUserDbMetaName Gets the name of the HiNC user database metadata. public const string HiNcUserDbMetaName = \"UserDbMeta\" Field Value string HiNcUserDbName Gets the name of the HiNC user database. public const string HiNcUserDbName = \"HiNcUserDb\" Field Value string Properties AdminDirectory Admin absolute directory. public string AdminDirectory { get; set; } Property Value string AdminExtendedNamedPath Gets the admin extended named path. public ExtendedNamedPath AdminExtendedNamedPath { get; } Property Value ExtendedNamedPath AdminNamedPath Gets the admin named path. public NamedPath AdminNamedPath { get; } Property Value NamedPath CacheDbId Gets the cache database ID. public static string CacheDbId { get; set; } Property Value string IdentityStorage Gets the SQLite identity storage instance (for user authentication). public SqliteIdentityStorage IdentityStorage { get; } Property Value SqliteIdentityStorage LocalProjectService Gets the local project service from the proxy project service. public LocalProjectService LocalProjectService { get; } Property Value LocalProjectService MachiningProject Gets the machining project from the local project service. public MachiningProject MachiningProject { get; } Property Value MachiningProject ProjectDirectory Project Absolute Directory. public string ProjectDirectory { get; } Property Value string ProjectExtendedNamedPath Gets the project extended named path. public ExtendedNamedPath ProjectExtendedNamedPath { get; } Property Value ExtendedNamedPath ProjectNamedPath Gets the project named path. public NamedPath ProjectNamedPath { get; } Property Value NamedPath ProjectRelativeDirectory Gets the relative project directory path. public string ProjectRelativeDirectory { get; } Property Value string RelativeProjectPath Gets the relative project path from the proxy project service. public string RelativeProjectPath { get; } Property Value string ResourceDir Resource absolute directory. public string ResourceDir { get; } Property Value string ResourceExtendedNamedPath Gets the resource extended named path. public ExtendedNamedPath ResourceExtendedNamedPath { get; } Property Value ExtendedNamedPath ResourceNamedPath Gets the resource named path. public NamedPath ResourceNamedPath { get; } Property Value NamedPath ResourceRelDir Relative directory from AdminDirectory for resource. public string ResourceRelDir { get; set; } Property Value string StepStorage Gets the SQLite step storage instance (for milling step data). public SqliteStepStorage StepStorage { get; } Property Value SqliteStepStorage Methods CloseProject() Closes the current project. public void CloseProject() CopyResourceIfNotExisted() Copies resources if they don't already exist in the target location. public void CopyResourceIfNotExisted() Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool GetExtendedNamedPathByNamePath(string) Gets an extended named path by its name path. public ExtendedNamedPath GetExtendedNamedPathByNamePath(string namePath) Parameters namePath string The name path to look up. Returns ExtendedNamedPath The extended named path for the specified name path, or null if not found. GetExtendedNamedPathByPath(string) Gets an extended named path by its path. public ExtendedNamedPath GetExtendedNamedPathByPath(string path) Parameters path string The path to look up. Returns ExtendedNamedPath The extended named path with the specified path, or null if not found. GetExtendedNamedPathByUriPara(string) GetExtendedNamedPath By blazor page parameter. public ExtendedNamedPath GetExtendedNamedPathByUriPara(string uriPara) Parameters uriPara string Returns ExtendedNamedPath GetExtendedNamedPathList(params BasePathEnum[]) Gets a list of extended named paths for the specified base path types. public List GetExtendedNamedPathList(params BasePathEnum[] basePathEnums) Parameters basePathEnums BasePathEnum[] The base path types to include. Returns List A list of extended named paths. GetNamedPathByName(string) Gets a named path by its name. public NamedPath GetNamedPathByName(string name) Parameters name string The name of the path to retrieve Returns NamedPath The named path with the specified name, or null if not found GetNamedPathByPath(string) Gets a named path by its path. public NamedPath GetNamedPathByPath(string path) Parameters path string The path to look up. Returns NamedPath The named path with the specified path, or null if not found. GetNamedPathList(params BasePathEnum[]) Gets a list of named paths for the specified base path types. public List GetNamedPathList(params BasePathEnum[] basePathEnums) Parameters basePathEnums BasePathEnum[] The base path types to include. Returns List A list of named paths. LoadProjectByRelativePath(string) Loads a project from the specified relative file path. public void LoadProjectByRelativePath(string relativeFilePathFromAdminRoot) Parameters relativeFilePathFromAdminRoot string The relative file path from the admin directory root NewProjectByRelFile(string) Creates a new project from a relative file path. public void NewProjectByRelFile(string relFilePath) Parameters relFilePath string The relative file path from the admin directory Reg(XFactory) Bootstraps XML-factory registration for the HiNC host. Equivalent to Reg(XFactory); entry points that construct HiNcHost directly (without going through LocalProjectService) should call this once at startup. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ReloadProject() Reloads the current project. public void ReloadProject() SaveAsProject(string) Saves the current project to a specified relative file path. public void SaveAsProject(string relativeFilePath) Parameters relativeFilePath string The relative file path from the admin directory root SaveProject() Save project in the current path. public void SaveProject() ShowMessageBoard(string, string, BootstrapTheme) Shows a message board with specified title, message and theme. public void ShowMessageBoard(string title, string message, BootstrapTheme bootstrapThemeColor) Parameters title string The title of the message board message string The message to display bootstrapThemeColor BootstrapTheme The bootstrap theme color for the message board Events OnShownMessageBoard Event raised when a message board is shown. public event ShowMessageBoardDelegate OnShownMessageBoard Event Type ShowMessageBoardDelegate" }, "api/Hi.HiNcKits.LocalApp.html": { "href": "api/Hi.HiNcKits.LocalApp.html", @@ -1832,17 +1832,17 @@ "api/Hi.HiNcKits.PlayerDivConfig.html": { "href": "api/Hi.HiNcKits.PlayerDivConfig.html", "title": "Class PlayerDivConfig | HiAPI-C# 2025", - "summary": "Class PlayerDivConfig Namespace Hi.HiNcKits Assembly HiNc.dll Per-user visibility flags for the Player page's divisions (charts and info panels). Mirrors the HiNcRcl PlayerDivConfig + PlayerDivFlag pair, flattened into a single all-boolean config so the webservice (which has no HiNcHost / HiNcUser) can persist the whole layout through UserConfig alone. public class PlayerDivConfig : IMakeXmlSource Inheritance object PlayerDivConfig 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) Remarks Defaults are tuned for a first-time user: the two info panels (EnableStepDiv and MessageTable) are ON so the Player page looks populated without having to open the Division Visibility dropdown; every chart toggle starts OFF. Constructors PlayerDivConfig() Default constructor. public PlayerDivConfig() PlayerDivConfig(XElement) Initializes a new instance of the PlayerDivConfig class from XML data. public PlayerDivConfig(XElement src) Parameters src XElement XML element containing player-div data. Properties ColorIndexTimeChart Color-index strip chart (single-strip timeline coloured by arbitrary numeric/bool aspect). public bool ColorIndexTimeChart { get; set; } Property Value bool DynamometerForceCycleLineDiv Cycle-line chart of sensor-measured force from an external dynamometer. public bool DynamometerForceCycleLineDiv { get; set; } Property Value bool EnableDetailDiv0 Developer-only raw step-property dump panel. public bool EnableDetailDiv0 { get; set; } Property Value bool EnableStepDiv Full / condensed step information panel (Selected Step Info). public bool EnableStepDiv { get; set; } Property Value bool EnableStripAvailabilityChart Availability strip chart (per-step timeline coloured by availability aspect). public bool EnableStripAvailabilityChart { get; set; } Property Value bool EnableStripRoughnessChart Surface-roughness strip chart (per-step timeline coloured by surface-roughness aspect). public bool EnableStripRoughnessChart { get; set; } Property Value bool ForceCycleLineDiv Cycle-line chart of cutting force along the step's rotation cycle. public bool ForceCycleLineDiv { get; set; } Property Value bool MessageTable Session messages panel. public bool MessageTable { get; set; } Property Value bool SensorSpindleMomentCycleLineDiv Cycle-line chart of sensor-measured spindle moment (overlay on sim moment). public bool SensorSpindleMomentCycleLineDiv { get; set; } Property Value bool SimSpindleMomentCycleLineDiv Cycle-line chart of simulation-derived spindle moment on spindle-rotation coordinate. public bool SimSpindleMomentCycleLineDiv { 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." + "summary": "Class PlayerDivConfig Namespace Hi.HiNcKits Assembly HiNc.dll Per-user visibility flags for the Player page's divisions (charts and info panels). Mirrors the HiNcRcl PlayerDivConfig + PlayerDivFlag pair, flattened into a single all-boolean config so the webservice (which has no HiNcHost / HiNcUser) can persist the whole layout through UserConfig alone. public class PlayerDivConfig : IMakeXmlSource Inheritance object PlayerDivConfig 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) Remarks Defaults are tuned for a first-time user: the two info panels (EnableStepDiv and MessageTable) are ON so the Player page looks populated without having to open the Division Visibility dropdown; every chart toggle starts OFF. Constructors PlayerDivConfig() Default constructor. public PlayerDivConfig() PlayerDivConfig(XElement) Initializes a new instance of the PlayerDivConfig class from XML data. public PlayerDivConfig(XElement src) Parameters src XElement XML element containing player-div data. Properties ColorIndexTimeChart Color-index strip chart (single-strip timeline coloured by arbitrary numeric/bool aspect). public bool ColorIndexTimeChart { get; set; } Property Value bool DynamometerForceCycleLineDiv Cycle-line chart of sensor-measured force from an external dynamometer. public bool DynamometerForceCycleLineDiv { get; set; } Property Value bool EnableDetailDiv0 Developer-only raw step-property dump panel. public bool EnableDetailDiv0 { get; set; } Property Value bool EnableStepDiv Full / condensed step information panel (Selected Step Info). public bool EnableStepDiv { get; set; } Property Value bool EnableStripAvailabilityChart Availability strip chart (per-step timeline coloured by availability aspect). public bool EnableStripAvailabilityChart { get; set; } Property Value bool EnableStripRoughnessChart Surface-roughness strip chart (per-step timeline coloured by surface-roughness aspect). public bool EnableStripRoughnessChart { get; set; } Property Value bool ForceCycleLineDiv Cycle-line chart of cutting force along the step's rotation cycle. public bool ForceCycleLineDiv { get; set; } Property Value bool MessageTable Session messages panel. public bool MessageTable { get; set; } Property Value bool SensorSpindleMomentCycleLineDiv Cycle-line chart of sensor-measured spindle moment (overlay on sim moment). public bool SensorSpindleMomentCycleLineDiv { get; set; } Property Value bool SimSpindleMomentCycleLineDiv Cycle-line chart of simulation-derived spindle moment on spindle-rotation coordinate. public bool SimSpindleMomentCycleLineDiv { 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.HiNcKits.ProxyConfig.html": { "href": "api/Hi.HiNcKits.ProxyConfig.html", "title": "Class ProxyConfig | HiAPI-C# 2025", - "summary": "Class ProxyConfig Namespace Hi.HiNcKits Assembly HiNc.dll Configuration for proxy-related settings. public class ProxyConfig : IMakeXmlSource Inheritance object ProxyConfig 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 ProxyConfig() Default constructor public ProxyConfig() ProxyConfig(XElement, string) Initializes a new instance of the ProxyConfig class from XML data. public ProxyConfig(XElement src, string baseDirectory) Parameters src XElement XML element containing configuration data baseDirectory string Base directory for resolving relative paths Properties AdminDirectory Gets or sets the admin directory path. public string AdminDirectory { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class ProxyConfig Namespace Hi.HiNcKits Assembly HiNc.dll Configuration for proxy-related settings. public class ProxyConfig : IMakeXmlSource Inheritance object ProxyConfig 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 ProxyConfig() Default constructor public ProxyConfig() ProxyConfig(XElement, string) Initializes a new instance of the ProxyConfig class from XML data. public ProxyConfig(XElement src, string baseDirectory) Parameters src XElement XML element containing configuration data baseDirectory string Base directory for resolving relative paths Properties AdminDirectory Gets or sets the admin directory path. public string AdminDirectory { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.HiNcKits.UserConfig.html": { "href": "api/Hi.HiNcKits.UserConfig.html", "title": "Class UserConfig | HiAPI-C# 2025", - "summary": "Class UserConfig Namespace Hi.HiNcKits Assembly HiNc.dll User Configuration public class UserConfig : IMakeXmlSource Inheritance object UserConfig 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 UserConfig() Default constructor public UserConfig() UserConfig(XElement, string) Initializes a new instance of the UserConfig class from XML data. public UserConfig(XElement src, string baseDirectory) Parameters src XElement XML element containing configuration data baseDirectory string Base directory for resolving relative paths Properties DisplayedStepPresentKeyList Step infomation key list to show. public List DisplayedStepPresentKeyList { get; set; } Property Value List EnableFullControl Enable Full control of the application. Eanble System.Diagnostics.Process in GUI Script Command. Not used yet. public bool EnableFullControl { get; set; } Property Value bool EquipmentWorkpieceSetupDisplayeeConfig Configuration for EquipmentWorkpieceSetupDisplayee public WorkpieceEditorDisplayeeConfig EquipmentWorkpieceSetupDisplayeeConfig { get; set; } Property Value WorkpieceEditorDisplayeeConfig FixtureSetupDisplayeeConfig Configuration for FixtureSetupDisplayee public FixtureEditorDisplayeeConfig FixtureSetupDisplayeeConfig { get; set; } Property Value FixtureEditorDisplayeeConfig GraphicCacheLowerLimitMb Gets or sets the lower limit of graphic cache in megabytes. public double GraphicCacheLowerLimitMb { get; set; } Property Value double GraphicCacheMb Gets or sets the graphic cache size in megabytes. public long GraphicCacheMb { get; set; } Property Value long GraphicCacheUpperLimitMb Gets or sets the upper limit of graphic cache in megabytes. public double GraphicCacheUpperLimitMb { get; set; } Property Value double LanguageCode Gets or sets the language code for the application UI. public string LanguageCode { get; set; } Property Value string PlayerDivConfig Per-user visibility flags for the Player page's divisions (charts and info panels). Used by the webservice Division Visibility dropdown; persisted alongside the rest of this UserConfig so the layout survives a page refresh. public PlayerDivConfig PlayerDivConfig { get; set; } Property Value PlayerDivConfig ShowPhysicsOptions Gets or sets whether to show physics options in the UI. public bool ShowPhysicsOptions { 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." + "summary": "Class UserConfig Namespace Hi.HiNcKits Assembly HiNc.dll User Configuration public class UserConfig : IMakeXmlSource Inheritance object UserConfig 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 UserConfig() Default constructor public UserConfig() UserConfig(XElement, string) Initializes a new instance of the UserConfig class from XML data. public UserConfig(XElement src, string baseDirectory) Parameters src XElement XML element containing configuration data baseDirectory string Base directory for resolving relative paths Properties DisplayedStepPresentKeyList Step infomation key list to show. public List DisplayedStepPresentKeyList { get; set; } Property Value List EnableFullControl Enable Full control of the application. Eanble System.Diagnostics.Process in GUI Script Command. Not used yet. public bool EnableFullControl { get; set; } Property Value bool EquipmentWorkpieceSetupDisplayeeConfig Configuration for EquipmentWorkpieceSetupDisplayee public WorkpieceEditorDisplayeeConfig EquipmentWorkpieceSetupDisplayeeConfig { get; set; } Property Value WorkpieceEditorDisplayeeConfig FixtureSetupDisplayeeConfig Configuration for FixtureSetupDisplayee public FixtureEditorDisplayeeConfig FixtureSetupDisplayeeConfig { get; set; } Property Value FixtureEditorDisplayeeConfig GraphicCacheLowerLimitMb Gets or sets the lower limit of graphic cache in megabytes. public double GraphicCacheLowerLimitMb { get; set; } Property Value double GraphicCacheMb Gets or sets the graphic cache size in megabytes. public long GraphicCacheMb { get; set; } Property Value long GraphicCacheUpperLimitMb Gets or sets the upper limit of graphic cache in megabytes. public double GraphicCacheUpperLimitMb { get; set; } Property Value double LanguageCode Gets or sets the language code for the application UI. public string LanguageCode { get; set; } Property Value string PlayerDivConfig Per-user visibility flags for the Player page's divisions (charts and info panels). Used by the webservice Division Visibility dropdown; persisted alongside the rest of this UserConfig so the layout survives a page refresh. public PlayerDivConfig PlayerDivConfig { get; set; } Property Value PlayerDivConfig ShowPhysicsOptions Gets or sets whether to show physics options in the UI. public bool ShowPhysicsOptions { 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.HiNcKits.UserService.html": { "href": "api/Hi.HiNcKits.UserService.html", @@ -1887,7 +1887,7 @@ "api/Hi.Machining.FreeformRemover.html": { "href": "api/Hi.Machining.FreeformRemover.html", "title": "Class FreeformRemover | HiAPI-C# 2025", - "summary": "Class FreeformRemover Namespace Hi.Machining Assembly HiMech.dll Represents a freeform cutting tool that can be used in machining operations. This cutter type supports complex geometries for both the noble (upper) part and the shaper (cutting) part. public class FreeformRemover : ICutter, IGetSweptable, IVolumeRemover, IAnchoredDisplayee, IDisplayee, ITopo, IGetAsmb, IGetAnchor, IGetTopoIndex, IGetAnchoredDisplayeeList, IGetFletchBuckle, IMakeXmlSource, IAbstractNote, IAnchoredCollidableStem, IAnchoredCollidableNode, IAnchoredCollidableBased, IExpandToBox3d, IDuplicate, IDisposable, IClearCache, INameNote Inheritance object FreeformRemover Implements ICutter IGetSweptable IVolumeRemover IAnchoredDisplayee IDisplayee ITopo IGetAsmb IGetAnchor IGetTopoIndex IGetAnchoredDisplayeeList IGetFletchBuckle IMakeXmlSource IAbstractNote IAnchoredCollidableStem IAnchoredCollidableNode IAnchoredCollidableBased IExpandToBox3d IDuplicate IDisposable IClearCache INameNote Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DispUtil.Display(IDisplayee, Bind, Mat4d) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) CutterUtil.GetCutterBodyCoolingArea_mm2(ICutter) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) TopoDisplayeeUtil.Display(ITopo, Bind) TopoDisplayeeUtil.ExpandToBox3d(ITopo, Box3d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Remarks The FreeformRemover class provides functionality for: Managing complex cutting tool geometries Supporting both spinning and non-spinning cutting operations Handling collision detection and display Managing tool assembly and anchoring Supporting XML serialization and deserialization Constructors FreeformRemover() Initializes a new instance. public FreeformRemover() Remarks This constructor initializes the cutter with default settings and creates the necessary anchors and topology bricks for both the noble and shaper parts. FreeformRemover(XElement, string, string, IProgress, object[]) Initializes a new instance from XML data. public FreeformRemover(XElement src, string baseDirectory, string relFile, IProgress progress, object[] res) Parameters src XElement The XML element containing the cutter data. baseDirectory string The base directory for resolving relative paths. relFile string The relative file path for resolving references. progress IProgress Progress reporter for diagnostic messages emitted during construction. res object[] Additional resources for initialization. Properties AbstractNote Gets a brief description of the cutter, including its height. public string AbstractNote { get; } Property Value string Remarks The abstract note includes the cutter type and its height dimension, formatted as \"Freeform-H{this.GetBox3d().Dim.Z}\". CollidableName Gets the name used for collision detection purposes. public string CollidableName { get; } Property Value string CutterTip Gets the cutter tip anchor point. On the same location of GeomAnchor. public Anchor CutterTip { get; } Property Value Anchor Remarks The cutter tip represents the reference point for the cutting edge or surface. This point is used for positioning and orientation calculations during machining operations. GeomAnchor StrutGeom and ShaperGeom locate on this anchor. On the same location of CutterTip. public Anchor GeomAnchor { get; } Property Value Anchor GeomToHolderBranch Gets the branch that transforms from GeomAnchor to Hi.Machining.FreeformRemover.HolderBuckle. public Branch GeomToHolderBranch { get; } Property Value Branch GeomToHolderTransformer Gets or sets the transformer from GeomAnchor to Hi.Machining.FreeformRemover.HolderBuckle. public ITransformer GeomToHolderTransformer { get; set; } Property Value ITransformer IsSpinningCutter Gets or sets a value indicating whether this is a spinning cutting tool. public bool IsSpinningCutter { get; set; } Property Value bool Remarks This property affects how the cutter interacts with the workpiece during machining operations. Spinning cutters typically perform rotary cutting operations, while non-spinning cutters may be used for other types of machining. KeepHolderBuckleOnTop When true, automatically translates the holder buckle to be above the highest geometry point. public bool KeepHolderBuckleOnTop { get; set; } Property Value bool Name Name. public string Name { get; set; } Property Value string Note Note. public string Note { get; set; } Property Value string ShaperGeom Gets or sets the shaper (cutting) part geometry of the cutter. public IGetStl ShaperGeom { get; set; } Property Value IGetStl Remarks The shaper geometry represents the cutting portion of the tool that directly interacts with the workpiece during machining operations. ShaperTopoBrick Gets the topology brick representing the shaper (cutting) part of the cutter. public ITopoBrick ShaperTopoBrick { get; } Property Value ITopoBrick StrutGeom Gets or sets the strut (upper) part geometry of the cutter. public IGetStl StrutGeom { get; set; } Property Value IGetStl Remarks The noble geometry represents the non-cutting portion of the tool, typically including the tool holder and shank. This geometry is important for collision checking and visualization. StrutTopoBrick Gets the topology brick representing the upper (noble) part of the cutter. public ITopoBrick StrutTopoBrick { get; } Property Value ITopoBrick XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears all cached data associated with the cutter. public void ClearCache() Remarks This includes clearing the cached sweptable and solid representations of both the noble and shaper parts of the cutter. Display(Bind) Displays the cutter using the provided binding context. public void Display(Bind bind) Parameters bind Bind The binding context for display operations. Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) Releases the unmanaged resources and optionally releases the managed resources. protected virtual void Dispose(bool disposing) Parameters disposing bool true to release both managed and unmanaged resources; false to release only unmanaged resources. Duplicate(params object[]) Creates a deep copy of the current instance. public object Duplicate(params object[] res) Parameters res object[] Additional resources for duplication. Returns object A new instance with copied geometry data. ExpandToBox3d(Box3d) Expands the given bounding box to include the cutter's geometry. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d The bounding box to expand. GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchoredCollidableNode() Gets the anchored collidable node associated with this object. public IAnchoredCollidableNode GetAnchoredCollidableNode() Returns IAnchoredCollidableNode The anchored collidable node. GetAnchoredCollidables() Gets the list of anchored collidable nodes contained by this stem. public List GetAnchoredCollidables() Returns List A list of anchored collidable nodes. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetFletchBuckle() Get fletch buckle anchor. the anchor that generally connect to fixed part such as ground and triggering(motor)-side. public Anchor GetFletchBuckle() Returns Anchor buckle anchor GetShaperDisplayee() Gets the shaper displayee for visualization purposes. public IAnchoredDisplayee GetShaperDisplayee() Returns IAnchoredDisplayee An IAnchoredDisplayee representing the shaper (cutting) part of the cutter. Remarks This method creates a display representation of the shaper geometry, which can be either the raw geometry if it implements IDisplayee, or the topology brick representation. GetStrutAnchoredDisplayee() Gets the noble (upper) part displayee for visualization purposes. public AnchoredDisplayee GetStrutAnchoredDisplayee() Returns AnchoredDisplayee An AnchoredDisplayee representing the noble part of the cutter with modified display properties. Remarks This method creates a display representation of the noble geometry with slightly darker coloring to distinguish it from the shaper part during visualization. GetSweptable(double) Gets the sweptable representation of the cutter for swept volume calculations. public Sweptable GetSweptable(double fractionTolerance) Parameters fractionTolerance double The tolerance value for swept volume calculations. Returns Sweptable A Sweptable object representing the cutter's swept volume, or null if the shaper geometry is not available. Remarks The sweptable representation is cached for performance. Use ClearCache to reset the cached data. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FreeformRemover Namespace Hi.Machining Assembly HiMech.dll Represents a freeform cutting tool that can be used in machining operations. This cutter type supports complex geometries for both the noble (upper) part and the shaper (cutting) part. public class FreeformRemover : ICutter, IGetSweptable, IVolumeRemover, IAnchoredDisplayee, IDisplayee, ITopo, IGetAsmb, IGetAnchor, IGetTopoIndex, IGetAnchoredDisplayeeList, IGetFletchBuckle, IMakeXmlSource, IAbstractNote, IAnchoredCollidableStem, IAnchoredCollidableNode, IAnchoredCollidableBased, IExpandToBox3d, IDuplicate, IDisposable, IClearCache, INameNote Inheritance object FreeformRemover Implements ICutter IGetSweptable IVolumeRemover IAnchoredDisplayee IDisplayee ITopo IGetAsmb IGetAnchor IGetTopoIndex IGetAnchoredDisplayeeList IGetFletchBuckle IMakeXmlSource IAbstractNote IAnchoredCollidableStem IAnchoredCollidableNode IAnchoredCollidableBased IExpandToBox3d IDuplicate IDisposable IClearCache INameNote Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DispUtil.Display(IDisplayee, Bind, Mat4d) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) CutterUtil.GetCutterBodyCoolingArea_mm2(ICutter) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) TopoDisplayeeUtil.Display(ITopo, Bind) TopoDisplayeeUtil.ExpandToBox3d(ITopo, Box3d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Remarks The FreeformRemover class provides functionality for: Managing complex cutting tool geometries Supporting both spinning and non-spinning cutting operations Handling collision detection and display Managing tool assembly and anchoring Supporting XML serialization and deserialization Constructors FreeformRemover() Initializes a new instance. public FreeformRemover() Remarks This constructor initializes the cutter with default settings and creates the necessary anchors and topology bricks for both the noble and shaper parts. FreeformRemover(XElement, string, string, IProgress, object[]) Initializes a new instance from XML data. public FreeformRemover(XElement src, string baseDirectory, string relFile, IProgress progress, object[] res) Parameters src XElement The XML element containing the cutter data. baseDirectory string The base directory for resolving relative paths. relFile string The relative file path for resolving references. progress IProgress Progress reporter for diagnostic messages emitted during construction. res object[] Additional resources for initialization. Properties AbstractNote Gets a brief description of the cutter, including its height. public string AbstractNote { get; } Property Value string Remarks The abstract note includes the cutter type and its height dimension, formatted as \"Freeform-H{this.GetBox3d().Dim.Z}\". CollidableName Gets the name used for collision detection purposes. public string CollidableName { get; } Property Value string CutterTip Gets the cutter tip anchor point. On the same location of GeomAnchor. public Anchor CutterTip { get; } Property Value Anchor Remarks The cutter tip represents the reference point for the cutting edge or surface. This point is used for positioning and orientation calculations during machining operations. GeomAnchor StrutGeom and ShaperGeom locate on this anchor. On the same location of CutterTip. public Anchor GeomAnchor { get; } Property Value Anchor GeomToHolderBranch Gets the branch that transforms from GeomAnchor to Hi.Machining.FreeformRemover.HolderBuckle. public Branch GeomToHolderBranch { get; } Property Value Branch GeomToHolderTransformer Gets or sets the transformer from GeomAnchor to Hi.Machining.FreeformRemover.HolderBuckle. public ITransformer GeomToHolderTransformer { get; set; } Property Value ITransformer IsSpinningCutter Gets or sets a value indicating whether this is a spinning cutting tool. public bool IsSpinningCutter { get; set; } Property Value bool Remarks This property affects how the cutter interacts with the workpiece during machining operations. Spinning cutters typically perform rotary cutting operations, while non-spinning cutters may be used for other types of machining. KeepHolderBuckleOnTop When true, automatically translates the holder buckle to be above the highest geometry point. public bool KeepHolderBuckleOnTop { get; set; } Property Value bool Name Name. public string Name { get; set; } Property Value string Note Note. public string Note { get; set; } Property Value string ShaperGeom Gets or sets the shaper (cutting) part geometry of the cutter. public IGetStl ShaperGeom { get; set; } Property Value IGetStl Remarks The shaper geometry represents the cutting portion of the tool that directly interacts with the workpiece during machining operations. ShaperTopoBrick Gets the topology brick representing the shaper (cutting) part of the cutter. public ITopoBrick ShaperTopoBrick { get; } Property Value ITopoBrick StrutGeom Gets or sets the strut (upper) part geometry of the cutter. public IGetStl StrutGeom { get; set; } Property Value IGetStl Remarks The noble geometry represents the non-cutting portion of the tool, typically including the tool holder and shank. This geometry is important for collision checking and visualization. StrutTopoBrick Gets the topology brick representing the upper (noble) part of the cutter. public ITopoBrick StrutTopoBrick { get; } Property Value ITopoBrick XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears all cached data associated with the cutter. public void ClearCache() Remarks This includes clearing the cached sweptable and solid representations of both the noble and shaper parts of the cutter. Display(Bind) Displays the cutter using the provided binding context. public void Display(Bind bind) Parameters bind Bind The binding context for display operations. Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) Releases the unmanaged resources and optionally releases the managed resources. protected virtual void Dispose(bool disposing) Parameters disposing bool true to release both managed and unmanaged resources; false to release only unmanaged resources. Duplicate(params object[]) Creates a deep copy of the current instance. public object Duplicate(params object[] res) Parameters res object[] Additional resources for duplication. Returns object A new instance with copied geometry data. ExpandToBox3d(Box3d) Expands the given bounding box to include the cutter's geometry. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d The bounding box to expand. GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchoredCollidableNode() Gets the anchored collidable node associated with this object. public IAnchoredCollidableNode GetAnchoredCollidableNode() Returns IAnchoredCollidableNode The anchored collidable node. GetAnchoredCollidables() Gets the list of anchored collidable nodes contained by this stem. public List GetAnchoredCollidables() Returns List A list of anchored collidable nodes. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetFletchBuckle() Get fletch buckle anchor. the anchor that generally connect to fixed part such as ground and triggering(motor)-side. public Anchor GetFletchBuckle() Returns Anchor buckle anchor GetShaperDisplayee() Gets the shaper displayee for visualization purposes. public IAnchoredDisplayee GetShaperDisplayee() Returns IAnchoredDisplayee An IAnchoredDisplayee representing the shaper (cutting) part of the cutter. Remarks This method creates a display representation of the shaper geometry, which can be either the raw geometry if it implements IDisplayee, or the topology brick representation. GetStrutAnchoredDisplayee() Gets the noble (upper) part displayee for visualization purposes. public AnchoredDisplayee GetStrutAnchoredDisplayee() Returns AnchoredDisplayee An AnchoredDisplayee representing the noble part of the cutter with modified display properties. Remarks This method creates a display representation of the noble geometry with slightly darker coloring to distinguish it from the shaper part during visualization. GetSweptable(double) Gets the sweptable representation of the cutter for swept volume calculations. public Sweptable GetSweptable(double fractionTolerance) Parameters fractionTolerance double The tolerance value for swept volume calculations. Returns Sweptable A Sweptable object representing the cutter's swept volume, or null if the shaper geometry is not available. Remarks The sweptable representation is cached for performance. Use ClearCache to reset the cached data. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Machining.ICutter.html": { "href": "api/Hi.Machining.ICutter.html", @@ -1932,17 +1932,17 @@ "api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html": { "href": "api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html", "title": "Class MachiningEquipment | HiAPI-C# 2025", - "summary": "Class MachiningEquipment Namespace Hi.Machining.MachiningEquipmentUtils Assembly HiMech.dll Machining Equipment. Include the machining chain, workpiece, tool and fixture, etc.. public class MachiningEquipment : IMachiningEquipment, IDisplayee, IExpandToBox3d, IMakeXmlSource, IGetAnchoredDisplayeeList, IGetProgramCl, IGetAsmb, IGetAnchor, IGetTopoIndex, IGetMachiningChain, IGetMachiningEquipment Inheritance object MachiningEquipment Implements IMachiningEquipment IDisplayee IExpandToBox3d IMakeXmlSource IGetAnchoredDisplayeeList IGetProgramCl IGetAsmb IGetAnchor IGetTopoIndex IGetMachiningChain IGetMachiningEquipment Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DispUtil.Display(IDisplayee, Bind, Mat4d) MachiningEquipmentUtil.GetIsoCoordinatePosition(IMachiningEquipment, Vec3d) MachiningEquipmentUtil.GetMachinePositionAtProgramZero(IMachiningEquipment) MachiningEquipmentUtil.GetMachinePositionAtTableBuckleZero(IMachiningEquipment) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningEquipment() Ctor. public MachiningEquipment() MachiningEquipment(XElement, string, string, IProgress) Initializes a new instance of the MachiningEquipment class from XML data. public MachiningEquipment(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement The XML element containing the equipment configuration. baseDirectory string The base directory for resolving relative file paths. relFile string The relative file path for XML serialization. progress IProgress Progress reporter for diagnostic messages emitted during construction. Properties Asmb Asmb of the entire equipment. public Asmb Asmb { get; } Property Value Asmb BackgroundTemperature_C Gets or sets the background temperature in Celsius. This is a convenience property that converts between Celsius and Kelvin. public double BackgroundTemperature_C { get; set; } Property Value double BackgroundTemperature_K Gets or sets the background temperature in Kelvin. This represents the ambient temperature of the machining environment. public double BackgroundTemperature_K { get; set; } Property Value double CoolantHeatCondition Gets or sets the coolant heat condition settings. This includes coolant temperature and heat transfer coefficients. public CoolantHeatCondition CoolantHeatCondition { get; set; } Property Value CoolantHeatCondition Fixture Fixture. public Fixture Fixture { get; set; } Property Value Fixture MachiningChain Body of the equipment. public IMachiningChain MachiningChain { get; set; } Property Value IMachiningChain MachiningChainFile Gets or sets the file path of the solid machining chain. This is used for XML serialization and file management. public string MachiningChainFile { get; set; } Property Value string MachiningTool Milling tool. public IMachiningTool MachiningTool { get; set; } Property Value IMachiningTool SpindleCapability Gets or sets the spindle capability configuration. This defines the operational capabilities and limits of the spindle. public SpindleCapability SpindleCapability { get; set; } Property Value SpindleCapability SpindleCapabilityFile Gets or sets the file path of the spindle capability configuration. This is used for XML serialization and file management. public string SpindleCapabilityFile { get; set; } Property Value string TableToComp Transformer of the branch from table buckle to workpiece side buckle. Note that the workpiece side buckle links to Fixture if fixture exist; otherwise, it links to Workpiece if workpiece exist. If Workpiece either Fixture do not exist, this property makes no effect. public ITransformer TableToComp { get; set; } Property Value ITransformer Workpiece Workpiece. public Workpiece Workpiece { get; set; } Property Value Workpiece WorkpieceDisplayee Displayee for workpiece rendering. Set by the runtime service layer. public IDisplayee WorkpieceDisplayee { get; set; } Property Value IDisplayee XName Name for XML IO. public static string XName { get; } Property Value string Methods Detect(bool) Performs collision detection. public MechCollisionResult Detect(bool addFluteAndWorkpieceDetection) Parameters addFluteAndWorkpieceDetection bool Whether to include flute and workpiece in detection. Returns MechCollisionResult Significant collision result. Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetMachiningChain() Gets the machining chain instance. public IMachiningChain GetMachiningChain() Returns IMachiningChain The machining chain instance. GetMillingEquipment() Get MachiningEquipment. public MachiningEquipment GetMillingEquipment() Returns MachiningEquipment MachiningEquipment GetProgramCl() Get CL (Cutter Location). Where Point is tool tip position; Normal is tool orientation. public DVec3d GetProgramCl() Returns DVec3d CL GetToolTipXyzOnProgramZero() Get tool tip xyz from workpiece geom anchor. public Vec3d GetToolTipXyzOnProgramZero() Returns Vec3d if no MachiningTool or no Workpiece equiping, return null; otherwise, return the XYZ from workpiece geomanchor to tool tip. GetTransformFromRootToProgramZero() Gets the transform matrix from the root coordinate system to the program zero coordinate system. public Mat4d GetTransformFromRootToProgramZero() Returns Mat4d A 4x4 transformation matrix representing the coordinate system transformation. 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. PrepareCollidableItems() Prepares all collidable items for collision detection. This method should be called before performing collision detection. public void PrepareCollidableItems() ResetCollisionFlags() Resets all collision flags to their default states. This should be called after collision detection is complete. public void ResetCollisionFlags() Tooling(int, MachiningToolHouse) Set MachiningTool by toolId and toolHouse. public bool Tooling(int toolId, MachiningToolHouse toolHouse) Parameters toolId int tool ID toolHouse MachiningToolHouse tool house Returns bool true if tool changed; otherwise, false. Exceptions ToolNotFoundException Throw If toolId does not exist on toolHouse." + "summary": "Class MachiningEquipment Namespace Hi.Machining.MachiningEquipmentUtils Assembly HiMech.dll Machining Equipment. Include the machining chain, workpiece, tool and fixture, etc.. public class MachiningEquipment : IMachiningEquipment, IDisplayee, IExpandToBox3d, IMakeXmlSource, IGetAnchoredDisplayeeList, IGetProgramCl, IGetAsmb, IGetAnchor, IGetTopoIndex, IGetMachiningChain, IGetMachiningEquipment Inheritance object MachiningEquipment Implements IMachiningEquipment IDisplayee IExpandToBox3d IMakeXmlSource IGetAnchoredDisplayeeList IGetProgramCl IGetAsmb IGetAnchor IGetTopoIndex IGetMachiningChain IGetMachiningEquipment Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DispUtil.Display(IDisplayee, Bind, Mat4d) MachiningEquipmentUtil.GetIsoCoordinatePosition(IMachiningEquipment, Vec3d) MachiningEquipmentUtil.GetMachinePositionAtProgramZero(IMachiningEquipment) MachiningEquipmentUtil.GetMachinePositionAtTableBuckleZero(IMachiningEquipment) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningEquipment() Ctor. public MachiningEquipment() MachiningEquipment(XElement, string, string, IProgress) Initializes a new instance of the MachiningEquipment class from XML data. public MachiningEquipment(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement The XML element containing the equipment configuration. baseDirectory string The base directory for resolving relative file paths. relFile string The relative file path for XML serialization. progress IProgress Progress reporter for diagnostic messages emitted during construction. Properties Asmb Asmb of the entire equipment. public Asmb Asmb { get; } Property Value Asmb BackgroundTemperature_C Gets or sets the background temperature in Celsius. This is a convenience property that converts between Celsius and Kelvin. public double BackgroundTemperature_C { get; set; } Property Value double BackgroundTemperature_K Gets or sets the background temperature in Kelvin. This represents the ambient temperature of the machining environment. public double BackgroundTemperature_K { get; set; } Property Value double CoolantHeatCondition Gets or sets the coolant heat condition settings. This includes coolant temperature and heat transfer coefficients. public CoolantHeatCondition CoolantHeatCondition { get; set; } Property Value CoolantHeatCondition Fixture Fixture. public Fixture Fixture { get; set; } Property Value Fixture MachiningChain Body of the equipment. public IMachiningChain MachiningChain { get; set; } Property Value IMachiningChain MachiningChainFile Gets or sets the file path of the solid machining chain. This is used for XML serialization and file management. public string MachiningChainFile { get; set; } Property Value string MachiningTool Milling tool. public IMachiningTool MachiningTool { get; set; } Property Value IMachiningTool SpindleCapability Gets or sets the spindle capability configuration. This defines the operational capabilities and limits of the spindle. public SpindleCapability SpindleCapability { get; set; } Property Value SpindleCapability SpindleCapabilityFile Gets or sets the file path of the spindle capability configuration. This is used for XML serialization and file management. public string SpindleCapabilityFile { get; set; } Property Value string TableToComp Transformer of the branch from table buckle to workpiece side buckle. Note that the workpiece side buckle links to Fixture if fixture exist; otherwise, it links to Workpiece if workpiece exist. If Workpiece either Fixture do not exist, this property makes no effect. public ITransformer TableToComp { get; set; } Property Value ITransformer Workpiece Workpiece. public Workpiece Workpiece { get; set; } Property Value Workpiece WorkpieceDisplayee Displayee for workpiece rendering. Set by the runtime service layer. public IDisplayee WorkpieceDisplayee { get; set; } Property Value IDisplayee XName Name for XML IO. public static string XName { get; } Property Value string Methods Detect(bool) Performs collision detection. public MechCollisionResult Detect(bool addFluteAndWorkpieceDetection) Parameters addFluteAndWorkpieceDetection bool Whether to include flute and workpiece in detection. Returns MechCollisionResult Significant collision result. Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetMachiningChain() Gets the machining chain instance. public IMachiningChain GetMachiningChain() Returns IMachiningChain The machining chain instance. GetMillingEquipment() Get MachiningEquipment. public MachiningEquipment GetMillingEquipment() Returns MachiningEquipment MachiningEquipment GetProgramCl() Get CL (Cutter Location). Where Point is tool tip position; Normal is tool orientation. public DVec3d GetProgramCl() Returns DVec3d CL GetToolTipXyzOnProgramZero() Get tool tip xyz from workpiece geom anchor. public Vec3d GetToolTipXyzOnProgramZero() Returns Vec3d if no MachiningTool or no Workpiece equiping, return null; otherwise, return the XYZ from workpiece geomanchor to tool tip. GetTransformFromRootToProgramZero() Gets the transform matrix from the root coordinate system to the program zero coordinate system. public Mat4d GetTransformFromRootToProgramZero() Returns Mat4d A 4x4 transformation matrix representing the coordinate system transformation. 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. PrepareCollidableItems() Prepares all collidable items for collision detection. This method should be called before performing collision detection. public void PrepareCollidableItems() Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ResetCollisionFlags() Resets all collision flags to their default states. This should be called after collision detection is complete. public void ResetCollisionFlags() Tooling(int, MachiningToolHouse) Set MachiningTool by toolId and toolHouse. public bool Tooling(int toolId, MachiningToolHouse toolHouse) Parameters toolId int tool ID toolHouse MachiningToolHouse tool house Returns bool true if tool changed; otherwise, false. Exceptions ToolNotFoundException Throw If toolId does not exist on toolHouse." }, "api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.html": { "href": "api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.html", "title": "Class MachiningEquipmentCollisionIndex | HiAPI-C# 2025", - "summary": "Class MachiningEquipmentCollisionIndex Namespace Hi.Machining.MachiningEquipmentUtils Assembly HiMech.dll Represents a collision index for machining equipment components. This class manages collision detection between different parts of the machining equipment. public class MachiningEquipmentCollisionIndex : ICollisionIndex, IGetCollidable, IMakeXmlSource, IToXElement Inheritance object MachiningEquipmentCollisionIndex Implements ICollisionIndex IGetCollidable IMakeXmlSource IToXElement Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningEquipmentCollisionIndex(MachiningEquipment, string) Initializes a new instance of the MachiningEquipmentCollisionIndex class with the specified equipment and key. public MachiningEquipmentCollisionIndex(MachiningEquipment equipment, string key) Parameters equipment MachiningEquipment The machining equipment to associate with this collision index. key string The key identifying the component in the collision system. MachiningEquipmentCollisionIndex(string) Initializes a new instance of the MachiningEquipmentCollisionIndex class with the specified key. public MachiningEquipmentCollisionIndex(string key) Parameters key string The key identifying the component in the collision system. MachiningEquipmentCollisionIndex(XElement, IGetMachiningEquipment) Initializes a new instance of the MachiningEquipmentCollisionIndex class from XML data. public MachiningEquipmentCollisionIndex(XElement src, IGetMachiningEquipment equipment) Parameters src XElement The XML element containing the collision index configuration. equipment IGetMachiningEquipment The equipment provider interface. Fields XName Gets the XML element name for serialization. public static string XName Field Value string Properties Anchor Gets the anchor point for the component identified by this index. public Anchor Anchor { get; } Property Value Anchor Remarks The anchor point returned depends on the component key: Workpiece: Geometry anchor Fixture: Geometry anchor ToolHolder: Root anchor of the holder CutterShank: Root anchor of the upper beam topo brick CutterFlute: Root anchor of the shaper topo brick Other: Machine tool component anchor Equipment Gets or sets the machining equipment associated with this collision index. When set, updates the component anchor and collidable based on the equipment's solid machining chain. public IMachiningEquipment Equipment { get; set; } Property Value IMachiningEquipment Key Gets the key identifying the component in the collision system. public string Key { get; } Property Value string WorkpieceRuntimeGeomGetter Getter for runtime geometry of the workpiece. Set by the service layer. public Func WorkpieceRuntimeGeomGetter { get; set; } Property Value Func Methods Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. GetCollidable() Gets the collidable object for the component identified by this index. public ICollidable GetCollidable() Returns ICollidable The collidable object representing the component's geometry. The type of collidable returned depends on the component key: Workpiece: Runtime geometry Fixture: Solid collidable ToolHolder: Cylindroid or freeform holder solid CutterShank: Upper beam topo brick solid CutterFlute: Shaper topo brick solid Other: Machine tool component collidable GetHashCode() Gets a hash code for the current object. public override int GetHashCode() Returns int A hash code for the current object. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class MachiningEquipmentCollisionIndex Namespace Hi.Machining.MachiningEquipmentUtils Assembly HiMech.dll Represents a collision index for machining equipment components. This class manages collision detection between different parts of the machining equipment. public class MachiningEquipmentCollisionIndex : ICollisionIndex, IGetCollidable, IMakeXmlSource, IToXElement Inheritance object MachiningEquipmentCollisionIndex Implements ICollisionIndex IGetCollidable IMakeXmlSource IToXElement Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningEquipmentCollisionIndex(MachiningEquipment, string) Initializes a new instance of the MachiningEquipmentCollisionIndex class with the specified equipment and key. public MachiningEquipmentCollisionIndex(MachiningEquipment equipment, string key) Parameters equipment MachiningEquipment The machining equipment to associate with this collision index. key string The key identifying the component in the collision system. MachiningEquipmentCollisionIndex(string) Initializes a new instance of the MachiningEquipmentCollisionIndex class with the specified key. public MachiningEquipmentCollisionIndex(string key) Parameters key string The key identifying the component in the collision system. MachiningEquipmentCollisionIndex(XElement, IGetMachiningEquipment) Initializes a new instance of the MachiningEquipmentCollisionIndex class from XML data. public MachiningEquipmentCollisionIndex(XElement src, IGetMachiningEquipment equipment) Parameters src XElement The XML element containing the collision index configuration. equipment IGetMachiningEquipment The equipment provider interface. Fields XName Gets the XML element name for serialization. public static string XName Field Value string Properties Anchor Gets the anchor point for the component identified by this index. public Anchor Anchor { get; } Property Value Anchor Remarks The anchor point returned depends on the component key: Workpiece: Geometry anchor Fixture: Geometry anchor ToolHolder: Root anchor of the holder CutterShank: Root anchor of the upper beam topo brick CutterFlute: Root anchor of the shaper topo brick Other: Machine tool component anchor Equipment Gets or sets the machining equipment associated with this collision index. When set, updates the component anchor and collidable based on the equipment's solid machining chain. public IMachiningEquipment Equipment { get; set; } Property Value IMachiningEquipment Key Gets the key identifying the component in the collision system. public string Key { get; } Property Value string WorkpieceRuntimeGeomGetter Getter for runtime geometry of the workpiece. Set by the service layer. public Func WorkpieceRuntimeGeomGetter { get; set; } Property Value Func Methods Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. GetCollidable() Gets the collidable object for the component identified by this index. public ICollidable GetCollidable() Returns ICollidable The collidable object representing the component's geometry. The type of collidable returned depends on the component key: Workpiece: Runtime geometry Fixture: Solid collidable ToolHolder: Cylindroid or freeform holder solid CutterShank: Upper beam topo brick solid CutterFlute: Shaper topo brick solid Other: Machine tool component collidable GetHashCode() Gets a hash code for the current object. public override int GetHashCode() Returns int A hash code for the current object. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.html": { "href": "api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.html", "title": "Class MachiningEquipmentCollisionIndexPairsSource | HiAPI-C# 2025", - "summary": "Class MachiningEquipmentCollisionIndexPairsSource Namespace Hi.Machining.MachiningEquipmentUtils Assembly HiMech.dll Source of CollisionIndexPair. The adjacent solids will not be added to the CollisionIndexPairs. public class MachiningEquipmentCollisionIndexPairsSource : ICollisionIndexPairsSource, IGetCollisionIndexPairs, IMakeXmlSource Inheritance object MachiningEquipmentCollisionIndexPairsSource Implements ICollisionIndexPairsSource IGetCollisionIndexPairs 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 MachiningEquipmentCollisionIndexPairsSource(IMachiningChain, HashSet) Initializes a new instance of the MachiningEquipmentCollisionIndexPairsSource class with a specified machining chain and excluded pairs. public MachiningEquipmentCollisionIndexPairsSource(IMachiningChain src, HashSet excludedPairs) Parameters src IMachiningChain The solid machining chain to build collision pairs from. excludedPairs HashSet The set of collision pairs to exclude from collision detection. Remarks This constructor builds the default collision index pairs from the provided machining chain and removes the specified excluded pairs from consideration. MachiningEquipmentCollisionIndexPairsSource(IMachiningChain, string) Initializes a new instance of the MachiningEquipmentCollisionIndexPairsSource class with a specified machining chain and excluded pairs string. public MachiningEquipmentCollisionIndexPairsSource(IMachiningChain src, string excludedPairsString = \"\") Parameters src IMachiningChain The solid machining chain to build collision pairs from. excludedPairsString string A string representation of collision pairs to exclude, in the format \"[Key1][Key2];[Key3][Key4]\". Remarks This constructor builds the default collision index pairs from the provided machining chain and removes the pairs specified in the excludedPairsString from consideration. MachiningEquipmentCollisionIndexPairsSource(XElement, IGetMachiningChain) Initializes a new instance of the MachiningEquipmentCollisionIndexPairsSource class from XML data. public MachiningEquipmentCollisionIndexPairsSource(XElement src, IGetMachiningChain res) Parameters src XElement The XML element containing the collision index pairs configuration. res IGetMachiningChain The solid machining chain reference used to build default index pairs. Fields XName Gets the XML element name used for serialization. public static string XName Field Value string Methods GetCollisionIndexPairs() Gets a collection of collision index pairs for collision detection. public IEnumerable GetCollisionIndexPairs() Returns IEnumerable A collection of CollisionIndexPair objects. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class MachiningEquipmentCollisionIndexPairsSource Namespace Hi.Machining.MachiningEquipmentUtils Assembly HiMech.dll Source of CollisionIndexPair. The adjacent solids will not be added to the CollisionIndexPairs. public class MachiningEquipmentCollisionIndexPairsSource : ICollisionIndexPairsSource, IGetCollisionIndexPairs, IMakeXmlSource Inheritance object MachiningEquipmentCollisionIndexPairsSource Implements ICollisionIndexPairsSource IGetCollisionIndexPairs 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 MachiningEquipmentCollisionIndexPairsSource(IMachiningChain, HashSet) Initializes a new instance of the MachiningEquipmentCollisionIndexPairsSource class with a specified machining chain and excluded pairs. public MachiningEquipmentCollisionIndexPairsSource(IMachiningChain src, HashSet excludedPairs) Parameters src IMachiningChain The solid machining chain to build collision pairs from. excludedPairs HashSet The set of collision pairs to exclude from collision detection. Remarks This constructor builds the default collision index pairs from the provided machining chain and removes the specified excluded pairs from consideration. MachiningEquipmentCollisionIndexPairsSource(IMachiningChain, string) Initializes a new instance of the MachiningEquipmentCollisionIndexPairsSource class with a specified machining chain and excluded pairs string. public MachiningEquipmentCollisionIndexPairsSource(IMachiningChain src, string excludedPairsString = \"\") Parameters src IMachiningChain The solid machining chain to build collision pairs from. excludedPairsString string A string representation of collision pairs to exclude, in the format \"[Key1][Key2];[Key3][Key4]\". Remarks This constructor builds the default collision index pairs from the provided machining chain and removes the pairs specified in the excludedPairsString from consideration. MachiningEquipmentCollisionIndexPairsSource(XElement, IGetMachiningChain) Initializes a new instance of the MachiningEquipmentCollisionIndexPairsSource class from XML data. public MachiningEquipmentCollisionIndexPairsSource(XElement src, IGetMachiningChain res) Parameters src XElement The XML element containing the collision index pairs configuration. res IGetMachiningChain The solid machining chain reference used to build default index pairs. Fields XName Gets the XML element name used for serialization. public static string XName Field Value string Methods GetCollisionIndexPairs() Gets a collection of collision index pairs for collision detection. public IEnumerable GetCollisionIndexPairs() Returns IEnumerable A collection of CollisionIndexPair objects. 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. Reg(XFactory) Static constructor that initializes XML serialization support. public static void Reg(XFactory factory = null) Parameters factory XFactory Remarks Registers the XML factory for deserializing MachiningEquipmentCollisionIndexPairsSource instances and ensures required XML element names are initialized." }, "api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.html": { "href": "api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.html", @@ -1957,7 +1957,7 @@ "api/Hi.Machining.MachiningToolHouse.html": { "href": "api/Hi.Machining.MachiningToolHouse.html", "title": "Class MachiningToolHouse | HiAPI-C# 2025", - "summary": "Class MachiningToolHouse Namespace Hi.Machining Assembly HiMech.dll Tool House. public class MachiningToolHouse : Dictionary, IDictionary, ICollection>, IReadOnlyDictionary, IReadOnlyCollection>, IEnumerable>, IDictionary, ICollection, IEnumerable, IDeserializationCallback, ISerializable, INcDependency, IMakeXmlSource Inheritance object Dictionary MachiningToolHouse Implements IDictionary ICollection> IReadOnlyDictionary IReadOnlyCollection> IEnumerable> IDictionary ICollection IEnumerable IDeserializationCallback ISerializable INcDependency IMakeXmlSource Inherited Members Dictionary.Add(object, IMachiningTool) Dictionary.Clear() Dictionary.ContainsKey(object) Dictionary.ContainsValue(IMachiningTool) Dictionary.EnsureCapacity(int) Dictionary.GetAlternateLookup() Dictionary.GetEnumerator() Dictionary.OnDeserialization(object) Dictionary.Remove(object) Dictionary.Remove(object, out IMachiningTool) Dictionary.TrimExcess() Dictionary.TrimExcess(int) Dictionary.TryAdd(object, IMachiningTool) Dictionary.TryGetAlternateLookup(out Dictionary.AlternateLookup) Dictionary.TryGetValue(object, out IMachiningTool) Dictionary.Comparer Dictionary.Count Dictionary.Capacity Dictionary.this[object] Dictionary.Keys Dictionary.Values 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) DictionaryUtil.Retrieve(Dictionary, K, out V, bool) DictionaryUtil.GetOrCreate(IDictionary, TKey, TValue) DictionaryUtil.GetOrCreate(IDictionary, TKey, Func) DictionaryUtil.TryGetValueByKeys(IDictionary, IEnumerable, out TValue) StringUtil.ToDotSplitedString(IEnumerable) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningToolHouse() Ctor. public MachiningToolHouse() MachiningToolHouse(XElement, string, string, IProgress) Ctor. public MachiningToolHouse(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths relFile string Relative file path progress IProgress The progress reporter. Properties XName Name for XML IO. public static string XName { get; } Property Value string Methods CreateStickMillingTool() Create a new Tool for UI. The tool ID is 1 if no tool existed; otherwise, the tool ID is the max tool ID plus 1. public KeyValuePair CreateStickMillingTool() Returns KeyValuePair the generated tool id and the generated tool 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. SetToolId(object, IMachiningTool) the function Typically used if the tool has already in the tool house. public void SetToolId(object toolId, IMachiningTool millingTool) Parameters toolId object millingTool IMachiningTool Exceptions ArgumentException throw if toolId has already existed." + "summary": "Class MachiningToolHouse Namespace Hi.Machining Assembly HiMech.dll Tool House. public class MachiningToolHouse : Dictionary, IDictionary, ICollection>, IReadOnlyDictionary, IReadOnlyCollection>, IEnumerable>, IDictionary, ICollection, IEnumerable, IDeserializationCallback, ISerializable, INcDependency, IMakeXmlSource Inheritance object Dictionary MachiningToolHouse Implements IDictionary ICollection> IReadOnlyDictionary IReadOnlyCollection> IEnumerable> IDictionary ICollection IEnumerable IDeserializationCallback ISerializable INcDependency IMakeXmlSource Inherited Members Dictionary.Add(object, IMachiningTool) Dictionary.Clear() Dictionary.ContainsKey(object) Dictionary.ContainsValue(IMachiningTool) Dictionary.EnsureCapacity(int) Dictionary.GetAlternateLookup() Dictionary.GetEnumerator() Dictionary.OnDeserialization(object) Dictionary.Remove(object) Dictionary.Remove(object, out IMachiningTool) Dictionary.TrimExcess() Dictionary.TrimExcess(int) Dictionary.TryAdd(object, IMachiningTool) Dictionary.TryGetAlternateLookup(out Dictionary.AlternateLookup) Dictionary.TryGetValue(object, out IMachiningTool) Dictionary.Comparer Dictionary.Count Dictionary.Capacity Dictionary.this[object] Dictionary.Keys Dictionary.Values 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) DictionaryUtil.Retrieve(Dictionary, K, out V, bool) DictionaryUtil.GetOrCreate(IDictionary, TKey, TValue) DictionaryUtil.GetOrCreate(IDictionary, TKey, Func) DictionaryUtil.TryGetValueByKeys(IDictionary, IEnumerable, out TValue) StringUtil.ToDotSplitedString(IEnumerable) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningToolHouse() Ctor. public MachiningToolHouse() MachiningToolHouse(XElement, string, string, IProgress) Ctor. public MachiningToolHouse(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths relFile string Relative file path progress IProgress The progress reporter. Properties XName Name for XML IO. public static string XName { get; } Property Value string Methods CreateStickMillingTool() Create a new Tool for UI. The tool ID is 1 if no tool existed; otherwise, the tool ID is the max tool ID plus 1. public KeyValuePair CreateStickMillingTool() Returns KeyValuePair the generated tool id and the generated tool 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetToolId(object, IMachiningTool) the function Typically used if the tool has already in the tool house. public void SetToolId(object toolId, IMachiningTool millingTool) Parameters toolId object millingTool IMachiningTool Exceptions ArgumentException throw if toolId has already existed." }, "api/Hi.Machining.MachiningVolumeRemovalProc.StepMotionSnapshot.html": { "href": "api/Hi.Machining.MachiningVolumeRemovalProc.StepMotionSnapshot.html", @@ -2027,7 +2027,7 @@ "api/Hi.MachiningProcs.LocalProjectService.html": { "href": "api/Hi.MachiningProcs.LocalProjectService.html", "title": "Class LocalProjectService | HiAPI-C# 2025", - "summary": "Class LocalProjectService Namespace Hi.MachiningProcs Assembly HiNc.dll Root(Local) project service. Apply absolute file path. public class LocalProjectService : IProjectService, IMachiningProjectGetter, IMachiningService, IGetMachiningEquipment, IDisposable Inheritance object LocalProjectService Implements IProjectService IMachiningProjectGetter IMachiningService IGetMachiningEquipment IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Remarks LocalProjectService handles the runtime data and cache generally not requires configuration IO. Compare to MachiningProject, LocalProjectService also handles events that does not reset on the MachiningProject been reloaded. Constructors LocalProjectService(UserService, ILogger) Initializes a new instance. public LocalProjectService(UserService userService, ILogger logger) Parameters userService UserService The application service. logger ILogger The logger instance. LocalProjectService(ILogger) Ctor. public LocalProjectService(ILogger logger = null) Parameters logger ILogger Optional logger instance. Properties ActiveNcRunner Gets the active NC runner based on EnableSoftNcRunner. public IControlRunner ActiveNcRunner { get; } Property Value IControlRunner BoundSelectorHost Gets the bound selector host for managing selection boundaries. public BoundSelectorHost BoundSelectorHost { get; } Property Value BoundSelectorHost ClStrip Gets the cutter location strip containing the machining steps. public ClStrip ClStrip { get; } Property Value ClStrip DictionaryColorGuide Gets the color guide for dictionary-based coloring. public DictionaryColorGuide DictionaryColorGuide { get; } Property Value DictionaryColorGuide EnableCollisionDetection Gets or sets whether collision detection is enabled. When set to true, initializes collision detection mechanism. public bool EnableCollisionDetection { get; set; } Property Value bool EnablePauseOnFailure Gets or sets whether to pause execution on failure. public bool EnablePauseOnFailure { get; set; } Property Value bool EnableSoftNcRunner Workaround flag to switch between SoftNcRunner and HardNcRunner. When true and SoftNcRunner is available, uses SoftNcRunner. Will be removed when HardNcRunner is fully replaced. public bool EnableSoftNcRunner { get; set; } Property Value bool EnableStrokeLimitCheck Gets or sets whether stroke limit checking is enabled. public bool EnableStrokeLimitCheck { get; set; } Property Value bool Fixture Gets or sets the fixture. public Fixture Fixture { get; set; } Property Value Fixture Global global variable for SessionShell. Not save on XML. public Dictionary Global { get; set; } Property Value Dictionary InspectingKey Gets or sets the current inspecting key for visualization. When set, updates the inspecting quantity function. public string InspectingKey { get; set; } Property Value string InspectingQuantityFunc Gets the function that retrieves the quantity value for the current inspecting key. public Func InspectingQuantityFunc { get; } Property Value Func Logger Gets the logger instance for this service. public ILogger Logger { get; } Property Value ILogger MachiningActRunner Gets the machining act runner responsible for executing machining operations. public MachiningActRunner MachiningActRunner { get; } Property Value MachiningActRunner MachiningChain Gets or sets the machining chain. public IMachiningChain MachiningChain { get; set; } Property Value IMachiningChain MachiningChainFile Gets or sets the file path of the solid machining chain. This is used for XML serialization and file management. public string MachiningChainFile { get; set; } Property Value string MachiningEquipment Gets or sets the machining equipment used for milling. Updates related components when changed. public MachiningEquipment MachiningEquipment { get; set; } Property Value MachiningEquipment MachiningProject Gets or sets the machining project instance. public MachiningProject MachiningProject { get; set; } Property Value MachiningProject MachiningProjectPath public string MachiningProjectPath { get; set; } Property Value string MachiningSession Gets the current machining session. public MachiningSession MachiningSession { get; set; } Property Value MachiningSession MachiningTool Gets or sets the machining tool. public IMachiningTool MachiningTool { get; set; } Property Value IMachiningTool MachiningToolHouse Gets or sets the machining tool house containing tool configurations. public MachiningToolHouse MachiningToolHouse { get; set; } Property Value MachiningToolHouse MachiningToolHouseFile Gets or sets the file path to the milling tool house configuration. public string MachiningToolHouseFile { get; set; } Property Value string MillingStepLuggageReader Gets the reader for accessing milling step luggage data. public ParallelBulkReader MillingStepLuggageReader { get; } Property Value ParallelBulkReader NcOptProc Gets the NC optimization processor for optimizing NC programs. public NcOptProc NcOptProc { get; } Property Value NcOptProc NcRunner Gets the legacy NC runner. public HardNcRunner NcRunner { get; } Property Value HardNcRunner PacePlayer Gets the pace player for controlling execution pace of milling operations. public PacePlayer PacePlayer { get; } Property Value PacePlayer ProjectDirectory Gets the directory containing the machining project. public string ProjectDirectory { get; } Property Value string SessionProgress Gets the message host for displaying messages, warnings, and errors. public SessionProgress SessionProgress { get; } Property Value SessionProgress SessionShell Gets the shell API for interacting with this machining process. public SessionShell SessionShell { get; } Property Value SessionShell StepPropertyAccessDictionary Gets the dictionary mapping property keys to their access methods. public ConcurrentDictionary> StepPropertyAccessDictionary { get; } Property Value ConcurrentDictionary> TimeMapping Gets or sets the time mapping for synchronizing different time-based data streams. public TimeMapping TimeMapping { get; set; } Property Value TimeMapping UserService Gets the application service instance. public UserService UserService { get; } Property Value UserService Workpiece Gets or sets the workpiece to be machined. Ensures proper initialization of workpiece properties. public Workpiece Workpiece { get; set; } Property Value Workpiece WorkpieceService Gets the workpiece runtime service. public WorkpieceService WorkpieceService { get; } Property Value WorkpieceService Methods Act(IAct, IGetSentence, CancellationToken?) Executes an act and collects all results. public void Act(IAct act, IGetSentence sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct The act to execute. sourceCommand IGetSentence The source command that triggered the act. cancellationToken CancellationToken? Cancellation token to cancel the operation. BeginSession() Initiate a simulation session. Clear the state from previous session (if existed). public void BeginSession() CloseProject() Closes the current project. public void CloseProject() Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool EndSession() Ends the current machining session and releases associated resources. public void EndSession() GetInspectingKeyPresentName(StringLocalizer) Gets the localized presentation name for the current inspecting key. public string GetInspectingKeyPresentName(StringLocalizer stringLocalizer) Parameters stringLocalizer StringLocalizer The string localizer to use for localization Returns string The localized presentation name GetLocalProjectService() Get Local Project Service as base-service. public LocalProjectService GetLocalProjectService() Returns LocalProjectService Local Project Service GetMachiningProject() Gets the MachiningProject instance. public MachiningProject GetMachiningProject() Returns MachiningProject The MachiningProject instance. GetMillingEquipment() Get MachiningEquipment. public MachiningEquipment GetMillingEquipment() Returns MachiningEquipment MachiningEquipment GetSessionShell() Returns the session shell that exposes the runtime surface of the active machining session. public ISessionShell GetSessionShell() Returns ISessionShell LoadProject(string) Loads a project by file path relative to the admin directory. public void LoadProject(string projectPath) Parameters projectPath string The absolute file path NewProject(string) Creates a new project by file path. public void NewProject(string projectPath) Parameters projectPath string The absolute file path PlayCsvFile(string, string) Plays a CSV file from the specified path. public void PlayCsvFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths. relFilePath string Relative path to the CSV file. PlayNc(string, string) Plays NC commands from raw text with pace control. public void PlayNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string The NC command text to execute fileNameAlternative string Alternative name to associate with the NC program PlayNcFile(string, string) Plays an NC file from the specified path with pace control. public void PlayNcFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths relFilePath string Relative path to the NC file PowerReset() Performs a controller power reset, modelling a power-off / power-on cycle: Every IPowerResettable dependency clears its volatile subset. Persistent dependency state (controller parameters, Fanuc #500-#999, etc.) is left intact. The active MachiningSession's NcRunnerSessionState is reset so the per-layer SyntaxPiece dataflow — including Vars.Volatile, modal carries, and the init seed — is dropped. The next RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken) call re-initialises everything from scratch. Without the second step, calling PowerReset while a project is loaded would leave volatile commons alive across the supposed power cycle (they live in the SyntaxPiece JSON dataflow rather than in any IPowerResettable dependency). public void PowerReset() ProcAct(IAct, IGetSentence, CancellationToken?) Processes an act and returns the results. public IEnumerable ProcAct(IAct act, IGetSentence sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct The act to process. sourceCommand IGetSentence The source command that triggered the act. cancellationToken CancellationToken? Cancellation token to cancel the operation. Returns IEnumerable Enumerable of results from processing the act. ReTrainMillingPara(SampleFlag, double, string, CancellationToken) Train Milling Parameter. public void ReTrainMillingPara(SampleFlag sampleFlags, double outlierRatio, string dstRelFile, CancellationToken cancellationToken) Parameters sampleFlags SampleFlag outlierRatio double dstRelFile string cancellationToken CancellationToken RefreshDrawing() Refreshes the visual display of the milling course. public void RefreshDrawing() ReloadProject() Reloads the current project. public void ReloadProject() ResetRuntime() Reset the runtime states including: runtime geometry, collision flags, machine tool position, CL strips, message buffer and etc.. public void ResetRuntime() RunCsvFile(string, string) Runs a CSV file from the specified path. public IEnumerable RunCsvFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths. relFilePath string Relative path to the CSV file. Returns IEnumerable An enumerable of actions to be executed. RunNc(string, string) Runs NC commands from raw text. public IEnumerable RunNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string The NC command text to execute fileNameAlternative string Alternative name to associate with the NC program Returns IEnumerable An enumerable of actions to be executed RunNcFile(string, string) Runs an NC file from the specified path. public IEnumerable RunNcFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths. If the value is null, BaseDirectory substitutes the value. relFilePath string Relative path to the NC file. Returns IEnumerable An enumerable of actions to be executed. RunToLineEnd() Advances the player by one NC/CSV line and pauses. public void RunToLineEnd() SaveAsProject(string) Saves the current project to a specified relative file path. public void SaveAsProject(string projectPath) Parameters projectPath string The absolute file path SaveProject() Save project by project path. public void SaveProject() TrainMillingPara(SampleFlag, bool, double, string, CancellationToken, ICuttingPara) Train Milling Parameter. public void TrainMillingPara(SampleFlag sampleFlags, bool enableFzOnlyDuringDrilling, double outlierRatio, string dstRelFile, CancellationToken cancellationToken, ICuttingPara paraTemplate) Parameters sampleFlags SampleFlag enableFzOnlyDuringDrilling bool outlierRatio double dstRelFile string cancellationToken CancellationToken paraTemplate ICuttingPara UpdateByMachiningChain() Updates components when the machining chain changes. public void UpdateByMachiningChain() UpdateByMachiningEquipment() Call on MachiningEquipment Or MachiningChainChanged. i.e. Update By MachiningEquipment Or MachiningChain. The function is called on MachiningEquipment and its delegate property changed. If the changing is raised outer from THIS service, this updating function should be manual called. public void UpdateByMachiningEquipment() UpdateIdealMillingToolOffsetTableByToolHouse() Updates the ideal milling tool offset table based on the current tool house configuration. public void UpdateIdealMillingToolOffsetTableByToolHouse() WriteShotFile(TimeSpan, string) Writes time-based shot data to a file with the specified sampling period. public void WriteShotFile(TimeSpan samplingPeriod, string relFileTemplate = \"Output/[NcName].shot.csv\") Parameters samplingPeriod TimeSpan The time period between samples relFileTemplate string Template for the output file path, can include [NcName] placeholder WriteStepFile(string) Writes step-based data to a file. public void WriteStepFile(string relFileTemplate = \"Output/[NcName].step.csv\") Parameters relFileTemplate string Template for the output file path, can include [NcName] placeholder Events MachiningProjectChanged Event raised when the machining project changes. public event LocalProjectService.MachiningProjectChangedDelegate MachiningProjectChanged Event Type LocalProjectService.MachiningProjectChangedDelegate MachiningStepBuilt event to configure steps. The first parameter is the previous step; the second parameter is the current step. The previous step is null if no previous step exists. public event MachiningActRunner.MachiningStepBuiltDelegate MachiningStepBuilt Event Type MachiningActRunner.MachiningStepBuiltDelegate OnNcFileRan Event triggered after an NC file is executed. public event Action OnNcFileRan Event Type Action OnSourcedActEntry App-lifetime event triggered for each SourcedActEntry produced during NC/CSV execution. public event Action OnSourcedActEntry Event Type Action OnSyntaxPieceRan Raised after each SyntaxPiece has been run during NC execution (app lifetime). public event Action OnSyntaxPieceRan Event Type Action OnUpdatedInspectingQuantityFunc Event triggered when the inspecting quantity function is updated. public event Action OnUpdatedInspectingQuantityFunc Event Type Action WorkpieceChanged Event that is raised when the workpiece is changed. public event Action> WorkpieceChanged Event Type Action> Remarks This event is triggered whenever the workpiece property is modified. Subscribers can use this event to respond to changes in the workpiece configuration, such as updating visualizations or recalculating machining parameters. The event provides both the previous and new workpiece values through a SeqPair." + "summary": "Class LocalProjectService Namespace Hi.MachiningProcs Assembly HiNc.dll Root(Local) project service. Apply absolute file path. public class LocalProjectService : IProjectService, IMachiningProjectGetter, IMachiningService, IGetMachiningEquipment, IDisposable Inheritance object LocalProjectService Implements IProjectService IMachiningProjectGetter IMachiningService IGetMachiningEquipment IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Remarks LocalProjectService handles the runtime data and cache generally not requires configuration IO. Compare to MachiningProject, LocalProjectService also handles events that does not reset on the MachiningProject been reloaded. Constructors LocalProjectService(UserService, ILogger) Initializes a new instance. public LocalProjectService(UserService userService, ILogger logger) Parameters userService UserService The application service. logger ILogger The logger instance. LocalProjectService(ILogger) Ctor. public LocalProjectService(ILogger logger = null) Parameters logger ILogger Optional logger instance. Properties ActiveNcRunner Gets the active NC runner based on EnableSoftNcRunner. public IControlRunner ActiveNcRunner { get; } Property Value IControlRunner BoundSelectorHost Gets the bound selector host for managing selection boundaries. public BoundSelectorHost BoundSelectorHost { get; } Property Value BoundSelectorHost ClStrip Gets the cutter location strip containing the machining steps. public ClStrip ClStrip { get; } Property Value ClStrip DictionaryColorGuide Gets the color guide for dictionary-based coloring. public DictionaryColorGuide DictionaryColorGuide { get; } Property Value DictionaryColorGuide EnableCollisionDetection Gets or sets whether collision detection is enabled. When set to true, initializes collision detection mechanism. public bool EnableCollisionDetection { get; set; } Property Value bool EnablePauseOnFailure Gets or sets whether to pause execution on failure. public bool EnablePauseOnFailure { get; set; } Property Value bool EnableSoftNcRunner Workaround flag to switch between SoftNcRunner and HardNcRunner. When true and SoftNcRunner is available, uses SoftNcRunner. Will be removed when HardNcRunner is fully replaced. public bool EnableSoftNcRunner { get; set; } Property Value bool EnableStrokeLimitCheck Gets or sets whether stroke limit checking is enabled. public bool EnableStrokeLimitCheck { get; set; } Property Value bool Fixture Gets or sets the fixture. public Fixture Fixture { get; set; } Property Value Fixture Global global variable for SessionShell. Not save on XML. public Dictionary Global { get; set; } Property Value Dictionary InspectingKey Gets or sets the current inspecting key for visualization. When set, updates the inspecting quantity function. public string InspectingKey { get; set; } Property Value string InspectingQuantityFunc Gets the function that retrieves the quantity value for the current inspecting key. public Func InspectingQuantityFunc { get; } Property Value Func Logger Gets the logger instance for this service. public ILogger Logger { get; } Property Value ILogger MachiningActRunner Gets the machining act runner responsible for executing machining operations. public MachiningActRunner MachiningActRunner { get; } Property Value MachiningActRunner MachiningChain Gets or sets the machining chain. public IMachiningChain MachiningChain { get; set; } Property Value IMachiningChain MachiningChainFile Gets or sets the file path of the solid machining chain. This is used for XML serialization and file management. public string MachiningChainFile { get; set; } Property Value string MachiningEquipment Gets or sets the machining equipment used for milling. Updates related components when changed. public MachiningEquipment MachiningEquipment { get; set; } Property Value MachiningEquipment MachiningProject Gets or sets the machining project instance. public MachiningProject MachiningProject { get; set; } Property Value MachiningProject MachiningProjectPath public string MachiningProjectPath { get; set; } Property Value string MachiningSession Gets the current machining session. public MachiningSession MachiningSession { get; set; } Property Value MachiningSession MachiningTool Gets or sets the machining tool. public IMachiningTool MachiningTool { get; set; } Property Value IMachiningTool MachiningToolHouse Gets or sets the machining tool house containing tool configurations. public MachiningToolHouse MachiningToolHouse { get; set; } Property Value MachiningToolHouse MachiningToolHouseFile Gets or sets the file path to the milling tool house configuration. public string MachiningToolHouseFile { get; set; } Property Value string MillingStepLuggageReader Gets the reader for accessing milling step luggage data. public ParallelBulkReader MillingStepLuggageReader { get; } Property Value ParallelBulkReader NcOptProc Gets the NC optimization processor for optimizing NC programs. public NcOptProc NcOptProc { get; } Property Value NcOptProc NcRunner Gets the legacy NC runner. public HardNcRunner NcRunner { get; } Property Value HardNcRunner PacePlayer Gets the pace player for controlling execution pace of milling operations. public PacePlayer PacePlayer { get; } Property Value PacePlayer ProjectDirectory Gets the directory containing the machining project. public string ProjectDirectory { get; } Property Value string SessionProgress Gets the message host for displaying messages, warnings, and errors. public SessionProgress SessionProgress { get; } Property Value SessionProgress SessionShell Gets the shell API for interacting with this machining process. public SessionShell SessionShell { get; } Property Value SessionShell StepPropertyAccessDictionary Gets the dictionary mapping property keys to their access methods. public ConcurrentDictionary> StepPropertyAccessDictionary { get; } Property Value ConcurrentDictionary> TimeMapping Gets or sets the time mapping for synchronizing different time-based data streams. public TimeMapping TimeMapping { get; set; } Property Value TimeMapping UserService Gets the application service instance. public UserService UserService { get; } Property Value UserService Workpiece Gets or sets the workpiece to be machined. Ensures proper initialization of workpiece properties. public Workpiece Workpiece { get; set; } Property Value Workpiece WorkpieceService Gets the workpiece runtime service. public WorkpieceService WorkpieceService { get; } Property Value WorkpieceService Methods Act(IAct, IGetSentence, CancellationToken?) Executes an act and collects all results. public void Act(IAct act, IGetSentence sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct The act to execute. sourceCommand IGetSentence The source command that triggered the act. cancellationToken CancellationToken? Cancellation token to cancel the operation. BeginSession() Initiate a simulation session. Clear the state from previous session (if existed). public void BeginSession() CloseProject() Closes the current project. public void CloseProject() Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool EndSession() Ends the current machining session and releases associated resources. public void EndSession() GetInspectingKeyPresentName(StringLocalizer) Gets the localized presentation name for the current inspecting key. public string GetInspectingKeyPresentName(StringLocalizer stringLocalizer) Parameters stringLocalizer StringLocalizer The string localizer to use for localization Returns string The localized presentation name GetLocalProjectService() Get Local Project Service as base-service. public LocalProjectService GetLocalProjectService() Returns LocalProjectService Local Project Service GetMachiningProject() Gets the MachiningProject instance. public MachiningProject GetMachiningProject() Returns MachiningProject The MachiningProject instance. GetMillingEquipment() Get MachiningEquipment. public MachiningEquipment GetMillingEquipment() Returns MachiningEquipment MachiningEquipment GetSessionShell() Returns the session shell that exposes the runtime surface of the active machining session. public ISessionShell GetSessionShell() Returns ISessionShell LoadProject(string) Loads a project by file path relative to the admin directory. public void LoadProject(string projectPath) Parameters projectPath string The absolute file path NewProject(string) Creates a new project by file path. public void NewProject(string projectPath) Parameters projectPath string The absolute file path PlayCsvFile(string, string) Plays a CSV file from the specified path. public void PlayCsvFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths. relFilePath string Relative path to the CSV file. PlayNc(string, string) Plays NC commands from raw text with pace control. public void PlayNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string The NC command text to execute fileNameAlternative string Alternative name to associate with the NC program PlayNcFile(string, string) Plays an NC file from the specified path with pace control. public void PlayNcFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths relFilePath string Relative path to the NC file PowerReset() Performs a controller power reset, modelling a power-off / power-on cycle: Every IPowerResettable dependency clears its volatile subset. Persistent dependency state (controller parameters, Fanuc #500-#999, etc.) is left intact. The active MachiningSession's NcRunnerSessionState is reset so the per-layer SyntaxPiece dataflow — including Vars.Volatile, modal carries, and the init seed — is dropped. The next RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken) call re-initialises everything from scratch. Without the second step, calling PowerReset while a project is loaded would leave volatile commons alive across the supposed power cycle (they live in the SyntaxPiece JSON dataflow rather than in any IPowerResettable dependency). public void PowerReset() ProcAct(IAct, IGetSentence, CancellationToken?) Processes an act and returns the results. public IEnumerable ProcAct(IAct act, IGetSentence sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct The act to process. sourceCommand IGetSentence The source command that triggered the act. cancellationToken CancellationToken? Cancellation token to cancel the operation. Returns IEnumerable Enumerable of results from processing the act. ReTrainMillingPara(SampleFlag, double, string, CancellationToken) Train Milling Parameter. public void ReTrainMillingPara(SampleFlag sampleFlags, double outlierRatio, string dstRelFile, CancellationToken cancellationToken) Parameters sampleFlags SampleFlag outlierRatio double dstRelFile string cancellationToken CancellationToken RefreshDrawing() Refreshes the visual display of the milling course. public void RefreshDrawing() Reg(XFactory) Bootstraps XML-factory registration for the simulation pipeline. Entry points must call this once at startup before any project XML is deserialized. Pass a custom XFactory for test isolation, or null to populate Default. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ReloadProject() Reloads the current project. public void ReloadProject() ResetRuntime() Reset the runtime states including: runtime geometry, collision flags, machine tool position, CL strips, message buffer and etc.. public void ResetRuntime() RunCsvFile(string, string) Runs a CSV file from the specified path. public IEnumerable RunCsvFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths. relFilePath string Relative path to the CSV file. Returns IEnumerable An enumerable of actions to be executed. RunNc(string, string) Runs NC commands from raw text. public IEnumerable RunNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string The NC command text to execute fileNameAlternative string Alternative name to associate with the NC program Returns IEnumerable An enumerable of actions to be executed RunNcFile(string, string) Runs an NC file from the specified path. public IEnumerable RunNcFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths. If the value is null, BaseDirectory substitutes the value. relFilePath string Relative path to the NC file. Returns IEnumerable An enumerable of actions to be executed. RunToLineEnd() Advances the player by one NC/CSV line and pauses. public void RunToLineEnd() SaveAsProject(string) Saves the current project to a specified relative file path. public void SaveAsProject(string projectPath) Parameters projectPath string The absolute file path SaveProject() Save project by project path. public void SaveProject() TrainMillingPara(SampleFlag, bool, double, string, CancellationToken, ICuttingPara) Train Milling Parameter. public void TrainMillingPara(SampleFlag sampleFlags, bool enableFzOnlyDuringDrilling, double outlierRatio, string dstRelFile, CancellationToken cancellationToken, ICuttingPara paraTemplate) Parameters sampleFlags SampleFlag enableFzOnlyDuringDrilling bool outlierRatio double dstRelFile string cancellationToken CancellationToken paraTemplate ICuttingPara UpdateByMachiningChain() Updates components when the machining chain changes. public void UpdateByMachiningChain() UpdateByMachiningEquipment() Call on MachiningEquipment Or MachiningChainChanged. i.e. Update By MachiningEquipment Or MachiningChain. The function is called on MachiningEquipment and its delegate property changed. If the changing is raised outer from THIS service, this updating function should be manual called. public void UpdateByMachiningEquipment() UpdateIdealMillingToolOffsetTableByToolHouse() Updates the ideal milling tool offset table based on the current tool house configuration. public void UpdateIdealMillingToolOffsetTableByToolHouse() WriteShotFile(TimeSpan, string) Writes time-based shot data to a file with the specified sampling period. public void WriteShotFile(TimeSpan samplingPeriod, string relFileTemplate = \"Output/[NcName].shot.csv\") Parameters samplingPeriod TimeSpan The time period between samples relFileTemplate string Template for the output file path, can include [NcName] placeholder WriteStepFile(string) Writes step-based data to a file. public void WriteStepFile(string relFileTemplate = \"Output/[NcName].step.csv\") Parameters relFileTemplate string Template for the output file path, can include [NcName] placeholder Events MachiningProjectChanged Event raised when the machining project changes. public event LocalProjectService.MachiningProjectChangedDelegate MachiningProjectChanged Event Type LocalProjectService.MachiningProjectChangedDelegate MachiningStepBuilt event to configure steps. The first parameter is the previous step; the second parameter is the current step. The previous step is null if no previous step exists. public event MachiningActRunner.MachiningStepBuiltDelegate MachiningStepBuilt Event Type MachiningActRunner.MachiningStepBuiltDelegate OnNcFileRan Event triggered after an NC file is executed. public event Action OnNcFileRan Event Type Action OnSourcedActEntry App-lifetime event triggered for each SourcedActEntry produced during NC/CSV execution. public event Action OnSourcedActEntry Event Type Action OnSyntaxPieceRan Raised after each SyntaxPiece has been run during NC execution (app lifetime). public event Action OnSyntaxPieceRan Event Type Action OnUpdatedInspectingQuantityFunc Event triggered when the inspecting quantity function is updated. public event Action OnUpdatedInspectingQuantityFunc Event Type Action WorkpieceChanged Event that is raised when the workpiece is changed. public event Action> WorkpieceChanged Event Type Action> Remarks This event is triggered whenever the workpiece property is modified. Subscribers can use this event to respond to changes in the workpiece configuration, such as updating visualizations or recalculating machining parameters. The event provides both the previous and new workpiece values through a SeqPair." }, "api/Hi.MachiningProcs.MachiningActRunner.MachiningStepBuiltDelegate.html": { "href": "api/Hi.MachiningProcs.MachiningActRunner.MachiningStepBuiltDelegate.html", @@ -2042,7 +2042,7 @@ "api/Hi.MachiningProcs.MachiningActRunnerConfig.html": { "href": "api/Hi.MachiningProcs.MachiningActRunnerConfig.html", "title": "Class MachiningActRunnerConfig | HiAPI-C# 2025", - "summary": "Class MachiningActRunnerConfig Namespace Hi.MachiningProcs Assembly HiMech.dll Represents the configuration for a milling act runner. Provides settings for physics simulation, evaluation, and temperature control. public class MachiningActRunnerConfig : IMakeXmlSource Inheritance object MachiningActRunnerConfig 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 MachiningActRunnerConfig() Initializes a new instance. public MachiningActRunnerConfig() MachiningActRunnerConfig(XElement, string, IProgress) Initializes a new instance of the MachiningActRunnerConfig class from XML. public MachiningActRunnerConfig(XElement src, string baseDirectory, IProgress progress) Parameters src XElement The source XML element. baseDirectory string The base directory for resolving relative paths. progress IProgress Progress reporter for diagnostic messages emitted during construction. Properties EnableCollisionDetection Gets or sets whether collision detection is enabled. public bool EnableCollisionDetection { get; set; } Property Value bool EnableDeflectionTransformation Gets or sets whether deflection transformation is enabled. Note: This feature is pending testing. public bool EnableDeflectionTransformation { get; set; } Property Value bool EnablePauseOnFailure Enable Pause On Failure Detected. Only take effect if the EnableStrokeLimitCheck or EnableCollisionDetection is enabled. public bool EnablePauseOnFailure { get; set; } Property Value bool EnablePhysics Gets or sets whether milling force evaluation is enabled. public bool EnablePhysics { get; set; } Property Value bool EnableStrokeLimitCheck Gets or sets whether stroke limit checking is enabled. public bool EnableStrokeLimitCheck { get; set; } Property Value bool EnableWearEffect Gets or sets whether to enable coating wear effects. Note: This function is not fully prepared yet. Only affects further wear by the wear coefficient of inner material. public bool EnableWearEffect { get; set; } Property Value bool InitSpindleTemperature_C Gets or sets the initial spindle temperature in Celsius. public double InitSpindleTemperature_C { get; set; } Property Value double InitSpindleTemperature_K Gets or sets the initial spindle temperature in Kelvin. The temperature is initialized when a working session is restarted or a new session is started. public double InitSpindleTemperature_K { get; set; } Property Value double IsIdealOffsetDependentOnToolHouse Gets or sets whether the ideal tool offset is automatically populated from the tool house geometry before simulation. public bool IsIdealOffsetDependentOnToolHouse { get; set; } Property Value bool XName Gets the XML element name for serialization. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class MachiningActRunnerConfig Namespace Hi.MachiningProcs Assembly HiMech.dll Represents the configuration for a milling act runner. Provides settings for physics simulation, evaluation, and temperature control. public class MachiningActRunnerConfig : IMakeXmlSource Inheritance object MachiningActRunnerConfig 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 MachiningActRunnerConfig() Initializes a new instance. public MachiningActRunnerConfig() MachiningActRunnerConfig(XElement, string, IProgress) Initializes a new instance of the MachiningActRunnerConfig class from XML. public MachiningActRunnerConfig(XElement src, string baseDirectory, IProgress progress) Parameters src XElement The source XML element. baseDirectory string The base directory for resolving relative paths. progress IProgress Progress reporter for diagnostic messages emitted during construction. Properties EnableCollisionDetection Gets or sets whether collision detection is enabled. public bool EnableCollisionDetection { get; set; } Property Value bool EnableDeflectionTransformation Gets or sets whether deflection transformation is enabled. Note: This feature is pending testing. public bool EnableDeflectionTransformation { get; set; } Property Value bool EnablePauseOnFailure Enable Pause On Failure Detected. Only take effect if the EnableStrokeLimitCheck or EnableCollisionDetection is enabled. public bool EnablePauseOnFailure { get; set; } Property Value bool EnablePhysics Gets or sets whether milling force evaluation is enabled. public bool EnablePhysics { get; set; } Property Value bool EnableStrokeLimitCheck Gets or sets whether stroke limit checking is enabled. public bool EnableStrokeLimitCheck { get; set; } Property Value bool EnableWearEffect Gets or sets whether to enable coating wear effects. Note: This function is not fully prepared yet. Only affects further wear by the wear coefficient of inner material. public bool EnableWearEffect { get; set; } Property Value bool InitSpindleTemperature_C Gets or sets the initial spindle temperature in Celsius. public double InitSpindleTemperature_C { get; set; } Property Value double InitSpindleTemperature_K Gets or sets the initial spindle temperature in Kelvin. The temperature is initialized when a working session is restarted or a new session is started. public double InitSpindleTemperature_K { get; set; } Property Value double IsIdealOffsetDependentOnToolHouse Gets or sets whether the ideal tool offset is automatically populated from the tool house geometry before simulation. public bool IsIdealOffsetDependentOnToolHouse { get; set; } Property Value bool XName Gets the XML element name for serialization. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.MachiningProcs.MachiningParallelProc.StepTaskBundle.html": { "href": "api/Hi.MachiningProcs.MachiningParallelProc.StepTaskBundle.html", @@ -2062,7 +2062,7 @@ "api/Hi.MachiningProcs.MachiningProject.html": { "href": "api/Hi.MachiningProcs.MachiningProject.html", "title": "Class MachiningProject | HiAPI-C# 2025", - "summary": "Class MachiningProject Namespace Hi.MachiningProcs Assembly HiNc.dll Represents a milling project that manages the execution, simulation, and analysis of NC programs. public class MachiningProject : IDisposable, IMakeXmlSource, IMachiningProjectGetter Inheritance object MachiningProject Implements IDisposable IMakeXmlSource IMachiningProjectGetter Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningProject(string) Initializes a new instance with the specified directory. public MachiningProject(string baseDirectory) Parameters baseDirectory string Base directory for file operations MachiningProject(XElement, string, IProgress) Initializes a new instance from XML data. public MachiningProject(XElement src, string baseDirectory, IProgress progress) Parameters src XElement XML element containing configuration data baseDirectory string Base directory for resolving relative paths progress IProgress Progress reporter for XML deserialization. Properties ApiVersion Gets the API version from the HiNc assembly (where MachiningProject is defined). public static Version ApiVersion { get; } Property Value Version BaseDirectory Gets the base directory where project files are located. public string BaseDirectory { get; } Property Value string DictionaryColorGuide public DictionaryColorGuide DictionaryColorGuide { get; } Property Value DictionaryColorGuide MachiningActRunnerConfig Gets or sets the configuration for the milling act runner. public MachiningActRunnerConfig MachiningActRunnerConfig { get; set; } Property Value MachiningActRunnerConfig MachiningToolHouse Gets or sets the machining tool house containing tool configurations. public MachiningToolHouse MachiningToolHouse { get; set; } Property Value MachiningToolHouse MachiningToolHouseFile Gets or sets the file path to the milling tool house configuration. public string MachiningToolHouseFile { get; set; } Property Value string MillingGuide Gets or sets the milling guide containing visualization and analysis configurations. public MillingGuide MillingGuide { get; set; } Property Value MillingGuide NcEnv Gets or sets the NC environment settings. public HardNcEnv NcEnv { get; set; } Property Value HardNcEnv PlayerCommand Gets the command to execute when playing the machining project. public ISessionCommand PlayerCommand { get; set; } Property Value ISessionCommand SoftNcRunner Gets or sets the configurable NC runner. When set, replaces the legacy HardNcRunner. public SoftNcRunner SoftNcRunner { get; set; } Property Value SoftNcRunner TimeMapping Gets or sets the time mapping for synchronizing different time-based data streams. public TimeMapping TimeMapping { get; set; } Property Value TimeMapping XName Name for XML IO. public static string XName { get; } Property Value string Methods Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool GetMachiningProject() Gets the MachiningProject instance. public MachiningProject GetMachiningProject() Returns MachiningProject The MachiningProject instance. GetMillingEquipment() public MachiningEquipment GetMillingEquipment() Returns MachiningEquipment LoadFile(string, IProgress) Loads a machining project from the specified file path. public static MachiningProject LoadFile(string projectFilePath, IProgress progress) Parameters projectFilePath string Path to the project file to load progress IProgress Progress reporter for XML deserialization. Returns MachiningProject A new machining project instance loaded from the file MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class MachiningProject Namespace Hi.MachiningProcs Assembly HiNc.dll Represents a milling project that manages the execution, simulation, and analysis of NC programs. public class MachiningProject : IDisposable, IMakeXmlSource, IMachiningProjectGetter Inheritance object MachiningProject Implements IDisposable IMakeXmlSource IMachiningProjectGetter Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningProject(string) Initializes a new instance with the specified directory. public MachiningProject(string baseDirectory) Parameters baseDirectory string Base directory for file operations MachiningProject(XElement, string, IProgress) Initializes a new instance from XML data. public MachiningProject(XElement src, string baseDirectory, IProgress progress) Parameters src XElement XML element containing configuration data baseDirectory string Base directory for resolving relative paths progress IProgress Progress reporter for XML deserialization. Properties ApiVersion Gets the API version from the HiNc assembly (where MachiningProject is defined). public static Version ApiVersion { get; } Property Value Version BaseDirectory Gets the base directory where project files are located. public string BaseDirectory { get; } Property Value string DictionaryColorGuide public DictionaryColorGuide DictionaryColorGuide { get; } Property Value DictionaryColorGuide MachiningActRunnerConfig Gets or sets the configuration for the milling act runner. public MachiningActRunnerConfig MachiningActRunnerConfig { get; set; } Property Value MachiningActRunnerConfig MachiningToolHouse Gets or sets the machining tool house containing tool configurations. public MachiningToolHouse MachiningToolHouse { get; set; } Property Value MachiningToolHouse MachiningToolHouseFile Gets or sets the file path to the milling tool house configuration. public string MachiningToolHouseFile { get; set; } Property Value string MillingGuide Gets or sets the milling guide containing visualization and analysis configurations. public MillingGuide MillingGuide { get; set; } Property Value MillingGuide NcEnv Gets or sets the NC environment settings. public HardNcEnv NcEnv { get; set; } Property Value HardNcEnv PlayerCommand Gets the command to execute when playing the machining project. public ISessionCommand PlayerCommand { get; set; } Property Value ISessionCommand SoftNcRunner Gets or sets the configurable NC runner. When set, replaces the legacy HardNcRunner. public SoftNcRunner SoftNcRunner { get; set; } Property Value SoftNcRunner TimeMapping Gets or sets the time mapping for synchronizing different time-based data streams. public TimeMapping TimeMapping { get; set; } Property Value TimeMapping XName Name for XML IO. public static string XName { get; } Property Value string Methods Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool GetMachiningProject() Gets the MachiningProject instance. public MachiningProject GetMachiningProject() Returns MachiningProject The MachiningProject instance. GetMillingEquipment() public MachiningEquipment GetMillingEquipment() Returns MachiningEquipment LoadFile(string, IProgress) Loads a machining project from the specified file path. public static MachiningProject LoadFile(string projectFilePath, IProgress progress) Parameters projectFilePath string Path to the project file to load progress IProgress Progress reporter for XML deserialization. Returns MachiningProject A new machining project instance loaded from the file MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer (and its legacy aliases) with the given XFactory (or Default when factory is null), and chains Reg(factory) on dependents so the registration graph is observable. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.MachiningProcs.MachiningProjectDisplayee.html": { "href": "api/Hi.MachiningProcs.MachiningProjectDisplayee.html", @@ -2242,7 +2242,7 @@ "api/Hi.Mapping.TimeMapping.html": { "href": "api/Hi.Mapping.TimeMapping.html", "title": "Class TimeMapping | HiAPI-C# 2025", - "summary": "Class TimeMapping Namespace Hi.Mapping Assembly HiMech.dll Provides mapping between machining steps and time-based measurements (shots). It is one step to many data mapping (one-many). public class TimeMapping : IMakeXmlSource, IDisposable Inheritance object TimeMapping Implements IMakeXmlSource IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors TimeMapping(Func) Initializes a new instance of the TimeMapping class with the specified CL strip and tool house. public TimeMapping(Func baseDirectoryGetter) Parameters baseDirectoryGetter Func The function to get the base directory for file paths. TimeMapping(XElement, Func) Initializes a new instance of the TimeMapping class from XML data. public TimeMapping(XElement src, Func baseDirectoryGetter) Parameters src XElement The XML element containing the mapping data. baseDirectoryGetter Func The function to get the base directory for resolving relative file paths. Remarks This constructor supports legacy XML formats and automatically converts them to the current format. Legacy formats include: NcMapping with MarkIdToFileTimeSection element Entries with MarkID attributes Properties BaseDirectory Gets or sets the base directory for resolving file paths. All relative file paths in the mapping are resolved against this directory. public string BaseDirectory { get; } Property Value string BaseDirectoryGetter Gets or sets the function to get the base directory for resolving file paths. public Func BaseDirectoryGetter { get; set; } Property Value Func KeyToRelFileTimeSectionDictionary Gets or sets the dictionary mapping keys to file time sections. Each entry maps a unique identifier to a file time section that specifies which portion of a measurement file corresponds to a particular machining operation. public Dictionary KeyToRelFileTimeSectionDictionary { get; set; } Property Value Dictionary RelFileToTimeShotListDictionary Gets or sets the cache of time shot lists loaded from files. This is a thread-safe dictionary that maps file paths to tasks that load and parse the files. The cache prevents multiple reads of the same file and enables concurrent access. public ConcurrentDictionary>> RelFileToTimeShotListDictionary { get; set; } Property Value ConcurrentDictionary>> StepToTimeShotListDictionary Gets a concurrent dictionary mapping step indices to their corresponding time shot lists. This dictionary is populated during the mapping process. public ConcurrentDictionary> StepToTimeShotListDictionary { get; } Property Value ConcurrentDictionary> XName Gets the XML element name used for serialization. public static string XName { get; } Property Value string Remarks This name is used as the root element when serializing TimeMapping instances to XML. It matches the class name to maintain consistency between code and XML representation. Methods CallTimeShotByRelFile(string, IProgress, CancellationToken?) Retrieves time shots from a file, using cached results if available. public List CallTimeShotByRelFile(string relFile, IProgress messageHost, CancellationToken? cancellationToken = null) Parameters relFile string The relative path to the file containing time shots. messageHost IProgress The message host for logging progress. cancellationToken CancellationToken? Optional token to cancel the loading operation. Returns List A list of time shots from the file. The results are cached for subsequent calls. If the file is already being loaded by another thread, waits for that operation to complete. Remarks This method is thread-safe and ensures each file is only read once, even with concurrent access. Any exceptions during file reading are captured and can be inspected through the task's exception property. Clear() Clears all mappings and data, including the key-to-file time section dictionary. public void Clear() ClearCache() Clears the cache of loaded time shot data, including file-to-time shot list and step-to-time shot list dictionaries. public void ClearCache() Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool GetShots(int) Gets the time shots associated with a specific step index. public List GetShots(int stepIndex) Parameters stepIndex int The index of the step to get shots for. Returns List A list of time shots associated with the specified step, or null if no shots are found. LoadTimeShotFiles(IProgress, CancellationToken?) Loads all time shot files referenced in the KeyToFileTimeSectionMapping. public void LoadTimeShotFiles(IProgress messageHost, CancellationToken? cancellationToken = null) Parameters messageHost IProgress The message host for logging progress. cancellationToken CancellationToken? Optional cancellation token to cancel the operation. MakeXmlSource(string, string, bool) Creates an XML representation of the time mapping data. relFile is not used in current implementation. 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 containing the complete time mapping data. Remarks The XML structure includes: A root TimeMapping element An Entrys element containing Entry elements Each Entry has a Key attribute and FileTimeSection child element Map(Range, FileTimeSection, CycleSamplingMode, ClStrip, IProgress, CancellationToken?) Maps the specified step section to time shots using the provided file time section and cycle sampling mode. This method is thread-safe and can be called concurrently. public void Map(Range stepSection, FileTimeSection relFileTimeSection, StepTimeShotUtil.CycleSamplingMode cycleSamplingMode, ClStrip clStrip, IProgress messageHost, CancellationToken? cancellationToken = null) Parameters stepSection Range The range of step indices to process. relFileTimeSection FileTimeSection The file time section containing file path and time range. cycleSamplingMode StepTimeShotUtil.CycleSamplingMode The cycle sampling mode to use. clStrip ClStrip The cutter location strip to map. messageHost IProgress The message host for logging progress. cancellationToken CancellationToken? Optional cancellation token to cancel the operation. MapSeriesByActualTime(string, CycleSamplingMode, ClStrip, IProgress, CancellationToken?) Maps steps to time shots based on actual time. public void MapSeriesByActualTime(string timeShotRelFile, StepTimeShotUtil.CycleSamplingMode cycleSamplingMode, ClStrip clStrip, IProgress messageHost, CancellationToken? cancellationToken = null) Parameters timeShotRelFile string The relative file path for time shots. cycleSamplingMode StepTimeShotUtil.CycleSamplingMode The cycle sampling mode. clStrip ClStrip The cutter location strip to map. messageHost IProgress The session message host for logging. cancellationToken CancellationToken? The cancellation token. WaitMapping() Waits for all mapping operations to complete. This method blocks until all concurrent mapping tasks have finished. public void WaitMapping()" + "summary": "Class TimeMapping Namespace Hi.Mapping Assembly HiMech.dll Provides mapping between machining steps and time-based measurements (shots). It is one step to many data mapping (one-many). public class TimeMapping : IMakeXmlSource, IDisposable Inheritance object TimeMapping Implements IMakeXmlSource IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors TimeMapping(Func) Initializes a new instance of the TimeMapping class with the specified CL strip and tool house. public TimeMapping(Func baseDirectoryGetter) Parameters baseDirectoryGetter Func The function to get the base directory for file paths. TimeMapping(XElement, Func) Initializes a new instance of the TimeMapping class from XML data. public TimeMapping(XElement src, Func baseDirectoryGetter) Parameters src XElement The XML element containing the mapping data. baseDirectoryGetter Func The function to get the base directory for resolving relative file paths. Remarks This constructor supports legacy XML formats and automatically converts them to the current format. Legacy formats include: NcMapping with MarkIdToFileTimeSection element Entries with MarkID attributes Properties BaseDirectory Gets or sets the base directory for resolving file paths. All relative file paths in the mapping are resolved against this directory. public string BaseDirectory { get; } Property Value string BaseDirectoryGetter Gets or sets the function to get the base directory for resolving file paths. public Func BaseDirectoryGetter { get; set; } Property Value Func KeyToRelFileTimeSectionDictionary Gets or sets the dictionary mapping keys to file time sections. Each entry maps a unique identifier to a file time section that specifies which portion of a measurement file corresponds to a particular machining operation. public Dictionary KeyToRelFileTimeSectionDictionary { get; set; } Property Value Dictionary RelFileToTimeShotListDictionary Gets or sets the cache of time shot lists loaded from files. This is a thread-safe dictionary that maps file paths to tasks that load and parse the files. The cache prevents multiple reads of the same file and enables concurrent access. public ConcurrentDictionary>> RelFileToTimeShotListDictionary { get; set; } Property Value ConcurrentDictionary>> StepToTimeShotListDictionary Gets a concurrent dictionary mapping step indices to their corresponding time shot lists. This dictionary is populated during the mapping process. public ConcurrentDictionary> StepToTimeShotListDictionary { get; } Property Value ConcurrentDictionary> XName Gets the XML element name used for serialization. public static string XName { get; } Property Value string Remarks This name is used as the root element when serializing TimeMapping instances to XML. It matches the class name to maintain consistency between code and XML representation. Methods CallTimeShotByRelFile(string, IProgress, CancellationToken?) Retrieves time shots from a file, using cached results if available. public List CallTimeShotByRelFile(string relFile, IProgress messageHost, CancellationToken? cancellationToken = null) Parameters relFile string The relative path to the file containing time shots. messageHost IProgress The message host for logging progress. cancellationToken CancellationToken? Optional token to cancel the loading operation. Returns List A list of time shots from the file. The results are cached for subsequent calls. If the file is already being loaded by another thread, waits for that operation to complete. Remarks This method is thread-safe and ensures each file is only read once, even with concurrent access. Any exceptions during file reading are captured and can be inspected through the task's exception property. Clear() Clears all mappings and data, including the key-to-file time section dictionary. public void Clear() ClearCache() Clears the cache of loaded time shot data, including file-to-time shot list and step-to-time shot list dictionaries. public void ClearCache() Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool GetShots(int) Gets the time shots associated with a specific step index. public List GetShots(int stepIndex) Parameters stepIndex int The index of the step to get shots for. Returns List A list of time shots associated with the specified step, or null if no shots are found. LoadTimeShotFiles(IProgress, CancellationToken?) Loads all time shot files referenced in the KeyToFileTimeSectionMapping. public void LoadTimeShotFiles(IProgress messageHost, CancellationToken? cancellationToken = null) Parameters messageHost IProgress The message host for logging progress. cancellationToken CancellationToken? Optional cancellation token to cancel the operation. MakeXmlSource(string, string, bool) Creates an XML representation of the time mapping data. relFile is not used in current implementation. 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 containing the complete time mapping data. Remarks The XML structure includes: A root TimeMapping element An Entrys element containing Entry elements Each Entry has a Key attribute and FileTimeSection child element Map(Range, FileTimeSection, CycleSamplingMode, ClStrip, IProgress, CancellationToken?) Maps the specified step section to time shots using the provided file time section and cycle sampling mode. This method is thread-safe and can be called concurrently. public void Map(Range stepSection, FileTimeSection relFileTimeSection, StepTimeShotUtil.CycleSamplingMode cycleSamplingMode, ClStrip clStrip, IProgress messageHost, CancellationToken? cancellationToken = null) Parameters stepSection Range The range of step indices to process. relFileTimeSection FileTimeSection The file time section containing file path and time range. cycleSamplingMode StepTimeShotUtil.CycleSamplingMode The cycle sampling mode to use. clStrip ClStrip The cutter location strip to map. messageHost IProgress The message host for logging progress. cancellationToken CancellationToken? Optional cancellation token to cancel the operation. MapSeriesByActualTime(string, CycleSamplingMode, ClStrip, IProgress, CancellationToken?) Maps steps to time shots based on actual time. public void MapSeriesByActualTime(string timeShotRelFile, StepTimeShotUtil.CycleSamplingMode cycleSamplingMode, ClStrip clStrip, IProgress messageHost, CancellationToken? cancellationToken = null) Parameters timeShotRelFile string The relative file path for time shots. cycleSamplingMode StepTimeShotUtil.CycleSamplingMode The cycle sampling mode. clStrip ClStrip The cutter location strip to map. messageHost IProgress The session message host for logging. cancellationToken CancellationToken? The cancellation token. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory WaitMapping() Waits for all mapping operations to complete. This method blocks until all concurrent mapping tasks have finished. public void WaitMapping()" }, "api/Hi.Mapping.html": { "href": "api/Hi.Mapping.html", @@ -2257,7 +2257,7 @@ "api/Hi.Mappings.FileTimeSection.html": { "href": "api/Hi.Mappings.FileTimeSection.html", "title": "Class FileTimeSection | HiAPI-C# 2025", - "summary": "Class FileTimeSection Namespace Hi.Mappings Assembly HiGeom.dll Represents a section of a file defined by a time range. public class FileTimeSection : IMakeXmlSource Inheritance object FileTimeSection Implements IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) 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 FileTimeSection() Initializes a new instance of the FileTimeSection class. public FileTimeSection() FileTimeSection(string, Range) Initializes a new instance of the FileTimeSection class with a file and time range. public FileTimeSection(string file, Range range) Parameters file string The file path. range Range The time range. FileTimeSection(string, TimeSpan, TimeSpan) Initializes a new instance of the FileTimeSection class with a file and begin/end times. public FileTimeSection(string file, TimeSpan beginTime, TimeSpan endTime) Parameters file string The file path. beginTime TimeSpan The begin time. endTime TimeSpan The end time. FileTimeSection(XElement) Initializes a new instance of the FileTimeSection class from XML. public FileTimeSection(XElement src) Parameters src XElement The XML element containing the file time section data. Properties BeginTime Gets or sets the begin time as a TimeSpan. public TimeSpan BeginTime { get; set; } Property Value TimeSpan BeginTime_s Gets or sets the begin time in seconds. public double BeginTime_s { get; set; } Property Value double Duration_s Gets the duration in seconds. public double Duration_s { get; } Property Value double EndTime Gets or sets the end time as a TimeSpan. public TimeSpan EndTime { get; set; } Property Value TimeSpan EndTime_s Gets or sets the end time in seconds. public double EndTime_s { get; set; } Property Value double File Gets or sets the file path. public string File { get; set; } Property Value string PrimaryTimeOption Gets or sets the primary time option for XML serialization. public FileTimeSection.TimeOption PrimaryTimeOption { get; set; } Property Value FileTimeSection.TimeOption TimeRange Gets or sets the time range. public Range TimeRange { get; set; } Property Value Range 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. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object." + "summary": "Class FileTimeSection Namespace Hi.Mappings Assembly HiGeom.dll Represents a section of a file defined by a time range. public class FileTimeSection : IMakeXmlSource Inheritance object FileTimeSection Implements IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool) XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool) XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) 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 FileTimeSection() Initializes a new instance of the FileTimeSection class. public FileTimeSection() FileTimeSection(string, Range) Initializes a new instance of the FileTimeSection class with a file and time range. public FileTimeSection(string file, Range range) Parameters file string The file path. range Range The time range. FileTimeSection(string, TimeSpan, TimeSpan) Initializes a new instance of the FileTimeSection class with a file and begin/end times. public FileTimeSection(string file, TimeSpan beginTime, TimeSpan endTime) Parameters file string The file path. beginTime TimeSpan The begin time. endTime TimeSpan The end time. FileTimeSection(XElement) Initializes a new instance of the FileTimeSection class from XML. public FileTimeSection(XElement src) Parameters src XElement The XML element containing the file time section data. Properties BeginTime Gets or sets the begin time as a TimeSpan. public TimeSpan BeginTime { get; set; } Property Value TimeSpan BeginTime_s Gets or sets the begin time in seconds. public double BeginTime_s { get; set; } Property Value double Duration_s Gets the duration in seconds. public double Duration_s { get; } Property Value double EndTime Gets or sets the end time as a TimeSpan. public TimeSpan EndTime { get; set; } Property Value TimeSpan EndTime_s Gets or sets the end time in seconds. public double EndTime_s { get; set; } Property Value double File Gets or sets the file path. public string File { get; set; } Property Value string PrimaryTimeOption Gets or sets the primary time option for XML serialization. public FileTimeSection.TimeOption PrimaryTimeOption { get; set; } Property Value FileTimeSection.TimeOption TimeRange Gets or sets the time range. public Range TimeRange { get; set; } Property Value Range 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object." }, "api/Hi.Mappings.html": { "href": "api/Hi.Mappings.html", @@ -2267,7 +2267,7 @@ "api/Hi.Mech.GeneralMechanism.html": { "href": "api/Hi.Mech.GeneralMechanism.html", "title": "Class GeneralMechanism | HiAPI-C# 2025", - "summary": "Class GeneralMechanism Namespace Hi.Mech Assembly HiMech.dll General Mechanism. public class GeneralMechanism : IMakeXmlSource, ITopo, IGetAsmb, IGetAnchoredDisplayeeList, IGetAnchorToSolidDictionary, IAnchoredDisplayee, IGetAnchor, IGetTopoIndex, IDisplayee, IExpandToBox3d Inheritance object GeneralMechanism Implements IMakeXmlSource ITopo IGetAsmb IGetAnchoredDisplayeeList IGetAnchorToSolidDictionary IAnchoredDisplayee IGetAnchor IGetTopoIndex IDisplayee IExpandToBox3d Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DispUtil.Display(IDisplayee, Bind, Mat4d) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) TopoDisplayeeUtil.Display(ITopo, Bind) TopoDisplayeeUtil.ExpandToBox3d(ITopo, Box3d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Remarks The XML IO is according to self-contained principle. Constructors GeneralMechanism() Initializes a new instance of the GeneralMechanism class. public GeneralMechanism() GeneralMechanism(XElement, string, IProgress) Initializes a new instance of the GeneralMechanism class from XML. public GeneralMechanism(XElement src, string baseDirectory, IProgress progress) Parameters src XElement The XML element containing the mechanism data. baseDirectory string The base directory for resolving relative file paths. progress IProgress Progress reporter for diagnostic messages emitted during construction. Properties AnchorToSolid Gets the dictionary mapping anchors to their corresponding solids. public Dictionary AnchorToSolid { get; } Property Value Dictionary Asmb Gets the assembly containing the mechanism components. public Asmb Asmb { get; } Property Value Asmb Root Gets the root anchor of the mechanism. public Anchor Root { get; } Property Value Anchor XName Name for XML IO. public static string XName { get; } Property Value string Methods Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchorToSolidDictionary() Gets a dictionary that maps Anchor objects to their corresponding Solid objects. public Dictionary GetAnchorToSolidDictionary() Returns Dictionary A dictionary where keys are anchors and values are their associated solids. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class GeneralMechanism Namespace Hi.Mech Assembly HiMech.dll General Mechanism. public class GeneralMechanism : IMakeXmlSource, ITopo, IGetAsmb, IGetAnchoredDisplayeeList, IGetAnchorToSolidDictionary, IAnchoredDisplayee, IGetAnchor, IGetTopoIndex, IDisplayee, IExpandToBox3d Inheritance object GeneralMechanism Implements IMakeXmlSource ITopo IGetAsmb IGetAnchoredDisplayeeList IGetAnchorToSolidDictionary IAnchoredDisplayee IGetAnchor IGetTopoIndex IDisplayee IExpandToBox3d Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DispUtil.Display(IDisplayee, Bind, Mat4d) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) TopoDisplayeeUtil.Display(ITopo, Bind) TopoDisplayeeUtil.ExpandToBox3d(ITopo, Box3d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Remarks The XML IO is according to self-contained principle. Constructors GeneralMechanism() Initializes a new instance of the GeneralMechanism class. public GeneralMechanism() GeneralMechanism(XElement, string, IProgress) Initializes a new instance of the GeneralMechanism class from XML. public GeneralMechanism(XElement src, string baseDirectory, IProgress progress) Parameters src XElement The XML element containing the mechanism data. baseDirectory string The base directory for resolving relative file paths. progress IProgress Progress reporter for diagnostic messages emitted during construction. Properties AnchorToSolid Gets the dictionary mapping anchors to their corresponding solids. public Dictionary AnchorToSolid { get; } Property Value Dictionary Asmb Gets the assembly containing the mechanism components. public Asmb Asmb { get; } Property Value Asmb Root Gets the root anchor of the mechanism. public Anchor Root { get; } Property Value Anchor XName Name for XML IO. public static string XName { get; } Property Value string Methods Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchorToSolidDictionary() Gets a dictionary that maps Anchor objects to their corresponding Solid objects. public Dictionary GetAnchorToSolidDictionary() Returns Dictionary A dictionary where keys are anchors and values are their associated solids. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Mech.IGetAnchorToSolidDictionary.html": { "href": "api/Hi.Mech.IGetAnchorToSolidDictionary.html", @@ -2342,22 +2342,22 @@ "api/Hi.Mech.Topo.DynamicFreeform.html": { "href": "api/Hi.Mech.Topo.DynamicFreeform.html", "title": "Class DynamicFreeform | HiAPI-C# 2025", - "summary": "Class DynamicFreeform Namespace Hi.Mech.Topo Assembly HiMech.dll Dynamic Freeform transformer. public class DynamicFreeform : IDynamicTransformer, ITransformer, IMakeXmlSource, IGetInverseTransformer, IToPresentDto Inheritance object DynamicFreeform Implements IDynamicTransformer ITransformer IMakeXmlSource IGetInverseTransformer IToPresentDto 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 DynamicFreeform(Mat4d) Ctor. public DynamicFreeform(Mat4d mat) Parameters mat Mat4d transform matrix DynamicFreeform(Mat4d, Mat4d) Ctor. public DynamicFreeform(Mat4d mat, Mat4d matInv) Parameters mat Mat4d transform matrix matInv Mat4d inversed transform matrix DynamicFreeform(XElement) Ctor. public DynamicFreeform(XElement src) Parameters src XElement XML Properties XName Static name. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public ITransformer Clone() Returns ITransformer clone GetInverseTransformer() Gets the inverse transformer of this transformer. public ITransformer GetInverseTransformer() Returns ITransformer The inverse transformer. GetMat() Gets the transform matrix. public Mat4d GetMat() Returns Mat4d The transform matrix. GetMatInv() Gets the inverse transform matrix. public Mat4d GetMatInv() Returns Mat4d The inverse transform matrix. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. SetMat(Mat4d) public void SetMat(Mat4d mat) Parameters mat Mat4d SetMat(Mat4d, Mat4d) Set transform matrix. public void SetMat(Mat4d mat, Mat4d matInv) Parameters mat Mat4d transform matrix matInv Mat4d inversed transform matrix ToPresentDto() Convert StaticFreeform to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type and matrix properties" + "summary": "Class DynamicFreeform Namespace Hi.Mech.Topo Assembly HiMech.dll Dynamic Freeform transformer. public class DynamicFreeform : IDynamicTransformer, ITransformer, IMakeXmlSource, IGetInverseTransformer, IToPresentDto Inheritance object DynamicFreeform Implements IDynamicTransformer ITransformer IMakeXmlSource IGetInverseTransformer IToPresentDto 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 DynamicFreeform(Mat4d) Ctor. public DynamicFreeform(Mat4d mat) Parameters mat Mat4d transform matrix DynamicFreeform(Mat4d, Mat4d) Ctor. public DynamicFreeform(Mat4d mat, Mat4d matInv) Parameters mat Mat4d transform matrix matInv Mat4d inversed transform matrix DynamicFreeform(XElement) Ctor. public DynamicFreeform(XElement src) Parameters src XElement XML Properties XName Static name. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public ITransformer Clone() Returns ITransformer clone GetInverseTransformer() Gets the inverse transformer of this transformer. public ITransformer GetInverseTransformer() Returns ITransformer The inverse transformer. GetMat() Gets the transform matrix. public Mat4d GetMat() Returns Mat4d The transform matrix. GetMatInv() Gets the inverse transform matrix. public Mat4d GetMatInv() Returns Mat4d The inverse transform matrix. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetMat(Mat4d) public void SetMat(Mat4d mat) Parameters mat Mat4d SetMat(Mat4d, Mat4d) Set transform matrix. public void SetMat(Mat4d mat, Mat4d matInv) Parameters mat Mat4d transform matrix matInv Mat4d inversed transform matrix ToPresentDto() Convert StaticFreeform to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type and matrix properties" }, "api/Hi.Mech.Topo.DynamicRotation.html": { "href": "api/Hi.Mech.Topo.DynamicRotation.html", "title": "Class DynamicRotation | HiAPI-C# 2025", - "summary": "Class DynamicRotation Namespace Hi.Mech.Topo Assembly HiMech.dll Dynamic rotate transformer. public class DynamicRotation : IDynamicRotation, IDynamicRegular, IDynamicTransformer, ITransformer, IMakeXmlSource, IGetInverseTransformer, IToPresentDto Inheritance object DynamicRotation Implements IDynamicRotation IDynamicRegular IDynamicTransformer ITransformer IMakeXmlSource IGetInverseTransformer IToPresentDto Derived NcRotation 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 DynamicRotation() Ctor. public DynamicRotation() DynamicRotation(Vec3d, double, Vec3d) Ctor. public DynamicRotation(Vec3d axis, double angle_rad = 0, Vec3d pivot = null) Parameters axis Vec3d Axis angle_rad double Angle_rad pivot Vec3d Pivot DynamicRotation(XElement) Ctor. public DynamicRotation(XElement src) Parameters src XElement XML Properties Angle_deg Rotation angle in degree. public double Angle_deg { get; set; } Property Value double Angle_rad Rotation angle in radian. public double Angle_rad { get; set; } Property Value double Axis Rotation axis. public Vec3d Axis { get; set; } Property Value Vec3d Pivot pivot public Vec3d Pivot { get; set; } Property Value Vec3d Step Gets or sets the step. public double Step { get; set; } Property Value double The step. XName Static name. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public virtual ITransformer Clone() Returns ITransformer clone GetInverseTransformer() Gets the inverse transformer of this transformer. public ITransformer GetInverseTransformer() Returns ITransformer The inverse transformer. GetMat() Gets the transform matrix. public Mat4d GetMat() Returns Mat4d The transform matrix. GetMatInv() Gets the inverse transform matrix. public Mat4d GetMatInv() Returns Mat4d The inverse transform matrix. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. Set(DynamicRotation) Copy from src. public void Set(DynamicRotation src) Parameters src DynamicRotation src ToPresentDto() Convert DynamicRotation to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type, axis, angleDeg, and pivot properties" + "summary": "Class DynamicRotation Namespace Hi.Mech.Topo Assembly HiMech.dll Dynamic rotate transformer. public class DynamicRotation : IDynamicRotation, IDynamicRegular, IDynamicTransformer, ITransformer, IMakeXmlSource, IGetInverseTransformer, IToPresentDto Inheritance object DynamicRotation Implements IDynamicRotation IDynamicRegular IDynamicTransformer ITransformer IMakeXmlSource IGetInverseTransformer IToPresentDto Derived NcRotation 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 DynamicRotation() Ctor. public DynamicRotation() DynamicRotation(Vec3d, double, Vec3d) Ctor. public DynamicRotation(Vec3d axis, double angle_rad = 0, Vec3d pivot = null) Parameters axis Vec3d Axis angle_rad double Angle_rad pivot Vec3d Pivot DynamicRotation(XElement) Ctor. public DynamicRotation(XElement src) Parameters src XElement XML Properties Angle_deg Rotation angle in degree. public double Angle_deg { get; set; } Property Value double Angle_rad Rotation angle in radian. public double Angle_rad { get; set; } Property Value double Axis Rotation axis. public Vec3d Axis { get; set; } Property Value Vec3d Pivot pivot public Vec3d Pivot { get; set; } Property Value Vec3d Step Gets or sets the step. public double Step { get; set; } Property Value double The step. XName Static name. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public virtual ITransformer Clone() Returns ITransformer clone GetInverseTransformer() Gets the inverse transformer of this transformer. public ITransformer GetInverseTransformer() Returns ITransformer The inverse transformer. GetMat() Gets the transform matrix. public Mat4d GetMat() Returns Mat4d The transform matrix. GetMatInv() Gets the inverse transform matrix. public Mat4d GetMatInv() Returns Mat4d The inverse transform matrix. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Set(DynamicRotation) Copy from src. public void Set(DynamicRotation src) Parameters src DynamicRotation src ToPresentDto() Convert DynamicRotation to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type, axis, angleDeg, and pivot properties" }, "api/Hi.Mech.Topo.DynamicTranslation.html": { "href": "api/Hi.Mech.Topo.DynamicTranslation.html", "title": "Class DynamicTranslation | HiAPI-C# 2025", - "summary": "Class DynamicTranslation Namespace Hi.Mech.Topo Assembly HiMech.dll Dynamic translate transformer public class DynamicTranslation : IDynamicRegular, IDynamicTransformer, ITransformer, IMakeXmlSource, IGetInverseTransformer, IToPresentDto Inheritance object DynamicTranslation Implements IDynamicRegular IDynamicTransformer ITransformer IMakeXmlSource IGetInverseTransformer IToPresentDto Derived NcTranslation 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 DynamicTranslation() Ctor. public DynamicTranslation() DynamicTranslation(Vec3d, double) Ctor. public DynamicTranslation(Vec3d axis, double len = 0) Parameters axis Vec3d Translation axis len double length DynamicTranslation(XElement) Ctor. public DynamicTranslation(XElement src) Parameters src XElement XML Properties Axis Translation Axis. public Vec3d Axis { get; set; } Property Value Vec3d Len Length. public double Len { get; set; } Property Value double Step Gets or sets the step. public double Step { get; set; } Property Value double The step. XName Static name. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public virtual ITransformer Clone() Returns ITransformer clone GetInverseTransformer() Gets the inverse transformer of this transformer. public ITransformer GetInverseTransformer() Returns ITransformer The inverse transformer. GetMat() Gets the transform matrix. public Mat4d GetMat() Returns Mat4d The transform matrix. GetMatInv() Gets the inverse transform matrix. public Mat4d GetMatInv() Returns Mat4d The inverse transform matrix. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. Set(DynamicTranslation) Copy from src. public void Set(DynamicTranslation src) Parameters src DynamicTranslation src ToPresentDto() Convert DynamicTranslation to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type, axis, and step properties" + "summary": "Class DynamicTranslation Namespace Hi.Mech.Topo Assembly HiMech.dll Dynamic translate transformer public class DynamicTranslation : IDynamicRegular, IDynamicTransformer, ITransformer, IMakeXmlSource, IGetInverseTransformer, IToPresentDto Inheritance object DynamicTranslation Implements IDynamicRegular IDynamicTransformer ITransformer IMakeXmlSource IGetInverseTransformer IToPresentDto Derived NcTranslation 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 DynamicTranslation() Ctor. public DynamicTranslation() DynamicTranslation(Vec3d, double) Ctor. public DynamicTranslation(Vec3d axis, double len = 0) Parameters axis Vec3d Translation axis len double length DynamicTranslation(XElement) Ctor. public DynamicTranslation(XElement src) Parameters src XElement XML Properties Axis Translation Axis. public Vec3d Axis { get; set; } Property Value Vec3d Len Length. public double Len { get; set; } Property Value double Step Gets or sets the step. public double Step { get; set; } Property Value double The step. XName Static name. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public virtual ITransformer Clone() Returns ITransformer clone GetInverseTransformer() Gets the inverse transformer of this transformer. public ITransformer GetInverseTransformer() Returns ITransformer The inverse transformer. GetMat() Gets the transform matrix. public Mat4d GetMat() Returns Mat4d The transform matrix. GetMatInv() Gets the inverse transform matrix. public Mat4d GetMatInv() Returns Mat4d The inverse transform matrix. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Set(DynamicTranslation) Copy from src. public void Set(DynamicTranslation src) Parameters src DynamicTranslation src ToPresentDto() Convert DynamicTranslation to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type, axis, and step properties" }, "api/Hi.Mech.Topo.GeneralTransform.html": { "href": "api/Hi.Mech.Topo.GeneralTransform.html", "title": "Class GeneralTransform | HiAPI-C# 2025", - "summary": "Class GeneralTransform Namespace Hi.Mech.Topo Assembly HiMech.dll Represents a general transformation that combines scaling, rotation, and translation. public class GeneralTransform : IStaticTransformer, ITransformer, IMakeXmlSource, IGetInverseTransformer, IToPresentDto Inheritance object GeneralTransform Implements IStaticTransformer ITransformer IMakeXmlSource IGetInverseTransformer IToPresentDto 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 GeneralTransform() Initializes a new instance of the GeneralTransform class. public GeneralTransform() GeneralTransform(Mat4d) Initializes a new instance of the GeneralTransform class from a 4x4 transformation matrix. public GeneralTransform(Mat4d mat) Parameters mat Mat4d The transformation matrix. GeneralTransform(double, StaticRotation, StaticTranslation) Initializes a new instance of the GeneralTransform class with specified scale, rotation, and translation. public GeneralTransform(double scale, StaticRotation rotation, StaticTranslation translation) Parameters scale double The scaling factor. rotation StaticRotation The rotation transformation. translation StaticTranslation The translation transformation. GeneralTransform(XElement) Ctor. public GeneralTransform(XElement src) Parameters src XElement XML Properties Rotation 2th transform. public StaticRotation Rotation { get; } Property Value StaticRotation Scale 1th transform. public double Scale { get; set; } Property Value double Translation 3th transform. public StaticTranslation Translation { get; } Property Value StaticTranslation XName Static name. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public ITransformer Clone() Returns ITransformer clone GetInverseTransformer() Gets the inverse transformer of this transformer. public ITransformer GetInverseTransformer() Returns ITransformer The inverse transformer. GetMat() Gets the transform matrix. public Mat4d GetMat() Returns Mat4d The transform matrix. GetMatInv() Gets the inverse transform matrix. public Mat4d GetMatInv() Returns Mat4d The inverse transform matrix. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. ToPresentDto() Convert GeneralTransform to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type, scale, rotation, and translation properties" + "summary": "Class GeneralTransform Namespace Hi.Mech.Topo Assembly HiMech.dll Represents a general transformation that combines scaling, rotation, and translation. public class GeneralTransform : IStaticTransformer, ITransformer, IMakeXmlSource, IGetInverseTransformer, IToPresentDto Inheritance object GeneralTransform Implements IStaticTransformer ITransformer IMakeXmlSource IGetInverseTransformer IToPresentDto 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 GeneralTransform() Initializes a new instance of the GeneralTransform class. public GeneralTransform() GeneralTransform(Mat4d) Initializes a new instance of the GeneralTransform class from a 4x4 transformation matrix. public GeneralTransform(Mat4d mat) Parameters mat Mat4d The transformation matrix. GeneralTransform(double, StaticRotation, StaticTranslation) Initializes a new instance of the GeneralTransform class with specified scale, rotation, and translation. public GeneralTransform(double scale, StaticRotation rotation, StaticTranslation translation) Parameters scale double The scaling factor. rotation StaticRotation The rotation transformation. translation StaticTranslation The translation transformation. GeneralTransform(XElement) Ctor. public GeneralTransform(XElement src) Parameters src XElement XML Properties Rotation 2th transform. public StaticRotation Rotation { get; } Property Value StaticRotation Scale 1th transform. public double Scale { get; set; } Property Value double Translation 3th transform. public StaticTranslation Translation { get; } Property Value StaticTranslation XName Static name. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public ITransformer Clone() Returns ITransformer clone GetInverseTransformer() Gets the inverse transformer of this transformer. public ITransformer GetInverseTransformer() Returns ITransformer The inverse transformer. GetMat() Gets the transform matrix. public Mat4d GetMat() Returns Mat4d The transform matrix. GetMatInv() Gets the inverse transform matrix. public Mat4d GetMatInv() Returns Mat4d The inverse transform matrix. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToPresentDto() Convert GeneralTransform to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type, scale, rotation, and translation properties" }, "api/Hi.Mech.Topo.IAnchoredDisplayee.html": { "href": "api/Hi.Mech.Topo.IAnchoredDisplayee.html", @@ -2437,27 +2437,27 @@ "api/Hi.Mech.Topo.NoTransform.html": { "href": "api/Hi.Mech.Topo.NoTransform.html", "title": "Class NoTransform | HiAPI-C# 2025", - "summary": "Class NoTransform Namespace Hi.Mech.Topo Assembly HiMech.dll Static Identity Transformer. public class NoTransform : IStaticTransformer, ITransformer, IMakeXmlSource, IToPresentDto, IGetInverseTransformer Inheritance object NoTransform Implements IStaticTransformer ITransformer IMakeXmlSource IToPresentDto IGetInverseTransformer 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 NoTransform() Ctor. public NoTransform() NoTransform(XElement) Ctor. public NoTransform(XElement src) Parameters src XElement XML Properties XName Static name. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public ITransformer Clone() Returns ITransformer clone GetInverseTransformer() Gets the inverse transformer of this transformer. public ITransformer GetInverseTransformer() Returns ITransformer The inverse transformer. GetMat() Gets the transform matrix. public Mat4d GetMat() Returns Mat4d The transform matrix. GetMatInv() Gets the inverse transform matrix. public Mat4d GetMatInv() Returns Mat4d The inverse transform matrix. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. ToPresentDto() Convert to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type and object properties" + "summary": "Class NoTransform Namespace Hi.Mech.Topo Assembly HiMech.dll Static Identity Transformer. public class NoTransform : IStaticTransformer, ITransformer, IMakeXmlSource, IToPresentDto, IGetInverseTransformer Inheritance object NoTransform Implements IStaticTransformer ITransformer IMakeXmlSource IToPresentDto IGetInverseTransformer 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 NoTransform() Ctor. public NoTransform() NoTransform(XElement) Ctor. public NoTransform(XElement src) Parameters src XElement XML Properties XName Static name. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public ITransformer Clone() Returns ITransformer clone GetInverseTransformer() Gets the inverse transformer of this transformer. public ITransformer GetInverseTransformer() Returns ITransformer The inverse transformer. GetMat() Gets the transform matrix. public Mat4d GetMat() Returns Mat4d The transform matrix. GetMatInv() Gets the inverse transform matrix. public Mat4d GetMatInv() Returns Mat4d The inverse transform matrix. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToPresentDto() Convert to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type and object properties" }, "api/Hi.Mech.Topo.StackTransformer.html": { "href": "api/Hi.Mech.Topo.StackTransformer.html", "title": "Class StackTransformer | HiAPI-C# 2025", - "summary": "Class StackTransformer Namespace Hi.Mech.Topo Assembly HiMech.dll Represents a transformer that maintains a stack of transformations. public class StackTransformer : ITransformer, IMakeXmlSource, IToPresentDto, IDisposable Inheritance object StackTransformer Implements ITransformer IMakeXmlSource IToPresentDto IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors StackTransformer() Initializes a new instance of the StackTransformer class. public StackTransformer() StackTransformer(params ITransformer[]) Initializes a new instance of the StackTransformer class with the specified transformers. public StackTransformer(params ITransformer[] transformers) Parameters transformers ITransformer[] A variable-length array of transformers to add to the stack. StackTransformer(XElement, string, IProgress) Initializes a new instance of the StackTransformer class from XML data. public StackTransformer(XElement src, string baseDirectory, IProgress progress) Parameters src XElement The XML element containing the transformer stack configuration. baseDirectory string The base directory for resolving relative paths. progress IProgress The progress reporter. Properties Count Gets the number of transformers in the stack. public int Count { get; } Property Value int XName Static name. public static string XName { get; } Property Value string Methods Clear() Removes all transformers from the stack. public void Clear() Clone() Creates a deep copy of this transformer stack. public ITransformer Clone() Returns ITransformer A new StackTransformer instance with cloned transformers. Remarks The children ITransformer on stack are all cloned. Dispose() Releases all resources used by the StackTransformer. public void Dispose() Dispose(bool) Releases the unmanaged resources used by the StackTransformer and optionally releases the managed resources. protected virtual void Dispose(bool disposing) Parameters disposing bool true to release both managed and unmanaged resources; false to release only unmanaged resources. GetMat() Gets the combined transformation matrix of all transformers in the stack. public Mat4d GetMat() Returns Mat4d The combined 4x4 transformation matrix. Remarks The transformations are applied in order from bottom to top of the stack. GetMatInv() Gets the inverse of the combined transformation matrix of all transformers in the stack. public Mat4d GetMatInv() Returns Mat4d The inverse of the combined 4x4 transformation matrix. Remarks The inverse transformations are applied in reverse order (top to bottom of the stack). If forward mats is ABCD, then the inv-mats: DinvCinvBinvAinv. GetStack() Get the copied transformer stack. public List GetStack() Returns List copied stack MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. Peek() Returns the transformer at the top of the stack without removing it. public ITransformer Peek() Returns ITransformer The transformer at the top of the stack, or null if the stack is empty. Pop() Removes and returns the transformer at the top of the stack. public ITransformer Pop() Returns ITransformer The transformer at the top of the stack, or null if the stack is empty. Push(ITransformer) Pushes a transformer onto the stack. public void Push(ITransformer transformer) Parameters transformer ITransformer The transformer to push. ToPresentDto() Convert StackTransformer to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type and stack properties" + "summary": "Class StackTransformer Namespace Hi.Mech.Topo Assembly HiMech.dll Represents a transformer that maintains a stack of transformations. public class StackTransformer : ITransformer, IMakeXmlSource, IToPresentDto, IDisposable Inheritance object StackTransformer Implements ITransformer IMakeXmlSource IToPresentDto IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors StackTransformer() Initializes a new instance of the StackTransformer class. public StackTransformer() StackTransformer(params ITransformer[]) Initializes a new instance of the StackTransformer class with the specified transformers. public StackTransformer(params ITransformer[] transformers) Parameters transformers ITransformer[] A variable-length array of transformers to add to the stack. StackTransformer(XElement, string, IProgress) Initializes a new instance of the StackTransformer class from XML data. public StackTransformer(XElement src, string baseDirectory, IProgress progress) Parameters src XElement The XML element containing the transformer stack configuration. baseDirectory string The base directory for resolving relative paths. progress IProgress The progress reporter. Properties Count Gets the number of transformers in the stack. public int Count { get; } Property Value int XName Static name. public static string XName { get; } Property Value string Methods Clear() Removes all transformers from the stack. public void Clear() Clone() Creates a deep copy of this transformer stack. public ITransformer Clone() Returns ITransformer A new StackTransformer instance with cloned transformers. Remarks The children ITransformer on stack are all cloned. Dispose() Releases all resources used by the StackTransformer. public void Dispose() Dispose(bool) Releases the unmanaged resources used by the StackTransformer and optionally releases the managed resources. protected virtual void Dispose(bool disposing) Parameters disposing bool true to release both managed and unmanaged resources; false to release only unmanaged resources. GetMat() Gets the combined transformation matrix of all transformers in the stack. public Mat4d GetMat() Returns Mat4d The combined 4x4 transformation matrix. Remarks The transformations are applied in order from bottom to top of the stack. GetMatInv() Gets the inverse of the combined transformation matrix of all transformers in the stack. public Mat4d GetMatInv() Returns Mat4d The inverse of the combined 4x4 transformation matrix. Remarks The inverse transformations are applied in reverse order (top to bottom of the stack). If forward mats is ABCD, then the inv-mats: DinvCinvBinvAinv. GetStack() Get the copied transformer stack. public List GetStack() Returns List copied stack MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. Peek() Returns the transformer at the top of the stack without removing it. public ITransformer Peek() Returns ITransformer The transformer at the top of the stack, or null if the stack is empty. Pop() Removes and returns the transformer at the top of the stack. public ITransformer Pop() Returns ITransformer The transformer at the top of the stack, or null if the stack is empty. Push(ITransformer) Pushes a transformer onto the stack. public void Push(ITransformer transformer) Parameters transformer ITransformer The transformer to push. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToPresentDto() Convert StackTransformer to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type and stack properties" }, "api/Hi.Mech.Topo.StaticFreeform.html": { "href": "api/Hi.Mech.Topo.StaticFreeform.html", "title": "Class StaticFreeform | HiAPI-C# 2025", - "summary": "Class StaticFreeform Namespace Hi.Mech.Topo Assembly HiMech.dll Static Freeform transformer. public class StaticFreeform : IStaticTransformer, ITransformer, IMakeXmlSource, IGetInverseTransformer, IToPresentDto Inheritance object StaticFreeform Implements IStaticTransformer ITransformer IMakeXmlSource IGetInverseTransformer IToPresentDto 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 StaticFreeform() Ctor. public StaticFreeform() StaticFreeform(Mat4d) Ctor. public StaticFreeform(Mat4d mat) Parameters mat Mat4d transform matrix StaticFreeform(Mat4d, Mat4d) Ctor. public StaticFreeform(Mat4d mat, Mat4d matInv) Parameters mat Mat4d transform matrix matInv Mat4d inversed transform matrix StaticFreeform(XElement) Ctor. public StaticFreeform(XElement src) Parameters src XElement XML Properties XName Static name. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public ITransformer Clone() Returns ITransformer clone GetInverseTransformer() Gets the inverse transformer of this transformer. public ITransformer GetInverseTransformer() Returns ITransformer The inverse transformer. GetMat() Gets the transform matrix. public Mat4d GetMat() Returns Mat4d The transform matrix. GetMatInv() Gets the inverse transform matrix. public Mat4d GetMatInv() Returns Mat4d The inverse transform matrix. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. SetMat(Mat4d) public void SetMat(Mat4d mat) Parameters mat Mat4d SetMat(Mat4d, Mat4d) Set transform matrix. public void SetMat(Mat4d mat, Mat4d matInv) Parameters mat Mat4d transform matrix matInv Mat4d inversed transform matrix ToPresentDto() Convert StaticFreeform to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type and matrix properties" + "summary": "Class StaticFreeform Namespace Hi.Mech.Topo Assembly HiMech.dll Static Freeform transformer. public class StaticFreeform : IStaticTransformer, ITransformer, IMakeXmlSource, IGetInverseTransformer, IToPresentDto Inheritance object StaticFreeform Implements IStaticTransformer ITransformer IMakeXmlSource IGetInverseTransformer IToPresentDto 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 StaticFreeform() Ctor. public StaticFreeform() StaticFreeform(Mat4d) Ctor. public StaticFreeform(Mat4d mat) Parameters mat Mat4d transform matrix StaticFreeform(Mat4d, Mat4d) Ctor. public StaticFreeform(Mat4d mat, Mat4d matInv) Parameters mat Mat4d transform matrix matInv Mat4d inversed transform matrix StaticFreeform(XElement) Ctor. public StaticFreeform(XElement src) Parameters src XElement XML Properties XName Static name. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public ITransformer Clone() Returns ITransformer clone GetInverseTransformer() Gets the inverse transformer of this transformer. public ITransformer GetInverseTransformer() Returns ITransformer The inverse transformer. GetMat() Gets the transform matrix. public Mat4d GetMat() Returns Mat4d The transform matrix. GetMatInv() Gets the inverse transform matrix. public Mat4d GetMatInv() Returns Mat4d The inverse transform matrix. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetMat(Mat4d) public void SetMat(Mat4d mat) Parameters mat Mat4d SetMat(Mat4d, Mat4d) Set transform matrix. public void SetMat(Mat4d mat, Mat4d matInv) Parameters mat Mat4d transform matrix matInv Mat4d inversed transform matrix ToPresentDto() Convert StaticFreeform to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type and matrix properties" }, "api/Hi.Mech.Topo.StaticRotation.html": { "href": "api/Hi.Mech.Topo.StaticRotation.html", "title": "Class StaticRotation | HiAPI-C# 2025", - "summary": "Class StaticRotation Namespace Hi.Mech.Topo Assembly HiMech.dll Static Rotation. public class StaticRotation : IStaticTransformer, ITransformer, IMakeXmlSource, IGetInverseTransformer, IToPresentDto Inheritance object StaticRotation Implements IStaticTransformer ITransformer IMakeXmlSource IGetInverseTransformer IToPresentDto 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 StaticRotation() Initializes a new instance of the StaticRotation class. public StaticRotation() StaticRotation(Vec3d, double) Ctor. public StaticRotation(Vec3d axis, double angle_rad) Parameters axis Vec3d Axis angle_rad double Angle_rad StaticRotation(Vec3d, double, Vec3d) Ctor. public StaticRotation(Vec3d axis, double angle_rad, Vec3d pivot) Parameters axis Vec3d angle_rad double pivot Vec3d StaticRotation(XElement) Initializes a new instance of the StaticRotation class from XML data. public StaticRotation(XElement src) Parameters src XElement The XML element containing the rotation data. Properties Angle_deg Gets or sets the rotation angle in degrees. public double Angle_deg { get; set; } Property Value double Angle_rad Gets or sets the rotation angle in radians. public double Angle_rad { get; set; } Property Value double Axis Gets or sets the rotation axis. public Vec3d Axis { get; set; } Property Value Vec3d Pivot Gets or sets the pivot point for the rotation. public Vec3d Pivot { get; set; } Property Value Vec3d XName Gets the XML element name for serialization. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public ITransformer Clone() Returns ITransformer clone GetInverseTransformer() Gets a new transformer that represents the inverse of this rotation. public ITransformer GetInverseTransformer() Returns ITransformer An inverse transformer instance. GetMat() Gets the transformation matrix representing this rotation. public Mat4d GetMat() Returns Mat4d A 4x4 transformation matrix. GetMatInv() Gets the inverse transformation matrix of this rotation. public Mat4d GetMatInv() Returns Mat4d A 4x4 inverse transformation matrix. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. ToPresentDto() Convert StaticRotation to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type, axis, angleDeg, and pivot properties" + "summary": "Class StaticRotation Namespace Hi.Mech.Topo Assembly HiMech.dll Static Rotation. public class StaticRotation : IStaticTransformer, ITransformer, IMakeXmlSource, IGetInverseTransformer, IToPresentDto Inheritance object StaticRotation Implements IStaticTransformer ITransformer IMakeXmlSource IGetInverseTransformer IToPresentDto 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 StaticRotation() Initializes a new instance of the StaticRotation class. public StaticRotation() StaticRotation(Vec3d, double) Ctor. public StaticRotation(Vec3d axis, double angle_rad) Parameters axis Vec3d Axis angle_rad double Angle_rad StaticRotation(Vec3d, double, Vec3d) Ctor. public StaticRotation(Vec3d axis, double angle_rad, Vec3d pivot) Parameters axis Vec3d angle_rad double pivot Vec3d StaticRotation(XElement) Initializes a new instance of the StaticRotation class from XML data. public StaticRotation(XElement src) Parameters src XElement The XML element containing the rotation data. Properties Angle_deg Gets or sets the rotation angle in degrees. public double Angle_deg { get; set; } Property Value double Angle_rad Gets or sets the rotation angle in radians. public double Angle_rad { get; set; } Property Value double Axis Gets or sets the rotation axis. public Vec3d Axis { get; set; } Property Value Vec3d Pivot Gets or sets the pivot point for the rotation. public Vec3d Pivot { get; set; } Property Value Vec3d XName Gets the XML element name for serialization. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public ITransformer Clone() Returns ITransformer clone GetInverseTransformer() Gets a new transformer that represents the inverse of this rotation. public ITransformer GetInverseTransformer() Returns ITransformer An inverse transformer instance. GetMat() Gets the transformation matrix representing this rotation. public Mat4d GetMat() Returns Mat4d A 4x4 transformation matrix. GetMatInv() Gets the inverse transformation matrix of this rotation. public Mat4d GetMatInv() Returns Mat4d A 4x4 inverse transformation matrix. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToPresentDto() Convert StaticRotation to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type, axis, angleDeg, and pivot properties" }, "api/Hi.Mech.Topo.StaticTranslation.html": { "href": "api/Hi.Mech.Topo.StaticTranslation.html", "title": "Class StaticTranslation | HiAPI-C# 2025", - "summary": "Class StaticTranslation Namespace Hi.Mech.Topo Assembly HiMech.dll Static Translate. public class StaticTranslation : IStaticTransformer, ITransformer, IMakeXmlSource, IGetInverseTransformer, IToPresentDto Inheritance object StaticTranslation Implements IStaticTransformer ITransformer IMakeXmlSource IGetInverseTransformer IToPresentDto Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors StaticTranslation() Ctor. public StaticTranslation() StaticTranslation(Vec3d) Ctor. public StaticTranslation(Vec3d trans) Parameters trans Vec3d translation StaticTranslation(double, double, double) Ctor. public StaticTranslation(double x, double y, double z) Parameters x double translation x y double translation y z double translation z StaticTranslation(XElement) Ctor. public StaticTranslation(XElement src) Parameters src XElement XML Properties Trans Translation. public Vec3d Trans { get; set; } Property Value Vec3d XName Static name. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public ITransformer Clone() Returns ITransformer clone GetInverseTransformer() Gets the inverse transformer of this transformer. public ITransformer GetInverseTransformer() Returns ITransformer The inverse transformer. GetMat() Gets the transform matrix. public Mat4d GetMat() Returns Mat4d The transform matrix. GetMatInv() Gets the inverse transform matrix. public Mat4d GetMatInv() Returns Mat4d The inverse transform matrix. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. Set(StaticTranslation) Copy from src. public void Set(StaticTranslation src) Parameters src StaticTranslation src ToPresentDto() Convert StaticTranslation to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type and translation properties ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object." + "summary": "Class StaticTranslation Namespace Hi.Mech.Topo Assembly HiMech.dll Static Translate. public class StaticTranslation : IStaticTransformer, ITransformer, IMakeXmlSource, IGetInverseTransformer, IToPresentDto Inheritance object StaticTranslation Implements IStaticTransformer ITransformer IMakeXmlSource IGetInverseTransformer IToPresentDto Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors StaticTranslation() Ctor. public StaticTranslation() StaticTranslation(Vec3d) Ctor. public StaticTranslation(Vec3d trans) Parameters trans Vec3d translation StaticTranslation(double, double, double) Ctor. public StaticTranslation(double x, double y, double z) Parameters x double translation x y double translation y z double translation z StaticTranslation(XElement) Ctor. public StaticTranslation(XElement src) Parameters src XElement XML Properties Trans Translation. public Vec3d Trans { get; set; } Property Value Vec3d XName Static name. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public ITransformer Clone() Returns ITransformer clone GetInverseTransformer() Gets the inverse transformer of this transformer. public ITransformer GetInverseTransformer() Returns ITransformer The inverse transformer. GetMat() Gets the transform matrix. public Mat4d GetMat() Returns Mat4d The transform matrix. GetMatInv() Gets the inverse transform matrix. public Mat4d GetMatInv() Returns Mat4d The inverse transform matrix. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Set(StaticTranslation) Copy from src. public void Set(StaticTranslation src) Parameters src StaticTranslation src ToPresentDto() Convert StaticTranslation to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type and translation properties ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object." }, "api/Hi.Mech.Topo.TopoDisplayee.html": { "href": "api/Hi.Mech.Topo.TopoDisplayee.html", @@ -2482,7 +2482,7 @@ "api/Hi.Mech.Topo.TransformerUtil.html": { "href": "api/Hi.Mech.Topo.TransformerUtil.html", "title": "Class TransformerUtil | HiAPI-C# 2025", - "summary": "Class TransformerUtil Namespace Hi.Mech.Topo Assembly HiMech.dll Utility for ITransformer. public static class TransformerUtil Inheritance object TransformerUtil Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Methods Dummy() The function is for trigger the static constructor of this class. The function is empty. The static constructor register the class to the XFactory. public static void Dummy() GetSteps(IDynamicRegular[]) Gets the steps. public static double[] GetSteps(IDynamicRegular[] dynamics) Parameters dynamics IDynamicRegular[] The dynamics. Returns double[] the steps SetSteps(IDynamicRegular[], double[]) Sets the steps. public static void SetSteps(IDynamicRegular[] dynamics, double[] steps) Parameters dynamics IDynamicRegular[] The dynamics. steps double[] The steps." + "summary": "Class TransformerUtil Namespace Hi.Mech.Topo Assembly HiMech.dll Utility for ITransformer. public static class TransformerUtil Inheritance object TransformerUtil Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Methods GetSteps(IDynamicRegular[]) Gets the steps. public static double[] GetSteps(IDynamicRegular[] dynamics) Parameters dynamics IDynamicRegular[] The dynamics. Returns double[] the steps Reg(XFactory) Registers every concrete ITransformer implementation with the given XFactory: NoTransform, StaticTranslation, StaticRotation, StaticFreeform, DynamicTranslation, DynamicRotation, DynamicFreeform, StackTransformer, and GeneralTransform. Composites that deserialize a Branch (whose Transformer child can be any of the above) should chain this from their own Reg(factory). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetSteps(IDynamicRegular[], double[]) Sets the steps. public static void SetSteps(IDynamicRegular[] dynamics, double[] steps) Parameters dynamics IDynamicRegular[] The dynamics. steps double[] The steps." }, "api/Hi.Mech.Topo.html": { "href": "api/Hi.Mech.Topo.html", @@ -2502,32 +2502,32 @@ "api/Hi.Milling.Apts.BallApt.html": { "href": "api/Hi.Milling.Apts.BallApt.html", "title": "Class BallApt | HiAPI-C# 2025", - "summary": "Class BallApt Namespace Hi.Milling.Apts Assembly HiCbtr.dll Ball End Apt. public class BallApt : IAptBased, IGetGeneralApt, IAbstractNote, IGetDiameter, IGetFluteHeight, IExpandToBox3d, IMakeXmlSource, IDuplicate, IToXElement Inheritance object BallApt Implements IAptBased IGetGeneralApt IAbstractNote IGetDiameter IGetFluteHeight IExpandToBox3d IMakeXmlSource IDuplicate IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors BallApt() Ctor. public BallApt() BallApt(XElement) Ctor. public BallApt(XElement src) Parameters src XElement XML Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string Diameter_mm Diameter. public double Diameter_mm { get; set; } Property Value double FluteHeight_mm Flute Height. public double FluteHeight_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetGeneralApt() Get Apt. public GeneralApt GetGeneralApt() Returns GeneralApt Apt MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class BallApt Namespace Hi.Milling.Apts Assembly HiCbtr.dll Ball End Apt. public class BallApt : IAptBased, IGetGeneralApt, IAbstractNote, IGetDiameter, IGetFluteHeight, IExpandToBox3d, IMakeXmlSource, IDuplicate, IToXElement Inheritance object BallApt Implements IAptBased IGetGeneralApt IAbstractNote IGetDiameter IGetFluteHeight IExpandToBox3d IMakeXmlSource IDuplicate IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors BallApt() Ctor. public BallApt() BallApt(XElement) Ctor. public BallApt(XElement src) Parameters src XElement XML Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string Diameter_mm Diameter. public double Diameter_mm { get; set; } Property Value double FluteHeight_mm Flute Height. public double FluteHeight_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetGeneralApt() Get Apt. public GeneralApt GetGeneralApt() Returns GeneralApt Apt 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.Milling.Apts.BullNoseApt.html": { "href": "api/Hi.Milling.Apts.BullNoseApt.html", "title": "Class BullNoseApt | HiAPI-C# 2025", - "summary": "Class BullNoseApt Namespace Hi.Milling.Apts Assembly HiCbtr.dll Bull Nose End APT. public class BullNoseApt : IAptBased, IGetGeneralApt, IAbstractNote, IGetDiameter, IGetFluteHeight, IExpandToBox3d, IMakeXmlSource, IDuplicate, IAptRc, IToXElement Inheritance object BullNoseApt Implements IAptBased IGetGeneralApt IAbstractNote IGetDiameter IGetFluteHeight IExpandToBox3d IMakeXmlSource IDuplicate IAptRc IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors BullNoseApt() Ctor. public BullNoseApt() BullNoseApt(XElement) Ctor. public BullNoseApt(XElement src) Parameters src XElement XML Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string Diameter_mm Diameter. public double Diameter_mm { get; set; } Property Value double FluteHeight_mm Flute Height. public double FluteHeight_mm { get; set; } Property Value double Rc_mm Round corner radius. public double Rc_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetGeneralApt() Get Apt. public GeneralApt GetGeneralApt() Returns GeneralApt Apt MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class BullNoseApt Namespace Hi.Milling.Apts Assembly HiCbtr.dll Bull Nose End APT. public class BullNoseApt : IAptBased, IGetGeneralApt, IAbstractNote, IGetDiameter, IGetFluteHeight, IExpandToBox3d, IMakeXmlSource, IDuplicate, IAptRc, IToXElement Inheritance object BullNoseApt Implements IAptBased IGetGeneralApt IAbstractNote IGetDiameter IGetFluteHeight IExpandToBox3d IMakeXmlSource IDuplicate IAptRc IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors BullNoseApt() Ctor. public BullNoseApt() BullNoseApt(XElement) Ctor. public BullNoseApt(XElement src) Parameters src XElement XML Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string Diameter_mm Diameter. public double Diameter_mm { get; set; } Property Value double FluteHeight_mm Flute Height. public double FluteHeight_mm { get; set; } Property Value double Rc_mm Round corner radius. public double Rc_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetGeneralApt() Get Apt. public GeneralApt GetGeneralApt() Returns GeneralApt Apt 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.Milling.Apts.ColumnApt.html": { "href": "api/Hi.Milling.Apts.ColumnApt.html", "title": "Class ColumnApt | HiAPI-C# 2025", - "summary": "Class ColumnApt Namespace Hi.Milling.Apts Assembly HiCbtr.dll Column End APT. The composition is identical to the BullNoseApt. However, the nose radius is generally smaller than the BullNoseApt. public class ColumnApt : IAptBased, IGetGeneralApt, IAbstractNote, IGetDiameter, IGetFluteHeight, IExpandToBox3d, IMakeXmlSource, IDuplicate, IAptRc, IToXElement Inheritance object ColumnApt Implements IAptBased IGetGeneralApt IAbstractNote IGetDiameter IGetFluteHeight IExpandToBox3d IMakeXmlSource IDuplicate IAptRc IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ColumnApt() Ctor. public ColumnApt() ColumnApt(XElement) Ctor. public ColumnApt(XElement src) Parameters src XElement XML Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string Diameter_mm Diameter. public double Diameter_mm { get; set; } Property Value double FluteHeight_mm Flute Height. public double FluteHeight_mm { get; set; } Property Value double Rc_mm Round corner radius. public double Rc_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetGeneralApt() Get Apt. public GeneralApt GetGeneralApt() Returns GeneralApt Apt MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class ColumnApt Namespace Hi.Milling.Apts Assembly HiCbtr.dll Column End APT. The composition is identical to the BullNoseApt. However, the nose radius is generally smaller than the BullNoseApt. public class ColumnApt : IAptBased, IGetGeneralApt, IAbstractNote, IGetDiameter, IGetFluteHeight, IExpandToBox3d, IMakeXmlSource, IDuplicate, IAptRc, IToXElement Inheritance object ColumnApt Implements IAptBased IGetGeneralApt IAbstractNote IGetDiameter IGetFluteHeight IExpandToBox3d IMakeXmlSource IDuplicate IAptRc IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ColumnApt() Ctor. public ColumnApt() ColumnApt(XElement) Ctor. public ColumnApt(XElement src) Parameters src XElement XML Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string Diameter_mm Diameter. public double Diameter_mm { get; set; } Property Value double FluteHeight_mm Flute Height. public double FluteHeight_mm { get; set; } Property Value double Rc_mm Round corner radius. public double Rc_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetGeneralApt() Get Apt. public GeneralApt GetGeneralApt() Returns GeneralApt Apt 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.Milling.Apts.ConeApt.html": { "href": "api/Hi.Milling.Apts.ConeApt.html", "title": "Class ConeApt | HiAPI-C# 2025", - "summary": "Class ConeApt Namespace Hi.Milling.Apts Assembly HiCbtr.dll Cone End APT. public class ConeApt : IAptBased, IGetGeneralApt, IAbstractNote, IGetDiameter, IGetFluteHeight, IExpandToBox3d, IMakeXmlSource, IDuplicate, IAptAlpha, IToXElement Inheritance object ConeApt Implements IAptBased IGetGeneralApt IAbstractNote IGetDiameter IGetFluteHeight IExpandToBox3d IMakeXmlSource IDuplicate IAptAlpha IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ConeApt() Ctor. public ConeApt() ConeApt(XElement) Ctor. public ConeApt(XElement src) Parameters src XElement XML Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string Alpha_deg Alpha angle in degree. public double Alpha_deg { get; set; } Property Value double Alpha_rad Alpha angle in radian. public double Alpha_rad { get; set; } Property Value double Diameter_mm Diameter. public double Diameter_mm { get; set; } Property Value double FluteHeight_mm Flute Height. public double FluteHeight_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetGeneralApt() Get Apt. public GeneralApt GetGeneralApt() Returns GeneralApt Apt MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class ConeApt Namespace Hi.Milling.Apts Assembly HiCbtr.dll Cone End APT. public class ConeApt : IAptBased, IGetGeneralApt, IAbstractNote, IGetDiameter, IGetFluteHeight, IExpandToBox3d, IMakeXmlSource, IDuplicate, IAptAlpha, IToXElement Inheritance object ConeApt Implements IAptBased IGetGeneralApt IAbstractNote IGetDiameter IGetFluteHeight IExpandToBox3d IMakeXmlSource IDuplicate IAptAlpha IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ConeApt() Ctor. public ConeApt() ConeApt(XElement) Ctor. public ConeApt(XElement src) Parameters src XElement XML Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string Alpha_deg Alpha angle in degree. public double Alpha_deg { get; set; } Property Value double Alpha_rad Alpha angle in radian. public double Alpha_rad { get; set; } Property Value double Diameter_mm Diameter. public double Diameter_mm { get; set; } Property Value double FluteHeight_mm Flute Height. public double FluteHeight_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetGeneralApt() Get Apt. public GeneralApt GetGeneralApt() Returns GeneralApt Apt 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.Milling.Apts.ExactColumnApt.html": { "href": "api/Hi.Milling.Apts.ExactColumnApt.html", "title": "Class ExactColumnApt | HiAPI-C# 2025", - "summary": "Class ExactColumnApt Namespace Hi.Milling.Apts Assembly HiCbtr.dll Column End APT. public class ExactColumnApt : IAptBased, IGetGeneralApt, IAbstractNote, IGetDiameter, IGetFluteHeight, IExpandToBox3d, IMakeXmlSource, IDuplicate, IToXElement Inheritance object ExactColumnApt Implements IAptBased IGetGeneralApt IAbstractNote IGetDiameter IGetFluteHeight IExpandToBox3d IMakeXmlSource IDuplicate IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ExactColumnApt() Ctor. public ExactColumnApt() ExactColumnApt(XElement) Ctor. public ExactColumnApt(XElement src) Parameters src XElement XML Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string Diameter_mm Diameter. public double Diameter_mm { get; set; } Property Value double FluteHeight_mm Flute Height. public double FluteHeight_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetGeneralApt() Get Apt. public GeneralApt GetGeneralApt() Returns GeneralApt Apt MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class ExactColumnApt Namespace Hi.Milling.Apts Assembly HiCbtr.dll Column End APT. public class ExactColumnApt : IAptBased, IGetGeneralApt, IAbstractNote, IGetDiameter, IGetFluteHeight, IExpandToBox3d, IMakeXmlSource, IDuplicate, IToXElement Inheritance object ExactColumnApt Implements IAptBased IGetGeneralApt IAbstractNote IGetDiameter IGetFluteHeight IExpandToBox3d IMakeXmlSource IDuplicate IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ExactColumnApt() Ctor. public ExactColumnApt() ExactColumnApt(XElement) Ctor. public ExactColumnApt(XElement src) Parameters src XElement XML Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string Diameter_mm Diameter. public double Diameter_mm { get; set; } Property Value double FluteHeight_mm Flute Height. public double FluteHeight_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetGeneralApt() Get Apt. public GeneralApt GetGeneralApt() Returns GeneralApt Apt 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.Milling.Apts.GeneralApt.html": { "href": "api/Hi.Milling.Apts.GeneralApt.html", "title": "Class GeneralApt | HiAPI-C# 2025", - "summary": "Class GeneralApt Namespace Hi.Milling.Apts Assembly HiCbtr.dll APT standard milling cutter geometry. public class GeneralApt : IAptBased, IGetGeneralApt, IAbstractNote, IGetDiameter, IGetFluteHeight, IExpandToBox3d, IMakeXmlSource, IDuplicate, IEquatable, IAptRc, IAptRr, IAptRz, IAptAlpha, IAptBeta, IGetZrContour, IToXElement, IGenStl, IClearCache Inheritance object GeneralApt Implements IAptBased IGetGeneralApt IAbstractNote IGetDiameter IGetFluteHeight IExpandToBox3d IMakeXmlSource IDuplicate IEquatable IAptRc IAptRr IAptRz IAptAlpha IAptBeta IGetZrContour IToXElement IGenStl IClearCache Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors GeneralApt() Ctor. public GeneralApt() GeneralApt(GeneralApt) Copy ctor. public GeneralApt(GeneralApt src) Parameters src GeneralApt src GeneralApt(double, double, double, double, double, double, double) Ctor. public GeneralApt(double D, double R0, double Rr, double Rz, double alpha_rad, double beta_rad, double fluteH) Parameters D double see Diameter_mm R0 double see Rc_mm Rr double see Rr_mm Rz double see Rz_mm alpha_rad double see Alpha_rad beta_rad double see Beta_rad fluteH double see FluteHeight_mm GeneralApt(XElement) Ctor. public GeneralApt(XElement src) Parameters src XElement XML Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string Alpha_deg Alpha_rad in degree. public double Alpha_deg { get; set; } Property Value double Alpha_rad The angle between horizontal plane and the cone surface of the cutter tip. The angle is downside the cutter round (if exists). If the cutter is cylindrical mill, the angle is 0. The unit is radian. public double Alpha_rad { get; set; } Property Value double AptDerivative Gets the APT derivative object, creating it if it doesn't exist. public AptDerivative AptDerivative { get; } Property Value AptDerivative Beta_deg Beta_rad in degree. public double Beta_deg { get; set; } Property Value double Beta_rad The angle between stick axis and the side plane of cutter. The angle is upside the cutter round (if exists). The unit is radian. public double Beta_rad { get; set; } Property Value double Diameter_mm Diameter. public double Diameter_mm { get; set; } Property Value double FluteHeight_mm Full Height. public double FluteHeight_mm { get; set; } Property Value double Rc_mm Round radius. public double Rc_mm { get; set; } Property Value double Rr_mm Distance between round center to the stick axis. public double Rr_mm { get; set; } Property Value double Rz_mm Center between the tip to the round center. public double Rz_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears the internal cache of APT derivative. public void ClearCache() Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object Equals(GeneralApt) Indicates whether the current object is equal to another object of the same type. public bool Equals(GeneralApt src) Parameters src GeneralApt Returns bool true if the current object is equal to the other parameter; otherwise, false. Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GenStl(IPolarResolution2d) Generates a new STL. public Stl GenStl(IPolarResolution2d polarResolution) Parameters polarResolution IPolarResolution2d Returns Stl A newly created STL. GetGeneralApt() Get Apt. public GeneralApt GetGeneralApt() Returns GeneralApt Apt GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. GetZrContour(double) Gets Z-R contour data as a list of PairZr objects. The Z values should generally be ordered from smallest to largest. public IList GetZrContour(double latitudeAngleResolution_rad) Parameters latitudeAngleResolution_rad double Resolution of latitude angle in radians Returns IList Z-R contour data as a list of PairZr objects MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class GeneralApt Namespace Hi.Milling.Apts Assembly HiCbtr.dll APT standard milling cutter geometry. public class GeneralApt : IAptBased, IGetGeneralApt, IAbstractNote, IGetDiameter, IGetFluteHeight, IExpandToBox3d, IMakeXmlSource, IDuplicate, IEquatable, IAptRc, IAptRr, IAptRz, IAptAlpha, IAptBeta, IGetZrContour, IToXElement, IGenStl, IClearCache Inheritance object GeneralApt Implements IAptBased IGetGeneralApt IAbstractNote IGetDiameter IGetFluteHeight IExpandToBox3d IMakeXmlSource IDuplicate IEquatable IAptRc IAptRr IAptRz IAptAlpha IAptBeta IGetZrContour IToXElement IGenStl IClearCache Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors GeneralApt() Ctor. public GeneralApt() GeneralApt(GeneralApt) Copy ctor. public GeneralApt(GeneralApt src) Parameters src GeneralApt src GeneralApt(double, double, double, double, double, double, double) Ctor. public GeneralApt(double D, double R0, double Rr, double Rz, double alpha_rad, double beta_rad, double fluteH) Parameters D double see Diameter_mm R0 double see Rc_mm Rr double see Rr_mm Rz double see Rz_mm alpha_rad double see Alpha_rad beta_rad double see Beta_rad fluteH double see FluteHeight_mm GeneralApt(XElement) Ctor. public GeneralApt(XElement src) Parameters src XElement XML Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string Alpha_deg Alpha_rad in degree. public double Alpha_deg { get; set; } Property Value double Alpha_rad The angle between horizontal plane and the cone surface of the cutter tip. The angle is downside the cutter round (if exists). If the cutter is cylindrical mill, the angle is 0. The unit is radian. public double Alpha_rad { get; set; } Property Value double AptDerivative Gets the APT derivative object, creating it if it doesn't exist. public AptDerivative AptDerivative { get; } Property Value AptDerivative Beta_deg Beta_rad in degree. public double Beta_deg { get; set; } Property Value double Beta_rad The angle between stick axis and the side plane of cutter. The angle is upside the cutter round (if exists). The unit is radian. public double Beta_rad { get; set; } Property Value double Diameter_mm Diameter. public double Diameter_mm { get; set; } Property Value double FluteHeight_mm Full Height. public double FluteHeight_mm { get; set; } Property Value double Rc_mm Round radius. public double Rc_mm { get; set; } Property Value double Rr_mm Distance between round center to the stick axis. public double Rr_mm { get; set; } Property Value double Rz_mm Center between the tip to the round center. public double Rz_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears the internal cache of APT derivative. public void ClearCache() Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object Equals(GeneralApt) Indicates whether the current object is equal to another object of the same type. public bool Equals(GeneralApt src) Parameters src GeneralApt Returns bool true if the current object is equal to the other parameter; otherwise, false. Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GenStl(IPolarResolution2d) Generates a new STL. public Stl GenStl(IPolarResolution2d polarResolution) Parameters polarResolution IPolarResolution2d Returns Stl A newly created STL. GetGeneralApt() Get Apt. public GeneralApt GetGeneralApt() Returns GeneralApt Apt GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. GetZrContour(double) Gets Z-R contour data as a list of PairZr objects. The Z values should generally be ordered from smallest to largest. public IList GetZrContour(double latitudeAngleResolution_rad) Parameters latitudeAngleResolution_rad double Resolution of latitude angle in radians Returns IList Z-R contour data as a list of PairZr objects 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. Reg(XFactory) Registers this type's deserializer and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.Milling.Apts.IAptAlpha.html": { "href": "api/Hi.Milling.Apts.IAptAlpha.html", @@ -2572,7 +2572,7 @@ "api/Hi.Milling.Apts.TaperApt.html": { "href": "api/Hi.Milling.Apts.TaperApt.html", "title": "Class TaperApt | HiAPI-C# 2025", - "summary": "Class TaperApt Namespace Hi.Milling.Apts Assembly HiCbtr.dll Taper End APT. public class TaperApt : IAptBased, IGetGeneralApt, IAbstractNote, IGetDiameter, IGetFluteHeight, IExpandToBox3d, IMakeXmlSource, IDuplicate, IAptRz, IAptAlpha, IAptBeta, IToXElement Inheritance object TaperApt Implements IAptBased IGetGeneralApt IAbstractNote IGetDiameter IGetFluteHeight IExpandToBox3d IMakeXmlSource IDuplicate IAptRz IAptAlpha IAptBeta IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors TaperApt() Ctor. public TaperApt() TaperApt(XElement) Ctor. public TaperApt(XElement src) Parameters src XElement XML Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string Alpha_deg Alpha_rad in degree. public double Alpha_deg { get; set; } Property Value double Alpha_rad The angle between horizontal plane and the cone surface of the cutter tip. The angle is downside the cutter round (if exists). If the cutter is cylindrical mill, the angle is 0. The unit is radian. public double Alpha_rad { get; set; } Property Value double Beta_deg Beta_rad in degree. public double Beta_deg { get; set; } Property Value double Beta_rad The angle between stick axis and the side plane of cutter. The angle is upside the cutter round (if exists). The unit is radian. public double Beta_rad { get; set; } Property Value double Diameter_mm Diameter. public double Diameter_mm { get; set; } Property Value double FluteHeight_mm Height of flute. public double FluteHeight_mm { get; set; } Property Value double Rz_mm Center between the tip to the round center. public double Rz_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetGeneralApt() Get Apt. public GeneralApt GetGeneralApt() Returns GeneralApt Apt MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class TaperApt Namespace Hi.Milling.Apts Assembly HiCbtr.dll Taper End APT. public class TaperApt : IAptBased, IGetGeneralApt, IAbstractNote, IGetDiameter, IGetFluteHeight, IExpandToBox3d, IMakeXmlSource, IDuplicate, IAptRz, IAptAlpha, IAptBeta, IToXElement Inheritance object TaperApt Implements IAptBased IGetGeneralApt IAbstractNote IGetDiameter IGetFluteHeight IExpandToBox3d IMakeXmlSource IDuplicate IAptRz IAptAlpha IAptBeta IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors TaperApt() Ctor. public TaperApt() TaperApt(XElement) Ctor. public TaperApt(XElement src) Parameters src XElement XML Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string Alpha_deg Alpha_rad in degree. public double Alpha_deg { get; set; } Property Value double Alpha_rad The angle between horizontal plane and the cone surface of the cutter tip. The angle is downside the cutter round (if exists). If the cutter is cylindrical mill, the angle is 0. The unit is radian. public double Alpha_rad { get; set; } Property Value double Beta_deg Beta_rad in degree. public double Beta_deg { get; set; } Property Value double Beta_rad The angle between stick axis and the side plane of cutter. The angle is upside the cutter round (if exists). The unit is radian. public double Beta_rad { get; set; } Property Value double Diameter_mm Diameter. public double Diameter_mm { get; set; } Property Value double FluteHeight_mm Height of flute. public double FluteHeight_mm { get; set; } Property Value double Rz_mm Center between the tip to the round center. public double Rz_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetGeneralApt() Get Apt. public GeneralApt GetGeneralApt() Returns GeneralApt Apt 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.Milling.Apts.apt_t.html": { "href": "api/Hi.Milling.Apts.apt_t.html", @@ -2587,17 +2587,17 @@ "api/Hi.Milling.Cutters.AptProfile.html": { "href": "api/Hi.Milling.Cutters.AptProfile.html", "title": "Class AptProfile | HiAPI-C# 2025", - "summary": "Class AptProfile Namespace Hi.Milling.Cutters Assembly HiMech.dll Represents an APT (Automatically Programmed Tool) based profile for a milling cutter. This profile uses APT definitions to describe the cutter geometry. public class AptProfile : IShaperProfile, IMakeXmlSource, IAbstractNote, IGetZrList, IGenStl, IGetStl, IDuplicate, IGetSelectionName, IGetInitStickConvex, IVolumeRemover, IDisposable, IUpdateByContent, IClearCache, IPolarResolution2dSourceProperty Inheritance object AptProfile Implements IShaperProfile IMakeXmlSource IAbstractNote IGetZrList IGenStl IGetStl IDuplicate IGetSelectionName IGetInitStickConvex IVolumeRemover IDisposable IUpdateByContent IClearCache IPolarResolution2dSourceProperty Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods StlUtil.ToFaceDrawing(IGetStl) StlUtil.ToLineDrawing(IGetStl) StlUtil.ToSparkleLineDrawing(IGetStl) 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 AptProfile() Initializes a new instance of the AptProfile class. public AptProfile() AptProfile(IAptBased) Initializes a new instance of the AptProfile class. public AptProfile(IAptBased apt) Parameters apt IAptBased The APT-based object. AptProfile(XElement, string, IProgress) Initializes a new instance of the AptProfile class. public AptProfile(XElement src, string baseDirectory, IProgress progress) Parameters src XElement XML element containing the profile configuration. baseDirectory string The base directory for resolving relative paths. progress IProgress Progress reporter for diagnostic messages emitted during construction. Properties AbstractNote Gets the abstract note from the APT definition. public string AbstractNote { get; } Property Value string Apt Gets or sets the APT-based definition for the profile. public IAptBased Apt { get; set; } Property Value IAptBased DefaultAngleResolution_rad Gets or sets the default angle resolution in radians. public static double DefaultAngleResolution_rad { get; set; } Property Value double DefaultLinearResolution_mm Gets or sets the default linear resolution in millimeters. public static double DefaultLinearResolution_mm { get; set; } Property Value double PolarResolution2dSource The provider of IPolarResolution2d. public Func PolarResolution2dSource { get; set; } Property Value Func XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears all cached data. public void ClearCache() Dispose() Disposes of all resources. public void Dispose() Dispose(bool) Disposes of unmanaged resources. protected virtual void Dispose(bool disposing) Parameters disposing bool True if disposing, false if finalizing Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object GenStl(IPolarResolution2d) Generates a new STL. public Stl GenStl(IPolarResolution2d resolution) Parameters resolution IPolarResolution2d Polar resolution Returns Stl A newly created STL. GetInitStickConvex() Gets the initial stick convex representation of the profile. public InitStickConvex GetInitStickConvex() Returns InitStickConvex The initial stick convex representation GetSelectionName() Gets the display name for selection. public string GetSelectionName() Returns string The display name GetStl() Gets the STL mesh representation of the profile. public Stl GetStl() Returns Stl The STL mesh GetZrList() Gets the ZR contour list for the profile. public List GetZrList() Returns List The list of ZR pairs 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. UpdateByContent() Updates the profile based on content changes. public void UpdateByContent()" + "summary": "Class AptProfile Namespace Hi.Milling.Cutters Assembly HiMech.dll Represents an APT (Automatically Programmed Tool) based profile for a milling cutter. This profile uses APT definitions to describe the cutter geometry. public class AptProfile : IShaperProfile, IMakeXmlSource, IAbstractNote, IGetZrList, IGenStl, IGetStl, IDuplicate, IGetSelectionName, IGetInitStickConvex, IVolumeRemover, IDisposable, IUpdateByContent, IClearCache, IPolarResolution2dSourceProperty Inheritance object AptProfile Implements IShaperProfile IMakeXmlSource IAbstractNote IGetZrList IGenStl IGetStl IDuplicate IGetSelectionName IGetInitStickConvex IVolumeRemover IDisposable IUpdateByContent IClearCache IPolarResolution2dSourceProperty Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods StlUtil.ToFaceDrawing(IGetStl) StlUtil.ToLineDrawing(IGetStl) StlUtil.ToSparkleLineDrawing(IGetStl) 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 AptProfile() Initializes a new instance of the AptProfile class. public AptProfile() AptProfile(IAptBased) Initializes a new instance of the AptProfile class. public AptProfile(IAptBased apt) Parameters apt IAptBased The APT-based object. AptProfile(XElement, string, IProgress) Initializes a new instance of the AptProfile class. public AptProfile(XElement src, string baseDirectory, IProgress progress) Parameters src XElement XML element containing the profile configuration. baseDirectory string The base directory for resolving relative paths. progress IProgress Progress reporter for diagnostic messages emitted during construction. Properties AbstractNote Gets the abstract note from the APT definition. public string AbstractNote { get; } Property Value string Apt Gets or sets the APT-based definition for the profile. public IAptBased Apt { get; set; } Property Value IAptBased DefaultAngleResolution_rad Gets or sets the default angle resolution in radians. public static double DefaultAngleResolution_rad { get; set; } Property Value double DefaultLinearResolution_mm Gets or sets the default linear resolution in millimeters. public static double DefaultLinearResolution_mm { get; set; } Property Value double PolarResolution2dSource The provider of IPolarResolution2d. public Func PolarResolution2dSource { get; set; } Property Value Func XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears all cached data. public void ClearCache() Dispose() Disposes of all resources. public void Dispose() Dispose(bool) Disposes of unmanaged resources. protected virtual void Dispose(bool disposing) Parameters disposing bool True if disposing, false if finalizing Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object GenStl(IPolarResolution2d) Generates a new STL. public Stl GenStl(IPolarResolution2d resolution) Parameters resolution IPolarResolution2d Polar resolution Returns Stl A newly created STL. GetInitStickConvex() Gets the initial stick convex representation of the profile. public InitStickConvex GetInitStickConvex() Returns InitStickConvex The initial stick convex representation GetSelectionName() Gets the display name for selection. public string GetSelectionName() Returns string The display name GetStl() Gets the STL mesh representation of the profile. public Stl GetStl() Returns Stl The STL mesh GetZrList() Gets the ZR contour list for the profile. public List GetZrList() Returns List The list of ZR pairs 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory UpdateByContent() Updates the profile based on content changes. public void UpdateByContent()" }, "api/Hi.Milling.Cutters.ConstRatioProfile.html": { "href": "api/Hi.Milling.Cutters.ConstRatioProfile.html", "title": "Class ConstRatioProfile | HiAPI-C# 2025", - "summary": "Class ConstRatioProfile Namespace Hi.Milling.Cutters Assembly HiMech.dll Represents a constant ratio profile for a milling cutter. This profile maintains a constant ratio between inner and outer radii. public class ConstRatioProfile : IShaperProfile, IMakeXmlSource, IAbstractNote, IGetZrList, IGetStl, IDuplicate, IClearCache, IGenStl, IZrListSourceProperty Inheritance object ConstRatioProfile Implements IShaperProfile IMakeXmlSource IAbstractNote IGetZrList IGetStl IDuplicate IClearCache IGenStl IZrListSourceProperty Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods StlUtil.ToFaceDrawing(IGetStl) StlUtil.ToLineDrawing(IGetStl) StlUtil.ToSparkleLineDrawing(IGetStl) 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 ConstRatioProfile() Initializes a new instance of the ConstRatioProfile class. public ConstRatioProfile() ConstRatioProfile(double) Initializes a new instance of the ConstRatioProfile class with a specified radius ratio. public ConstRatioProfile(double innerRadiusRatio) Parameters innerRadiusRatio double The ratio between inner and outer radii ConstRatioProfile(XElement, string) Initializes a new instance of the ConstRatioProfile class. public ConstRatioProfile(XElement element, string baseDirectory) Parameters element XElement The XML element containing profile data. baseDirectory string The base directory for resolving relative paths. Properties AbstractNote Gets the abstract note describing the profile. public string AbstractNote { get; } Property Value string RadiusRatio Gets or sets the ratio between inner and outer radii. public double RadiusRatio { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string ZrListSource Get base geometry source. Runtime property. public Func ZrListSource { get; set; } Property Value Func Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object GenStl(IPolarResolution2d) Generates a new STL. public Stl GenStl(IPolarResolution2d resolution) Parameters resolution IPolarResolution2d Polar resolution Returns Stl A newly created STL. GetStl() Gets the STL geometry data. public Stl GetStl() Returns Stl The STL geometry object GetZrList() Gets a list of Z-R coordinate pairs. public List GetZrList() Returns List A list of PairZr objects representing Z-R coordinates. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class ConstRatioProfile Namespace Hi.Milling.Cutters Assembly HiMech.dll Represents a constant ratio profile for a milling cutter. This profile maintains a constant ratio between inner and outer radii. public class ConstRatioProfile : IShaperProfile, IMakeXmlSource, IAbstractNote, IGetZrList, IGetStl, IDuplicate, IClearCache, IGenStl, IZrListSourceProperty Inheritance object ConstRatioProfile Implements IShaperProfile IMakeXmlSource IAbstractNote IGetZrList IGetStl IDuplicate IClearCache IGenStl IZrListSourceProperty Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods StlUtil.ToFaceDrawing(IGetStl) StlUtil.ToLineDrawing(IGetStl) StlUtil.ToSparkleLineDrawing(IGetStl) 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 ConstRatioProfile() Initializes a new instance of the ConstRatioProfile class. public ConstRatioProfile() ConstRatioProfile(double) Initializes a new instance of the ConstRatioProfile class with a specified radius ratio. public ConstRatioProfile(double innerRadiusRatio) Parameters innerRadiusRatio double The ratio between inner and outer radii ConstRatioProfile(XElement, string) Initializes a new instance of the ConstRatioProfile class. public ConstRatioProfile(XElement element, string baseDirectory) Parameters element XElement The XML element containing profile data. baseDirectory string The base directory for resolving relative paths. Properties AbstractNote Gets the abstract note describing the profile. public string AbstractNote { get; } Property Value string RadiusRatio Gets or sets the ratio between inner and outer radii. public double RadiusRatio { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string ZrListSource Get base geometry source. Runtime property. public Func ZrListSource { get; set; } Property Value Func Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object GenStl(IPolarResolution2d) Generates a new STL. public Stl GenStl(IPolarResolution2d resolution) Parameters resolution IPolarResolution2d Polar resolution Returns Stl A newly created STL. GetStl() Gets the STL geometry data. public Stl GetStl() Returns Stl The STL geometry object GetZrList() Gets a list of Z-R coordinate pairs. public List GetZrList() Returns List A list of PairZr objects representing Z-R coordinates. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Milling.Cutters.CustomSpinningProfile.html": { "href": "api/Hi.Milling.Cutters.CustomSpinningProfile.html", "title": "Class CustomSpinningProfile | HiAPI-C# 2025", - "summary": "Class CustomSpinningProfile Namespace Hi.Milling.Cutters Assembly HiMech.dll Represents a custom spinning profile for a milling cutter. This profile allows for custom geometry to be used as the cutter profile. public class CustomSpinningProfile : IShaperProfile, IMakeXmlSource, IAbstractNote, IGetZrList, IGenStl, IGetStl, IDuplicate, IClearCache, IPolarResolution2dSourceProperty Inheritance object CustomSpinningProfile Implements IShaperProfile IMakeXmlSource IAbstractNote IGetZrList IGenStl IGetStl IDuplicate IClearCache IPolarResolution2dSourceProperty Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods StlUtil.ToFaceDrawing(IGetStl) StlUtil.ToLineDrawing(IGetStl) StlUtil.ToSparkleLineDrawing(IGetStl) 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 CustomSpinningProfile(IGetStl) Initializes a new instance of the CustomSpinningProfile class. public CustomSpinningProfile(IGetStl geom) Parameters geom IGetStl The geometry that defines the profile. CustomSpinningProfile(XElement, string, IProgress, object[]) Initializes a new instance of the CustomSpinningProfile class. public CustomSpinningProfile(XElement element, string baseDirectory, IProgress progress, object[] res) Parameters element XElement The XML element containing profile data. baseDirectory string The base directory for resolving relative paths. progress IProgress Progress reporter for diagnostic messages emitted during construction. res object[] Additional resolution parameters. Properties AbstractNote Gets the abstract note describing the profile. public string AbstractNote { get; } Property Value string Geom Gets or sets the geometry that defines the profile. public IGetStl Geom { get; set; } Property Value IGetStl PolarResolution2dSource The provider of IPolarResolution2d. public Func PolarResolution2dSource { get; set; } Property Value Func XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears any cached data. public void ClearCache() Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object GenStl(IPolarResolution2d) Generates a new STL. public Stl GenStl(IPolarResolution2d resolution) Parameters resolution IPolarResolution2d Polar resolution Returns Stl A newly created STL. GetStl() Gets the STL mesh representation of the profile. public Stl GetStl() Returns Stl The STL mesh GetZrList() Gets the ZR contour list for the profile. This method attempts to get the ZR list from various geometry types. public List GetZrList() Returns List The list of ZR pairs MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class CustomSpinningProfile Namespace Hi.Milling.Cutters Assembly HiMech.dll Represents a custom spinning profile for a milling cutter. This profile allows for custom geometry to be used as the cutter profile. public class CustomSpinningProfile : IShaperProfile, IMakeXmlSource, IAbstractNote, IGetZrList, IGenStl, IGetStl, IDuplicate, IClearCache, IPolarResolution2dSourceProperty Inheritance object CustomSpinningProfile Implements IShaperProfile IMakeXmlSource IAbstractNote IGetZrList IGenStl IGetStl IDuplicate IClearCache IPolarResolution2dSourceProperty Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods StlUtil.ToFaceDrawing(IGetStl) StlUtil.ToLineDrawing(IGetStl) StlUtil.ToSparkleLineDrawing(IGetStl) 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 CustomSpinningProfile(IGetStl) Initializes a new instance of the CustomSpinningProfile class. public CustomSpinningProfile(IGetStl geom) Parameters geom IGetStl The geometry that defines the profile. CustomSpinningProfile(XElement, string, IProgress, object[]) Initializes a new instance of the CustomSpinningProfile class. public CustomSpinningProfile(XElement element, string baseDirectory, IProgress progress, object[] res) Parameters element XElement The XML element containing profile data. baseDirectory string The base directory for resolving relative paths. progress IProgress Progress reporter for diagnostic messages emitted during construction. res object[] Additional resolution parameters. Properties AbstractNote Gets the abstract note describing the profile. public string AbstractNote { get; } Property Value string Geom Gets or sets the geometry that defines the profile. public IGetStl Geom { get; set; } Property Value IGetStl PolarResolution2dSource The provider of IPolarResolution2d. public Func PolarResolution2dSource { get; set; } Property Value Func XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears any cached data. public void ClearCache() Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object GenStl(IPolarResolution2d) Generates a new STL. public Stl GenStl(IPolarResolution2d resolution) Parameters resolution IPolarResolution2d Polar resolution Returns Stl A newly created STL. GetStl() Gets the STL mesh representation of the profile. public Stl GetStl() Returns Stl The STL mesh GetZrList() Gets the ZR contour list for the profile. This method attempts to get the ZR list from various geometry types. public List GetZrList() Returns List The list of ZR pairs 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Milling.Cutters.CutterUtil.html": { "href": "api/Hi.Milling.Cutters.CutterUtil.html", @@ -2612,7 +2612,7 @@ "api/Hi.Milling.Cutters.FluteDependentRatioProfile.html": { "href": "api/Hi.Milling.Cutters.FluteDependentRatioProfile.html", "title": "Class FluteDependentRatioProfile | HiAPI-C# 2025", - "summary": "Class FluteDependentRatioProfile Namespace Hi.Milling.Cutters Assembly HiMech.dll Represents a flute number dependent ratio profile for a milling cutter. This profile determines the ratio between inner and outer radii based on the number of flutes. public class FluteDependentRatioProfile : IShaperProfile, IMakeXmlSource, IAbstractNote, IGetZrList, IGenStl, IGetStl, IDuplicate, IClearCache, IFluteNumSourceProperty, IZrListSourceProperty Inheritance object FluteDependentRatioProfile Implements IShaperProfile IMakeXmlSource IAbstractNote IGetZrList IGenStl IGetStl IDuplicate IClearCache IFluteNumSourceProperty IZrListSourceProperty Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods StlUtil.ToFaceDrawing(IGetStl) StlUtil.ToLineDrawing(IGetStl) StlUtil.ToSparkleLineDrawing(IGetStl) 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 FluteDependentRatioProfile() Initializes a new instance. public FluteDependentRatioProfile() FluteDependentRatioProfile(XElement, string) Initializes a new instance of the FluteDependentRatioProfile class. public FluteDependentRatioProfile(XElement element, string baseDirectory) Parameters element XElement The XML element containing profile data. baseDirectory string The base directory for resolving relative paths. Properties AbstractNote Gets the abstract note describing the profile. public string AbstractNote { get; } Property Value string FluteNumSource Gets or sets a delegate that returns the current flute number. public Func FluteNumSource { get; set; } Property Value Func RadiusRatio Gets the radius ratio based on the current number of flutes. public double RadiusRatio { get; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string ZrListSource Get base geometry source. Runtime property. public Func ZrListSource { get; set; } Property Value Func Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object GenStl(IPolarResolution2d) Generates a new STL. public Stl GenStl(IPolarResolution2d resolution) Parameters resolution IPolarResolution2d Polar resolution Returns Stl A newly created STL. GetStl() Gets the STL geometry data. public Stl GetStl() Returns Stl The STL geometry object GetZrList() Gets a list of Z-R coordinate pairs. public List GetZrList() Returns List A list of PairZr objects representing Z-R coordinates. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FluteDependentRatioProfile Namespace Hi.Milling.Cutters Assembly HiMech.dll Represents a flute number dependent ratio profile for a milling cutter. This profile determines the ratio between inner and outer radii based on the number of flutes. public class FluteDependentRatioProfile : IShaperProfile, IMakeXmlSource, IAbstractNote, IGetZrList, IGenStl, IGetStl, IDuplicate, IClearCache, IFluteNumSourceProperty, IZrListSourceProperty Inheritance object FluteDependentRatioProfile Implements IShaperProfile IMakeXmlSource IAbstractNote IGetZrList IGenStl IGetStl IDuplicate IClearCache IFluteNumSourceProperty IZrListSourceProperty Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods StlUtil.ToFaceDrawing(IGetStl) StlUtil.ToLineDrawing(IGetStl) StlUtil.ToSparkleLineDrawing(IGetStl) 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 FluteDependentRatioProfile() Initializes a new instance. public FluteDependentRatioProfile() FluteDependentRatioProfile(XElement, string) Initializes a new instance of the FluteDependentRatioProfile class. public FluteDependentRatioProfile(XElement element, string baseDirectory) Parameters element XElement The XML element containing profile data. baseDirectory string The base directory for resolving relative paths. Properties AbstractNote Gets the abstract note describing the profile. public string AbstractNote { get; } Property Value string FluteNumSource Gets or sets a delegate that returns the current flute number. public Func FluteNumSource { get; set; } Property Value Func RadiusRatio Gets the radius ratio based on the current number of flutes. public double RadiusRatio { get; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string ZrListSource Get base geometry source. Runtime property. public Func ZrListSource { get; set; } Property Value Func Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object GenStl(IPolarResolution2d) Generates a new STL. public Stl GenStl(IPolarResolution2d resolution) Parameters resolution IPolarResolution2d Polar resolution Returns Stl A newly created STL. GetStl() Gets the STL geometry data. public Stl GetStl() Returns Stl The STL geometry object GetZrList() Gets a list of Z-R coordinate pairs. public List GetZrList() Returns List A list of PairZr objects representing Z-R coordinates. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Milling.Cutters.IShaperProfile.html": { "href": "api/Hi.Milling.Cutters.IShaperProfile.html", @@ -2632,7 +2632,7 @@ "api/Hi.Milling.Cutters.MillingCutter.html": { "href": "api/Hi.Milling.Cutters.MillingCutter.html", "title": "Class MillingCutter | HiAPI-C# 2025", - "summary": "Class MillingCutter Namespace Hi.Milling.Cutters Assembly HiMech.dll Represents a milling cutter with its geometric and physical properties. public class MillingCutter : ICutter, IGetSweptable, IAnchoredDisplayee, IGetFletchBuckle, IMakeXmlSource, IAbstractNote, IAnchoredCollidableStem, IAnchoredCollidableNode, IAnchoredCollidableBased, IDisposable, INameNote, IGetFluteHeight, IDisplayee, IExpandToBox3d, IUpdateByContent, IClearCache, IGetThermalLayerList, ITopo, IGetAsmb, IGetAnchor, IGetTopoIndex, IGetAnchoredDisplayeeList, IDuplicate, IGetInitStickConvex, IVolumeRemover, IPolarResolution2d, IGetZrList Inheritance object MillingCutter Implements ICutter IGetSweptable IAnchoredDisplayee IGetFletchBuckle IMakeXmlSource IAbstractNote IAnchoredCollidableStem IAnchoredCollidableNode IAnchoredCollidableBased IDisposable INameNote IGetFluteHeight IDisplayee IExpandToBox3d IUpdateByContent IClearCache IGetThermalLayerList ITopo IGetAsmb IGetAnchor IGetTopoIndex IGetAnchoredDisplayeeList IDuplicate IGetInitStickConvex IVolumeRemover IPolarResolution2d IGetZrList Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DispUtil.Display(IDisplayee, Bind, Mat4d) CutterUtil.GetCutterBodyCoolingArea_mm2(ICutter) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) TopoDisplayeeUtil.Display(ITopo, Bind) TopoDisplayeeUtil.ExpandToBox3d(ITopo, Box3d) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MillingTemperatureUtil.GetMaterial(IGetThermalLayerList, double) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Remarks The cutter can be solid end or insert end. The term “Flute” is the edge part of the solid end cutter or the full insert of the insert end body. The term “Shank” is the full part except for edge part (i.e. Flute) of the solid end cutter. Shank and Flute compose the full cutter. Constructors MillingCutter() Initializes a new instance of the MillingCutter class. public MillingCutter() MillingCutter(XElement, string, string, IProgress, object[]) Ctor. public MillingCutter(XElement src, string baseDirectory, string relFile, IProgress progress, object[] res) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths relFile string Relative file path progress IProgress Progress reporter for diagnostic messages emitted during construction. res object[] Additional optional resources Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string AngleResolution_deg AngleResolution_deg. Call ClearCache() after setting the property. public double AngleResolution_deg { get; set; } Property Value double AngleResolution_rad AngleResolution_rad. Call ClearCache() after setting the property. public double AngleResolution_rad { get; set; } Property Value double CoatingLayerList Gets or sets the list of coating thermal layers. The sequence starts from surface, i.e. from outer to inner. public List CoatingLayerList { get; set; } Property Value List CollidableName Gets the name of the collidable object. public string CollidableName { get; } Property Value string CutterTip Gets the anchor point at the cutter tip. public Anchor CutterTip { get; } Property Value Anchor DefaultAngleResolution_rad Gets or sets the default angle resolution in radians. public static double DefaultAngleResolution_rad { get; set; } Property Value double DefaultLinearResolution_mm Gets or sets the default linear resolution in millimeters. public static double DefaultLinearResolution_mm { get; set; } Property Value double DefaultStlLongitudeNum Gets or sets the default number of longitude lines for STL generation. public static int DefaultStlLongitudeNum { get; set; } Property Value int EffectiveCuttingDiameter_mm Cutting Diameter for calculate cutting speed. public double EffectiveCuttingDiameter_mm { get; } Property Value double ExposedHeight_mm Has to be simultanous with ExposedCutterHeight_mm. public double ExposedHeight_mm { get; set; } Property Value double FluteContourTray Gets or sets the flute contour tray that defines the flute geometry. public IContourTray FluteContourTray { get; set; } Property Value IContourTray FluteHeight_mm Gets the height of the flute in millimeters. public double FluteHeight_mm { get; } Property Value double FluteMaterial Material of the flute. public CutterMaterial FluteMaterial { get; set; } Property Value CutterMaterial FluteMaterialFile Gets or sets the file path for the flute material definition. public string FluteMaterialFile { get; set; } Property Value string FullHeight_mm Gets the full height of the cutter in millimeters. public double FullHeight_mm { get; } Property Value double HoneRadius_mm Gets or sets the hone radius in millimeters. public double HoneRadius_mm { get; set; } Property Value double HoneRadius_um Gets the hone radius in micrometers. public double HoneRadius_um { get; set; } Property Value double InnerBeamProfile Gets or sets the inner beam profile. public IShaperProfile InnerBeamProfile { get; set; } Property Value IShaperProfile Remarks InnerBeamProfile may be dependent on ShaperProfile. InnerBeamProfile.ClearCache() and initialization must be performed after ShaperProfile.ClearCache() and initialization. InsertNum Gets or sets Insert Number. The property should be used Only if IntegralMode is InsertEnd. However, there is no exception mechanism. public int InsertNum { get; set; } Property Value int InsertThickness_mm Thickness of an insert. Only available if the cutter is InsertEnd. public double InsertThickness_mm { get; set; } Property Value double IntegralMode Gets or sets the main integral mode of the cutter. public MillingCutter.IntegralModeEnum IntegralMode { get; set; } Property Value MillingCutter.IntegralModeEnum IsSpinningCutter Is cutter spining when machining. public bool IsSpinningCutter { get; } Property Value bool Is cutter spining when machining. LinearResolution_mm LinearResolution_mm. Call ClearCache() after setting the property. public double LinearResolution_mm { get; set; } Property Value double MillingCutterOptLimit public MillingCutterOptOption MillingCutterOptLimit { get; set; } Property Value MillingCutterOptOption Name Name. public string Name { get; set; } Property Value string Note Note. public string Note { get; set; } Property Value string ReliefAngle_deg Gets or sets the relief angle in degrees. public double ReliefAngle_deg { get; set; } Property Value double ReliefAngle_rad Gets or sets the relief angle in radians. public double ReliefAngle_rad { get; set; } Property Value double ShankMassAssignmentMode Gets or sets the mass assignment mode for the shank. public MillingCutter.MassAssignmentMode ShankMassAssignmentMode { get; set; } Property Value MillingCutter.MassAssignmentMode ShankMass_g Gets or sets the cutter shank mass in grams. If IntegralMode is SolidEnd, the mass is the full cutter mass. If IntegralMode is InsertEnd, the mass is the shank mass. since the flute mass is assumed small and dynamic depends on the CWE (Cutter-Workpiece-Engagement). public double ShankMass_g { get; set; } Property Value double ShankMaterial Material of the shank. It should be the same with FluteMaterial if the cutter is SolidEnd. public IStructureMaterial ShankMaterial { get; set; } Property Value IStructureMaterial ShankMaterialFile Gets or sets the file path for the shank material definition. It should be the same with FluteMaterialFile if the cutter is SolidEnd. public string ShankMaterialFile { get; set; } Property Value string ShaperProfile Gets or sets the shaper profile that defines the cutter's shape. public IShaperProfile ShaperProfile { get; set; } Property Value IShaperProfile ShaperTopoBrick cutable part of cutter. the part cut the workpiece if overlapped. public ITopoBrick ShaperTopoBrick { get; } Property Value ITopoBrick SingleInsertMass_g Gets or sets the total inserts' mass in grams. The property should be used Only if IntegralMode is InsertEnd. However, there is no exception mechanism. public double SingleInsertMass_g { get; set; } Property Value double StrutTopoBrick uncutable part of cutter. the part triggers collision to workpiece if overlapped. public ITopoBrick StrutTopoBrick { get; } Property Value ITopoBrick SumInsertMass_g Gets the total mass of all inserts in grams calculated from SingleInsertMass_g * InsertNum. public double SumInsertMass_g { get; } Property Value double SurfaceMaterial Gets the surface material of the cutter. public CutterMaterial SurfaceMaterial { get; } Property Value CutterMaterial UpperBeamGeom Gets the upper beam geometry of the cutter. public IGetStl UpperBeamGeom { get; set; } Property Value IGetStl UpperBeamPolarResolution2dSource Gets or sets the provider for upper beam polar resolution. public Func UpperBeamPolarResolution2dSource { get; set; } Property Value Func XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears all cached data. public void ClearCache() ClearThermalLayerListCache() Clears the thermal layer list cache. public void ClearThermalLayerListCache() Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchoredCollidableNode() Gets the anchored collidable node associated with this object. public IAnchoredCollidableNode GetAnchoredCollidableNode() Returns IAnchoredCollidableNode The anchored collidable node. GetAnchoredCollidables() Gets the list of anchored collidable nodes contained by this stem. public List GetAnchoredCollidables() Returns List A list of anchored collidable nodes. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetCutterFluteDisplayee() Gets the cutter flute displayee for visualization. public IAnchoredDisplayee GetCutterFluteDisplayee() Returns IAnchoredDisplayee The anchored displayee for the cutter flute. GetDeflectionPara_umdN(out double, out double) (L^3)/(3EI). Where deflection = F(L^3)/(3EI). for cantiliver beam. public void GetDeflectionPara_umdN(out double bendingPara_umdN, out double zDeflectionPara_umdN) Parameters bendingPara_umdN double zDeflectionPara_umdN double Exceptions Exception GetFletchBuckle() Get fletch buckle anchor. the anchor that generally connect to fixed part such as ground and triggering(motor)-side. public Anchor GetFletchBuckle() Returns Anchor buckle anchor GetFluteThermalLayerList() Flute material layer From outer(i.e. surface) to inner. public List GetFluteThermalLayerList() Returns List GetGuessShankMass_g() Get guess mass by volume and density. The volume is count from InnerBeamProfile and UpperBeamGeom. public double GetGuessShankMass_g() Returns double GetInitStickConvex() Get InitStickConvex. public InitStickConvex GetInitStickConvex() Returns InitStickConvex InitStickConvex GetMinimumUncutChipThickness_mm(ICuttingPara) Gets the minimum uncut chip thickness in millimeters for the specified cutting parameters. The value is dependent on HoneRadius_um. public double GetMinimumUncutChipThickness_mm(ICuttingPara millingPara) Parameters millingPara ICuttingPara The cutting parameters to use for calculation. Returns double The minimum uncut chip thickness in millimeters. GetMinimumUncutChipThickness_um(ICuttingPara) Gets the minimum uncut chip thickness in micrometers for the specified cutting parameters. public double GetMinimumUncutChipThickness_um(ICuttingPara millingPara) Parameters millingPara ICuttingPara The cutting parameters to use for calculation. Returns double The minimum uncut chip thickness in micrometers. GetNobleAnchoredDisplayee() Gets a noble anchored displayee for visualization. public AnchoredDisplayee GetNobleAnchoredDisplayee() Returns AnchoredDisplayee The anchored displayee. GetSweptable(double) Get Sweptable. public Sweptable GetSweptable(double fractionTolerance) Parameters fractionTolerance double The fraction tolerance for the sweptable. Returns Sweptable Sweptable GetTestBallCutter() Creates a test ball cutter. public static MillingCutter GetTestBallCutter() Returns MillingCutter A new ball cutter instance for testing. GetTestBottomCutter() Creates a test bottom cutter. public static MillingCutter GetTestBottomCutter() Returns MillingCutter A new bottom cutter instance for testing. GetTestFreeCutter() Creates a test free cutter. public static MillingCutter GetTestFreeCutter() Returns MillingCutter A new free cutter instance for testing. GetThermalLayerList() Gets the list of thermal layers. public List GetThermalLayerList() Returns List List of thermal layers. GetZrList() Gets a list of Z-R coordinate pairs. public List GetZrList() Returns List A list of PairZr objects representing Z-R coordinates. 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. UpdateByContent() Updates the object based on its current content. public void UpdateByContent()" + "summary": "Class MillingCutter Namespace Hi.Milling.Cutters Assembly HiMech.dll Represents a milling cutter with its geometric and physical properties. public class MillingCutter : ICutter, IGetSweptable, IAnchoredDisplayee, IGetFletchBuckle, IMakeXmlSource, IAbstractNote, IAnchoredCollidableStem, IAnchoredCollidableNode, IAnchoredCollidableBased, IDisposable, INameNote, IGetFluteHeight, IDisplayee, IExpandToBox3d, IUpdateByContent, IClearCache, IGetThermalLayerList, ITopo, IGetAsmb, IGetAnchor, IGetTopoIndex, IGetAnchoredDisplayeeList, IDuplicate, IGetInitStickConvex, IVolumeRemover, IPolarResolution2d, IGetZrList Inheritance object MillingCutter Implements ICutter IGetSweptable IAnchoredDisplayee IGetFletchBuckle IMakeXmlSource IAbstractNote IAnchoredCollidableStem IAnchoredCollidableNode IAnchoredCollidableBased IDisposable INameNote IGetFluteHeight IDisplayee IExpandToBox3d IUpdateByContent IClearCache IGetThermalLayerList ITopo IGetAsmb IGetAnchor IGetTopoIndex IGetAnchoredDisplayeeList IDuplicate IGetInitStickConvex IVolumeRemover IPolarResolution2d IGetZrList Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DispUtil.Display(IDisplayee, Bind, Mat4d) CutterUtil.GetCutterBodyCoolingArea_mm2(ICutter) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) TopoDisplayeeUtil.Display(ITopo, Bind) TopoDisplayeeUtil.ExpandToBox3d(ITopo, Box3d) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MillingTemperatureUtil.GetMaterial(IGetThermalLayerList, double) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Remarks The cutter can be solid end or insert end. The term “Flute” is the edge part of the solid end cutter or the full insert of the insert end body. The term “Shank” is the full part except for edge part (i.e. Flute) of the solid end cutter. Shank and Flute compose the full cutter. Constructors MillingCutter() Initializes a new instance of the MillingCutter class. public MillingCutter() MillingCutter(XElement, string, string, IProgress, object[]) Ctor. public MillingCutter(XElement src, string baseDirectory, string relFile, IProgress progress, object[] res) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths relFile string Relative file path progress IProgress Progress reporter for diagnostic messages emitted during construction. res object[] Additional optional resources Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string AngleResolution_deg AngleResolution_deg. Call ClearCache() after setting the property. public double AngleResolution_deg { get; set; } Property Value double AngleResolution_rad AngleResolution_rad. Call ClearCache() after setting the property. public double AngleResolution_rad { get; set; } Property Value double CoatingLayerList Gets or sets the list of coating thermal layers. The sequence starts from surface, i.e. from outer to inner. public List CoatingLayerList { get; set; } Property Value List CollidableName Gets the name of the collidable object. public string CollidableName { get; } Property Value string CutterTip Gets the anchor point at the cutter tip. public Anchor CutterTip { get; } Property Value Anchor DefaultAngleResolution_rad Gets or sets the default angle resolution in radians. public static double DefaultAngleResolution_rad { get; set; } Property Value double DefaultLinearResolution_mm Gets or sets the default linear resolution in millimeters. public static double DefaultLinearResolution_mm { get; set; } Property Value double DefaultStlLongitudeNum Gets or sets the default number of longitude lines for STL generation. public static int DefaultStlLongitudeNum { get; set; } Property Value int EffectiveCuttingDiameter_mm Cutting Diameter for calculate cutting speed. public double EffectiveCuttingDiameter_mm { get; } Property Value double ExposedHeight_mm Has to be simultanous with ExposedCutterHeight_mm. public double ExposedHeight_mm { get; set; } Property Value double FluteContourTray Gets or sets the flute contour tray that defines the flute geometry. public IContourTray FluteContourTray { get; set; } Property Value IContourTray FluteHeight_mm Gets the height of the flute in millimeters. public double FluteHeight_mm { get; } Property Value double FluteMaterial Material of the flute. public CutterMaterial FluteMaterial { get; set; } Property Value CutterMaterial FluteMaterialFile Gets or sets the file path for the flute material definition. public string FluteMaterialFile { get; set; } Property Value string FullHeight_mm Gets the full height of the cutter in millimeters. public double FullHeight_mm { get; } Property Value double HoneRadius_mm Gets or sets the hone radius in millimeters. public double HoneRadius_mm { get; set; } Property Value double HoneRadius_um Gets the hone radius in micrometers. public double HoneRadius_um { get; set; } Property Value double InnerBeamProfile Gets or sets the inner beam profile. public IShaperProfile InnerBeamProfile { get; set; } Property Value IShaperProfile Remarks InnerBeamProfile may be dependent on ShaperProfile. InnerBeamProfile.ClearCache() and initialization must be performed after ShaperProfile.ClearCache() and initialization. InsertNum Gets or sets Insert Number. The property should be used Only if IntegralMode is InsertEnd. However, there is no exception mechanism. public int InsertNum { get; set; } Property Value int InsertThickness_mm Thickness of an insert. Only available if the cutter is InsertEnd. public double InsertThickness_mm { get; set; } Property Value double IntegralMode Gets or sets the main integral mode of the cutter. public MillingCutter.IntegralModeEnum IntegralMode { get; set; } Property Value MillingCutter.IntegralModeEnum IsSpinningCutter Is cutter spining when machining. public bool IsSpinningCutter { get; } Property Value bool Is cutter spining when machining. LinearResolution_mm LinearResolution_mm. Call ClearCache() after setting the property. public double LinearResolution_mm { get; set; } Property Value double MillingCutterOptLimit public MillingCutterOptOption MillingCutterOptLimit { get; set; } Property Value MillingCutterOptOption Name Name. public string Name { get; set; } Property Value string Note Note. public string Note { get; set; } Property Value string ReliefAngle_deg Gets or sets the relief angle in degrees. public double ReliefAngle_deg { get; set; } Property Value double ReliefAngle_rad Gets or sets the relief angle in radians. public double ReliefAngle_rad { get; set; } Property Value double ShankMassAssignmentMode Gets or sets the mass assignment mode for the shank. public MillingCutter.MassAssignmentMode ShankMassAssignmentMode { get; set; } Property Value MillingCutter.MassAssignmentMode ShankMass_g Gets or sets the cutter shank mass in grams. If IntegralMode is SolidEnd, the mass is the full cutter mass. If IntegralMode is InsertEnd, the mass is the shank mass. since the flute mass is assumed small and dynamic depends on the CWE (Cutter-Workpiece-Engagement). public double ShankMass_g { get; set; } Property Value double ShankMaterial Material of the shank. It should be the same with FluteMaterial if the cutter is SolidEnd. public IStructureMaterial ShankMaterial { get; set; } Property Value IStructureMaterial ShankMaterialFile Gets or sets the file path for the shank material definition. It should be the same with FluteMaterialFile if the cutter is SolidEnd. public string ShankMaterialFile { get; set; } Property Value string ShaperProfile Gets or sets the shaper profile that defines the cutter's shape. public IShaperProfile ShaperProfile { get; set; } Property Value IShaperProfile ShaperTopoBrick cutable part of cutter. the part cut the workpiece if overlapped. public ITopoBrick ShaperTopoBrick { get; } Property Value ITopoBrick SingleInsertMass_g Gets or sets the total inserts' mass in grams. The property should be used Only if IntegralMode is InsertEnd. However, there is no exception mechanism. public double SingleInsertMass_g { get; set; } Property Value double StrutTopoBrick uncutable part of cutter. the part triggers collision to workpiece if overlapped. public ITopoBrick StrutTopoBrick { get; } Property Value ITopoBrick SumInsertMass_g Gets the total mass of all inserts in grams calculated from SingleInsertMass_g * InsertNum. public double SumInsertMass_g { get; } Property Value double SurfaceMaterial Gets the surface material of the cutter. public CutterMaterial SurfaceMaterial { get; } Property Value CutterMaterial UpperBeamGeom Gets the upper beam geometry of the cutter. public IGetStl UpperBeamGeom { get; set; } Property Value IGetStl UpperBeamPolarResolution2dSource Gets or sets the provider for upper beam polar resolution. public Func UpperBeamPolarResolution2dSource { get; set; } Property Value Func XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears all cached data. public void ClearCache() ClearThermalLayerListCache() Clears the thermal layer list cache. public void ClearThermalLayerListCache() Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchoredCollidableNode() Gets the anchored collidable node associated with this object. public IAnchoredCollidableNode GetAnchoredCollidableNode() Returns IAnchoredCollidableNode The anchored collidable node. GetAnchoredCollidables() Gets the list of anchored collidable nodes contained by this stem. public List GetAnchoredCollidables() Returns List A list of anchored collidable nodes. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetCutterFluteDisplayee() Gets the cutter flute displayee for visualization. public IAnchoredDisplayee GetCutterFluteDisplayee() Returns IAnchoredDisplayee The anchored displayee for the cutter flute. GetDeflectionPara_umdN(out double, out double) (L^3)/(3EI). Where deflection = F(L^3)/(3EI). for cantiliver beam. public void GetDeflectionPara_umdN(out double bendingPara_umdN, out double zDeflectionPara_umdN) Parameters bendingPara_umdN double zDeflectionPara_umdN double Exceptions Exception GetFletchBuckle() Get fletch buckle anchor. the anchor that generally connect to fixed part such as ground and triggering(motor)-side. public Anchor GetFletchBuckle() Returns Anchor buckle anchor GetFluteThermalLayerList() Flute material layer From outer(i.e. surface) to inner. public List GetFluteThermalLayerList() Returns List GetGuessShankMass_g() Get guess mass by volume and density. The volume is count from InnerBeamProfile and UpperBeamGeom. public double GetGuessShankMass_g() Returns double GetInitStickConvex() Get InitStickConvex. public InitStickConvex GetInitStickConvex() Returns InitStickConvex InitStickConvex GetMinimumUncutChipThickness_mm(ICuttingPara) Gets the minimum uncut chip thickness in millimeters for the specified cutting parameters. The value is dependent on HoneRadius_um. public double GetMinimumUncutChipThickness_mm(ICuttingPara millingPara) Parameters millingPara ICuttingPara The cutting parameters to use for calculation. Returns double The minimum uncut chip thickness in millimeters. GetMinimumUncutChipThickness_um(ICuttingPara) Gets the minimum uncut chip thickness in micrometers for the specified cutting parameters. public double GetMinimumUncutChipThickness_um(ICuttingPara millingPara) Parameters millingPara ICuttingPara The cutting parameters to use for calculation. Returns double The minimum uncut chip thickness in micrometers. GetNobleAnchoredDisplayee() Gets a noble anchored displayee for visualization. public AnchoredDisplayee GetNobleAnchoredDisplayee() Returns AnchoredDisplayee The anchored displayee. GetSweptable(double) Get Sweptable. public Sweptable GetSweptable(double fractionTolerance) Parameters fractionTolerance double The fraction tolerance for the sweptable. Returns Sweptable Sweptable GetTestBallCutter() Creates a test ball cutter. public static MillingCutter GetTestBallCutter() Returns MillingCutter A new ball cutter instance for testing. GetTestBottomCutter() Creates a test bottom cutter. public static MillingCutter GetTestBottomCutter() Returns MillingCutter A new bottom cutter instance for testing. GetTestFreeCutter() Creates a test free cutter. public static MillingCutter GetTestFreeCutter() Returns MillingCutter A new free cutter instance for testing. GetThermalLayerList() Gets the list of thermal layers. public List GetThermalLayerList() Returns List List of thermal layers. GetZrList() Gets a list of Z-R coordinate pairs. public List GetZrList() Returns List A list of PairZr objects representing Z-R coordinates. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory UpdateByContent() Updates the object based on its current content. public void UpdateByContent()" }, "api/Hi.Milling.Cutters.MillingCutterEditorDisplayee.ShapeModeEnum.html": { "href": "api/Hi.Milling.Cutters.MillingCutterEditorDisplayee.ShapeModeEnum.html", @@ -2692,12 +2692,12 @@ "api/Hi.Milling.FluteContours.ConstHelixSideContour.html": { "href": "api/Hi.Milling.FluteContours.ConstHelixSideContour.html", "title": "Class ConstHelixSideContour | HiAPI-C# 2025", - "summary": "Class ConstHelixSideContour Namespace Hi.Milling.FluteContours Assembly HiMech.dll Represents a constant helix side contour for milling cutters. public class ConstHelixSideContour : ISideContour, IWorkingContour, IExpandToBox3d, IMakeXmlSource, IUpdateByContent, IClearCache, IEquatable Inheritance object ConstHelixSideContour Implements ISideContour IWorkingContour IExpandToBox3d IMakeXmlSource IUpdateByContent IClearCache IEquatable Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) FluteContourUtil.GetDrawing(ISideContour, out Drawing, out Drawing, out NativeTopoStld) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ConstHelixSideContour(IGetZrList) Initializes a new instance of the ConstHelixSideContour class. public ConstHelixSideContour(IGetZrList zrListHost) Parameters zrListHost IGetZrList The Z-R list host. ConstHelixSideContour(double, double, IGetZrList) Initializes a new instance of the ConstHelixSideContour class. public ConstHelixSideContour(double helix_rad, double radialRakeAngle_rad, IGetZrList zrListHost) Parameters helix_rad double The helix angle in radians. radialRakeAngle_rad double The radial rake angle in radians. zrListHost IGetZrList The Z-R list host. ConstHelixSideContour(XElement, string, IGetZrList) Initializes a new instance of the ConstHelixSideContour class from XML. public ConstHelixSideContour(XElement src, string baseDirectory, IGetZrList zrListHost) Parameters src XElement The XML element containing the configuration. baseDirectory string The base directory for resolving relative paths. zrListHost IGetZrList The Z-R list host. Properties Helix_deg Helix_rad in degree. public double Helix_deg { get; set; } Property Value double Helix_rad Helix angle in radian. public double Helix_rad { get; set; } Property Value double KeyRange Gets the key range of the flute contour. public Range KeyRange { get; } Property Value Range Remarks For ISideContour, this represents the Z-value range (height range) For IBottomContour, this represents the R-value range (radial range) RadialRakeAngle_deg Gets or sets the radial rake angle in degrees. public double RadialRakeAngle_deg { get; set; } Property Value double RadialRakeAngle_rad Gets or sets the radial rake angle in radians. public double RadialRakeAngle_rad { get; set; } Property Value double RadialReliefAngle_deg Gets or sets the radial relief angle in degrees. public double RadialReliefAngle_deg { get; set; } Property Value double RadialReliefAngle_rad Gets or sets the radial relief angle in radians. public double RadialReliefAngle_rad { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string ZrListHost Gets or sets the Z-R list host. public IGetZrList ZrListHost { get; set; } Property Value IGetZrList Methods ClearCache() Clears the cached data. public void ClearCache() Duplicate(IGetZrList) Creates a duplicate of this contour with a new Z-R list host. public IWorkingContour Duplicate(IGetZrList zrListHost) Parameters zrListHost IGetZrList The new Z-R list host. Returns IWorkingContour A duplicate of this contour. Equals(ConstHelixSideContour) Indicates whether the current object is equal to another object of the same type. public bool Equals(ConstHelixSideContour other) Parameters other ConstHelixSideContour An object to compare with this object. Returns bool true if the current object is equal to the other parameter; otherwise, false. Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. GetSpanContourPosList() Gets a list of span contour positions that define the working contour geometry. public List GetSpanContourPosList() Returns List A list of SpanContourPos4d objects representing the contour geometry Remarks The positions are ordered: For ISideContour, positions are ordered by ascending Z values For IBottomContour, positions are ordered by ascending R values Note: Future implementation may use List> for block flute support. 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. UpdateByContent() Updates the object based on its current content. public void UpdateByContent()" + "summary": "Class ConstHelixSideContour Namespace Hi.Milling.FluteContours Assembly HiMech.dll Represents a constant helix side contour for milling cutters. public class ConstHelixSideContour : ISideContour, IWorkingContour, IExpandToBox3d, IMakeXmlSource, IUpdateByContent, IClearCache, IEquatable Inheritance object ConstHelixSideContour Implements ISideContour IWorkingContour IExpandToBox3d IMakeXmlSource IUpdateByContent IClearCache IEquatable Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) FluteContourUtil.GetDrawing(ISideContour, out Drawing, out Drawing, out NativeTopoStld) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ConstHelixSideContour(IGetZrList) Initializes a new instance of the ConstHelixSideContour class. public ConstHelixSideContour(IGetZrList zrListHost) Parameters zrListHost IGetZrList The Z-R list host. ConstHelixSideContour(double, double, IGetZrList) Initializes a new instance of the ConstHelixSideContour class. public ConstHelixSideContour(double helix_rad, double radialRakeAngle_rad, IGetZrList zrListHost) Parameters helix_rad double The helix angle in radians. radialRakeAngle_rad double The radial rake angle in radians. zrListHost IGetZrList The Z-R list host. ConstHelixSideContour(XElement, string, IGetZrList) Initializes a new instance of the ConstHelixSideContour class from XML. public ConstHelixSideContour(XElement src, string baseDirectory, IGetZrList zrListHost) Parameters src XElement The XML element containing the configuration. baseDirectory string The base directory for resolving relative paths. zrListHost IGetZrList The Z-R list host. Properties Helix_deg Helix_rad in degree. public double Helix_deg { get; set; } Property Value double Helix_rad Helix angle in radian. public double Helix_rad { get; set; } Property Value double KeyRange Gets the key range of the flute contour. public Range KeyRange { get; } Property Value Range Remarks For ISideContour, this represents the Z-value range (height range) For IBottomContour, this represents the R-value range (radial range) RadialRakeAngle_deg Gets or sets the radial rake angle in degrees. public double RadialRakeAngle_deg { get; set; } Property Value double RadialRakeAngle_rad Gets or sets the radial rake angle in radians. public double RadialRakeAngle_rad { get; set; } Property Value double RadialReliefAngle_deg Gets or sets the radial relief angle in degrees. public double RadialReliefAngle_deg { get; set; } Property Value double RadialReliefAngle_rad Gets or sets the radial relief angle in radians. public double RadialReliefAngle_rad { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string ZrListHost Gets or sets the Z-R list host. public IGetZrList ZrListHost { get; set; } Property Value IGetZrList Methods ClearCache() Clears the cached data. public void ClearCache() Duplicate(IGetZrList) Creates a duplicate of this contour with a new Z-R list host. public IWorkingContour Duplicate(IGetZrList zrListHost) Parameters zrListHost IGetZrList The new Z-R list host. Returns IWorkingContour A duplicate of this contour. Equals(ConstHelixSideContour) Indicates whether the current object is equal to another object of the same type. public bool Equals(ConstHelixSideContour other) Parameters other ConstHelixSideContour An object to compare with this object. Returns bool true if the current object is equal to the other parameter; otherwise, false. Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. GetSpanContourPosList() Gets a list of span contour positions that define the working contour geometry. public List GetSpanContourPosList() Returns List A list of SpanContourPos4d objects representing the contour geometry Remarks The positions are ordered: For ISideContour, positions are ordered by ascending Z values For IBottomContour, positions are ordered by ascending R values Note: Future implementation may use List> for block flute support. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory UpdateByContent() Updates the object based on its current content. public void UpdateByContent()" }, "api/Hi.Milling.FluteContours.FluteContour.html": { "href": "api/Hi.Milling.FluteContours.FluteContour.html", "title": "Class FluteContour | HiAPI-C# 2025", - "summary": "Class FluteContour Namespace Hi.Milling.FluteContours Assembly HiMech.dll Represents a flute contour for milling tools. public class FluteContour : IMakeXmlSource, IDisposable, IClearCache Inheritance object FluteContour Implements IMakeXmlSource IDisposable IClearCache Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors FluteContour() Initializes a new instance of the FluteContour class public FluteContour() FluteContour(FluteContour, double) Initializes a new instance of the FluteContour class with a source contour and shift angle public FluteContour(FluteContour src, double shiftAngle_rad) Parameters src FluteContour The source flute contour to copy from shiftAngle_rad double The shift angle in radians FluteContour(XElement, string, IProgress, object[]) Initializes a new instance of the FluteContour class from XML data public FluteContour(XElement src, string baseDirectory, IProgress progress, object[] res) Parameters src XElement The source XML element baseDirectory string The base directory for resolving relative paths progress IProgress Progress reporter for diagnostic messages emitted during construction. res object[] Additional resources for initialization Properties BaseBottomContour Gets or sets the base bottom contour of the flute. This represents the original bottom profile before any transformations. public IWorkingContour BaseBottomContour { get; set; } Property Value IWorkingContour BaseSideContour Gets or sets the base side contour of the flute. This represents the original side profile before any transformations. public IWorkingContour BaseSideContour { get; set; } Property Value IWorkingContour SetupAngle_deg Gets or sets the setup angle in degrees. This is a convenience property that converts ShiftAngle_rad to degrees. public double SetupAngle_deg { get; set; } Property Value double ShiftAngle_rad Gets or sets the shift angle in radians. This angle represents the angular offset of the flute from its base position. public double ShiftAngle_rad { get; set; } Property Value double ShiftedBottomContour Gets the shifted bottom contour of the flute. This is the bottom profile after applying the shift angle transformation. public ShiftedWorkingContour ShiftedBottomContour { get; } Property Value ShiftedWorkingContour ShiftedSideContour Gets the shifted side contour of the flute. This is the side profile after applying the shift angle transformation. public ShiftedWorkingContour ShiftedSideContour { get; } Property Value ShiftedWorkingContour XName Gets the XML name for serialization public static string XName { get; } Property Value string Methods ClearCache() Clears any cached data in the flute contour public void ClearCache() Dispose() Releases all resources used by the FluteContour public void Dispose() Dispose(bool) Releases the unmanaged resources used by the FluteContour and optionally releases the managed resources protected virtual void Dispose(bool disposing) Parameters disposing bool true to release both managed and unmanaged resources; false to release only unmanaged resources Duplicate(IGetZrList) Creates a duplicate of this flute contour public FluteContour Duplicate(IGetZrList zrListHost) Parameters zrListHost IGetZrList The host containing Z-R list information Returns FluteContour A new instance of FluteContour with the same properties ExpandToBox3d(Box3d) Expands the given bounding box to include this flute contour public void ExpandToBox3d(Box3d dst) Parameters dst Box3d The bounding box to expand 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. UpdateByContent() Updates the internal state based on the current content public void UpdateByContent()" + "summary": "Class FluteContour Namespace Hi.Milling.FluteContours Assembly HiMech.dll Represents a flute contour for milling tools. public class FluteContour : IMakeXmlSource, IDisposable, IClearCache Inheritance object FluteContour Implements IMakeXmlSource IDisposable IClearCache Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors FluteContour() Initializes a new instance of the FluteContour class public FluteContour() FluteContour(FluteContour, double) Initializes a new instance of the FluteContour class with a source contour and shift angle public FluteContour(FluteContour src, double shiftAngle_rad) Parameters src FluteContour The source flute contour to copy from shiftAngle_rad double The shift angle in radians FluteContour(XElement, string, IProgress, object[]) Initializes a new instance of the FluteContour class from XML data public FluteContour(XElement src, string baseDirectory, IProgress progress, object[] res) Parameters src XElement The source XML element baseDirectory string The base directory for resolving relative paths progress IProgress Progress reporter for diagnostic messages emitted during construction. res object[] Additional resources for initialization Properties BaseBottomContour Gets or sets the base bottom contour of the flute. This represents the original bottom profile before any transformations. public IWorkingContour BaseBottomContour { get; set; } Property Value IWorkingContour BaseSideContour Gets or sets the base side contour of the flute. This represents the original side profile before any transformations. public IWorkingContour BaseSideContour { get; set; } Property Value IWorkingContour SetupAngle_deg Gets or sets the setup angle in degrees. This is a convenience property that converts ShiftAngle_rad to degrees. public double SetupAngle_deg { get; set; } Property Value double ShiftAngle_rad Gets or sets the shift angle in radians. This angle represents the angular offset of the flute from its base position. public double ShiftAngle_rad { get; set; } Property Value double ShiftedBottomContour Gets the shifted bottom contour of the flute. This is the bottom profile after applying the shift angle transformation. public ShiftedWorkingContour ShiftedBottomContour { get; } Property Value ShiftedWorkingContour ShiftedSideContour Gets the shifted side contour of the flute. This is the side profile after applying the shift angle transformation. public ShiftedWorkingContour ShiftedSideContour { get; } Property Value ShiftedWorkingContour XName Gets the XML name for serialization public static string XName { get; } Property Value string Methods ClearCache() Clears any cached data in the flute contour public void ClearCache() Dispose() Releases all resources used by the FluteContour public void Dispose() Dispose(bool) Releases the unmanaged resources used by the FluteContour and optionally releases the managed resources protected virtual void Dispose(bool disposing) Parameters disposing bool true to release both managed and unmanaged resources; false to release only unmanaged resources Duplicate(IGetZrList) Creates a duplicate of this flute contour public FluteContour Duplicate(IGetZrList zrListHost) Parameters zrListHost IGetZrList The host containing Z-R list information Returns FluteContour A new instance of FluteContour with the same properties ExpandToBox3d(Box3d) Expands the given bounding box to include this flute contour public void ExpandToBox3d(Box3d dst) Parameters dst Box3d The bounding box to expand 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory UpdateByContent() Updates the internal state based on the current content public void UpdateByContent()" }, "api/Hi.Milling.FluteContours.FluteContourUtil.html": { "href": "api/Hi.Milling.FluteContours.FluteContourUtil.html", @@ -2707,12 +2707,12 @@ "api/Hi.Milling.FluteContours.FreeContourTray.html": { "href": "api/Hi.Milling.FluteContours.FreeContourTray.html", "title": "Class FreeContourTray | HiAPI-C# 2025", - "summary": "Class FreeContourTray Namespace Hi.Milling.FluteContours Assembly HiMech.dll Represents a container for multiple flute contours with free arrangement. public class FreeContourTray : IContourTray, IMakeXmlSource, IExpandToBox3d, IUpdateByContent, IClearCache, IGetFluteNum Inheritance object FreeContourTray Implements IContourTray IMakeXmlSource IExpandToBox3d IUpdateByContent IClearCache IGetFluteNum 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) Remarks This class provides a flexible way to manage multiple flute contours: Supports XML serialization for data persistence Allows arbitrary arrangement of flute contours Implements IContourTray for standard contour tray functionality Constructors FreeContourTray() Initializes a new instance of the FreeContourTray class public FreeContourTray() FreeContourTray(XElement, string, IProgress, object[]) Initializes a new instance of the FreeContourTray class from XML data public FreeContourTray(XElement src, string baseDirectory, IProgress progress, object[] res) Parameters src XElement The source XML element containing the contour tray data baseDirectory string The base directory for resolving relative paths progress IProgress Progress reporter for diagnostic messages emitted during construction. res object[] Additional resources for initialization Properties ContourList Gets or sets the list of flute contours in this tray public List ContourList { get; set; } Property Value List XName Gets the XML name for serialization public static string XName { get; } Property Value string XmlSourceFile public string XmlSourceFile { get; set; } Property Value string Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Duplicate(IGetZrList) Creates a duplicate of this contour tray public IContourTray Duplicate(IGetZrList zrListHost) Parameters zrListHost IGetZrList The host containing Z-R list information Returns IContourTray A new instance of FreeContourTray with the same properties ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetFluteContourList() Gets the list of flute contours contained in this tray. public List GetFluteContourList() Returns List A list of flute contours. GetFluteNum() Gets the number of flutes in the contour tray. public int GetFluteNum() Returns int 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. UpdateByContent() Updates the object based on its current content. public void UpdateByContent()" + "summary": "Class FreeContourTray Namespace Hi.Milling.FluteContours Assembly HiMech.dll Represents a container for multiple flute contours with free arrangement. public class FreeContourTray : IContourTray, IMakeXmlSource, IExpandToBox3d, IUpdateByContent, IClearCache, IGetFluteNum Inheritance object FreeContourTray Implements IContourTray IMakeXmlSource IExpandToBox3d IUpdateByContent IClearCache IGetFluteNum 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) Remarks This class provides a flexible way to manage multiple flute contours: Supports XML serialization for data persistence Allows arbitrary arrangement of flute contours Implements IContourTray for standard contour tray functionality Constructors FreeContourTray() Initializes a new instance of the FreeContourTray class public FreeContourTray() FreeContourTray(XElement, string, IProgress, object[]) Initializes a new instance of the FreeContourTray class from XML data public FreeContourTray(XElement src, string baseDirectory, IProgress progress, object[] res) Parameters src XElement The source XML element containing the contour tray data baseDirectory string The base directory for resolving relative paths progress IProgress Progress reporter for diagnostic messages emitted during construction. res object[] Additional resources for initialization Properties ContourList Gets or sets the list of flute contours in this tray public List ContourList { get; set; } Property Value List XName Gets the XML name for serialization public static string XName { get; } Property Value string XmlSourceFile public string XmlSourceFile { get; set; } Property Value string Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Duplicate(IGetZrList) Creates a duplicate of this contour tray public IContourTray Duplicate(IGetZrList zrListHost) Parameters zrListHost IGetZrList The host containing Z-R list information Returns IContourTray A new instance of FreeContourTray with the same properties ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetFluteContourList() Gets the list of flute contours contained in this tray. public List GetFluteContourList() Returns List A list of flute contours. GetFluteNum() Gets the number of flutes in the contour tray. public int GetFluteNum() Returns int 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory UpdateByContent() Updates the object based on its current content. public void UpdateByContent()" }, "api/Hi.Milling.FluteContours.FreeformSideContour.html": { "href": "api/Hi.Milling.FluteContours.FreeformSideContour.html", "title": "Class FreeformSideContour | HiAPI-C# 2025", - "summary": "Class FreeformSideContour Namespace Hi.Milling.FluteContours Assembly HiMech.dll Represents a freeform side contour for milling tools, allowing arbitrary contour shapes. public class FreeformSideContour : ISideContour, IWorkingContour, IExpandToBox3d, IMakeXmlSource, IUpdateByContent, IClearCache, IEquatable Inheritance object FreeformSideContour Implements ISideContour IWorkingContour IExpandToBox3d IMakeXmlSource IUpdateByContent IClearCache IEquatable Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) FluteContourUtil.GetDrawing(ISideContour, out Drawing, out Drawing, out NativeTopoStld) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Remarks This class provides a flexible way to define side contours with custom shapes: Implements ISideContour for basic side contour functionality Supports XML serialization for data persistence Maintains a list of contour positions ordered by Z-coordinate Constructors FreeformSideContour() Initializes a new instance of the FreeformSideContour class public FreeformSideContour() FreeformSideContour(XElement, string) Initializes a new instance of the FreeformSideContour class from XML data public FreeformSideContour(XElement src, string baseDirectory) Parameters src XElement The source XML element containing the contour data baseDirectory string The base directory for resolving relative paths Properties KeyRange Gets the Z-value range (height range) of the contour public Range KeyRange { get; } Property Value Range Remarks The range is calculated from the first and last points in the SpanContourPosList, which are ordered by Z-coordinate SpanContourPosList Gets or sets the list of contour positions ordered by Z-coordinate public List SpanContourPosList { get; set; } Property Value List Remarks Each position in the list represents a point on the contour with its associated geometric and angular properties XName Gets the XML name for serialization public static string XName { get; } Property Value string Methods ClearCache() Clears the cached key range value public void ClearCache() Duplicate(IGetZrList) Creates a duplicate of this freeform side contour public IWorkingContour Duplicate(IGetZrList zrListHost) Parameters zrListHost IGetZrList The host containing Z-R list information Returns IWorkingContour A new instance of FreeformSideContour with the same properties Equals(FreeformSideContour) Determines whether the specified FreeformSideContour is equal to the current FreeformSideContour public bool Equals(FreeformSideContour other) Parameters other FreeformSideContour The FreeformSideContour to compare with the current FreeformSideContour Returns bool true if the specified FreeformSideContour is equal to the current FreeformSideContour; otherwise, false Equals(object) Determines whether the specified object is equal to the current object public override bool Equals(object obj) Parameters obj object The object to compare with the current object Returns bool true if the specified object is equal to the current object; otherwise, false ExpandToBox3d(Box3d) Expands the given bounding box to include this contour public void ExpandToBox3d(Box3d dst) Parameters dst Box3d The bounding box to expand GetHashCode() Returns a hash code for this instance public override int GetHashCode() Returns int A hash code value based on the contour positions GetSpanContourPosList() Gets the list of span contour positions that define the contour geometry public List GetSpanContourPosList() Returns List The list of contour positions ordered by Z-coordinate 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. UpdateByContent() Updates the contour's internal state based on its current content public void UpdateByContent()" + "summary": "Class FreeformSideContour Namespace Hi.Milling.FluteContours Assembly HiMech.dll Represents a freeform side contour for milling tools, allowing arbitrary contour shapes. public class FreeformSideContour : ISideContour, IWorkingContour, IExpandToBox3d, IMakeXmlSource, IUpdateByContent, IClearCache, IEquatable Inheritance object FreeformSideContour Implements ISideContour IWorkingContour IExpandToBox3d IMakeXmlSource IUpdateByContent IClearCache IEquatable Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) FluteContourUtil.GetDrawing(ISideContour, out Drawing, out Drawing, out NativeTopoStld) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Remarks This class provides a flexible way to define side contours with custom shapes: Implements ISideContour for basic side contour functionality Supports XML serialization for data persistence Maintains a list of contour positions ordered by Z-coordinate Constructors FreeformSideContour() Initializes a new instance of the FreeformSideContour class public FreeformSideContour() FreeformSideContour(XElement, string) Initializes a new instance of the FreeformSideContour class from XML data public FreeformSideContour(XElement src, string baseDirectory) Parameters src XElement The source XML element containing the contour data baseDirectory string The base directory for resolving relative paths Properties KeyRange Gets the Z-value range (height range) of the contour public Range KeyRange { get; } Property Value Range Remarks The range is calculated from the first and last points in the SpanContourPosList, which are ordered by Z-coordinate SpanContourPosList Gets or sets the list of contour positions ordered by Z-coordinate public List SpanContourPosList { get; set; } Property Value List Remarks Each position in the list represents a point on the contour with its associated geometric and angular properties XName Gets the XML name for serialization public static string XName { get; } Property Value string Methods ClearCache() Clears the cached key range value public void ClearCache() Duplicate(IGetZrList) Creates a duplicate of this freeform side contour public IWorkingContour Duplicate(IGetZrList zrListHost) Parameters zrListHost IGetZrList The host containing Z-R list information Returns IWorkingContour A new instance of FreeformSideContour with the same properties Equals(FreeformSideContour) Determines whether the specified FreeformSideContour is equal to the current FreeformSideContour public bool Equals(FreeformSideContour other) Parameters other FreeformSideContour The FreeformSideContour to compare with the current FreeformSideContour Returns bool true if the specified FreeformSideContour is equal to the current FreeformSideContour; otherwise, false Equals(object) Determines whether the specified object is equal to the current object public override bool Equals(object obj) Parameters obj object The object to compare with the current object Returns bool true if the specified object is equal to the current object; otherwise, false ExpandToBox3d(Box3d) Expands the given bounding box to include this contour public void ExpandToBox3d(Box3d dst) Parameters dst Box3d The bounding box to expand GetHashCode() Returns a hash code for this instance public override int GetHashCode() Returns int A hash code value based on the contour positions GetSpanContourPosList() Gets the list of span contour positions that define the contour geometry public List GetSpanContourPosList() Returns List The list of contour positions ordered by Z-coordinate 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory UpdateByContent() Updates the contour's internal state based on its current content public void UpdateByContent()" }, "api/Hi.Milling.FluteContours.IBottomContour.html": { "href": "api/Hi.Milling.FluteContours.IBottomContour.html", @@ -2747,7 +2747,7 @@ "api/Hi.Milling.FluteContours.ShiftedWorkingContour.html": { "href": "api/Hi.Milling.FluteContours.ShiftedWorkingContour.html", "title": "Class ShiftedWorkingContour | HiAPI-C# 2025", - "summary": "Class ShiftedWorkingContour Namespace Hi.Milling.FluteContours Assembly HiMech.dll Represents a working contour that has been shifted by a specified angle. This class wraps another working contour and applies an angular transformation to it. public class ShiftedWorkingContour : IWorkingContour, IExpandToBox3d, IClearCache, IMakeXmlSource, IEquatable Inheritance object ShiftedWorkingContour Implements IWorkingContour IExpandToBox3d IClearCache IMakeXmlSource IEquatable Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ShiftedWorkingContour() Initializes a new instance of the ShiftedWorkingContour class public ShiftedWorkingContour() ShiftedWorkingContour(double, IWorkingContour) Initializes a new instance of the ShiftedWorkingContour class with a specified shift angle and baseline contour public ShiftedWorkingContour(double shiftAngle_rad, IWorkingContour baselineWorkingContour) Parameters shiftAngle_rad double The shift angle in radians baselineWorkingContour IWorkingContour The baseline working contour to be shifted ShiftedWorkingContour(XElement, string, IWorkingContour) Initializes a new instance of the ShiftedWorkingContour class from XML data public ShiftedWorkingContour(XElement src, string baseDirectory, IWorkingContour baselineWorkingContour) Parameters src XElement The source XML element baseDirectory string The base directory for resolving relative paths baselineWorkingContour IWorkingContour The baseline working contour to be shifted Properties BaselineWorkingContour Gets or sets the baseline working contour that is being shifted public IWorkingContour BaselineWorkingContour { get; set; } Property Value IWorkingContour KeyRange Gets the key range of the baseline working contour public Range KeyRange { get; } Property Value Range ShiftAngle_deg Gets or sets the shift angle in degrees public double ShiftAngle_deg { get; set; } Property Value double ShiftAngle_rad Gets or sets the shift angle in radians public double ShiftAngle_rad { get; set; } Property Value double XName Gets the XML name for serialization public static string XName { get; } Property Value string Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Duplicate(IGetZrList) Creates a duplicate of this contour with a new Z-radius list provider. public IWorkingContour Duplicate(IGetZrList zrList) Parameters zrList IGetZrList The Z-radius list provider for the duplicate. Returns IWorkingContour A new instance of ShiftedWorkingContour. Equals(ShiftedWorkingContour) Determines whether the specified ShiftedWorkingContour is equal to the current ShiftedWorkingContour public bool Equals(ShiftedWorkingContour contour) Parameters contour ShiftedWorkingContour The ShiftedWorkingContour to compare with the current ShiftedWorkingContour Returns bool true if the specified ShiftedWorkingContour is equal to the current ShiftedWorkingContour; otherwise, false Equals(object) Determines whether the specified object is equal to the current object public override bool Equals(object obj) Parameters obj object The object to compare with the current object Returns bool true if the specified object is equal to the current object; otherwise, false ExpandToBox3d(Box3d) Expands the given bounding box to include this shifted working contour public void ExpandToBox3d(Box3d dst) Parameters dst Box3d The bounding box to expand GetHashCode() Returns a hash code for this instance public override int GetHashCode() Returns int A hash code value GetSpanContourPosList() Gets the list of span contour positions after applying the shift transformation public List GetSpanContourPosList() Returns List A list of transformed span contour positions 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. Operators operator ==(ShiftedWorkingContour, ShiftedWorkingContour) Determines whether two ShiftedWorkingContour instances are equal public static bool operator ==(ShiftedWorkingContour left, ShiftedWorkingContour right) Parameters left ShiftedWorkingContour The first ShiftedWorkingContour to compare right ShiftedWorkingContour The second ShiftedWorkingContour to compare Returns bool true if the specified ShiftedWorkingContour instances are equal; otherwise, false operator !=(ShiftedWorkingContour, ShiftedWorkingContour) Determines whether two ShiftedWorkingContour instances are not equal public static bool operator !=(ShiftedWorkingContour left, ShiftedWorkingContour right) Parameters left ShiftedWorkingContour The first ShiftedWorkingContour to compare right ShiftedWorkingContour The second ShiftedWorkingContour to compare Returns bool true if the specified ShiftedWorkingContour instances are not equal; otherwise, false" + "summary": "Class ShiftedWorkingContour Namespace Hi.Milling.FluteContours Assembly HiMech.dll Represents a working contour that has been shifted by a specified angle. This class wraps another working contour and applies an angular transformation to it. public class ShiftedWorkingContour : IWorkingContour, IExpandToBox3d, IClearCache, IMakeXmlSource, IEquatable Inheritance object ShiftedWorkingContour Implements IWorkingContour IExpandToBox3d IClearCache IMakeXmlSource IEquatable Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ShiftedWorkingContour() Initializes a new instance of the ShiftedWorkingContour class public ShiftedWorkingContour() ShiftedWorkingContour(double, IWorkingContour) Initializes a new instance of the ShiftedWorkingContour class with a specified shift angle and baseline contour public ShiftedWorkingContour(double shiftAngle_rad, IWorkingContour baselineWorkingContour) Parameters shiftAngle_rad double The shift angle in radians baselineWorkingContour IWorkingContour The baseline working contour to be shifted ShiftedWorkingContour(XElement, string, IWorkingContour) Initializes a new instance of the ShiftedWorkingContour class from XML data public ShiftedWorkingContour(XElement src, string baseDirectory, IWorkingContour baselineWorkingContour) Parameters src XElement The source XML element baseDirectory string The base directory for resolving relative paths baselineWorkingContour IWorkingContour The baseline working contour to be shifted Properties BaselineWorkingContour Gets or sets the baseline working contour that is being shifted public IWorkingContour BaselineWorkingContour { get; set; } Property Value IWorkingContour KeyRange Gets the key range of the baseline working contour public Range KeyRange { get; } Property Value Range ShiftAngle_deg Gets or sets the shift angle in degrees public double ShiftAngle_deg { get; set; } Property Value double ShiftAngle_rad Gets or sets the shift angle in radians public double ShiftAngle_rad { get; set; } Property Value double XName Gets the XML name for serialization public static string XName { get; } Property Value string Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Duplicate(IGetZrList) Creates a duplicate of this contour with a new Z-radius list provider. public IWorkingContour Duplicate(IGetZrList zrList) Parameters zrList IGetZrList The Z-radius list provider for the duplicate. Returns IWorkingContour A new instance of ShiftedWorkingContour. Equals(ShiftedWorkingContour) Determines whether the specified ShiftedWorkingContour is equal to the current ShiftedWorkingContour public bool Equals(ShiftedWorkingContour contour) Parameters contour ShiftedWorkingContour The ShiftedWorkingContour to compare with the current ShiftedWorkingContour Returns bool true if the specified ShiftedWorkingContour is equal to the current ShiftedWorkingContour; otherwise, false Equals(object) Determines whether the specified object is equal to the current object public override bool Equals(object obj) Parameters obj object The object to compare with the current object Returns bool true if the specified object is equal to the current object; otherwise, false ExpandToBox3d(Box3d) Expands the given bounding box to include this shifted working contour public void ExpandToBox3d(Box3d dst) Parameters dst Box3d The bounding box to expand GetHashCode() Returns a hash code for this instance public override int GetHashCode() Returns int A hash code value GetSpanContourPosList() Gets the list of span contour positions after applying the shift transformation public List GetSpanContourPosList() Returns List A list of transformed span contour positions 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Operators operator ==(ShiftedWorkingContour, ShiftedWorkingContour) Determines whether two ShiftedWorkingContour instances are equal public static bool operator ==(ShiftedWorkingContour left, ShiftedWorkingContour right) Parameters left ShiftedWorkingContour The first ShiftedWorkingContour to compare right ShiftedWorkingContour The second ShiftedWorkingContour to compare Returns bool true if the specified ShiftedWorkingContour instances are equal; otherwise, false operator !=(ShiftedWorkingContour, ShiftedWorkingContour) Determines whether two ShiftedWorkingContour instances are not equal public static bool operator !=(ShiftedWorkingContour left, ShiftedWorkingContour right) Parameters left ShiftedWorkingContour The first ShiftedWorkingContour to compare right ShiftedWorkingContour The second ShiftedWorkingContour to compare Returns bool true if the specified ShiftedWorkingContour instances are not equal; otherwise, false" }, "api/Hi.Milling.FluteContours.SideContourDisplayee.html": { "href": "api/Hi.Milling.FluteContours.SideContourDisplayee.html", @@ -2757,7 +2757,7 @@ "api/Hi.Milling.FluteContours.SlideBottomContour.html": { "href": "api/Hi.Milling.FluteContours.SlideBottomContour.html", "title": "Class SlideBottomContour | HiAPI-C# 2025", - "summary": "Class SlideBottomContour Namespace Hi.Milling.FluteContours Assembly HiMech.dll Represents a slide bottom contour for milling cutters. public class SlideBottomContour : IBottomContour, IWorkingContour, IMakeXmlSource, IExpandToBox3d, IClearCache Inheritance object SlideBottomContour Implements IBottomContour IWorkingContour IMakeXmlSource IExpandToBox3d IClearCache Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors SlideBottomContour() Initializes a new instance of the SlideBottomContour class. public SlideBottomContour() SlideBottomContour(XElement, string) Ctor by XML. public SlideBottomContour(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths Properties AxialRakeAngle_deg AxialRakeAngle_rad in degree. public double AxialRakeAngle_deg { get; set; } Property Value double AxialRakeAngle_rad Axial rake angle. Sometimes it is equal to Helix angle from side contour. in radian. public double AxialRakeAngle_rad { get; set; } Property Value double CutterLengthOnBottomProjection_mm cutter length projection from outer edge on bottom plane. public double CutterLengthOnBottomProjection_mm { get; set; } Property Value double DiskAngle_deg angle between bottom surface and horizontal plane. unit is degree. public double DiskAngle_deg { get; set; } Property Value double DiskAngle_rad angle between bottom surface and horizontal plane. unit is radian. public double DiskAngle_rad { get; set; } Property Value double EccentricAngle_deg Gets or sets the eccentric angle in degrees. public double EccentricAngle_deg { get; set; } Property Value double EccentricAngle_rad Projection angle between the line from outer edge tip to center and bottom flute contour on bottom plane. Sometimes it is equal to Radial Rake Angle from side contour. in radian. public double EccentricAngle_rad { get; set; } Property Value double InnerHeight_mm Gets the inner height of the contour in millimeters. public double InnerHeight_mm { get; } Property Value double KeyRange Gets the key range of the flute contour. public Range KeyRange { get; } Property Value Range Remarks For ISideContour, this represents the Z-value range (height range) For IBottomContour, this represents the R-value range (radial range) OuterRadius_mm Gets or sets the outer radius of the contour in millimeters. public double OuterRadius_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Duplicate(IGetZrList) Creates a duplicate of this contour with the specified ZR list host. public IWorkingContour Duplicate(IGetZrList zrListHost) Parameters zrListHost IGetZrList The ZR list host to use for the duplicate Returns IWorkingContour A new working contour instance ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetSpanContourPos4d(double) public SpanContourPos4d GetSpanContourPos4d(double r) Parameters r double specific radius Returns SpanContourPos4d GetSpanContourPosList() Gets a list of span contour positions that define the working contour geometry. public List GetSpanContourPosList() Returns List A list of SpanContourPos4d objects representing the contour geometry Remarks The positions are ordered: For ISideContour, positions are ordered by ascending Z values For IBottomContour, positions are ordered by ascending R values Note: Future implementation may use List> for block flute support. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class SlideBottomContour Namespace Hi.Milling.FluteContours Assembly HiMech.dll Represents a slide bottom contour for milling cutters. public class SlideBottomContour : IBottomContour, IWorkingContour, IMakeXmlSource, IExpandToBox3d, IClearCache Inheritance object SlideBottomContour Implements IBottomContour IWorkingContour IMakeXmlSource IExpandToBox3d IClearCache Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors SlideBottomContour() Initializes a new instance of the SlideBottomContour class. public SlideBottomContour() SlideBottomContour(XElement, string) Ctor by XML. public SlideBottomContour(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths Properties AxialRakeAngle_deg AxialRakeAngle_rad in degree. public double AxialRakeAngle_deg { get; set; } Property Value double AxialRakeAngle_rad Axial rake angle. Sometimes it is equal to Helix angle from side contour. in radian. public double AxialRakeAngle_rad { get; set; } Property Value double CutterLengthOnBottomProjection_mm cutter length projection from outer edge on bottom plane. public double CutterLengthOnBottomProjection_mm { get; set; } Property Value double DiskAngle_deg angle between bottom surface and horizontal plane. unit is degree. public double DiskAngle_deg { get; set; } Property Value double DiskAngle_rad angle between bottom surface and horizontal plane. unit is radian. public double DiskAngle_rad { get; set; } Property Value double EccentricAngle_deg Gets or sets the eccentric angle in degrees. public double EccentricAngle_deg { get; set; } Property Value double EccentricAngle_rad Projection angle between the line from outer edge tip to center and bottom flute contour on bottom plane. Sometimes it is equal to Radial Rake Angle from side contour. in radian. public double EccentricAngle_rad { get; set; } Property Value double InnerHeight_mm Gets the inner height of the contour in millimeters. public double InnerHeight_mm { get; } Property Value double KeyRange Gets the key range of the flute contour. public Range KeyRange { get; } Property Value Range Remarks For ISideContour, this represents the Z-value range (height range) For IBottomContour, this represents the R-value range (radial range) OuterRadius_mm Gets or sets the outer radius of the contour in millimeters. public double OuterRadius_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Duplicate(IGetZrList) Creates a duplicate of this contour with the specified ZR list host. public IWorkingContour Duplicate(IGetZrList zrListHost) Parameters zrListHost IGetZrList The ZR list host to use for the duplicate Returns IWorkingContour A new working contour instance ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetSpanContourPos4d(double) public SpanContourPos4d GetSpanContourPos4d(double r) Parameters r double specific radius Returns SpanContourPos4d GetSpanContourPosList() Gets a list of span contour positions that define the working contour geometry. public List GetSpanContourPosList() Returns List A list of SpanContourPos4d objects representing the contour geometry Remarks The positions are ordered: For ISideContour, positions are ordered by ascending Z values For IBottomContour, positions are ordered by ascending R values Note: Future implementation may use List> for block flute support. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Milling.FluteContours.SpanContourPos4d.html": { "href": "api/Hi.Milling.FluteContours.SpanContourPos4d.html", @@ -2767,7 +2767,7 @@ "api/Hi.Milling.FluteContours.UniformContourTray.html": { "href": "api/Hi.Milling.FluteContours.UniformContourTray.html", "title": "Class UniformContourTray | HiAPI-C# 2025", - "summary": "Class UniformContourTray Namespace Hi.Milling.FluteContours Assembly HiMech.dll Represents a uniform contour tray for milling tool flutes. public class UniformContourTray : IContourTray, IMakeXmlSource, IExpandToBox3d, IGetFluteNum, IUpdateByContent, IClearCache Inheritance object UniformContourTray Implements IContourTray IMakeXmlSource IExpandToBox3d IGetFluteNum IUpdateByContent IClearCache Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors UniformContourTray() Initializes a new instance of the UniformContourTray class. public UniformContourTray() UniformContourTray(XElement, string, IProgress, object[]) Ctor. public UniformContourTray(XElement src, string baseDirectory, IProgress progress, object[] res) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths progress IProgress Progress reporter for diagnostic messages emitted during construction. res object[] Additional optional resources Properties BaselineContourShiftAngle_deg Gets or sets the baseline contour shift angle in degrees. public double BaselineContourShiftAngle_deg { get; set; } Property Value double BaselineOneContour Gets or sets the baseline contour. public FluteContour BaselineOneContour { get; set; } Property Value FluteContour TrackNum Gets or sets the number of tracks in the contour tray. public int TrackNum { get; set; } Property Value int XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Duplicate(IGetZrList) Creates a duplicate of this contour tray with the specified ZR list host. public IContourTray Duplicate(IGetZrList zrListHost) Parameters zrListHost IGetZrList The ZR list host to use for the duplicate Returns IContourTray A new contour tray instance ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetFluteContourList() Gets the list of flute contours contained in this tray. public List GetFluteContourList() Returns List A list of flute contours. GetFluteNum() Gets the number of flutes. public int GetFluteNum() Returns int The number of flutes. 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. UpdateByContent() Updates the object based on its current content. public void UpdateByContent()" + "summary": "Class UniformContourTray Namespace Hi.Milling.FluteContours Assembly HiMech.dll Represents a uniform contour tray for milling tool flutes. public class UniformContourTray : IContourTray, IMakeXmlSource, IExpandToBox3d, IGetFluteNum, IUpdateByContent, IClearCache Inheritance object UniformContourTray Implements IContourTray IMakeXmlSource IExpandToBox3d IGetFluteNum IUpdateByContent IClearCache Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors UniformContourTray() Initializes a new instance of the UniformContourTray class. public UniformContourTray() UniformContourTray(XElement, string, IProgress, object[]) Ctor. public UniformContourTray(XElement src, string baseDirectory, IProgress progress, object[] res) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths progress IProgress Progress reporter for diagnostic messages emitted during construction. res object[] Additional optional resources Properties BaselineContourShiftAngle_deg Gets or sets the baseline contour shift angle in degrees. public double BaselineContourShiftAngle_deg { get; set; } Property Value double BaselineOneContour Gets or sets the baseline contour. public FluteContour BaselineOneContour { get; set; } Property Value FluteContour TrackNum Gets or sets the number of tracks in the contour tray. public int TrackNum { get; set; } Property Value int XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Duplicate(IGetZrList) Creates a duplicate of this contour tray with the specified ZR list host. public IContourTray Duplicate(IGetZrList zrListHost) Parameters zrListHost IGetZrList The ZR list host to use for the duplicate Returns IContourTray A new contour tray instance ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetFluteContourList() Gets the list of flute contours contained in this tray. public List GetFluteContourList() Returns List A list of flute contours. GetFluteNum() Gets the number of flutes. public int GetFluteNum() Returns int The number of flutes. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory UpdateByContent() Updates the object based on its current content. public void UpdateByContent()" }, "api/Hi.Milling.FluteContours.html": { "href": "api/Hi.Milling.FluteContours.html", @@ -2812,7 +2812,7 @@ "api/Hi.Milling.MillingTools.MillingTool.html": { "href": "api/Hi.Milling.MillingTools.MillingTool.html", "title": "Class MillingTool | HiAPI-C# 2025", - "summary": "Class MillingTool Namespace Hi.Milling.MillingTools Assembly HiMech.dll Represents a central stick milling tool that combines a holder and a cutter. public class MillingTool : IMachiningTool, IDisplayee, IExpandToBox3d, ITopo, IGetAsmb, IGetAnchor, IGetTopoIndex, IGetAnchoredDisplayeeList, IGetFletchBuckle, IMakeXmlSource, IAbstractNote, IDuplicate, IClearCache, IGetFluteNum Inheritance object MillingTool Implements IMachiningTool IDisplayee IExpandToBox3d ITopo IGetAsmb IGetAnchor IGetTopoIndex IGetAnchoredDisplayeeList IGetFletchBuckle IMakeXmlSource IAbstractNote IDuplicate IClearCache IGetFluteNum Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DispUtil.Display(IDisplayee, Bind, Mat4d) MillingToolUtil.GetFullH(IMachiningTool) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) TopoDisplayeeUtil.Display(ITopo, Bind) TopoDisplayeeUtil.ExpandToBox3d(ITopo, Box3d) 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 MillingTool() Ctor. public MillingTool() MillingTool(XElement, string, string, IProgress) Initializes a new instance of the MillingTool class. public MillingTool(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement The XML element containing the tool configuration. baseDirectory string The base directory for resolving relative paths. relFile string The relative file path. progress IProgress Progress reporter for diagnostic messages emitted during construction. Properties AbstractNote Gets an abstract note describing the tool's dimensions and cutter. public string AbstractNote { get; } Property Value string Asmb Gets the assembly containing the tool components. public Asmb Asmb { get; } Property Value Asmb Cutter Gets the cutting tool. public ICutter Cutter { get; set; } Property Value ICutter CutterFile Gets or sets the file path of the cutter. public string CutterFile { get; set; } Property Value string ExposedCutterBendingPara_umdN Gets or sets the parameter for exposed cutter bending in micrometers per Newton. public double ExposedCutterBendingPara_umdN { get; } Property Value double ExposedCutterHeight_mm Gets or sets the exposed cutter height in millimeters. public double ExposedCutterHeight_mm { get; set; } Property Value double ExposedCutterZDeflectionPara_umdN Gets or sets the parameter for exposed cutter Z-axis deflection in micrometers per Newton. public double ExposedCutterZDeflectionPara_umdN { get; } Property Value double Holder Gets or sets the tool holder. public IHolder Holder { get; set; } Property Value IHolder HolderFile Gets or sets the holder file path. public string HolderFile { get; set; } Property Value string Note Gets or sets a note for this machining tool. public string Note { get; set; } Property Value string ObservationAnchor Gets the tool anchor reference point. public Anchor ObservationAnchor { get; } Property Value Anchor ObservationAnchorReference Gets the tool observation anchor reference point. public MillingToolAnchorReference ObservationAnchorReference { get; set; } Property Value MillingToolAnchorReference ObservationHeightFromToolTip Gets the tool observation point relative to the reference. public double ObservationHeightFromToolTip { get; } Property Value double ObservationRingRadius_mm Obsoleted. Gets the tool observation reference point. public double ObservationRingRadius_mm { get; set; } Property Value double PreservedDistanceBetweenFluteAndSpindleNose_mm Gets or sets the preserved distance between flute and clamp in millimeters. public double PreservedDistanceBetweenFluteAndSpindleNose_mm { get; set; } Property Value double RelativeHeightFromObservationAnchor_mm Gets the tool observation point relative to the reference. public double RelativeHeightFromObservationAnchor_mm { get; set; } Property Value double SpindleBuckle Gets the motor-side buckle. public Anchor SpindleBuckle { get; } Property Value Anchor SpindleBuckleToToolTipLength Height For NC Compensation table and step number computation. public double SpindleBuckleToToolTipLength { get; } Property Value double ToolTip Gets the tool tip anchor point from the cutter. public Anchor ToolTip { get; } Property Value Anchor XName Initializes a new instance of the StickMachiningTool class from XML data. public static string XName { get; } Property Value string Methods AlignAnchorByExposedCutterHeight() Aligns the anchor by the exposed cutter height. public void AlignAnchorByExposedCutterHeight() ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box Remarks For display GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetFletchBuckle() Get fletch buckle anchor. the anchor that generally connect to fixed part such as ground and triggering(motor)-side. public Anchor GetFletchBuckle() Returns Anchor buckle anchor GetFluteNum() Gets the number of flutes in the contour tray. public int GetFluteNum() Returns int MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class MillingTool Namespace Hi.Milling.MillingTools Assembly HiMech.dll Represents a central stick milling tool that combines a holder and a cutter. public class MillingTool : IMachiningTool, IDisplayee, IExpandToBox3d, ITopo, IGetAsmb, IGetAnchor, IGetTopoIndex, IGetAnchoredDisplayeeList, IGetFletchBuckle, IMakeXmlSource, IAbstractNote, IDuplicate, IClearCache, IGetFluteNum Inheritance object MillingTool Implements IMachiningTool IDisplayee IExpandToBox3d ITopo IGetAsmb IGetAnchor IGetTopoIndex IGetAnchoredDisplayeeList IGetFletchBuckle IMakeXmlSource IAbstractNote IDuplicate IClearCache IGetFluteNum Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DispUtil.Display(IDisplayee, Bind, Mat4d) MillingToolUtil.GetFullH(IMachiningTool) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) TopoDisplayeeUtil.Display(ITopo, Bind) TopoDisplayeeUtil.ExpandToBox3d(ITopo, Box3d) 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 MillingTool() Ctor. public MillingTool() MillingTool(XElement, string, string, IProgress) Initializes a new instance of the MillingTool class. public MillingTool(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement The XML element containing the tool configuration. baseDirectory string The base directory for resolving relative paths. relFile string The relative file path. progress IProgress Progress reporter for diagnostic messages emitted during construction. Properties AbstractNote Gets an abstract note describing the tool's dimensions and cutter. public string AbstractNote { get; } Property Value string Asmb Gets the assembly containing the tool components. public Asmb Asmb { get; } Property Value Asmb Cutter Gets the cutting tool. public ICutter Cutter { get; set; } Property Value ICutter CutterFile Gets or sets the file path of the cutter. public string CutterFile { get; set; } Property Value string ExposedCutterBendingPara_umdN Gets or sets the parameter for exposed cutter bending in micrometers per Newton. public double ExposedCutterBendingPara_umdN { get; } Property Value double ExposedCutterHeight_mm Gets or sets the exposed cutter height in millimeters. public double ExposedCutterHeight_mm { get; set; } Property Value double ExposedCutterZDeflectionPara_umdN Gets or sets the parameter for exposed cutter Z-axis deflection in micrometers per Newton. public double ExposedCutterZDeflectionPara_umdN { get; } Property Value double Holder Gets or sets the tool holder. public IHolder Holder { get; set; } Property Value IHolder HolderFile Gets or sets the holder file path. public string HolderFile { get; set; } Property Value string Note Gets or sets a note for this machining tool. public string Note { get; set; } Property Value string ObservationAnchor Gets the tool anchor reference point. public Anchor ObservationAnchor { get; } Property Value Anchor ObservationAnchorReference Gets the tool observation anchor reference point. public MillingToolAnchorReference ObservationAnchorReference { get; set; } Property Value MillingToolAnchorReference ObservationHeightFromToolTip Gets the tool observation point relative to the reference. public double ObservationHeightFromToolTip { get; } Property Value double ObservationRingRadius_mm Obsoleted. Gets the tool observation reference point. public double ObservationRingRadius_mm { get; set; } Property Value double PreservedDistanceBetweenFluteAndSpindleNose_mm Gets or sets the preserved distance between flute and clamp in millimeters. public double PreservedDistanceBetweenFluteAndSpindleNose_mm { get; set; } Property Value double RelativeHeightFromObservationAnchor_mm Gets the tool observation point relative to the reference. public double RelativeHeightFromObservationAnchor_mm { get; set; } Property Value double SpindleBuckle Gets the motor-side buckle. public Anchor SpindleBuckle { get; } Property Value Anchor SpindleBuckleToToolTipLength Height For NC Compensation table and step number computation. public double SpindleBuckleToToolTipLength { get; } Property Value double ToolTip Gets the tool tip anchor point from the cutter. public Anchor ToolTip { get; } Property Value Anchor XName Initializes a new instance of the StickMachiningTool class from XML data. public static string XName { get; } Property Value string Methods AlignAnchorByExposedCutterHeight() Aligns the anchor by the exposed cutter height. public void AlignAnchorByExposedCutterHeight() ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box Remarks For display GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetFletchBuckle() Get fletch buckle anchor. the anchor that generally connect to fixed part such as ground and triggering(motor)-side. public Anchor GetFletchBuckle() Returns Anchor buckle anchor GetFluteNum() Gets the number of flutes in the contour tray. public int GetFluteNum() Returns int 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Milling.MillingTools.MillingToolAnchorReference.html": { "href": "api/Hi.Milling.MillingTools.MillingToolAnchorReference.html", @@ -2837,7 +2837,7 @@ "api/Hi.Milling.SpindleCapability.html": { "href": "api/Hi.Milling.SpindleCapability.html", "title": "Class SpindleCapability | HiAPI-C# 2025", - "summary": "Class SpindleCapability Namespace Hi.Milling Assembly HiMech.dll Represents the capability of a spindle, including power, torque, and thermal characteristics. Internal Use Only public class SpindleCapability : IMakeXmlSource, INameNote Inheritance object SpindleCapability Implements IMakeXmlSource INameNote Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors SpindleCapability() Ctor. public SpindleCapability() SpindleCapability(XElement, string, params object[]) Initializes a new instance of the SpindleCapability class. public SpindleCapability(XElement src, string baseDirectory, params object[] res) Parameters src XElement The XML element containing spindle data. baseDirectory string The base directory for resolving relative paths. res object[] Additional resolution parameters. Properties DryRunFrictionPowerCoefficient_mWdrpm Dry Run Friction Power Coefficient. unit is mW/rpm. DryRunFrictionPower = DryRunFrictionPowerCoefficient * S. public double DryRunFrictionPowerCoefficient_mWdrpm { get; set; } Property Value double Remarks default value 4.82 is estimated by paper: The Friction of Radially Loaded Hybrid Spindle Bearings under High Speeds. Figure 13. At 9k rpm, Torque 0.046Nm. DryRunWindagePowerCoefficient_pWdrpm3 Dry Run Windage Power Coefficient. unit is pW/(rpm^3). DryRunWindagePower = DryRunWindagePowerCoefficient * (S^3). public double DryRunWindagePowerCoefficient_pWdrpm3 { get; set; } Property Value double Remarks default value 90 is estimated by paper: CFD Study on the Windage Power Loss of High Speed Gear. rpm W 5000 12 6000 20 7000 29 EnergyEfficiency Energy Conversion Efficiency. Where is Ouput/Input. public double EnergyEfficiency { get; set; } Property Value double GearShiftSpindleSpeed_cycleds Crossover speed. Gear Shift speed. spindle speed at shifting point between low gear mode and high gear mode. null means there is no gear shift mechanism. public double? GearShiftSpindleSpeed_cycleds { get; set; } Property Value double? GearShiftSpindleSpeed_rpm Gear shift spindle speed in RPM. public double? GearShiftSpindleSpeed_rpm { get; set; } Property Value double? InfInsistentSpindleSpeedToPower_cycleDs_kW SpindleSpeed(cycle/sec) to Power(kW) at infinte workable time. public List InfInsistentSpindleSpeedToPower_cycleDs_kW { get; set; } Property Value List InfInsistentSpindleSpeedToTorque_cycleDs_Nm SpindleSpeed(cycle/sec) to Torque(Nm) at 100% insistent ratio. public List InfInsistentSpindleSpeedToTorque_cycleDs_Nm { get; set; } Property Value List Name Name. public string Name { get; set; } Property Value string Note Note. public string Note { get; set; } Property Value string WorkableDurationToSpindleSpeedPowerContoursDictionary_min_cycleDs_kW WorkableDuration To SpindleSpeedToPowerContours. The dictionary is workable time (min) to (x:SpindleSpeed(cycle/sec), y:Power(kW)) public Dictionary> WorkableDurationToSpindleSpeedPowerContoursDictionary_min_cycleDs_kW { get; set; } Property Value Dictionary> WorkableDurationToSpindleSpeedTorqueContoursDictionary_min_cycleDs_Nm WorkableDuration To SpindleSpeedToTorqueContours. The dictionary is workable time (min) to (x:SpindleSpeed(cycle/sec), y:Torque(Nm)). public Dictionary> WorkableDurationToSpindleSpeedTorqueContoursDictionary_min_cycleDs_Nm { get; set; } Property Value Dictionary> WorkingTemperatureUpperBoundary_C Upper boundary of working temperature in Celsius. public double WorkingTemperatureUpperBoundary_C { get; set; } Property Value double WorkingTemperatureUpperBoundary_K Upper boundary of working temperature in Kelvin. public double WorkingTemperatureUpperBoundary_K { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods GetHeatPara(double) Gets thermal parameters for the spindle at a given speed. Internal Use Only public (double HeatCapacity_JdK, double ConvectionPara_WdK) GetHeatPara(double spindleSpeed_cycleDs) Parameters spindleSpeed_cycleDs double Spindle speed in cycles per second Returns (double HeatCapacity_JdK, double ConvectionPara_WdK) A tuple containing heat capacity and convection parameter MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class SpindleCapability Namespace Hi.Milling Assembly HiMech.dll Represents the capability of a spindle, including power, torque, and thermal characteristics. Internal Use Only public class SpindleCapability : IMakeXmlSource, INameNote Inheritance object SpindleCapability Implements IMakeXmlSource INameNote Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors SpindleCapability() Ctor. public SpindleCapability() SpindleCapability(XElement, string, params object[]) Initializes a new instance of the SpindleCapability class. public SpindleCapability(XElement src, string baseDirectory, params object[] res) Parameters src XElement The XML element containing spindle data. baseDirectory string The base directory for resolving relative paths. res object[] Additional resolution parameters. Properties DryRunFrictionPowerCoefficient_mWdrpm Dry Run Friction Power Coefficient. unit is mW/rpm. DryRunFrictionPower = DryRunFrictionPowerCoefficient * S. public double DryRunFrictionPowerCoefficient_mWdrpm { get; set; } Property Value double Remarks default value 4.82 is estimated by paper: The Friction of Radially Loaded Hybrid Spindle Bearings under High Speeds. Figure 13. At 9k rpm, Torque 0.046Nm. DryRunWindagePowerCoefficient_pWdrpm3 Dry Run Windage Power Coefficient. unit is pW/(rpm^3). DryRunWindagePower = DryRunWindagePowerCoefficient * (S^3). public double DryRunWindagePowerCoefficient_pWdrpm3 { get; set; } Property Value double Remarks default value 90 is estimated by paper: CFD Study on the Windage Power Loss of High Speed Gear. rpm W 5000 12 6000 20 7000 29 EnergyEfficiency Energy Conversion Efficiency. Where is Ouput/Input. public double EnergyEfficiency { get; set; } Property Value double GearShiftSpindleSpeed_cycleds Crossover speed. Gear Shift speed. spindle speed at shifting point between low gear mode and high gear mode. null means there is no gear shift mechanism. public double? GearShiftSpindleSpeed_cycleds { get; set; } Property Value double? GearShiftSpindleSpeed_rpm Gear shift spindle speed in RPM. public double? GearShiftSpindleSpeed_rpm { get; set; } Property Value double? InfInsistentSpindleSpeedToPower_cycleDs_kW SpindleSpeed(cycle/sec) to Power(kW) at infinte workable time. public List InfInsistentSpindleSpeedToPower_cycleDs_kW { get; set; } Property Value List InfInsistentSpindleSpeedToTorque_cycleDs_Nm SpindleSpeed(cycle/sec) to Torque(Nm) at 100% insistent ratio. public List InfInsistentSpindleSpeedToTorque_cycleDs_Nm { get; set; } Property Value List Name Name. public string Name { get; set; } Property Value string Note Note. public string Note { get; set; } Property Value string WorkableDurationToSpindleSpeedPowerContoursDictionary_min_cycleDs_kW WorkableDuration To SpindleSpeedToPowerContours. The dictionary is workable time (min) to (x:SpindleSpeed(cycle/sec), y:Power(kW)) public Dictionary> WorkableDurationToSpindleSpeedPowerContoursDictionary_min_cycleDs_kW { get; set; } Property Value Dictionary> WorkableDurationToSpindleSpeedTorqueContoursDictionary_min_cycleDs_Nm WorkableDuration To SpindleSpeedToTorqueContours. The dictionary is workable time (min) to (x:SpindleSpeed(cycle/sec), y:Torque(Nm)). public Dictionary> WorkableDurationToSpindleSpeedTorqueContoursDictionary_min_cycleDs_Nm { get; set; } Property Value Dictionary> WorkingTemperatureUpperBoundary_C Upper boundary of working temperature in Celsius. public double WorkingTemperatureUpperBoundary_C { get; set; } Property Value double WorkingTemperatureUpperBoundary_K Upper boundary of working temperature in Kelvin. public double WorkingTemperatureUpperBoundary_K { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods GetHeatPara(double) Gets thermal parameters for the spindle at a given speed. Internal Use Only public (double HeatCapacity_JdK, double ConvectionPara_WdK) GetHeatPara(double spindleSpeed_cycleDs) Parameters spindleSpeed_cycleDs double Spindle speed in cycles per second Returns (double HeatCapacity_JdK, double ConvectionPara_WdK) A tuple containing heat capacity and convection parameter 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Milling.html": { "href": "api/Hi.Milling.html", @@ -2977,12 +2977,12 @@ "api/Hi.MillingForces.ProfileMillingParas.LocalProfileMillingPara.html": { "href": "api/Hi.MillingForces.ProfileMillingParas.LocalProfileMillingPara.html", "title": "Class LocalProfileMillingPara | HiAPI-C# 2025", - "summary": "Class LocalProfileMillingPara Namespace Hi.MillingForces.ProfileMillingParas Assembly HiMech.dll Milling parameter of altintas model. public class LocalProfileMillingPara : IEquatable, IMakeXmlSource, IGetLocalProfileMillingPara, ICsvRowIo Inheritance object LocalProfileMillingPara Implements IEquatable IMakeXmlSource IGetLocalProfileMillingPara ICsvRowIo Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors LocalProfileMillingPara() Ctor. public LocalProfileMillingPara() LocalProfileMillingPara(Vec3d, Vec3d) Ctor. public LocalProfileMillingPara(Vec3d shearPara, Vec3d ploughPara) Parameters shearPara Vec3d shear milling parameter. (x,y,z)=(Ktc,Krc,Kac) ploughPara Vec3d plough milling parameter. (x,y,z)=(Kte,Kre,Kae) LocalProfileMillingPara(LocalProfileMillingPara) Copy constructor. public LocalProfileMillingPara(LocalProfileMillingPara srcPara) Parameters srcPara LocalProfileMillingPara Source parameter to copy from. LocalProfileMillingPara(double, double, double, double, double, double) Constructor with specific milling parameters. public LocalProfileMillingPara(double Krc, double Ktc, double Kac, double Kre, double Kte, double Kae) Parameters Krc double Radial shear coefficient. Ktc double Tangential shear coefficient. Kac double Axial shear coefficient. Kre double Radial plough coefficient. Kte double Tangential plough coefficient. Kae double Axial plough coefficient. LocalProfileMillingPara(XElement) Ctor by XML. public LocalProfileMillingPara(XElement src) Parameters src XElement XML Fields Zero Gets a LocalProfileMillingPara instance with all parameters set to zero. public static LocalProfileMillingPara Zero Field Value LocalProfileMillingPara Properties AA7075 Gets milling parameters for AA7075 aluminum alloy. public static LocalProfileMillingPara AA7075 { get; } Property Value LocalProfileMillingPara Al6061T6 Al6061T6. Build by 20190213 PMC end-mill exp. public static LocalProfileMillingPara Al6061T6 { get; } Property Value LocalProfileMillingPara Al6061T6_ Milling parameters for Al6061T6 material (older version). Determined by NCCU. public static LocalProfileMillingPara Al6061T6_ { get; } Property Value LocalProfileMillingPara Al6061T6_R0p5 Milling parameters for Al6061T6 material with 0.5mm radius. Built by PMC on 2019-02-13. public static LocalProfileMillingPara Al6061T6_R0p5 { get; } Property Value LocalProfileMillingPara CsvText Csv text. public string CsvText { get; set; } Property Value string CsvTitleText Csv titles text. public string CsvTitleText { get; } Property Value string Inconel718 Gets milling parameters for Inconel 718 material. public static LocalProfileMillingPara Inconel718 { get; } Property Value LocalProfileMillingPara Kp Coefficient of (Kpr,Kpt,Kpa). public Vec3d Kp { get; set; } Property Value Vec3d Kpa Coefficient of axial plough force. public double Kpa { get; set; } Property Value double Kpr Coefficient of radial plough force. public double Kpr { get; set; } Property Value double Kpt Coefficient of tangential plough force. public double Kpt { get; set; } Property Value double Ks Coefficient of (Ksr,Kst,Ksa). public Vec3d Ks { get; set; } Property Value Vec3d Ksa Coefficient of axial shear force. public double Ksa { get; set; } Property Value double Ksr Coefficient of radial shear force. public double Ksr { get; set; } Property Value double Kst Coefficient of tangential shear force. public double Kst { get; set; } Property Value double NaN Gets a LocalProfileMillingPara instance with all parameters set to NaN (Not a Number). public static LocalProfileMillingPara NaN { get; } Property Value LocalProfileMillingPara S45C_ColumnEnd Gets milling parameters for S45C material with column end configuration. public static LocalProfileMillingPara S45C_ColumnEnd { get; } Property Value LocalProfileMillingPara SS304 Milling parameters for SS304 stainless steel. Reference: “The effect of cutting force model coefficient variability on process planning in milling”, Firat Eren, University of New Hampshire, Durham. public static LocalProfileMillingPara SS304 { get; } Property Value LocalProfileMillingPara SS304_R0 Gets milling parameters for SS304 stainless steel with no radius (R0). public static LocalProfileMillingPara SS304_R0 { get; } Property Value LocalProfileMillingPara SS304_R0p5 Gets milling parameters for SS304 stainless steel with 0.5mm radius (R0.5) and 4 flutes. public static LocalProfileMillingPara SS304_R0p5 { get; } Property Value LocalProfileMillingPara SS304_R3 Gets milling parameters for SS304 stainless steel with 3mm radius (R3) and 4 flutes. public static LocalProfileMillingPara SS304_R3 { get; } Property Value LocalProfileMillingPara Steel17_4PH Milling parameters for Steel 17-4PH material. public static LocalProfileMillingPara Steel17_4PH { get; } Property Value LocalProfileMillingPara Ti6Al4V Gets milling parameters for Ti6Al4V material. public static LocalProfileMillingPara Ti6Al4V { get; } Property Value LocalProfileMillingPara Ti6Al4V_Altintas2001 Gets milling parameters for Ti6Al4V material based on Altintas 2001 research. public static LocalProfileMillingPara Ti6Al4V_Altintas2001 { get; } Property Value LocalProfileMillingPara XName Name for XML IO. public static string XName { get; } Property Value string Methods Equals(LocalProfileMillingPara) Indicates whether the current object is equal to another object of the same type. public bool Equals(LocalProfileMillingPara other) Parameters other LocalProfileMillingPara An object to compare with this object. Returns bool true if the current object is equal to the other parameter; otherwise, false. Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. GetElementByIndex(RtaMillingParaKey) Gets the parameter value by the specified key. public double GetElementByIndex(RtaMillingParaKey key) Parameters key RtaMillingParaKey The parameter key to retrieve. Returns double The parameter value corresponding to the key. GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. GetMillingPara() Get LocalProfileMillingPara. public LocalProfileMillingPara GetMillingPara() Returns LocalProfileMillingPara LocalProfileMillingPara 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. SetElementByIndex(RtaMillingParaKey, double) Sets the parameter value for the specified key. public void SetElementByIndex(RtaMillingParaKey key, double v) Parameters key RtaMillingParaKey The parameter key to set. v double The value to set. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object." + "summary": "Class LocalProfileMillingPara Namespace Hi.MillingForces.ProfileMillingParas Assembly HiMech.dll Milling parameter of altintas model. public class LocalProfileMillingPara : IEquatable, IMakeXmlSource, IGetLocalProfileMillingPara, ICsvRowIo Inheritance object LocalProfileMillingPara Implements IEquatable IMakeXmlSource IGetLocalProfileMillingPara ICsvRowIo Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors LocalProfileMillingPara() Ctor. public LocalProfileMillingPara() LocalProfileMillingPara(Vec3d, Vec3d) Ctor. public LocalProfileMillingPara(Vec3d shearPara, Vec3d ploughPara) Parameters shearPara Vec3d shear milling parameter. (x,y,z)=(Ktc,Krc,Kac) ploughPara Vec3d plough milling parameter. (x,y,z)=(Kte,Kre,Kae) LocalProfileMillingPara(LocalProfileMillingPara) Copy constructor. public LocalProfileMillingPara(LocalProfileMillingPara srcPara) Parameters srcPara LocalProfileMillingPara Source parameter to copy from. LocalProfileMillingPara(double, double, double, double, double, double) Constructor with specific milling parameters. public LocalProfileMillingPara(double Krc, double Ktc, double Kac, double Kre, double Kte, double Kae) Parameters Krc double Radial shear coefficient. Ktc double Tangential shear coefficient. Kac double Axial shear coefficient. Kre double Radial plough coefficient. Kte double Tangential plough coefficient. Kae double Axial plough coefficient. LocalProfileMillingPara(XElement) Ctor by XML. public LocalProfileMillingPara(XElement src) Parameters src XElement XML Fields Zero Gets a LocalProfileMillingPara instance with all parameters set to zero. public static LocalProfileMillingPara Zero Field Value LocalProfileMillingPara Properties AA7075 Gets milling parameters for AA7075 aluminum alloy. public static LocalProfileMillingPara AA7075 { get; } Property Value LocalProfileMillingPara Al6061T6 Al6061T6. Build by 20190213 PMC end-mill exp. public static LocalProfileMillingPara Al6061T6 { get; } Property Value LocalProfileMillingPara Al6061T6_ Milling parameters for Al6061T6 material (older version). Determined by NCCU. public static LocalProfileMillingPara Al6061T6_ { get; } Property Value LocalProfileMillingPara Al6061T6_R0p5 Milling parameters for Al6061T6 material with 0.5mm radius. Built by PMC on 2019-02-13. public static LocalProfileMillingPara Al6061T6_R0p5 { get; } Property Value LocalProfileMillingPara CsvText Csv text. public string CsvText { get; set; } Property Value string CsvTitleText Csv titles text. public string CsvTitleText { get; } Property Value string Inconel718 Gets milling parameters for Inconel 718 material. public static LocalProfileMillingPara Inconel718 { get; } Property Value LocalProfileMillingPara Kp Coefficient of (Kpr,Kpt,Kpa). public Vec3d Kp { get; set; } Property Value Vec3d Kpa Coefficient of axial plough force. public double Kpa { get; set; } Property Value double Kpr Coefficient of radial plough force. public double Kpr { get; set; } Property Value double Kpt Coefficient of tangential plough force. public double Kpt { get; set; } Property Value double Ks Coefficient of (Ksr,Kst,Ksa). public Vec3d Ks { get; set; } Property Value Vec3d Ksa Coefficient of axial shear force. public double Ksa { get; set; } Property Value double Ksr Coefficient of radial shear force. public double Ksr { get; set; } Property Value double Kst Coefficient of tangential shear force. public double Kst { get; set; } Property Value double NaN Gets a LocalProfileMillingPara instance with all parameters set to NaN (Not a Number). public static LocalProfileMillingPara NaN { get; } Property Value LocalProfileMillingPara S45C_ColumnEnd Gets milling parameters for S45C material with column end configuration. public static LocalProfileMillingPara S45C_ColumnEnd { get; } Property Value LocalProfileMillingPara SS304 Milling parameters for SS304 stainless steel. Reference: “The effect of cutting force model coefficient variability on process planning in milling”, Firat Eren, University of New Hampshire, Durham. public static LocalProfileMillingPara SS304 { get; } Property Value LocalProfileMillingPara SS304_R0 Gets milling parameters for SS304 stainless steel with no radius (R0). public static LocalProfileMillingPara SS304_R0 { get; } Property Value LocalProfileMillingPara SS304_R0p5 Gets milling parameters for SS304 stainless steel with 0.5mm radius (R0.5) and 4 flutes. public static LocalProfileMillingPara SS304_R0p5 { get; } Property Value LocalProfileMillingPara SS304_R3 Gets milling parameters for SS304 stainless steel with 3mm radius (R3) and 4 flutes. public static LocalProfileMillingPara SS304_R3 { get; } Property Value LocalProfileMillingPara Steel17_4PH Milling parameters for Steel 17-4PH material. public static LocalProfileMillingPara Steel17_4PH { get; } Property Value LocalProfileMillingPara Ti6Al4V Gets milling parameters for Ti6Al4V material. public static LocalProfileMillingPara Ti6Al4V { get; } Property Value LocalProfileMillingPara Ti6Al4V_Altintas2001 Gets milling parameters for Ti6Al4V material based on Altintas 2001 research. public static LocalProfileMillingPara Ti6Al4V_Altintas2001 { get; } Property Value LocalProfileMillingPara XName Name for XML IO. public static string XName { get; } Property Value string Methods Equals(LocalProfileMillingPara) Indicates whether the current object is equal to another object of the same type. public bool Equals(LocalProfileMillingPara other) Parameters other LocalProfileMillingPara An object to compare with this object. Returns bool true if the current object is equal to the other parameter; otherwise, false. Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. GetElementByIndex(RtaMillingParaKey) Gets the parameter value by the specified key. public double GetElementByIndex(RtaMillingParaKey key) Parameters key RtaMillingParaKey The parameter key to retrieve. Returns double The parameter value corresponding to the key. GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. GetMillingPara() Get LocalProfileMillingPara. public LocalProfileMillingPara GetMillingPara() Returns LocalProfileMillingPara LocalProfileMillingPara 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetElementByIndex(RtaMillingParaKey, double) Sets the parameter value for the specified key. public void SetElementByIndex(RtaMillingParaKey key, double v) Parameters key RtaMillingParaKey The parameter key to set. v double The value to set. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object." }, "api/Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.html": { "href": "api/Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.html", "title": "Class ProfileMillingParaMap | HiAPI-C# 2025", - "summary": "Class ProfileMillingParaMap Namespace Hi.MillingForces.ProfileMillingParas Assembly HiMech.dll Represents a mapping of milling parameters for profile milling operations. This class manages cutting parameters for both side and bottom milling operations. public class ProfileMillingParaMap : ICuttingPara, IGetCuttingPara, IMakeXmlSource, INameNote Inheritance object ProfileMillingParaMap Implements ICuttingPara IGetCuttingPara IMakeXmlSource INameNote Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods CuttingParaUtil.ToRakeFaceCuttingPara(ICuttingPara) 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 ProfileMillingParaMap(LocalProfileMillingPara, LocalProfileMillingPara, bool) Ctor for single LocalProfileMillingPara. public ProfileMillingParaMap(LocalProfileMillingPara sidePara, LocalProfileMillingPara bottomPara = null, bool containUpperSide = false) Parameters sidePara LocalProfileMillingPara milling parameter on side bottomPara LocalProfileMillingPara milling parameter on bottom containUpperSide bool Whether to include upper side parameters ProfileMillingParaMap(ProfileMillingParaMap) Copy ctor. public ProfileMillingParaMap(ProfileMillingParaMap src) Parameters src ProfileMillingParaMap src ProfileMillingParaMap(int, int, int, bool) Initializes a new instance of the ProfileMillingParaMap class with specified dimensions. public ProfileMillingParaMap(int fluteNum, int yDivisionNum, int zDivisionNum, bool isUpperSideContained = false) Parameters fluteNum int The number of flutes. yDivisionNum int The number of divisions in Y direction. zDivisionNum int The number of divisions in Z direction. isUpperSideContained bool Whether to include the upper side of the milling profile. ProfileMillingParaMap(XElement, string, bool) Initializes a new instance of the ProfileMillingParaMap class from XML data. public ProfileMillingParaMap(XElement src, string baseDirectory, bool isRtaVersion) Parameters src XElement The XML element containing the parameter data. baseDirectory string The base directory for resolving relative paths. isRtaVersion bool Whether the data is in RTA format. Properties BottomShearParas Gets the bottom shear parameters array. Each element contains cutting coefficients for each flute. public Vec3d[] BottomShearParas { get; } Property Value Vec3d[] ElementNum Gets the total number of elements in the parameter map. public int ElementNum { get; } Property Value int FluteFormNum Gets the number of flute forms in the parameter map. The number should be 1 or be equal to the flute number of the cutter. public int FluteFormNum { get; } Property Value int IsUpperSideContained Gets a value indicating whether the upper side of the milling profile is included in calculations. public bool IsUpperSideContained { get; } Property Value bool Name Gets or sets the name of the parameter map. public string Name { get; set; } Property Value string Note Gets or sets additional notes or descriptions for the parameter map. public string Note { get; set; } Property Value string PloughPara Gets the ploughing force coefficients (Kpr, Kpt, Kpa) for the entire tool. public Vec3d PloughPara { get; } Property Value Vec3d SideShearParas Gets the side shear parameters array. The dimensions represent [flute form, Y division, Z division]. Each element contains cutting coefficients (Ksr, Kst, Ksa) for the corresponding position. public Vec3d[,,] SideShearParas { get; } Property Value Vec3d[,,] SideYParaNum Gets the number of divisions in the Y direction for side milling parameters. public int SideYParaNum { get; } Property Value int SideZParaNum Gets the number of divisions in the Z direction for side milling parameters. public int SideZParaNum { get; } Property Value int XName Name for XML IO. public static string XName { get; } Property Value string XmlSourceFile public string XmlSourceFile { get; set; } Property Value string Methods CloneTemplate() Creates a template clone of this parameter map. public ICuttingPara CloneTemplate() Returns ICuttingPara A new instance with the same dimensions but zero values. GenUnitParas() Generates a list of unit cutting parameters. public List GenUnitParas() Returns List A list of unit cutting parameters. GetBottomMillingPara(int) Gets the milling parameters for the bottom of a specific flute. public LocalProfileMillingPara GetBottomMillingPara(int fluteIndex) Parameters fluteIndex int The index of the flute. Returns LocalProfileMillingPara The local milling parameters for the bottom of the specified flute. GetCuttingPara() Gets the cutting parameter interface for this instance. public ICuttingPara GetCuttingPara() Returns ICuttingPara The cutting parameter interface. GetElementByIndex(int) Gets a parameter value by its element index. public double GetElementByIndex(int elementIndex) Parameters elementIndex int The index of the element to get. Returns double The value at the specified index. GetElements() Gets the elements as an array of values. public double[] GetElements() Returns double[] An array containing all parameter values. GetSideMillingPara(int, double, double) Gets the milling parameters for a specific side position. public LocalProfileMillingPara GetSideMillingPara(int fluteIndex, double atanYX_rad, double atanZX_rad) Parameters fluteIndex int The index of the flute. atanYX_rad double The YX angle in radians. atanZX_rad double The ZX angle in radians. Returns LocalProfileMillingPara The local milling parameters for the specified position. 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. SetElementByIndex(int, double) Sets a parameter value by its element index. public void SetElementByIndex(int elementIndex, double v) Parameters elementIndex int The index of the element to set. v double The value to set. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. ToTemplateXElement() Creates a template XML element for the parameter map. public XElement ToTemplateXElement() Returns XElement A template XML element." + "summary": "Class ProfileMillingParaMap Namespace Hi.MillingForces.ProfileMillingParas Assembly HiMech.dll Represents a mapping of milling parameters for profile milling operations. This class manages cutting parameters for both side and bottom milling operations. public class ProfileMillingParaMap : ICuttingPara, IGetCuttingPara, IMakeXmlSource, INameNote Inheritance object ProfileMillingParaMap Implements ICuttingPara IGetCuttingPara IMakeXmlSource INameNote Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods CuttingParaUtil.ToRakeFaceCuttingPara(ICuttingPara) 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 ProfileMillingParaMap(LocalProfileMillingPara, LocalProfileMillingPara, bool) Ctor for single LocalProfileMillingPara. public ProfileMillingParaMap(LocalProfileMillingPara sidePara, LocalProfileMillingPara bottomPara = null, bool containUpperSide = false) Parameters sidePara LocalProfileMillingPara milling parameter on side bottomPara LocalProfileMillingPara milling parameter on bottom containUpperSide bool Whether to include upper side parameters ProfileMillingParaMap(ProfileMillingParaMap) Copy ctor. public ProfileMillingParaMap(ProfileMillingParaMap src) Parameters src ProfileMillingParaMap src ProfileMillingParaMap(int, int, int, bool) Initializes a new instance of the ProfileMillingParaMap class with specified dimensions. public ProfileMillingParaMap(int fluteNum, int yDivisionNum, int zDivisionNum, bool isUpperSideContained = false) Parameters fluteNum int The number of flutes. yDivisionNum int The number of divisions in Y direction. zDivisionNum int The number of divisions in Z direction. isUpperSideContained bool Whether to include the upper side of the milling profile. ProfileMillingParaMap(XElement, string, bool) Initializes a new instance of the ProfileMillingParaMap class from XML data. public ProfileMillingParaMap(XElement src, string baseDirectory, bool isRtaVersion) Parameters src XElement The XML element containing the parameter data. baseDirectory string The base directory for resolving relative paths. isRtaVersion bool Whether the data is in RTA format. Properties BottomShearParas Gets the bottom shear parameters array. Each element contains cutting coefficients for each flute. public Vec3d[] BottomShearParas { get; } Property Value Vec3d[] ElementNum Gets the total number of elements in the parameter map. public int ElementNum { get; } Property Value int FluteFormNum Gets the number of flute forms in the parameter map. The number should be 1 or be equal to the flute number of the cutter. public int FluteFormNum { get; } Property Value int IsUpperSideContained Gets a value indicating whether the upper side of the milling profile is included in calculations. public bool IsUpperSideContained { get; } Property Value bool Name Gets or sets the name of the parameter map. public string Name { get; set; } Property Value string Note Gets or sets additional notes or descriptions for the parameter map. public string Note { get; set; } Property Value string PloughPara Gets the ploughing force coefficients (Kpr, Kpt, Kpa) for the entire tool. public Vec3d PloughPara { get; } Property Value Vec3d SideShearParas Gets the side shear parameters array. The dimensions represent [flute form, Y division, Z division]. Each element contains cutting coefficients (Ksr, Kst, Ksa) for the corresponding position. public Vec3d[,,] SideShearParas { get; } Property Value Vec3d[,,] SideYParaNum Gets the number of divisions in the Y direction for side milling parameters. public int SideYParaNum { get; } Property Value int SideZParaNum Gets the number of divisions in the Z direction for side milling parameters. public int SideZParaNum { get; } Property Value int XName Name for XML IO. public static string XName { get; } Property Value string XmlSourceFile public string XmlSourceFile { get; set; } Property Value string Methods CloneTemplate() Creates a template clone of this parameter map. public ICuttingPara CloneTemplate() Returns ICuttingPara A new instance with the same dimensions but zero values. GenUnitParas() Generates a list of unit cutting parameters. public List GenUnitParas() Returns List A list of unit cutting parameters. GetBottomMillingPara(int) Gets the milling parameters for the bottom of a specific flute. public LocalProfileMillingPara GetBottomMillingPara(int fluteIndex) Parameters fluteIndex int The index of the flute. Returns LocalProfileMillingPara The local milling parameters for the bottom of the specified flute. GetCuttingPara() Gets the cutting parameter interface for this instance. public ICuttingPara GetCuttingPara() Returns ICuttingPara The cutting parameter interface. GetElementByIndex(int) Gets a parameter value by its element index. public double GetElementByIndex(int elementIndex) Parameters elementIndex int The index of the element to get. Returns double The value at the specified index. GetElements() Gets the elements as an array of values. public double[] GetElements() Returns double[] An array containing all parameter values. GetSideMillingPara(int, double, double) Gets the milling parameters for a specific side position. public LocalProfileMillingPara GetSideMillingPara(int fluteIndex, double atanYX_rad, double atanZX_rad) Parameters fluteIndex int The index of the flute. atanYX_rad double The YX angle in radians. atanZX_rad double The ZX angle in radians. Returns LocalProfileMillingPara The local milling parameters for the specified position. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetElementByIndex(int, double) Sets a parameter value by its element index. public void SetElementByIndex(int elementIndex, double v) Parameters elementIndex int The index of the element to set. v double The value to set. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. ToTemplateXElement() Creates a template XML element for the parameter map. public XElement ToTemplateXElement() Returns XElement A template XML element." }, "api/Hi.MillingForces.ProfileMillingParas.RtaMillingParaKey.html": { "href": "api/Hi.MillingForces.ProfileMillingParas.RtaMillingParaKey.html", @@ -3007,22 +3007,22 @@ "api/Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.html": { "href": "api/Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.html", "title": "Class MultiFormRakeFaceCuttingPara | HiAPI-C# 2025", - "summary": "Class MultiFormRakeFaceCuttingPara Namespace Hi.MillingForces.RakeFaceCuttingParas Assembly HiMech.dll Represents a multi-form rake face cutting parameter set that can handle multiple flute forms. Internal Use Only. public class MultiFormRakeFaceCuttingPara : ICuttingPara, IGetCuttingPara, IMakeXmlSource, INameNote Inheritance object MultiFormRakeFaceCuttingPara Implements ICuttingPara IGetCuttingPara IMakeXmlSource INameNote Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods CuttingParaUtil.ToRakeFaceCuttingPara(ICuttingPara) 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 MultiFormRakeFaceCuttingPara(int) Initializes a new instance of the MultiFormRakeFaceCuttingPara class with the specified number of flute forms. public MultiFormRakeFaceCuttingPara(int fluteFormNum) Parameters fluteFormNum int The number of flute forms to initialize. MultiFormRakeFaceCuttingPara(XElement, string) Initializes a new instance of the MultiFormRakeFaceCuttingPara class from XML data. public MultiFormRakeFaceCuttingPara(XElement src, string baseDirectory) Parameters src XElement The source XML element. baseDirectory string The base directory for resolving relative paths. Properties ElementNum Gets the total number of elements in this parameter set. public int ElementNum { get; } Property Value int FluteFormNum Gets the number of flute forms in this parameter set. public int FluteFormNum { get; } Property Value int LocalRakeFaceCuttingParas Gets or sets the array of local rake face cutting parameters for each flute form. public RakeFaceCuttingPara3d[] LocalRakeFaceCuttingParas { get; set; } Property Value RakeFaceCuttingPara3d[] Name Gets or sets the name of this parameter set. public string Name { get; set; } Property Value string Note Gets or sets additional notes about this parameter set. public string Note { get; set; } Property Value string XName Gets the XML element name for this type. public static string XName { get; } Property Value string XmlSourceFile Gets or sets the XML source file path. public string XmlSourceFile { get; set; } Property Value string Methods CloneTemplate() Creates a clone of this parameter set as a template. public ICuttingPara CloneTemplate() Returns ICuttingPara A cloned instance of this parameter set. GenUnitParas() Generates a list of unit cutting parameters. public List GenUnitParas() Returns List A list of unit cutting parameters. GetCuttingPara() Gets this instance as an ICuttingPara. public ICuttingPara GetCuttingPara() Returns ICuttingPara This instance. GetElementByIndex(int) Gets the value of an element at the specified index. public double GetElementByIndex(int elementIndex) Parameters elementIndex int The index of the element to get. Returns double The value of the element at the specified index. GetLocalRakeFaceCuttingPara(int) Gets the local rake face cutting parameters for the specified flute index. public RakeFaceCuttingPara3d GetLocalRakeFaceCuttingPara(int fluteIndex) Parameters fluteIndex int The zero-based index of the flute. Returns RakeFaceCuttingPara3d The rake face cutting parameters for the specified flute. 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. SetElementByIndex(int, double) Sets the value of an element at the specified index. public void SetElementByIndex(int elementIndex, double v) Parameters elementIndex int The index of the element to set. v double The value to set. ToString() Returns a string representation of this parameter set. public override string ToString() Returns string A string containing the name and note of this parameter set. ToTemplateXElement() Get XElement for templating. public XElement ToTemplateXElement() Returns XElement" + "summary": "Class MultiFormRakeFaceCuttingPara Namespace Hi.MillingForces.RakeFaceCuttingParas Assembly HiMech.dll Represents a multi-form rake face cutting parameter set that can handle multiple flute forms. Internal Use Only. public class MultiFormRakeFaceCuttingPara : ICuttingPara, IGetCuttingPara, IMakeXmlSource, INameNote Inheritance object MultiFormRakeFaceCuttingPara Implements ICuttingPara IGetCuttingPara IMakeXmlSource INameNote Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods CuttingParaUtil.ToRakeFaceCuttingPara(ICuttingPara) 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 MultiFormRakeFaceCuttingPara(int) Initializes a new instance of the MultiFormRakeFaceCuttingPara class with the specified number of flute forms. public MultiFormRakeFaceCuttingPara(int fluteFormNum) Parameters fluteFormNum int The number of flute forms to initialize. MultiFormRakeFaceCuttingPara(XElement, string) Initializes a new instance of the MultiFormRakeFaceCuttingPara class from XML data. public MultiFormRakeFaceCuttingPara(XElement src, string baseDirectory) Parameters src XElement The source XML element. baseDirectory string The base directory for resolving relative paths. Properties ElementNum Gets the total number of elements in this parameter set. public int ElementNum { get; } Property Value int FluteFormNum Gets the number of flute forms in this parameter set. public int FluteFormNum { get; } Property Value int LocalRakeFaceCuttingParas Gets or sets the array of local rake face cutting parameters for each flute form. public RakeFaceCuttingPara3d[] LocalRakeFaceCuttingParas { get; set; } Property Value RakeFaceCuttingPara3d[] Name Gets or sets the name of this parameter set. public string Name { get; set; } Property Value string Note Gets or sets additional notes about this parameter set. public string Note { get; set; } Property Value string XName Gets the XML element name for this type. public static string XName { get; } Property Value string XmlSourceFile Gets or sets the XML source file path. public string XmlSourceFile { get; set; } Property Value string Methods CloneTemplate() Creates a clone of this parameter set as a template. public ICuttingPara CloneTemplate() Returns ICuttingPara A cloned instance of this parameter set. GenUnitParas() Generates a list of unit cutting parameters. public List GenUnitParas() Returns List A list of unit cutting parameters. GetCuttingPara() Gets this instance as an ICuttingPara. public ICuttingPara GetCuttingPara() Returns ICuttingPara This instance. GetElementByIndex(int) Gets the value of an element at the specified index. public double GetElementByIndex(int elementIndex) Parameters elementIndex int The index of the element to get. Returns double The value of the element at the specified index. GetLocalRakeFaceCuttingPara(int) Gets the local rake face cutting parameters for the specified flute index. public RakeFaceCuttingPara3d GetLocalRakeFaceCuttingPara(int fluteIndex) Parameters fluteIndex int The zero-based index of the flute. Returns RakeFaceCuttingPara3d The rake face cutting parameters for the specified flute. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetElementByIndex(int, double) Sets the value of an element at the specified index. public void SetElementByIndex(int elementIndex, double v) Parameters elementIndex int The index of the element to set. v double The value to set. ToString() Returns a string representation of this parameter set. public override string ToString() Returns string A string containing the name and note of this parameter set. ToTemplateXElement() Get XElement for templating. public XElement ToTemplateXElement() Returns XElement" }, "api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.html": { "href": "api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.html", "title": "Class RakeFaceCuttingPara2d | HiAPI-C# 2025", - "summary": "Class RakeFaceCuttingPara2d Namespace Hi.MillingForces.RakeFaceCuttingParas Assembly HiMech.dll Represents a 2D cutting parameter for rake face cutting operations. public class RakeFaceCuttingPara2d : IRakeFaceCuttingPara, ICuttingPara, IGetCuttingPara, IMakeXmlSource, INameNote, IDuplicate Inheritance object RakeFaceCuttingPara2d Implements IRakeFaceCuttingPara ICuttingPara IGetCuttingPara IMakeXmlSource INameNote IDuplicate Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods CuttingParaUtil.ToRakeFaceCuttingPara(ICuttingPara) 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 RakeFaceCuttingPara2d() Initializes a new instance of the RakeFaceCuttingPara2d class. public RakeFaceCuttingPara2d() RakeFaceCuttingPara2d(RakeFaceCuttingPara2d) Initializes a new instance of the RakeFaceCuttingPara2d class by copying from another instance. public RakeFaceCuttingPara2d(RakeFaceCuttingPara2d src) Parameters src RakeFaceCuttingPara2d The source instance to copy from. RakeFaceCuttingPara2d(XElement, string) Initializes a new instance of the RakeFaceCuttingPara2d class from XML. public RakeFaceCuttingPara2d(XElement src, string baseDirectory) Parameters src XElement The XML source element. baseDirectory string The base directory for resolving relative paths. Fields element_num Gets the number of elements in the cutting parameter. public const int element_num = 4 Field Value int Properties AnchorRakeAngle_deg Gets or sets the anchor rake angle in degrees. public double AnchorRakeAngle_deg { get; set; } Property Value double AnchorRakeAngle_rad Gets or sets the anchor rake angle in radians. Different rake angles may have different ploughing parameters but share the same shearing parameters. public double AnchorRakeAngle_rad { get; set; } Property Value double ElementNum Element number. public int ElementNum { get; } Property Value int FluteFormNum Flute form number. public int FluteFormNum { get; } Property Value int Kp Gets the ploughing coefficient vector in ECN coordinates. public Vec2d Kp { get; set; } Property Value Vec2d Kpc Gets or sets the ploughing coefficient along the rake face cross line (c). Unit: N/mm. public double Kpc { get; set; } Property Value double Kpn Gets or sets the ploughing coefficient along the rake face normal direction (n). Unit: N/mm. public double Kpn { get; set; } Property Value double Ks Gets the shear coefficient vector in ECN coordinates. public Vec2d Ks { get; set; } Property Value Vec2d Ksc Gets or sets the shear coefficient along the rake face cross line (c). Direction is from outer to center on side cutting. Unit: N/mm². public double Ksc { get; set; } Property Value double Ksn Gets or sets the shear coefficient along the rake face normal direction (n). Unit: N/mm². public double Ksn { get; set; } Property Value double Name Gets or sets the name of the cutting parameter. public string Name { get; set; } Property Value string Note Gets or sets additional notes about the cutting parameter. public string Note { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string XmlSourceFile public string XmlSourceFile { get; set; } Property Value string Methods CloneTemplate() Clone template. public ICuttingPara CloneTemplate() Returns ICuttingPara clone template Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object GenUnitParas() Generate ICuttingParas. The elements of each ICuttingPara are (1,0,0,0,..),(0,1,0,0,..),.… For parameter training. public List GenUnitParas() Returns List unit parameters. GetCuttingPara() Get ICuttingPara. public ICuttingPara GetCuttingPara() Returns ICuttingPara ICuttingPara GetElementByIndex(int) Gets the cutting parameter element at the specified index. public double GetElementByIndex(int index) Parameters index int The index of the element to retrieve. Returns double The cutting parameter element at the specified index. 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. SetElementByIndex(int, double) Sets the value of an element at the specified index. public void SetElementByIndex(int elementIndex, double v) Parameters elementIndex int The index of the element to set (0-5). v double The value to set. Remarks Index mapping: 0 - Kse (N/mm²) 1 - Ksc (N/mm²) 2 - Ksn (N/mm²) 3 - Kpe (N/mm) 4 - Kpc (N/mm) 5 - Kpn (N/mm) ToTemplateXElement() Get XElement for templating. public XElement ToTemplateXElement() Returns XElement" + "summary": "Class RakeFaceCuttingPara2d Namespace Hi.MillingForces.RakeFaceCuttingParas Assembly HiMech.dll Represents a 2D cutting parameter for rake face cutting operations. public class RakeFaceCuttingPara2d : IRakeFaceCuttingPara, ICuttingPara, IGetCuttingPara, IMakeXmlSource, INameNote, IDuplicate Inheritance object RakeFaceCuttingPara2d Implements IRakeFaceCuttingPara ICuttingPara IGetCuttingPara IMakeXmlSource INameNote IDuplicate Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods CuttingParaUtil.ToRakeFaceCuttingPara(ICuttingPara) 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 RakeFaceCuttingPara2d() Initializes a new instance of the RakeFaceCuttingPara2d class. public RakeFaceCuttingPara2d() RakeFaceCuttingPara2d(RakeFaceCuttingPara2d) Initializes a new instance of the RakeFaceCuttingPara2d class by copying from another instance. public RakeFaceCuttingPara2d(RakeFaceCuttingPara2d src) Parameters src RakeFaceCuttingPara2d The source instance to copy from. RakeFaceCuttingPara2d(XElement, string) Initializes a new instance of the RakeFaceCuttingPara2d class from XML. public RakeFaceCuttingPara2d(XElement src, string baseDirectory) Parameters src XElement The XML source element. baseDirectory string The base directory for resolving relative paths. Fields element_num Gets the number of elements in the cutting parameter. public const int element_num = 4 Field Value int Properties AnchorRakeAngle_deg Gets or sets the anchor rake angle in degrees. public double AnchorRakeAngle_deg { get; set; } Property Value double AnchorRakeAngle_rad Gets or sets the anchor rake angle in radians. Different rake angles may have different ploughing parameters but share the same shearing parameters. public double AnchorRakeAngle_rad { get; set; } Property Value double ElementNum Element number. public int ElementNum { get; } Property Value int FluteFormNum Flute form number. public int FluteFormNum { get; } Property Value int Kp Gets the ploughing coefficient vector in ECN coordinates. public Vec2d Kp { get; set; } Property Value Vec2d Kpc Gets or sets the ploughing coefficient along the rake face cross line (c). Unit: N/mm. public double Kpc { get; set; } Property Value double Kpn Gets or sets the ploughing coefficient along the rake face normal direction (n). Unit: N/mm. public double Kpn { get; set; } Property Value double Ks Gets the shear coefficient vector in ECN coordinates. public Vec2d Ks { get; set; } Property Value Vec2d Ksc Gets or sets the shear coefficient along the rake face cross line (c). Direction is from outer to center on side cutting. Unit: N/mm�. public double Ksc { get; set; } Property Value double Ksn Gets or sets the shear coefficient along the rake face normal direction (n). Unit: N/mm�. public double Ksn { get; set; } Property Value double Name Gets or sets the name of the cutting parameter. public string Name { get; set; } Property Value string Note Gets or sets additional notes about the cutting parameter. public string Note { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string XmlSourceFile public string XmlSourceFile { get; set; } Property Value string Methods CloneTemplate() Clone template. public ICuttingPara CloneTemplate() Returns ICuttingPara clone template Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object GenUnitParas() Generate ICuttingParas. The elements of each ICuttingPara are (1,0,0,0,..),(0,1,0,0,..),.… For parameter training. public List GenUnitParas() Returns List unit parameters. GetCuttingPara() Get ICuttingPara. public ICuttingPara GetCuttingPara() Returns ICuttingPara ICuttingPara GetElementByIndex(int) Gets the cutting parameter element at the specified index. public double GetElementByIndex(int index) Parameters index int The index of the element to retrieve. Returns double The cutting parameter element at the specified index. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetElementByIndex(int, double) Sets the value of an element at the specified index. public void SetElementByIndex(int elementIndex, double v) Parameters elementIndex int The index of the element to set (0-5). v double The value to set. Remarks Index mapping: 0 - Kse (N/mm�) 1 - Ksc (N/mm�) 2 - Ksn (N/mm�) 3 - Kpe (N/mm) 4 - Kpc (N/mm) 5 - Kpn (N/mm) ToTemplateXElement() Get XElement for templating. public XElement ToTemplateXElement() Returns XElement" }, "api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.html": { "href": "api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.html", "title": "Class RakeFaceCuttingPara3d | HiAPI-C# 2025", - "summary": "Class RakeFaceCuttingPara3d Namespace Hi.MillingForces.RakeFaceCuttingParas Assembly HiMech.dll Represents local ECN (Edge-Cross-Normal) cutting parameters for rake face cutting. E: cutting edge direction C: Cross vector, along the rake face cross line, perpendicular to cutting edge N: rake face normal direction Internal Use Only. public class RakeFaceCuttingPara3d : IRakeFaceCuttingPara, ICuttingPara, IGetCuttingPara, IMakeXmlSource, INameNote, IDuplicate Inheritance object RakeFaceCuttingPara3d Implements IRakeFaceCuttingPara ICuttingPara IGetCuttingPara IMakeXmlSource INameNote IDuplicate Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods CuttingParaUtil.ToRakeFaceCuttingPara(ICuttingPara) 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) Remarks Velocity is measured relative to the cutter Resulting force is applied to the cutter Constructors RakeFaceCuttingPara3d() Initializes a new instance of the RakeFaceCuttingPara class. public RakeFaceCuttingPara3d() RakeFaceCuttingPara3d(Vec3d, Vec3d, double) Initializes a new instance of the RakeFaceCuttingPara class with specified shear and plough vectors. public RakeFaceCuttingPara3d(Vec3d shearEcn, Vec3d ploughEcn, double anchorRakeAngle_rad = NaN) Parameters shearEcn Vec3d The shear coefficient vector in ECN coordinates (N/mm²). ploughEcn Vec3d The plough coefficient vector in ECN coordinates (N/mm). anchorRakeAngle_rad double The anchor rake angle in radians. RakeFaceCuttingPara3d(RakeFaceCuttingPara3d) Initializes a new instance of the RakeFaceCuttingPara class by copying from another instance. public RakeFaceCuttingPara3d(RakeFaceCuttingPara3d src) Parameters src RakeFaceCuttingPara3d The source instance to copy from. RakeFaceCuttingPara3d(double, double, double, double, double, double, double) Initializes a new instance of the RakeFaceCuttingPara class with individual coefficient values. public RakeFaceCuttingPara3d(double kse, double ksc, double ksn, double kpe, double kpc, double kpn, double anchorRakeAngle_rad) Parameters kse double The shear coefficient along the cutting edge direction (N/mm²). ksc double The shear coefficient along the rake face cross line (N/mm²). ksn double The shear coefficient along the rake face normal direction (N/mm²). kpe double The plough coefficient along the cutting edge direction (N/mm). kpc double The plough coefficient along the rake face cross line (N/mm). kpn double The plough coefficient along the rake face normal direction (N/mm). anchorRakeAngle_rad double The anchor rake angle in radians. RakeFaceCuttingPara3d(XElement, string) Ctor by XML. public RakeFaceCuttingPara3d(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths Properties AnchorRakeAngle_deg Gets or sets the anchor rake angle in degrees. public double AnchorRakeAngle_deg { get; set; } Property Value double AnchorRakeAngle_rad Gets or sets the anchor rake angle in radians. Different rake angles may have different ploughing parameters but share the same shearing parameters. public double AnchorRakeAngle_rad { get; set; } Property Value double ChipFlowAngle_deg Gets the chip flow angle in degrees. public double ChipFlowAngle_deg { get; } Property Value double ChipFlowAngle_rad Gets or sets the chip flow angle in radians. public double ChipFlowAngle_rad { get; } Property Value double CsvText Gets or sets the cutting parameters as a comma-separated value string. Format: Kse,Ksc,Ksn,Kpe,Kpc,Kpn,AnchorRakeAngle_deg public string CsvText { get; set; } Property Value string ElementNum Element number: 6 for (Shear(e,c,n),Plough(e,c,n)). public int ElementNum { get; } Property Value int FluteFormNum Gets the number of flute forms in this parameter set. Always returns 1 as this class represents a single form. public int FluteFormNum { get; } Property Value int FrictionAngle_deg Gets the friction angle in degrees. public double FrictionAngle_deg { get; } Property Value double FrictionAngle_rad Gets the friction angle in radians. public double FrictionAngle_rad { get; } Property Value double Kp Gets the ploughing coefficient vector in ECN coordinates. public Vec3d Kp { get; set; } Property Value Vec3d KpOnZeroRakeAngleCoordinate Plough parameter remains constant on any rake angle. The vector changed by the view of coordinate transformation. public Vec3d KpOnZeroRakeAngleCoordinate { get; } Property Value Vec3d Kpc Gets or sets the ploughing coefficient along the rake face cross line (c). Unit: N/mm. public double Kpc { get; set; } Property Value double Kpe Gets or sets the ploughing coefficient along the cutting edge direction (e). Unit: N/mm. public double Kpe { get; set; } Property Value double Kpn Gets or sets the ploughing coefficient along the rake face normal direction (n). Unit: N/mm. public double Kpn { get; set; } Property Value double Ks Gets the shear coefficient vector in ECN coordinates. public Vec3d Ks { get; set; } Property Value Vec3d Ksc Gets or sets the shear coefficient along the rake face cross line (c). Direction is from outer to center on side cutting. Unit: N/mm². public double Ksc { get; set; } Property Value double Kse Gets or sets the shear coefficient along the cutting edge direction (e). Direction is from lower to upper on side cutting. Unit: N/mm². public double Kse { get; set; } Property Value double Ksn Gets or sets the shear coefficient along the rake face normal direction (n). Unit: N/mm². public double Ksn { get; set; } Property Value double Name Gets or sets the name of this parameter set. public string Name { get; set; } Property Value string Note Gets or sets additional notes about this parameter set. public string Note { get; set; } Property Value string XName Gets the XML element name for this type. public static string XName { get; } Property Value string Methods CloneTemplate() Creates a clone of this parameter set as a template. public ICuttingPara CloneTemplate() Returns ICuttingPara A new instance with the same anchor rake angle. Duplicate(params object[]) Creates a deep copy of this instance. public object Duplicate(params object[] res) Parameters res object[] Optional parameters (not used). Returns object A new instance with the same values. GenUnitParas() Generate ICuttingParas. The elements of each ICuttingPara are (1,0,0,0,..),(0,1,0,0,..),.… For parameter training. public List GenUnitParas() Returns List unit parameters. GetCuttingPara() Gets this instance as an ICuttingPara. public ICuttingPara GetCuttingPara() Returns ICuttingPara This instance. GetElementByIndex(int) value of (Shear(e,c,n),Plough(e,c,n)) by index. public double GetElementByIndex(int index) Parameters index int The index of the element to get (0-5). Returns double The value at the specified index. Remarks Index mapping: 0 - Kse (N/mm²) 1 - Ksc (N/mm²) 2 - Ksn (N/mm²) 3 - Kpe (N/mm) 4 - Kpc (N/mm) 5 - Kpn (N/mm) 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. SetElementByIndex(int, double) Sets the value of an element at the specified index. public void SetElementByIndex(int elementIndex, double v) Parameters elementIndex int The index of the element to set (0-5). v double The value to set. Remarks Index mapping: 0 - Kse (N/mm²) 1 - Ksc (N/mm²) 2 - Ksn (N/mm²) 3 - Kpe (N/mm) 4 - Kpc (N/mm) 5 - Kpn (N/mm) ToTemplateXElement() Get XElement for templating. public XElement ToTemplateXElement() Returns XElement" + "summary": "Class RakeFaceCuttingPara3d Namespace Hi.MillingForces.RakeFaceCuttingParas Assembly HiMech.dll Represents local ECN (Edge-Cross-Normal) cutting parameters for rake face cutting. E: cutting edge direction C: Cross vector, along the rake face cross line, perpendicular to cutting edge N: rake face normal direction Internal Use Only. public class RakeFaceCuttingPara3d : IRakeFaceCuttingPara, ICuttingPara, IGetCuttingPara, IMakeXmlSource, INameNote, IDuplicate Inheritance object RakeFaceCuttingPara3d Implements IRakeFaceCuttingPara ICuttingPara IGetCuttingPara IMakeXmlSource INameNote IDuplicate Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods CuttingParaUtil.ToRakeFaceCuttingPara(ICuttingPara) 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) Remarks Velocity is measured relative to the cutter Resulting force is applied to the cutter Constructors RakeFaceCuttingPara3d() Initializes a new instance of the RakeFaceCuttingPara class. public RakeFaceCuttingPara3d() RakeFaceCuttingPara3d(Vec3d, Vec3d, double) Initializes a new instance of the RakeFaceCuttingPara class with specified shear and plough vectors. public RakeFaceCuttingPara3d(Vec3d shearEcn, Vec3d ploughEcn, double anchorRakeAngle_rad = NaN) Parameters shearEcn Vec3d The shear coefficient vector in ECN coordinates (N/mm�). ploughEcn Vec3d The plough coefficient vector in ECN coordinates (N/mm). anchorRakeAngle_rad double The anchor rake angle in radians. RakeFaceCuttingPara3d(RakeFaceCuttingPara3d) Initializes a new instance of the RakeFaceCuttingPara class by copying from another instance. public RakeFaceCuttingPara3d(RakeFaceCuttingPara3d src) Parameters src RakeFaceCuttingPara3d The source instance to copy from. RakeFaceCuttingPara3d(double, double, double, double, double, double, double) Initializes a new instance of the RakeFaceCuttingPara class with individual coefficient values. public RakeFaceCuttingPara3d(double kse, double ksc, double ksn, double kpe, double kpc, double kpn, double anchorRakeAngle_rad) Parameters kse double The shear coefficient along the cutting edge direction (N/mm�). ksc double The shear coefficient along the rake face cross line (N/mm�). ksn double The shear coefficient along the rake face normal direction (N/mm�). kpe double The plough coefficient along the cutting edge direction (N/mm). kpc double The plough coefficient along the rake face cross line (N/mm). kpn double The plough coefficient along the rake face normal direction (N/mm). anchorRakeAngle_rad double The anchor rake angle in radians. RakeFaceCuttingPara3d(XElement, string) Ctor by XML. public RakeFaceCuttingPara3d(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths Properties AnchorRakeAngle_deg Gets or sets the anchor rake angle in degrees. public double AnchorRakeAngle_deg { get; set; } Property Value double AnchorRakeAngle_rad Gets or sets the anchor rake angle in radians. Different rake angles may have different ploughing parameters but share the same shearing parameters. public double AnchorRakeAngle_rad { get; set; } Property Value double ChipFlowAngle_deg Gets the chip flow angle in degrees. public double ChipFlowAngle_deg { get; } Property Value double ChipFlowAngle_rad Gets or sets the chip flow angle in radians. public double ChipFlowAngle_rad { get; } Property Value double CsvText Gets or sets the cutting parameters as a comma-separated value string. Format: Kse,Ksc,Ksn,Kpe,Kpc,Kpn,AnchorRakeAngle_deg public string CsvText { get; set; } Property Value string ElementNum Element number: 6 for (Shear(e,c,n),Plough(e,c,n)). public int ElementNum { get; } Property Value int FluteFormNum Gets the number of flute forms in this parameter set. Always returns 1 as this class represents a single form. public int FluteFormNum { get; } Property Value int FrictionAngle_deg Gets the friction angle in degrees. public double FrictionAngle_deg { get; } Property Value double FrictionAngle_rad Gets the friction angle in radians. public double FrictionAngle_rad { get; } Property Value double Kp Gets the ploughing coefficient vector in ECN coordinates. public Vec3d Kp { get; set; } Property Value Vec3d KpOnZeroRakeAngleCoordinate Plough parameter remains constant on any rake angle. The vector changed by the view of coordinate transformation. public Vec3d KpOnZeroRakeAngleCoordinate { get; } Property Value Vec3d Kpc Gets or sets the ploughing coefficient along the rake face cross line (c). Unit: N/mm. public double Kpc { get; set; } Property Value double Kpe Gets or sets the ploughing coefficient along the cutting edge direction (e). Unit: N/mm. public double Kpe { get; set; } Property Value double Kpn Gets or sets the ploughing coefficient along the rake face normal direction (n). Unit: N/mm. public double Kpn { get; set; } Property Value double Ks Gets the shear coefficient vector in ECN coordinates. public Vec3d Ks { get; set; } Property Value Vec3d Ksc Gets or sets the shear coefficient along the rake face cross line (c). Direction is from outer to center on side cutting. Unit: N/mm�. public double Ksc { get; set; } Property Value double Kse Gets or sets the shear coefficient along the cutting edge direction (e). Direction is from lower to upper on side cutting. Unit: N/mm�. public double Kse { get; set; } Property Value double Ksn Gets or sets the shear coefficient along the rake face normal direction (n). Unit: N/mm�. public double Ksn { get; set; } Property Value double Name Gets or sets the name of this parameter set. public string Name { get; set; } Property Value string Note Gets or sets additional notes about this parameter set. public string Note { get; set; } Property Value string XName Gets the XML element name for this type. public static string XName { get; } Property Value string Methods CloneTemplate() Creates a clone of this parameter set as a template. public ICuttingPara CloneTemplate() Returns ICuttingPara A new instance with the same anchor rake angle. Duplicate(params object[]) Creates a deep copy of this instance. public object Duplicate(params object[] res) Parameters res object[] Optional parameters (not used). Returns object A new instance with the same values. GenUnitParas() Generate ICuttingParas. The elements of each ICuttingPara are (1,0,0,0,..),(0,1,0,0,..),.… For parameter training. public List GenUnitParas() Returns List unit parameters. GetCuttingPara() Gets this instance as an ICuttingPara. public ICuttingPara GetCuttingPara() Returns ICuttingPara This instance. GetElementByIndex(int) value of (Shear(e,c,n),Plough(e,c,n)) by index. public double GetElementByIndex(int index) Parameters index int The index of the element to get (0-5). Returns double The value at the specified index. Remarks Index mapping: 0 - Kse (N/mm�) 1 - Ksc (N/mm�) 2 - Ksn (N/mm�) 3 - Kpe (N/mm) 4 - Kpc (N/mm) 5 - Kpn (N/mm) 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetElementByIndex(int, double) Sets the value of an element at the specified index. public void SetElementByIndex(int elementIndex, double v) Parameters elementIndex int The index of the element to set (0-5). v double The value to set. Remarks Index mapping: 0 - Kse (N/mm�) 1 - Ksc (N/mm�) 2 - Ksn (N/mm�) 3 - Kpe (N/mm) 4 - Kpc (N/mm) 5 - Kpn (N/mm) ToTemplateXElement() Get XElement for templating. public XElement ToTemplateXElement() Returns XElement" }, "api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.html": { "href": "api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.html", "title": "Class RakeFaceCuttingParaMap | HiAPI-C# 2025", - "summary": "Class RakeFaceCuttingParaMap Namespace Hi.MillingForces.RakeFaceCuttingParas Assembly HiMech.dll Represents a map of rake face cutting parameters. public class RakeFaceCuttingParaMap : ICuttingPara, IGetCuttingPara, IMakeXmlSource, INameNote, ICloneable Inheritance object RakeFaceCuttingParaMap Implements ICuttingPara IGetCuttingPara IMakeXmlSource INameNote ICloneable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods CuttingParaUtil.ToRakeFaceCuttingPara(ICuttingPara) 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 RakeFaceCuttingParaMap(RakeFaceCuttingParaMap) Creates a copy of this parameter map. public RakeFaceCuttingParaMap(RakeFaceCuttingParaMap source) Parameters source RakeFaceCuttingParaMap The source parameter map to copy from. RakeFaceCuttingParaMap(int, int, int) Initializes a new instance of the RakeFaceCuttingParaMap class. public RakeFaceCuttingParaMap(int fluteFormNum, int nAngleDivisionNum, int ecAngleDivisionNum) Parameters fluteFormNum int The number of flute forms. nAngleDivisionNum int The number of normal angle divisions. ecAngleDivisionNum int The number of eccentric angle divisions. RakeFaceCuttingParaMap(XElement, string) Ctor by XML. public RakeFaceCuttingParaMap(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths Properties CircleParas CircleParas[FluteFormIndex,NAngleIndex,EcAngleIndex]. public Vec3d[,,] CircleParas { get; } Property Value Vec3d[,,] EcAngleDivisionNum Angle division number from +E axis on EC plane. Note that range of EcAngle is -pi~pi. public int EcAngleDivisionNum { get; } Property Value int EcAngleInterval_deg Gets or sets the eccentric angle interval in degrees. public double EcAngleInterval_deg { get; } Property Value double EcAngleInterval_rad Gets or sets the eccentric angle interval in radians. public double EcAngleInterval_rad { get; } Property Value double ElementNum Element number. public int ElementNum { get; } Property Value int FluteFormNum Gets or sets the number of flute forms. public int FluteFormNum { get; } Property Value int NAngleDivisionNum Angle division number from N axis. Like R on polar coordinate, but it expresses by angle. Note that range of NAngle is 0~pi/2. public int NAngleDivisionNum { get; } Property Value int NAngleInterval_deg Gets or sets the normal angle interval in degrees. public double NAngleInterval_deg { get; } Property Value double NAngleInterval_rad Gets or sets the normal angle interval in radians. public double NAngleInterval_rad { get; } Property Value double Name Gets or sets the name of the parameter map. public string Name { get; set; } Property Value string Note Gets or sets the note for the parameter map. public string Note { get; set; } Property Value string PloughParas Gets or sets the ploughing parameters. public Vec3d[] PloughParas { get; } Property Value Vec3d[] TipParas TipParas[FluteFormIndex]. tip shear para. public Vec3d[] TipParas { get; } Property Value Vec3d[] XName Name for XML IO. public static string XName { get; } Property Value string XmlSourceFile public string XmlSourceFile { get; set; } Property Value string Methods Clone() Creates a new object that is a copy of the current instance. public object Clone() Returns object A new object that is a copy of this instance. CloneTemplate() Clone template. public ICuttingPara CloneTemplate() Returns ICuttingPara clone template GenUnitParas() Generate ICuttingParas. The elements of each ICuttingPara are (1,0,0,0,..),(0,1,0,0,..),.… For parameter training. public List GenUnitParas() Returns List unit parameters. GetCuttingPara() Get ICuttingPara. public ICuttingPara GetCuttingPara() Returns ICuttingPara ICuttingPara GetElementByIndex(int) Get element by index. For parameter training. public double GetElementByIndex(int elementIndex) Parameters elementIndex int element index Returns double value GetLocalRakeFaceCuttingPara(int, double, double) Gets the local rake face cutting parameters for the specified conditions. public RakeFaceCuttingPara3d GetLocalRakeFaceCuttingPara(int fluteIndex, double nAngle_rad, double ecAngle_rad) Parameters fluteIndex int The index of the flute. nAngle_rad double The normal angle in radians. ecAngle_rad double The effective cutting angle in radians. Returns RakeFaceCuttingPara3d A rake face cutting parameter object. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. SetElementByIndex(int, double) Set element by index. For parameter training. public void SetElementByIndex(int elementIndex, double v) Parameters elementIndex int element index v double value Test() Test method for validating the interpolation functionality of the RakeFaceCuttingParaMap. Creates a sample map and outputs interpolated values at various angles. public static void Test() ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. ToTemplateXElement() Get XElement for templating. public XElement ToTemplateXElement() Returns XElement" + "summary": "Class RakeFaceCuttingParaMap Namespace Hi.MillingForces.RakeFaceCuttingParas Assembly HiMech.dll Represents a map of rake face cutting parameters. public class RakeFaceCuttingParaMap : ICuttingPara, IGetCuttingPara, IMakeXmlSource, INameNote, ICloneable Inheritance object RakeFaceCuttingParaMap Implements ICuttingPara IGetCuttingPara IMakeXmlSource INameNote ICloneable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods CuttingParaUtil.ToRakeFaceCuttingPara(ICuttingPara) 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 RakeFaceCuttingParaMap(RakeFaceCuttingParaMap) Creates a copy of this parameter map. public RakeFaceCuttingParaMap(RakeFaceCuttingParaMap source) Parameters source RakeFaceCuttingParaMap The source parameter map to copy from. RakeFaceCuttingParaMap(int, int, int) Initializes a new instance of the RakeFaceCuttingParaMap class. public RakeFaceCuttingParaMap(int fluteFormNum, int nAngleDivisionNum, int ecAngleDivisionNum) Parameters fluteFormNum int The number of flute forms. nAngleDivisionNum int The number of normal angle divisions. ecAngleDivisionNum int The number of eccentric angle divisions. RakeFaceCuttingParaMap(XElement, string) Ctor by XML. public RakeFaceCuttingParaMap(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths Properties CircleParas CircleParas[FluteFormIndex,NAngleIndex,EcAngleIndex]. public Vec3d[,,] CircleParas { get; } Property Value Vec3d[,,] EcAngleDivisionNum Angle division number from +E axis on EC plane. Note that range of EcAngle is -pi~pi. public int EcAngleDivisionNum { get; } Property Value int EcAngleInterval_deg Gets or sets the eccentric angle interval in degrees. public double EcAngleInterval_deg { get; } Property Value double EcAngleInterval_rad Gets or sets the eccentric angle interval in radians. public double EcAngleInterval_rad { get; } Property Value double ElementNum Element number. public int ElementNum { get; } Property Value int FluteFormNum Gets or sets the number of flute forms. public int FluteFormNum { get; } Property Value int NAngleDivisionNum Angle division number from N axis. Like R on polar coordinate, but it expresses by angle. Note that range of NAngle is 0~pi/2. public int NAngleDivisionNum { get; } Property Value int NAngleInterval_deg Gets or sets the normal angle interval in degrees. public double NAngleInterval_deg { get; } Property Value double NAngleInterval_rad Gets or sets the normal angle interval in radians. public double NAngleInterval_rad { get; } Property Value double Name Gets or sets the name of the parameter map. public string Name { get; set; } Property Value string Note Gets or sets the note for the parameter map. public string Note { get; set; } Property Value string PloughParas Gets or sets the ploughing parameters. public Vec3d[] PloughParas { get; } Property Value Vec3d[] TipParas TipParas[FluteFormIndex]. tip shear para. public Vec3d[] TipParas { get; } Property Value Vec3d[] XName Name for XML IO. public static string XName { get; } Property Value string XmlSourceFile public string XmlSourceFile { get; set; } Property Value string Methods Clone() Creates a new object that is a copy of the current instance. public object Clone() Returns object A new object that is a copy of this instance. CloneTemplate() Clone template. public ICuttingPara CloneTemplate() Returns ICuttingPara clone template GenUnitParas() Generate ICuttingParas. The elements of each ICuttingPara are (1,0,0,0,..),(0,1,0,0,..),.… For parameter training. public List GenUnitParas() Returns List unit parameters. GetCuttingPara() Get ICuttingPara. public ICuttingPara GetCuttingPara() Returns ICuttingPara ICuttingPara GetElementByIndex(int) Get element by index. For parameter training. public double GetElementByIndex(int elementIndex) Parameters elementIndex int element index Returns double value GetLocalRakeFaceCuttingPara(int, double, double) Gets the local rake face cutting parameters for the specified conditions. public RakeFaceCuttingPara3d GetLocalRakeFaceCuttingPara(int fluteIndex, double nAngle_rad, double ecAngle_rad) Parameters fluteIndex int The index of the flute. nAngle_rad double The normal angle in radians. ecAngle_rad double The effective cutting angle in radians. Returns RakeFaceCuttingPara3d A rake face cutting parameter object. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetElementByIndex(int, double) Set element by index. For parameter training. public void SetElementByIndex(int elementIndex, double v) Parameters elementIndex int element index v double value Test() Test method for validating the interpolation functionality of the RakeFaceCuttingParaMap. Creates a sample map and outputs interpolated values at various angles. public static void Test() ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. ToTemplateXElement() Get XElement for templating. public XElement ToTemplateXElement() Returns XElement" }, "api/Hi.MillingForces.RakeFaceCuttingParas.html": { "href": "api/Hi.MillingForces.RakeFaceCuttingParas.html", @@ -3052,7 +3052,7 @@ "api/Hi.MillingProcs.MillingGuide.html": { "href": "api/Hi.MillingProcs.MillingGuide.html", "title": "Class MillingGuide | HiAPI-C# 2025", - "summary": "Class MillingGuide Namespace Hi.MillingProcs Assembly HiNc.dll Provides guidance and configuration for milling visualization and analysis. public class MillingGuide : IMakeXmlSource Inheritance object MillingGuide 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 MillingGuide() Initializes a new instance of the MillingGuide class with default configurations. public MillingGuide() MillingGuide(XElement, string, IProgress) Initializes a new instance of the MillingGuide class from XML data. public MillingGuide(XElement src, string baseDirectory, IProgress progress) Parameters src XElement XML element containing configuration data baseDirectory string Base directory for resolving relative paths progress IProgress Progress reporter for XML deserialization. Properties ClStripChartConfig Gets or sets the configuration for cutter location strip charts. public ClStripChartConfig ClStripChartConfig { get; set; } Property Value ClStripChartConfig DictionaryColorGuide Gets or sets the dictionary of color guides for visualizing different properties. public DictionaryColorGuide DictionaryColorGuide { get; set; } Property Value DictionaryColorGuide ForceWCycleLineDivConfig Gets or sets the configuration for force cycle line division. public ForceCycleLineDivConfig ForceWCycleLineDivConfig { get; set; } Property Value ForceCycleLineDivConfig SensorSpindleMomentCycleLineDivConfig Gets or sets the configuration for sensor spindle moment cycle line division. public SpindleMomentCycleLineDivConfig SensorSpindleMomentCycleLineDivConfig { get; set; } Property Value SpindleMomentCycleLineDivConfig SimSpindleMomentCycleLineDivConfig Gets or sets the configuration for simulation spindle moment cycle line division. public SpindleMomentCycleLineDivConfig SimSpindleMomentCycleLineDivConfig { get; set; } Property Value SpindleMomentCycleLineDivConfig XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class MillingGuide Namespace Hi.MillingProcs Assembly HiNc.dll Provides guidance and configuration for milling visualization and analysis. public class MillingGuide : IMakeXmlSource Inheritance object MillingGuide 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 MillingGuide() Initializes a new instance of the MillingGuide class with default configurations. public MillingGuide() MillingGuide(XElement, string, IProgress) Initializes a new instance of the MillingGuide class from XML data. public MillingGuide(XElement src, string baseDirectory, IProgress progress) Parameters src XElement XML element containing configuration data baseDirectory string Base directory for resolving relative paths progress IProgress Progress reporter for XML deserialization. Properties ClStripChartConfig Gets or sets the configuration for cutter location strip charts. public ClStripChartConfig ClStripChartConfig { get; set; } Property Value ClStripChartConfig DictionaryColorGuide Gets or sets the dictionary of color guides for visualizing different properties. public DictionaryColorGuide DictionaryColorGuide { get; set; } Property Value DictionaryColorGuide ForceWCycleLineDivConfig Gets or sets the configuration for force cycle line division. public ForceCycleLineDivConfig ForceWCycleLineDivConfig { get; set; } Property Value ForceCycleLineDivConfig SensorSpindleMomentCycleLineDivConfig Gets or sets the configuration for sensor spindle moment cycle line division. public SpindleMomentCycleLineDivConfig SensorSpindleMomentCycleLineDivConfig { get; set; } Property Value SpindleMomentCycleLineDivConfig SimSpindleMomentCycleLineDivConfig Gets or sets the configuration for simulation spindle moment cycle line division. public SpindleMomentCycleLineDivConfig SimSpindleMomentCycleLineDivConfig { get; set; } Property Value SpindleMomentCycleLineDivConfig 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.MillingProcs.html": { "href": "api/Hi.MillingProcs.html", @@ -3062,12 +3062,12 @@ "api/Hi.MillingStepUtils.ClStripChartConfig.html": { "href": "api/Hi.MillingStepUtils.ClStripChartConfig.html", "title": "Class ClStripChartConfig | HiAPI-C# 2025", - "summary": "Class ClStripChartConfig Namespace Hi.MillingStepUtils Assembly HiNc.dll Configuration for ClStrip charts. public class ClStripChartConfig : IMakeXmlSource Inheritance object ClStripChartConfig 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 ClStripChartConfig() Initializes a new instance of the ClStripChartConfig class. public ClStripChartConfig() ClStripChartConfig(XElement) Ctor. public ClStripChartConfig(XElement src) Parameters src XElement XML Properties ItemConfigDictionary Dictionary of chart item configurations, indexed by key. public Dictionary ItemConfigDictionary { get; set; } Property Value Dictionary XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class ClStripChartConfig Namespace Hi.MillingStepUtils Assembly HiNc.dll Configuration for ClStrip charts. public class ClStripChartConfig : IMakeXmlSource Inheritance object ClStripChartConfig 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 ClStripChartConfig() Initializes a new instance of the ClStripChartConfig class. public ClStripChartConfig() ClStripChartConfig(XElement) Ctor. public ClStripChartConfig(XElement src) Parameters src XElement XML Properties ItemConfigDictionary Dictionary of chart item configurations, indexed by key. public Dictionary ItemConfigDictionary { get; set; } Property Value Dictionary 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.MillingStepUtils.ClStripChartItemConfig.html": { "href": "api/Hi.MillingStepUtils.ClStripChartItemConfig.html", "title": "Class ClStripChartItemConfig | HiAPI-C# 2025", - "summary": "Class ClStripChartItemConfig Namespace Hi.MillingStepUtils Assembly HiNc.dll Configuration for an individual ClStrip chart item. public class ClStripChartItemConfig : IMakeXmlSource Inheritance object ClStripChartItemConfig Implements IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ClStripChartItemConfig() Ctor. public ClStripChartItemConfig() ClStripChartItemConfig(XElement) Ctor. public ClStripChartItemConfig(XElement src) Parameters src XElement XML Properties TimeChartYConfig Gets or sets the Y-axis configuration for time charts. public TimeChartYConfig TimeChartYConfig { get; set; } Property Value TimeChartYConfig 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. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object." + "summary": "Class ClStripChartItemConfig Namespace Hi.MillingStepUtils Assembly HiNc.dll Configuration for an individual ClStrip chart item. public class ClStripChartItemConfig : IMakeXmlSource Inheritance object ClStripChartItemConfig Implements IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ClStripChartItemConfig() Ctor. public ClStripChartItemConfig() ClStripChartItemConfig(XElement) Ctor. public ClStripChartItemConfig(XElement src) Parameters src XElement XML Properties TimeChartYConfig Gets or sets the Y-axis configuration for time charts. public TimeChartYConfig TimeChartYConfig { get; set; } Property Value TimeChartYConfig 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object." }, "api/Hi.MillingStepUtils.ForceCycleFlag.html": { "href": "api/Hi.MillingStepUtils.ForceCycleFlag.html", @@ -3077,7 +3077,7 @@ "api/Hi.MillingStepUtils.ForceCycleLineDivConfig.html": { "href": "api/Hi.MillingStepUtils.ForceCycleLineDivConfig.html", "title": "Class ForceCycleLineDivConfig | HiAPI-C# 2025", - "summary": "Class ForceCycleLineDivConfig Namespace Hi.MillingStepUtils Assembly HiNc.dll Configuration for force cycle line division display and analysis. public class ForceCycleLineDivConfig : TimeChartYConfig, IMakeXmlSource Inheritance object TimeChartYConfig ForceCycleLineDivConfig Implements IMakeXmlSource Inherited Members TimeChartYConfig.VRangeMode TimeChartYConfig.VRange TimeChartYConfig.ToString() object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ForceCycleLineDivConfig() Default constructor with initial range settings. public ForceCycleLineDivConfig() ForceCycleLineDivConfig(XElement) Ctor. public ForceCycleLineDivConfig(XElement src) Parameters src XElement XML Properties MainForceCycleFlag Gets or sets the main force cycle flag determining how forces are represented. public ForceCycleFlag MainForceCycleFlag { get; set; } Property Value ForceCycleFlag XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string relFile string exhibitionOnly bool Returns XElement" + "summary": "Class ForceCycleLineDivConfig Namespace Hi.MillingStepUtils Assembly HiNc.dll Configuration for force cycle line division display and analysis. public class ForceCycleLineDivConfig : TimeChartYConfig, IMakeXmlSource Inheritance object TimeChartYConfig ForceCycleLineDivConfig Implements IMakeXmlSource Inherited Members TimeChartYConfig.VRangeMode TimeChartYConfig.VRange TimeChartYConfig.ToString() object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ForceCycleLineDivConfig() Default constructor with initial range settings. public ForceCycleLineDivConfig() ForceCycleLineDivConfig(XElement) Ctor. public ForceCycleLineDivConfig(XElement src) Parameters src XElement XML Properties MainForceCycleFlag Gets or sets the main force cycle flag determining how forces are represented. public ForceCycleFlag MainForceCycleFlag { get; set; } Property Value ForceCycleFlag XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string relFile string exhibitionOnly bool Returns XElement Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.MillingStepUtils.LineChartVRangeMode.html": { "href": "api/Hi.MillingStepUtils.LineChartVRangeMode.html", @@ -3087,12 +3087,12 @@ "api/Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.html": { "href": "api/Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.html", "title": "Class SpindleMomentCycleLineDivConfig | HiAPI-C# 2025", - "summary": "Class SpindleMomentCycleLineDivConfig Namespace Hi.MillingStepUtils Assembly HiNc.dll Configuration for spindle moment cycle line division display and analysis. public class SpindleMomentCycleLineDivConfig : IMakeXmlSource Inheritance object SpindleMomentCycleLineDivConfig 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 SpindleMomentCycleLineDivConfig() Ctor. public SpindleMomentCycleLineDivConfig() SpindleMomentCycleLineDivConfig(XElement) Ctor. public SpindleMomentCycleLineDivConfig(XElement src) Parameters src XElement XML Properties TimeChartYConfig Gets or sets the Y-axis configuration for the time chart display. public TimeChartYConfig TimeChartYConfig { get; set; } Property Value TimeChartYConfig XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class SpindleMomentCycleLineDivConfig Namespace Hi.MillingStepUtils Assembly HiNc.dll Configuration for spindle moment cycle line division display and analysis. public class SpindleMomentCycleLineDivConfig : IMakeXmlSource Inheritance object SpindleMomentCycleLineDivConfig 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 SpindleMomentCycleLineDivConfig() Ctor. public SpindleMomentCycleLineDivConfig() SpindleMomentCycleLineDivConfig(XElement) Ctor. public SpindleMomentCycleLineDivConfig(XElement src) Parameters src XElement XML Properties TimeChartYConfig Gets or sets the Y-axis configuration for the time chart display. public TimeChartYConfig TimeChartYConfig { get; set; } Property Value TimeChartYConfig 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.MillingStepUtils.TimeChartYConfig.html": { "href": "api/Hi.MillingStepUtils.TimeChartYConfig.html", "title": "Class TimeChartYConfig | HiAPI-C# 2025", - "summary": "Class TimeChartYConfig Namespace Hi.MillingStepUtils Assembly HiNc.dll Configuration for Y-axis settings in time charts. public class TimeChartYConfig : IMakeXmlSource Inheritance object TimeChartYConfig Implements IMakeXmlSource Derived ForceCycleLineDivConfig Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors TimeChartYConfig() Ctor. public TimeChartYConfig() TimeChartYConfig(XElement) Ctor. public TimeChartYConfig(XElement src) Parameters src XElement XML Properties VRange Minimum and maximum values for the vertical range. public Range VRange { get; set; } Property Value Range VRangeMode Vertical range mode. public LineChartVRangeMode VRangeMode { get; set; } Property Value LineChartVRangeMode 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. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object." + "summary": "Class TimeChartYConfig Namespace Hi.MillingStepUtils Assembly HiNc.dll Configuration for Y-axis settings in time charts. public class TimeChartYConfig : IMakeXmlSource Inheritance object TimeChartYConfig Implements IMakeXmlSource Derived ForceCycleLineDivConfig Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors TimeChartYConfig() Ctor. public TimeChartYConfig() TimeChartYConfig(XElement) Ctor. public TimeChartYConfig(XElement src) Parameters src XElement XML Properties VRange Minimum and maximum values for the vertical range. public Range VRange { get; set; } Property Value Range VRangeMode Vertical range mode. public LineChartVRangeMode VRangeMode { get; set; } Property Value LineChartVRangeMode 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object." }, "api/Hi.MillingStepUtils.html": { "href": "api/Hi.MillingStepUtils.html", @@ -3277,7 +3277,7 @@ "api/Hi.NcMech.Fixtures.Fixture.html": { "href": "api/Hi.NcMech.Fixtures.Fixture.html", "title": "Class Fixture | HiAPI-C# 2025", - "summary": "Class Fixture Namespace Hi.NcMech.Fixtures Assembly HiMech.dll Represents a fixture used to hold workpieces during machining operations. public class Fixture : IGetSolid, IMakeXmlSource, IDisplayee, IExpandToBox3d, IGetAnchoredDisplayeeList, IGetAsmb, IGetAnchor, IGetTopoIndex, IDisposable, IAnchoredCollidableLeaf, IAnchoredCollidableNode, IAnchoredCollidableBased, ICollidable Inheritance object Fixture Implements IGetSolid IMakeXmlSource IDisplayee IExpandToBox3d IGetAnchoredDisplayeeList IGetAsmb IGetAnchor IGetTopoIndex IDisposable IAnchoredCollidableLeaf IAnchoredCollidableNode IAnchoredCollidableBased ICollidable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods CollisionUtil.Detect(ICollidable, ICollidable, Mat4d, double, int) DispUtil.Display(IDisplayee, Bind, Mat4d) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) 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 Fixture() Initializes a new instance of the Fixture class. public Fixture() Fixture(XElement, string, string, IProgress) Initializes a new instance of the Fixture class from XML. public Fixture(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement The XML element containing fixture data. baseDirectory string The base directory for resolving relative paths. relFile string The relative file path. progress IProgress Progress reporter for diagnostic messages emitted during construction. Fields XName Name for XML IO. public static string XName Field Value string Properties Asmb Gets the assembly that contains the fixture components. public Asmb Asmb { get; } Property Value Asmb CollidableName Gets the name of the collidable object. public string CollidableName { get; } Property Value string CollisionFlag Gets or sets the collision flag. public CollisionFlag CollisionFlag { get; set; } Property Value CollisionFlag Geom Geometry. Delegate by Solid.Geom. public IGetStl Geom { get; set; } Property Value IGetStl GeomAnchor Anchor that represents the geometry origin of the fixture. public Anchor GeomAnchor { get; } Property Value Anchor GeomToTableBranch Branch that transforms from geometry origin to table origin. public Branch GeomToTableBranch { get; } Property Value Branch GeomToTableTransformer Transformer from Geometry origin to table (machine tool side) origin. public ITransformer GeomToTableTransformer { get; set; } Property Value ITransformer GeomToWorkpieceBranch Branch that transforms from geometry origin to workpiece origin. public Branch GeomToWorkpieceBranch { get; } Property Value Branch GeomToWorkpieceTransformer Transformer from Geometry origin to workpiece origin. public ITransformer GeomToWorkpieceTransformer { get; set; } Property Value ITransformer Solid Gets the solid representation of the fixture. public Solid Solid { get; } Property Value Solid TableBuckle Table buckle. Root. Solid anchor. public Anchor TableBuckle { get; } Property Value Anchor ThemeColor Default theme color used when rendering the fixture. public static Vec3d ThemeColor { get; } Property Value Vec3d WorkpieceBuckle Gets the workpiece buckle anchor point. public Anchor WorkpieceBuckle { get; } Property Value Anchor Methods ClearGeomCache() Update cache of Geom. The method is used after inner content of Geom is altered. public void ClearGeomCache() Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchoredCollidableNode() Gets the anchored collidable node associated with this object. public IAnchoredCollidableNode GetAnchoredCollidableNode() Returns IAnchoredCollidableNode The anchored collidable node. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetCollidableAnchor() Gets the anchor associated with this collidable leaf. public Anchor GetCollidableAnchor() Returns Anchor The anchor for this collidable leaf. GetCollidee() Get ICollidee. public ICollidee GetCollidee() Returns ICollidee ICollidee GetSolid() Gets the solid geometry object. public Solid GetSolid() Returns Solid The solid geometry object. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. SetWorkpieceTransformationToGeomTopCenter() Sets the workpiece transformation to position it at the top center of the fixture. public void SetWorkpieceTransformationToGeomTopCenter()" + "summary": "Class Fixture Namespace Hi.NcMech.Fixtures Assembly HiMech.dll Represents a fixture used to hold workpieces during machining operations. public class Fixture : IGetSolid, IMakeXmlSource, IDisplayee, IExpandToBox3d, IGetAnchoredDisplayeeList, IGetAsmb, IGetAnchor, IGetTopoIndex, IDisposable, IAnchoredCollidableLeaf, IAnchoredCollidableNode, IAnchoredCollidableBased, ICollidable Inheritance object Fixture Implements IGetSolid IMakeXmlSource IDisplayee IExpandToBox3d IGetAnchoredDisplayeeList IGetAsmb IGetAnchor IGetTopoIndex IDisposable IAnchoredCollidableLeaf IAnchoredCollidableNode IAnchoredCollidableBased ICollidable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods CollisionUtil.Detect(ICollidable, ICollidable, Mat4d, double, int) DispUtil.Display(IDisplayee, Bind, Mat4d) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) 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 Fixture() Initializes a new instance of the Fixture class. public Fixture() Fixture(XElement, string, string, IProgress) Initializes a new instance of the Fixture class from XML. public Fixture(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement The XML element containing fixture data. baseDirectory string The base directory for resolving relative paths. relFile string The relative file path. progress IProgress Progress reporter for diagnostic messages emitted during construction. Fields XName Name for XML IO. public static string XName Field Value string Properties Asmb Gets the assembly that contains the fixture components. public Asmb Asmb { get; } Property Value Asmb CollidableName Gets the name of the collidable object. public string CollidableName { get; } Property Value string CollisionFlag Gets or sets the collision flag. public CollisionFlag CollisionFlag { get; set; } Property Value CollisionFlag Geom Geometry. Delegate by Solid.Geom. public IGetStl Geom { get; set; } Property Value IGetStl GeomAnchor Anchor that represents the geometry origin of the fixture. public Anchor GeomAnchor { get; } Property Value Anchor GeomToTableBranch Branch that transforms from geometry origin to table origin. public Branch GeomToTableBranch { get; } Property Value Branch GeomToTableTransformer Transformer from Geometry origin to table (machine tool side) origin. public ITransformer GeomToTableTransformer { get; set; } Property Value ITransformer GeomToWorkpieceBranch Branch that transforms from geometry origin to workpiece origin. public Branch GeomToWorkpieceBranch { get; } Property Value Branch GeomToWorkpieceTransformer Transformer from Geometry origin to workpiece origin. public ITransformer GeomToWorkpieceTransformer { get; set; } Property Value ITransformer Solid Gets the solid representation of the fixture. public Solid Solid { get; } Property Value Solid TableBuckle Table buckle. Root. Solid anchor. public Anchor TableBuckle { get; } Property Value Anchor ThemeColor Default theme color used when rendering the fixture. public static Vec3d ThemeColor { get; } Property Value Vec3d WorkpieceBuckle Gets the workpiece buckle anchor point. public Anchor WorkpieceBuckle { get; } Property Value Anchor Methods ClearGeomCache() Update cache of Geom. The method is used after inner content of Geom is altered. public void ClearGeomCache() Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchoredCollidableNode() Gets the anchored collidable node associated with this object. public IAnchoredCollidableNode GetAnchoredCollidableNode() Returns IAnchoredCollidableNode The anchored collidable node. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetCollidableAnchor() Gets the anchor associated with this collidable leaf. public Anchor GetCollidableAnchor() Returns Anchor The anchor for this collidable leaf. GetCollidee() Get ICollidee. public ICollidee GetCollidee() Returns ICollidee ICollidee GetSolid() Gets the solid geometry object. public Solid GetSolid() Returns Solid The solid geometry object. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetWorkpieceTransformationToGeomTopCenter() Sets the workpiece transformation to position it at the top center of the fixture. public void SetWorkpieceTransformationToGeomTopCenter()" }, "api/Hi.NcMech.Fixtures.FixtureEditorDisplayee.html": { "href": "api/Hi.NcMech.Fixtures.FixtureEditorDisplayee.html", @@ -3287,7 +3287,7 @@ "api/Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.html": { "href": "api/Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.html", "title": "Class FixtureEditorDisplayeeConfig | HiAPI-C# 2025", - "summary": "Class FixtureEditorDisplayeeConfig Namespace Hi.NcMech.Fixtures Assembly HiMech.dll Configuration settings for fixture editor display features. public class FixtureEditorDisplayeeConfig : IMakeXmlSource Inheritance object FixtureEditorDisplayeeConfig 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 FixtureEditorDisplayeeConfig() Initializes a new instance of the FixtureEditorDisplayeeConfig class. public FixtureEditorDisplayeeConfig() FixtureEditorDisplayeeConfig(XElement) Initializes a new instance from XML. public FixtureEditorDisplayeeConfig(XElement element) Parameters element XElement Properties RenderingMode Gets or sets the rendering mode of the solid. public Solid.RenderingModeEnum RenderingMode { get; set; } Property Value Solid.RenderingModeEnum ShowGeomAnchor Gets or sets whether to show the geometry anchor. public bool ShowGeomAnchor { get; set; } Property Value bool ShowTableBuckle Gets or sets whether to show the table buckle. public bool ShowTableBuckle { get; set; } Property Value bool ShowWorkpieceBuckle Gets or sets whether to show the workpiece buckle. public bool ShowWorkpieceBuckle { 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." + "summary": "Class FixtureEditorDisplayeeConfig Namespace Hi.NcMech.Fixtures Assembly HiMech.dll Configuration settings for fixture editor display features. public class FixtureEditorDisplayeeConfig : IMakeXmlSource Inheritance object FixtureEditorDisplayeeConfig 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 FixtureEditorDisplayeeConfig() Initializes a new instance of the FixtureEditorDisplayeeConfig class. public FixtureEditorDisplayeeConfig() FixtureEditorDisplayeeConfig(XElement) Initializes a new instance from XML. public FixtureEditorDisplayeeConfig(XElement element) Parameters element XElement Properties RenderingMode Gets or sets the rendering mode of the solid. public Solid.RenderingModeEnum RenderingMode { get; set; } Property Value Solid.RenderingModeEnum ShowGeomAnchor Gets or sets whether to show the geometry anchor. public bool ShowGeomAnchor { get; set; } Property Value bool ShowTableBuckle Gets or sets whether to show the table buckle. public bool ShowTableBuckle { get; set; } Property Value bool ShowWorkpieceBuckle Gets or sets whether to show the workpiece buckle. public bool ShowWorkpieceBuckle { 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcMech.Fixtures.html": { "href": "api/Hi.NcMech.Fixtures.html", @@ -3297,12 +3297,12 @@ "api/Hi.NcMech.Holders.CylindroidHolder.html": { "href": "api/Hi.NcMech.Holders.CylindroidHolder.html", "title": "Class CylindroidHolder | HiAPI-C# 2025", - "summary": "Class CylindroidHolder Namespace Hi.NcMech.Holders Assembly HiMech.dll Represents a cylindrical tool holder for machining operations. public class CylindroidHolder : IHolder, ITopo, IGetAsmb, IGetAnchoredDisplayeeList, IAnchoredDisplayee, IDisplayee, IExpandToBox3d, IMakeXmlSource, IAbstractNote, IGetFletchBuckle, IDuplicate, INameNote, IAnchoredCollidabled, IGetCollidable, IGetAnchor, IGetTopoIndex, IGetSolid, IDisposable, IAnchoredCollidableLeaf, IAnchoredCollidableNode, IAnchoredCollidableBased, ICollidable, IClearCache Inheritance object CylindroidHolder Implements IHolder ITopo IGetAsmb IGetAnchoredDisplayeeList IAnchoredDisplayee IDisplayee IExpandToBox3d IMakeXmlSource IAbstractNote IGetFletchBuckle IDuplicate INameNote IAnchoredCollidabled IGetCollidable IGetAnchor IGetTopoIndex IGetSolid IDisposable IAnchoredCollidableLeaf IAnchoredCollidableNode IAnchoredCollidableBased ICollidable IClearCache Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods CollisionUtil.Detect(ICollidable, ICollidable, Mat4d, double, int) DispUtil.Display(IDisplayee, Bind, Mat4d) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) TopoDisplayeeUtil.Display(ITopo, Bind) TopoDisplayeeUtil.ExpandToBox3d(ITopo, Box3d) 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 CylindroidHolder() Ctor. public CylindroidHolder() CylindroidHolder(Cylindroid) Ctor. public CylindroidHolder(Cylindroid cylindroid) Parameters cylindroid Cylindroid The cylindroid geometry for this holder. CylindroidHolder(XElement, string, string, IProgress) Initializes a new instance of the CylindroidHolder class from XML. public CylindroidHolder(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement The XML element containing holder data. baseDirectory string The base directory for resolving relative paths. relFile string The relative file path. progress IProgress Progress reporter for diagnostic messages emitted during construction. Fields XName XML Name. public static string XName Field Value string Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string Branch Gets the branch connecting the fletch buckle to the tail buckle. public Branch Branch { get; } Property Value Branch CollidableName Gets the name of the collidable object. public string CollidableName { get; } Property Value string CollisionFlag Gets or sets the collision flag. public CollisionFlag CollisionFlag { get; set; } Property Value CollisionFlag CutterBuckle Gets the cutter buckle anchor. public Anchor CutterBuckle { get; } Property Value Anchor Cylindroid Gets or sets the cylindroid geometry that defines this holder. public Cylindroid Cylindroid { get; set; } Property Value Cylindroid GeomAnchor Equivalent of CutterBuckle. public Anchor GeomAnchor { get; } Property Value Anchor Name Gets or sets the name of the object. public string Name { get; set; } Property Value string Note Gets or sets the descriptive note for the object. public string Note { get; set; } Property Value string PolarResolution2d Gets or sets the polar resolution used for STL generation. public PolarResolution2d PolarResolution2d { get; set; } Property Value PolarResolution2d SpindleBuckle Gets the spindle buckle anchor. public Anchor SpindleBuckle { get; } Property Value Anchor Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchoredCollidableNode() Gets the anchored collidable node associated with this object. public IAnchoredCollidableNode GetAnchoredCollidableNode() Returns IAnchoredCollidableNode The anchored collidable node. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetCollidable() Get ICollidable. public ICollidable GetCollidable() Returns ICollidable The collidable object. GetCollidableAnchor() Gets the anchor associated with the collidable object. public Anchor GetCollidableAnchor() Returns Anchor The Anchor instance. GetCollidee() Get ICollidee. public ICollidee GetCollidee() Returns ICollidee ICollidee GetFletchBuckle() Get fletch buckle anchor. the anchor that generally connect to fixed part such as ground and triggering(motor)-side. public Anchor GetFletchBuckle() Returns Anchor buckle anchor GetSolid() Gets the solid geometry object. public Solid GetSolid() Returns Solid The solid geometry object. GetTailBuckle() Gets the cutter buckle anchor, generally located on the free-end side. public Anchor GetTailBuckle() Returns Anchor 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. UpdateByCylindroid() Update Branch By Cylindroid. Call the function if the Cylindroid content changed. public void UpdateByCylindroid()" + "summary": "Class CylindroidHolder Namespace Hi.NcMech.Holders Assembly HiMech.dll Represents a cylindrical tool holder for machining operations. public class CylindroidHolder : IHolder, ITopo, IGetAsmb, IGetAnchoredDisplayeeList, IAnchoredDisplayee, IDisplayee, IExpandToBox3d, IMakeXmlSource, IAbstractNote, IGetFletchBuckle, IDuplicate, INameNote, IAnchoredCollidabled, IGetCollidable, IGetAnchor, IGetTopoIndex, IGetSolid, IDisposable, IAnchoredCollidableLeaf, IAnchoredCollidableNode, IAnchoredCollidableBased, ICollidable, IClearCache Inheritance object CylindroidHolder Implements IHolder ITopo IGetAsmb IGetAnchoredDisplayeeList IAnchoredDisplayee IDisplayee IExpandToBox3d IMakeXmlSource IAbstractNote IGetFletchBuckle IDuplicate INameNote IAnchoredCollidabled IGetCollidable IGetAnchor IGetTopoIndex IGetSolid IDisposable IAnchoredCollidableLeaf IAnchoredCollidableNode IAnchoredCollidableBased ICollidable IClearCache Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods CollisionUtil.Detect(ICollidable, ICollidable, Mat4d, double, int) DispUtil.Display(IDisplayee, Bind, Mat4d) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) TopoDisplayeeUtil.Display(ITopo, Bind) TopoDisplayeeUtil.ExpandToBox3d(ITopo, Box3d) 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 CylindroidHolder() Ctor. public CylindroidHolder() CylindroidHolder(Cylindroid) Ctor. public CylindroidHolder(Cylindroid cylindroid) Parameters cylindroid Cylindroid The cylindroid geometry for this holder. CylindroidHolder(XElement, string, string, IProgress) Initializes a new instance of the CylindroidHolder class from XML. public CylindroidHolder(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement The XML element containing holder data. baseDirectory string The base directory for resolving relative paths. relFile string The relative file path. progress IProgress Progress reporter for diagnostic messages emitted during construction. Fields XName XML Name. public static string XName Field Value string Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string Branch Gets the branch connecting the fletch buckle to the tail buckle. public Branch Branch { get; } Property Value Branch CollidableName Gets the name of the collidable object. public string CollidableName { get; } Property Value string CollisionFlag Gets or sets the collision flag. public CollisionFlag CollisionFlag { get; set; } Property Value CollisionFlag CutterBuckle Gets the cutter buckle anchor. public Anchor CutterBuckle { get; } Property Value Anchor Cylindroid Gets or sets the cylindroid geometry that defines this holder. public Cylindroid Cylindroid { get; set; } Property Value Cylindroid GeomAnchor Equivalent of CutterBuckle. public Anchor GeomAnchor { get; } Property Value Anchor Name Gets or sets the name of the object. public string Name { get; set; } Property Value string Note Gets or sets the descriptive note for the object. public string Note { get; set; } Property Value string PolarResolution2d Gets or sets the polar resolution used for STL generation. public PolarResolution2d PolarResolution2d { get; set; } Property Value PolarResolution2d SpindleBuckle Gets the spindle buckle anchor. public Anchor SpindleBuckle { get; } Property Value Anchor Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchoredCollidableNode() Gets the anchored collidable node associated with this object. public IAnchoredCollidableNode GetAnchoredCollidableNode() Returns IAnchoredCollidableNode The anchored collidable node. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetCollidable() Get ICollidable. public ICollidable GetCollidable() Returns ICollidable The collidable object. GetCollidableAnchor() Gets the anchor associated with the collidable object. public Anchor GetCollidableAnchor() Returns Anchor The Anchor instance. GetCollidee() Get ICollidee. public ICollidee GetCollidee() Returns ICollidee ICollidee GetFletchBuckle() Get fletch buckle anchor. the anchor that generally connect to fixed part such as ground and triggering(motor)-side. public Anchor GetFletchBuckle() Returns Anchor buckle anchor GetSolid() Gets the solid geometry object. public Solid GetSolid() Returns Solid The solid geometry object. GetTailBuckle() Gets the cutter buckle anchor, generally located on the free-end side. public Anchor GetTailBuckle() Returns Anchor 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory UpdateByCylindroid() Update Branch By Cylindroid. Call the function if the Cylindroid content changed. public void UpdateByCylindroid()" }, "api/Hi.NcMech.Holders.FreeformHolder.html": { "href": "api/Hi.NcMech.Holders.FreeformHolder.html", "title": "Class FreeformHolder | HiAPI-C# 2025", - "summary": "Class FreeformHolder Namespace Hi.NcMech.Holders Assembly HiMech.dll Represents a freeform tool holder with customizable geometry. public class FreeformHolder : IHolder, ITopo, IGetAsmb, IGetAnchoredDisplayeeList, IAnchoredDisplayee, IDisplayee, IExpandToBox3d, IMakeXmlSource, IAbstractNote, IGetFletchBuckle, IDuplicate, INameNote, IAnchoredCollidabled, IGetCollidable, IGetAnchor, IGetTopoIndex, IGetSolid, IDisposable, IAnchoredCollidableLeaf, IAnchoredCollidableNode, IAnchoredCollidableBased, ICollidable, IClearCache Inheritance object FreeformHolder Implements IHolder ITopo IGetAsmb IGetAnchoredDisplayeeList IAnchoredDisplayee IDisplayee IExpandToBox3d IMakeXmlSource IAbstractNote IGetFletchBuckle IDuplicate INameNote IAnchoredCollidabled IGetCollidable IGetAnchor IGetTopoIndex IGetSolid IDisposable IAnchoredCollidableLeaf IAnchoredCollidableNode IAnchoredCollidableBased ICollidable IClearCache Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods CollisionUtil.Detect(ICollidable, ICollidable, Mat4d, double, int) DispUtil.Display(IDisplayee, Bind, Mat4d) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) TopoDisplayeeUtil.Display(ITopo, Bind) TopoDisplayeeUtil.ExpandToBox3d(ITopo, Box3d) 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 FreeformHolder() Ctor. public FreeformHolder() FreeformHolder(IStlSource) Initializes a new instance of the FreeformHolder class from STL geometry. public FreeformHolder(IStlSource geom) Parameters geom IStlSource The STL geometry provider. FreeformHolder(XElement, string, string, IProgress) Initializes a new instance of the FreeformHolder class from XML data. public FreeformHolder(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement The XML element containing holder data baseDirectory string Base directory path for resolving relative paths relFile string Relative file path progress IProgress Progress reporter for diagnostic messages emitted during construction. Fields XName XML Name. public static string XName Field Value string Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string CollidableName Gets the name of the collidable object. public string CollidableName { get; } Property Value string CollisionFlag Gets or sets the collision flag. public CollisionFlag CollisionFlag { get; set; } Property Value CollisionFlag CutterBuckle Gets the tail buckle (tool buckle) anchor point public Anchor CutterBuckle { get; } Property Value Anchor Geom Gets the transformation geometry. Internal Use Only. public IStlSource Geom { get; set; } Property Value IStlSource Remarks Call UpdateByGeom() to keep state of Hi.NcMech.Holders.FreeformHolder.Solid if content modified. GeomAnchor Gets the geometry anchor point public Anchor GeomAnchor { get; } Property Value Anchor GeomAnchorToSpindleBuckleBranch Gets the branch from GeomAnchor to SpindleBuckle. public Branch GeomAnchorToSpindleBuckleBranch { get; } Property Value Branch GeomToCutterBranch Gets the branch from GeomAnchor to CutterBuckle. public Branch GeomToCutterBranch { get; } Property Value Branch GeomToCutterTransformer Gets or sets the transformer from geometry to tail (Cutter). public ITransformer GeomToCutterTransformer { get; set; } Property Value ITransformer GeomToSpindleTransformer Gets or sets the transformer from geometry to base (Spindle) public ITransformer GeomToSpindleTransformer { get; set; } Property Value ITransformer Name Gets or sets the name of the object. public string Name { get; set; } Property Value string Note Gets or sets the descriptive note for the object. public string Note { get; set; } Property Value string PolarResolution2d Gets or sets the polar resolution 2D settings. public PolarResolution2d PolarResolution2d { get; set; } Property Value PolarResolution2d SpindleBuckle Gets the base buckle (spindle buckle) anchor point public Anchor SpindleBuckle { get; } Property Value Anchor Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchoredCollidableNode() Gets the anchored collidable node associated with this object. public IAnchoredCollidableNode GetAnchoredCollidableNode() Returns IAnchoredCollidableNode The anchored collidable node. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetCollidable() Get ICollidable. public ICollidable GetCollidable() Returns ICollidable The collidable object. GetCollidableAnchor() Gets the anchor associated with the collidable object. public Anchor GetCollidableAnchor() Returns Anchor The Anchor instance. GetCollidee() Get ICollidee. public ICollidee GetCollidee() Returns ICollidee ICollidee GetFletchBuckle() Get fletch buckle anchor. the anchor that generally connect to fixed part such as ground and triggering(motor)-side. public Anchor GetFletchBuckle() Returns Anchor buckle anchor GetSolid() Gets the solid geometry object. public Solid GetSolid() Returns Solid The solid geometry object. GetTailBuckle() Gets the cutter buckle anchor, generally located on the free-end side. public Anchor GetTailBuckle() Returns Anchor 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. UpdateByGeom() Call the function if the Geom content changed. public void UpdateByGeom()" + "summary": "Class FreeformHolder Namespace Hi.NcMech.Holders Assembly HiMech.dll Represents a freeform tool holder with customizable geometry. public class FreeformHolder : IHolder, ITopo, IGetAsmb, IGetAnchoredDisplayeeList, IAnchoredDisplayee, IDisplayee, IExpandToBox3d, IMakeXmlSource, IAbstractNote, IGetFletchBuckle, IDuplicate, INameNote, IAnchoredCollidabled, IGetCollidable, IGetAnchor, IGetTopoIndex, IGetSolid, IDisposable, IAnchoredCollidableLeaf, IAnchoredCollidableNode, IAnchoredCollidableBased, ICollidable, IClearCache Inheritance object FreeformHolder Implements IHolder ITopo IGetAsmb IGetAnchoredDisplayeeList IAnchoredDisplayee IDisplayee IExpandToBox3d IMakeXmlSource IAbstractNote IGetFletchBuckle IDuplicate INameNote IAnchoredCollidabled IGetCollidable IGetAnchor IGetTopoIndex IGetSolid IDisposable IAnchoredCollidableLeaf IAnchoredCollidableNode IAnchoredCollidableBased ICollidable IClearCache Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods CollisionUtil.Detect(ICollidable, ICollidable, Mat4d, double, int) DispUtil.Display(IDisplayee, Bind, Mat4d) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) TopoDisplayeeUtil.Display(ITopo, Bind) TopoDisplayeeUtil.ExpandToBox3d(ITopo, Box3d) 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 FreeformHolder() Ctor. public FreeformHolder() FreeformHolder(IStlSource) Initializes a new instance of the FreeformHolder class from STL geometry. public FreeformHolder(IStlSource geom) Parameters geom IStlSource The STL geometry provider. FreeformHolder(XElement, string, string, IProgress) Initializes a new instance of the FreeformHolder class from XML data. public FreeformHolder(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement The XML element containing holder data baseDirectory string Base directory path for resolving relative paths relFile string Relative file path progress IProgress Progress reporter for diagnostic messages emitted during construction. Fields XName XML Name. public static string XName Field Value string Properties AbstractNote Gets a descriptive note or abstract about the object. public string AbstractNote { get; } Property Value string CollidableName Gets the name of the collidable object. public string CollidableName { get; } Property Value string CollisionFlag Gets or sets the collision flag. public CollisionFlag CollisionFlag { get; set; } Property Value CollisionFlag CutterBuckle Gets the tail buckle (tool buckle) anchor point public Anchor CutterBuckle { get; } Property Value Anchor Geom Gets the transformation geometry. Internal Use Only. public IStlSource Geom { get; set; } Property Value IStlSource Remarks Call UpdateByGeom() to keep state of Hi.NcMech.Holders.FreeformHolder.Solid if content modified. GeomAnchor Gets the geometry anchor point public Anchor GeomAnchor { get; } Property Value Anchor GeomAnchorToSpindleBuckleBranch Gets the branch from GeomAnchor to SpindleBuckle. public Branch GeomAnchorToSpindleBuckleBranch { get; } Property Value Branch GeomToCutterBranch Gets the branch from GeomAnchor to CutterBuckle. public Branch GeomToCutterBranch { get; } Property Value Branch GeomToCutterTransformer Gets or sets the transformer from geometry to tail (Cutter). public ITransformer GeomToCutterTransformer { get; set; } Property Value ITransformer GeomToSpindleTransformer Gets or sets the transformer from geometry to base (Spindle) public ITransformer GeomToSpindleTransformer { get; set; } Property Value ITransformer Name Gets or sets the name of the object. public string Name { get; set; } Property Value string Note Gets or sets the descriptive note for the object. public string Note { get; set; } Property Value string PolarResolution2d Gets or sets the polar resolution 2D settings. public PolarResolution2d PolarResolution2d { get; set; } Property Value PolarResolution2d SpindleBuckle Gets the base buckle (spindle buckle) anchor point public Anchor SpindleBuckle { get; } Property Value Anchor Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchoredCollidableNode() Gets the anchored collidable node associated with this object. public IAnchoredCollidableNode GetAnchoredCollidableNode() Returns IAnchoredCollidableNode The anchored collidable node. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetCollidable() Get ICollidable. public ICollidable GetCollidable() Returns ICollidable The collidable object. GetCollidableAnchor() Gets the anchor associated with the collidable object. public Anchor GetCollidableAnchor() Returns Anchor The Anchor instance. GetCollidee() Get ICollidee. public ICollidee GetCollidee() Returns ICollidee ICollidee GetFletchBuckle() Get fletch buckle anchor. the anchor that generally connect to fixed part such as ground and triggering(motor)-side. public Anchor GetFletchBuckle() Returns Anchor buckle anchor GetSolid() Gets the solid geometry object. public Solid GetSolid() Returns Solid The solid geometry object. GetTailBuckle() Gets the cutter buckle anchor, generally located on the free-end side. public Anchor GetTailBuckle() Returns Anchor 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory UpdateByGeom() Call the function if the Geom content changed. public void UpdateByGeom()" }, "api/Hi.NcMech.Holders.HolderEditorDisplayee.html": { "href": "api/Hi.NcMech.Holders.HolderEditorDisplayee.html", @@ -3337,7 +3337,7 @@ "api/Hi.NcMech.Solids.Solid.html": { "href": "api/Hi.NcMech.Solids.Solid.html", "title": "Class Solid | HiAPI-C# 2025", - "summary": "Class Solid Namespace Hi.NcMech.Solids Assembly HiMech.dll Represents a solid geometry object with display, collision detection, and STL capabilities. Provides thread-safe access to geometry data and caching mechanisms. public class Solid : IGetTriTree, ICollidable, IGetCollidable, IDisplayee, IExpandToBox3d, IStlSource, IGetStl, IPolarResolution2dSourceProperty, IDisposable, IMakeXmlSource, IGetSolid, IUpdateByContent, IClearCache Inheritance object Solid Implements IGetTriTree ICollidable IGetCollidable IDisplayee IExpandToBox3d IStlSource IGetStl IPolarResolution2dSourceProperty IDisposable IMakeXmlSource IGetSolid IUpdateByContent IClearCache Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods CollisionUtil.Detect(ICollidable, ICollidable, Mat4d, double, int) DispUtil.Display(IDisplayee, Bind, Mat4d) StlUtil.ToFaceDrawing(IGetStl) StlUtil.ToLineDrawing(IGetStl) StlUtil.ToSparkleLineDrawing(IGetStl) 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 Solid() Initializes a new instance of the Solid class. public Solid() Solid(IGetStl) Initializes a new instance of the Solid class with the specified STL geometry source. public Solid(IGetStl geom) Parameters geom IGetStl The STL geometry source. Solid(XElement, string, IProgress) Initializes a new instance of the Solid class from XML. public Solid(XElement src, string baseDirectory, IProgress progress) Parameters src XElement The XML source element. baseDirectory string The base directory for resolving relative paths. progress IProgress The progress reporter. Fields XName Gets the XML element name for serialization. public static string XName Field Value string Properties CollisionFlag Gets or sets the collision flag indicating the collision state of this solid. public CollisionFlag CollisionFlag { get; set; } Property Value CollisionFlag Geom Gets or sets the STL geometry source. Setting this property will clear the cached data. public IGetStl Geom { get; set; } Property Value IGetStl NativeSmoothTopoStl Gets the native smooth topology STL representation. The data is created from the STL representation when first accessed. public NativeTopoStld NativeSmoothTopoStl { get; } Property Value NativeTopoStld NativeStl Gets the native STL representation. The data is created from the STL representation when first accessed. public NativeStl NativeStl { get; } Property Value NativeStl PolarResolution2dSource The provider of IPolarResolution2d. public Func PolarResolution2dSource { get; set; } Property Value Func Prepared Gets or sets whether the solid geometry is prepared for use. Setting this to true will ensure all necessary data structures are initialized. Setting this to false will clear the cached data. public bool Prepared { get; set; } Property Value bool Stl Gets the STL representation of the solid geometry. The STL data is cached after first access. public Stl Stl { get; } Property Value Stl TriTree Gets the triangle tree representation for collision detection. The tree is built from the native STL data when first accessed. public TriTree TriTree { get; } Property Value TriTree Methods ClearCache() Manually clears the cached data if the content of Geom has changed. The cache determines the behavior of the Solid. public void ClearCache() Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. Display(Bind, RenderingModeEnum) Displays the solid according to the specified rendering mode. public void Display(Bind bind, Solid.RenderingModeEnum renderingMode) Parameters bind Bind Display binding context. renderingMode Solid.RenderingModeEnum Rendering mode. DisplayFeatureEdges(Bind) Displays the feature edges of the solid. public void DisplayFeatureEdges(Bind bind) Parameters bind Bind Display binding context. Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) Releases the unmanaged resources and optionally releases the managed resources. protected virtual void Dispose(bool disposing) Parameters disposing bool true to release both managed and unmanaged resources; false to release only unmanaged resources. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetCollidable() Get ICollidable. public ICollidable GetCollidable() Returns ICollidable The collidable object. GetCollidee() Get ICollidee. public ICollidee GetCollidee() Returns ICollidee ICollidee GetSolid() Gets the solid geometry object. public Solid GetSolid() Returns Solid The solid geometry object. GetSourceGeom() Gets the source geometry object. public IGetStl GetSourceGeom() Returns IGetStl The source geometry object. GetStl() Gets the STL geometry data. public Stl GetStl() Returns Stl The STL geometry object GetTriTree() Get TriTree. public TriTree GetTriTree() Returns TriTree TriTree MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. UpdateByContent() Updates the object based on its current content. public void UpdateByContent()" + "summary": "Class Solid Namespace Hi.NcMech.Solids Assembly HiMech.dll Represents a solid geometry object with display, collision detection, and STL capabilities. Provides thread-safe access to geometry data and caching mechanisms. public class Solid : IGetTriTree, ICollidable, IGetCollidable, IDisplayee, IExpandToBox3d, IStlSource, IGetStl, IPolarResolution2dSourceProperty, IDisposable, IMakeXmlSource, IGetSolid, IUpdateByContent, IClearCache Inheritance object Solid Implements IGetTriTree ICollidable IGetCollidable IDisplayee IExpandToBox3d IStlSource IGetStl IPolarResolution2dSourceProperty IDisposable IMakeXmlSource IGetSolid IUpdateByContent IClearCache Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods CollisionUtil.Detect(ICollidable, ICollidable, Mat4d, double, int) DispUtil.Display(IDisplayee, Bind, Mat4d) StlUtil.ToFaceDrawing(IGetStl) StlUtil.ToLineDrawing(IGetStl) StlUtil.ToSparkleLineDrawing(IGetStl) 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 Solid() Initializes a new instance of the Solid class. public Solid() Solid(IGetStl) Initializes a new instance of the Solid class with the specified STL geometry source. public Solid(IGetStl geom) Parameters geom IGetStl The STL geometry source. Solid(XElement, string, IProgress) Initializes a new instance of the Solid class from XML. public Solid(XElement src, string baseDirectory, IProgress progress) Parameters src XElement The XML source element. baseDirectory string The base directory for resolving relative paths. progress IProgress The progress reporter. Fields XName Gets the XML element name for serialization. public static string XName Field Value string Properties CollisionFlag Gets or sets the collision flag indicating the collision state of this solid. public CollisionFlag CollisionFlag { get; set; } Property Value CollisionFlag Geom Gets or sets the STL geometry source. Setting this property will clear the cached data. public IGetStl Geom { get; set; } Property Value IGetStl NativeSmoothTopoStl Gets the native smooth topology STL representation. The data is created from the STL representation when first accessed. public NativeTopoStld NativeSmoothTopoStl { get; } Property Value NativeTopoStld NativeStl Gets the native STL representation. The data is created from the STL representation when first accessed. public NativeStl NativeStl { get; } Property Value NativeStl PolarResolution2dSource The provider of IPolarResolution2d. public Func PolarResolution2dSource { get; set; } Property Value Func Prepared Gets or sets whether the solid geometry is prepared for use. Setting this to true will ensure all necessary data structures are initialized. Setting this to false will clear the cached data. public bool Prepared { get; set; } Property Value bool Stl Gets the STL representation of the solid geometry. The STL data is cached after first access. public Stl Stl { get; } Property Value Stl TriTree Gets the triangle tree representation for collision detection. The tree is built from the native STL data when first accessed. public TriTree TriTree { get; } Property Value TriTree Methods ClearCache() Manually clears the cached data if the content of Geom has changed. The cache determines the behavior of the Solid. public void ClearCache() Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. Display(Bind, RenderingModeEnum) Displays the solid according to the specified rendering mode. public void Display(Bind bind, Solid.RenderingModeEnum renderingMode) Parameters bind Bind Display binding context. renderingMode Solid.RenderingModeEnum Rendering mode. DisplayFeatureEdges(Bind) Displays the feature edges of the solid. public void DisplayFeatureEdges(Bind bind) Parameters bind Bind Display binding context. Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) Releases the unmanaged resources and optionally releases the managed resources. protected virtual void Dispose(bool disposing) Parameters disposing bool true to release both managed and unmanaged resources; false to release only unmanaged resources. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetCollidable() Get ICollidable. public ICollidable GetCollidable() Returns ICollidable The collidable object. GetCollidee() Get ICollidee. public ICollidee GetCollidee() Returns ICollidee ICollidee GetSolid() Gets the solid geometry object. public Solid GetSolid() Returns Solid The solid geometry object. GetSourceGeom() Gets the source geometry object. public IGetStl GetSourceGeom() Returns IGetStl The source geometry object. GetStl() Gets the STL geometry data. public Stl GetStl() Returns Stl The STL geometry object GetTriTree() Get TriTree. public TriTree GetTriTree() Returns TriTree TriTree 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. UpdateByContent() Updates the object based on its current content. public void UpdateByContent()" }, "api/Hi.NcMech.Solids.SolidFuncSource.html": { "href": "api/Hi.NcMech.Solids.SolidFuncSource.html", @@ -3367,12 +3367,12 @@ "api/Hi.NcMech.Topo.NcRotation.html": { "href": "api/Hi.NcMech.Topo.NcRotation.html", "title": "Class NcRotation | HiAPI-C# 2025", - "summary": "Class NcRotation Namespace Hi.NcMech.Topo Assembly HiMech.dll Represents a rotational transformer for NC machine tool axes. Provides functionality for rotational motion with stroke and speed limits. public class NcRotation : DynamicRotation, IDynamicRotation, IGetInverseTransformer, INcTransformer, IDynamicRegular, IDynamicTransformer, ITransformer, IMakeXmlSource, IToPresentDto, INcStroke Inheritance object DynamicRotation NcRotation Implements IDynamicRotation IGetInverseTransformer INcTransformer IDynamicRegular IDynamicTransformer ITransformer IMakeXmlSource IToPresentDto INcStroke Inherited Members DynamicRotation.Set(DynamicRotation) DynamicRotation.Step DynamicRotation.GetMat() DynamicRotation.GetMatInv() DynamicRotation.GetInverseTransformer() DynamicRotation.Axis DynamicRotation.Angle_rad DynamicRotation.Angle_deg DynamicRotation.Pivot DynamicRotation.ToPresentDto() 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 NcRotation() Initializes a new instance of the NcRotation class. public NcRotation() NcRotation(Vec3d, double) Initializes a new instance of the NcRotation class with the specified axis and angle. public NcRotation(Vec3d axis, double angle_rad = 0) Parameters axis Vec3d The rotation axis vector. angle_rad double The rotation angle in radians. NcRotation(Vec3d, double, Vec3d) Initializes a new instance of the NcRotation class with the specified axis, angle and pivot point. public NcRotation(Vec3d axis, double angle_rad, Vec3d pivot) Parameters axis Vec3d The rotation axis vector. angle_rad double The rotation angle in radians. pivot Vec3d The pivot point for rotation. NcRotation(XElement) Initializes a new instance of the NcRotation class from XML. public NcRotation(XElement src) Parameters src XElement The XML source element. Properties KeyCode Gets or sets the key code of the motion axis. public string KeyCode { get; set; } Property Value string SpeedLimit_radds Gets or sets the speed limit in radians per second. public double SpeedLimit_radds { get; set; } Property Value double SpeedLimit_rpm Gets or sets the speed limit in revolutions per minute. public double SpeedLimit_rpm { get; set; } Property Value double StrokeMax_deg Gets or sets the maximum stroke angle in degrees. public double StrokeMax_deg { get; set; } Property Value double StrokeMax_rad Gets or sets the maximum stroke angle in radians. public double StrokeMax_rad { get; set; } Property Value double StrokeMin_deg Gets or sets the minimum stroke angle in degrees. public double StrokeMin_deg { get; set; } Property Value double StrokeMin_rad Gets or sets the minimum stroke angle in radians. public double StrokeMin_rad { get; set; } Property Value double XName Gets the XML element name for serialization. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public override ITransformer Clone() Returns ITransformer clone GetKeyCode() Get key code of the motion axis. public string GetKeyCode() Returns string GetSpeedLimit() Get speed limit. public double GetSpeedLimit() Returns double Remarks Gets the speed limit in radians per second. GetStrokeMax() Get positivest stroke. public double GetStrokeMax() Returns double Remarks Gets the maximum stroke angle in radians. GetStrokeMin() Get negativest stroke. public double GetStrokeMin() Returns double Remarks Gets the minimum stroke angle in radians. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public override XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class NcRotation Namespace Hi.NcMech.Topo Assembly HiMech.dll Represents a rotational transformer for NC machine tool axes. Provides functionality for rotational motion with stroke and speed limits. public class NcRotation : DynamicRotation, IDynamicRotation, IGetInverseTransformer, INcTransformer, IDynamicRegular, IDynamicTransformer, ITransformer, IMakeXmlSource, IToPresentDto, INcStroke Inheritance object DynamicRotation NcRotation Implements IDynamicRotation IGetInverseTransformer INcTransformer IDynamicRegular IDynamicTransformer ITransformer IMakeXmlSource IToPresentDto INcStroke Inherited Members DynamicRotation.Set(DynamicRotation) DynamicRotation.Step DynamicRotation.GetMat() DynamicRotation.GetMatInv() DynamicRotation.GetInverseTransformer() DynamicRotation.Axis DynamicRotation.Angle_rad DynamicRotation.Angle_deg DynamicRotation.Pivot DynamicRotation.ToPresentDto() 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 NcRotation() Initializes a new instance of the NcRotation class. public NcRotation() NcRotation(Vec3d, double) Initializes a new instance of the NcRotation class with the specified axis and angle. public NcRotation(Vec3d axis, double angle_rad = 0) Parameters axis Vec3d The rotation axis vector. angle_rad double The rotation angle in radians. NcRotation(Vec3d, double, Vec3d) Initializes a new instance of the NcRotation class with the specified axis, angle and pivot point. public NcRotation(Vec3d axis, double angle_rad, Vec3d pivot) Parameters axis Vec3d The rotation axis vector. angle_rad double The rotation angle in radians. pivot Vec3d The pivot point for rotation. NcRotation(XElement) Initializes a new instance of the NcRotation class from XML. public NcRotation(XElement src) Parameters src XElement The XML source element. Properties KeyCode Gets or sets the key code of the motion axis. public string KeyCode { get; set; } Property Value string SpeedLimit_radds Gets or sets the speed limit in radians per second. public double SpeedLimit_radds { get; set; } Property Value double SpeedLimit_rpm Gets or sets the speed limit in revolutions per minute. public double SpeedLimit_rpm { get; set; } Property Value double StrokeMax_deg Gets or sets the maximum stroke angle in degrees. public double StrokeMax_deg { get; set; } Property Value double StrokeMax_rad Gets or sets the maximum stroke angle in radians. public double StrokeMax_rad { get; set; } Property Value double StrokeMin_deg Gets or sets the minimum stroke angle in degrees. public double StrokeMin_deg { get; set; } Property Value double StrokeMin_rad Gets or sets the minimum stroke angle in radians. public double StrokeMin_rad { get; set; } Property Value double XName Gets the XML element name for serialization. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public override ITransformer Clone() Returns ITransformer clone GetKeyCode() Get key code of the motion axis. public string GetKeyCode() Returns string GetSpeedLimit() Get speed limit. public double GetSpeedLimit() Returns double Remarks Gets the speed limit in radians per second. GetStrokeMax() Get positivest stroke. public double GetStrokeMax() Returns double Remarks Gets the maximum stroke angle in radians. GetStrokeMin() Get negativest stroke. public double GetStrokeMin() Returns double Remarks Gets the minimum stroke angle in radians. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public override 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcMech.Topo.NcTranslation.html": { "href": "api/Hi.NcMech.Topo.NcTranslation.html", "title": "Class NcTranslation | HiAPI-C# 2025", - "summary": "Class NcTranslation Namespace Hi.NcMech.Topo Assembly HiMech.dll Represents a translational transformer for NC machine tool axes. Provides functionality for linear motion with stroke and speed limits. public class NcTranslation : DynamicTranslation, IGetInverseTransformer, INcTransformer, IDynamicRegular, IDynamicTransformer, ITransformer, IMakeXmlSource, IToPresentDto, INcStroke Inheritance object DynamicTranslation NcTranslation Implements IGetInverseTransformer INcTransformer IDynamicRegular IDynamicTransformer ITransformer IMakeXmlSource IToPresentDto INcStroke Inherited Members DynamicTranslation.Set(DynamicTranslation) DynamicTranslation.Step DynamicTranslation.GetMat() DynamicTranslation.GetMatInv() DynamicTranslation.GetInverseTransformer() DynamicTranslation.Axis DynamicTranslation.Len DynamicTranslation.ToPresentDto() 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 NcTranslation() Initializes a new instance of the NcTranslation class. public NcTranslation() NcTranslation(Vec3d, double) Initializes a new instance of the NcTranslation class with the specified translation vector and length. public NcTranslation(Vec3d trans, double len = 0) Parameters trans Vec3d The translation vector. len double The translation length. NcTranslation(XElement) Initializes a new instance of the NcTranslation class from XML. public NcTranslation(XElement src) Parameters src XElement The XML source element. Properties KeyCode Gets or sets the key code of the motion axis. public string KeyCode { get; set; } Property Value string SpeedLimit_mmdmin Gets or sets the speed limit in millimeters per minute. public double SpeedLimit_mmdmin { get; set; } Property Value double SpeedLimit_mmds Gets or sets the speed limit in millimeters per second. public double SpeedLimit_mmds { get; set; } Property Value double StrokeMax_mm Gets or sets the maximum stroke distance in millimeters. public double StrokeMax_mm { get; set; } Property Value double StrokeMin_mm Gets or sets the minimum stroke distance in millimeters. public double StrokeMin_mm { get; set; } Property Value double XName Gets the XML element name for serialization. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public override ITransformer Clone() Returns ITransformer clone GetKeyCode() Get key code of the motion axis. public string GetKeyCode() Returns string GetSpeedLimit() Get speed limit. public double GetSpeedLimit() Returns double Remarks Gets the speed limit in millimeters per second. GetStrokeMax() Get positivest stroke. public double GetStrokeMax() Returns double Remarks Gets the maximum stroke distance in millimeters. GetStrokeMin() Get negativest stroke. public double GetStrokeMin() Returns double Remarks Gets the minimum stroke distance in millimeters. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public override XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class NcTranslation Namespace Hi.NcMech.Topo Assembly HiMech.dll Represents a translational transformer for NC machine tool axes. Provides functionality for linear motion with stroke and speed limits. public class NcTranslation : DynamicTranslation, IGetInverseTransformer, INcTransformer, IDynamicRegular, IDynamicTransformer, ITransformer, IMakeXmlSource, IToPresentDto, INcStroke Inheritance object DynamicTranslation NcTranslation Implements IGetInverseTransformer INcTransformer IDynamicRegular IDynamicTransformer ITransformer IMakeXmlSource IToPresentDto INcStroke Inherited Members DynamicTranslation.Set(DynamicTranslation) DynamicTranslation.Step DynamicTranslation.GetMat() DynamicTranslation.GetMatInv() DynamicTranslation.GetInverseTransformer() DynamicTranslation.Axis DynamicTranslation.Len DynamicTranslation.ToPresentDto() 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 NcTranslation() Initializes a new instance of the NcTranslation class. public NcTranslation() NcTranslation(Vec3d, double) Initializes a new instance of the NcTranslation class with the specified translation vector and length. public NcTranslation(Vec3d trans, double len = 0) Parameters trans Vec3d The translation vector. len double The translation length. NcTranslation(XElement) Initializes a new instance of the NcTranslation class from XML. public NcTranslation(XElement src) Parameters src XElement The XML source element. Properties KeyCode Gets or sets the key code of the motion axis. public string KeyCode { get; set; } Property Value string SpeedLimit_mmdmin Gets or sets the speed limit in millimeters per minute. public double SpeedLimit_mmdmin { get; set; } Property Value double SpeedLimit_mmds Gets or sets the speed limit in millimeters per second. public double SpeedLimit_mmds { get; set; } Property Value double StrokeMax_mm Gets or sets the maximum stroke distance in millimeters. public double StrokeMax_mm { get; set; } Property Value double StrokeMin_mm Gets or sets the minimum stroke distance in millimeters. public double StrokeMin_mm { get; set; } Property Value double XName Gets the XML element name for serialization. public static string XName { get; } Property Value string Methods Clone() Clones this instance. public override ITransformer Clone() Returns ITransformer clone GetKeyCode() Get key code of the motion axis. public string GetKeyCode() Returns string GetSpeedLimit() Get speed limit. public double GetSpeedLimit() Returns double Remarks Gets the speed limit in millimeters per second. GetStrokeMax() Get positivest stroke. public double GetStrokeMax() Returns double Remarks Gets the maximum stroke distance in millimeters. GetStrokeMin() Get negativest stroke. public double GetStrokeMin() Returns double Remarks Gets the minimum stroke distance in millimeters. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public override 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcMech.Topo.SolidSourceTopoBrick.html": { "href": "api/Hi.NcMech.Topo.SolidSourceTopoBrick.html", @@ -3392,7 +3392,7 @@ "api/Hi.NcMech.Workpieces.Workpiece.html": { "href": "api/Hi.NcMech.Workpieces.Workpiece.html", "title": "Class Workpiece | HiAPI-C# 2025", - "summary": "Class Workpiece Namespace Hi.NcMech.Workpieces Assembly HiMech.dll Workpiece configuration data model. public class Workpiece : IGetAnchor, IGetTopoIndex, IGetCuttingPara, IMakeXmlSource Inheritance object Workpiece Implements IGetAnchor IGetTopoIndex IGetCuttingPara IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) 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) Remarks Workpiece holds the persistent/serializable configuration. Runtime geometry, caching, diff calculation, defect scanning, display and collision are managed by WorkpieceService. Constructors Workpiece() Initializes a new instance of the Workpiece class. public Workpiece() Workpiece(XElement, string, string, IProgress) Initializes a new instance of the Workpiece class. public Workpiece(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement XML element source. baseDirectory string Base directory. relFile string Relative file path. progress IProgress Progress reporter for diagnostic messages emitted during construction. Properties Asmb Asmb. public Asmb Asmb { get; } Property Value Asmb CollidableName Collidable name. public string CollidableName { get; } Property Value string CuttingPara Milling parameters. public ICuttingPara CuttingPara { get; set; } Property Value ICuttingPara CuttingParaFile File path for milling parameters. public string CuttingParaFile { get; set; } Property Value string FixtureBuckle Buckle anchor. public Anchor FixtureBuckle { get; } Property Value Anchor FixtureToProgramZeroMat4d Matrix transformation from fixture to program zero. public Mat4d FixtureToProgramZeroMat4d { get; } Property Value Mat4d GeomAnchor Anchor of workpiece geometry. public Anchor GeomAnchor { get; } Property Value Anchor IdealGeom Ideal geometry representation. public IGetStl IdealGeom { get; set; } Property Value IGetStl InitGeom Raw geometry for initiate. public IMakeXmlSource InitGeom { get; set; } Property Value IMakeXmlSource InitResolution Resolution for initialization. public double InitResolution { get; set; } Property Value double ProgramZeroAnchor Anchor of geometry zero and cutter location zero. public Anchor ProgramZeroAnchor { get; } Property Value Anchor WorkpieceGeomToFixtureBuckleBranch Branch connecting workpiece geometry to fixture buckle. public Branch WorkpieceGeomToFixtureBuckleBranch { get; } Property Value Branch WorkpieceGeomToFixtureBuckleTransformer Transformer connecting workpiece geometry to fixture buckle. public ITransformer WorkpieceGeomToFixtureBuckleTransformer { get; set; } Property Value ITransformer WorkpieceGeomToProgramZeroBranch Branch connecting workpiece geometry to program zero. public Branch WorkpieceGeomToProgramZeroBranch { get; } Property Value Branch WorkpieceGeomToProgramZeroTransformer Transformer connecting workpiece geometry to program zero. public ITransformer WorkpieceGeomToProgramZeroTransformer { get; set; } Property Value ITransformer WorkpieceMaterial Workpiece material. public WorkpieceMaterial WorkpieceMaterial { get; set; } Property Value WorkpieceMaterial WorkpieceMaterialFile File path for workpiece material. public string WorkpieceMaterialFile { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetCuttingPara() Get ICuttingPara. public ICuttingPara GetCuttingPara() Returns ICuttingPara ICuttingPara MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class Workpiece Namespace Hi.NcMech.Workpieces Assembly HiMech.dll Workpiece configuration data model. public class Workpiece : IGetAnchor, IGetTopoIndex, IGetCuttingPara, IMakeXmlSource Inheritance object Workpiece Implements IGetAnchor IGetTopoIndex IGetCuttingPara IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) 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) Remarks Workpiece holds the persistent/serializable configuration. Runtime geometry, caching, diff calculation, defect scanning, display and collision are managed by WorkpieceService. Constructors Workpiece() Initializes a new instance of the Workpiece class. public Workpiece() Workpiece(XElement, string, string, IProgress) Initializes a new instance of the Workpiece class. public Workpiece(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement XML element source. baseDirectory string Base directory. relFile string Relative file path. progress IProgress Progress reporter for diagnostic messages emitted during construction. Properties Asmb Asmb. public Asmb Asmb { get; } Property Value Asmb CollidableName Collidable name. public string CollidableName { get; } Property Value string CuttingPara Milling parameters. public ICuttingPara CuttingPara { get; set; } Property Value ICuttingPara CuttingParaFile File path for milling parameters. public string CuttingParaFile { get; set; } Property Value string FixtureBuckle Buckle anchor. public Anchor FixtureBuckle { get; } Property Value Anchor FixtureToProgramZeroMat4d Matrix transformation from fixture to program zero. public Mat4d FixtureToProgramZeroMat4d { get; } Property Value Mat4d GeomAnchor Anchor of workpiece geometry. public Anchor GeomAnchor { get; } Property Value Anchor IdealGeom Ideal geometry representation. public IGetStl IdealGeom { get; set; } Property Value IGetStl InitGeom Raw geometry for initiate. public IMakeXmlSource InitGeom { get; set; } Property Value IMakeXmlSource InitResolution Resolution for initialization. public double InitResolution { get; set; } Property Value double ProgramZeroAnchor Anchor of geometry zero and cutter location zero. public Anchor ProgramZeroAnchor { get; } Property Value Anchor WorkpieceGeomToFixtureBuckleBranch Branch connecting workpiece geometry to fixture buckle. public Branch WorkpieceGeomToFixtureBuckleBranch { get; } Property Value Branch WorkpieceGeomToFixtureBuckleTransformer Transformer connecting workpiece geometry to fixture buckle. public ITransformer WorkpieceGeomToFixtureBuckleTransformer { get; set; } Property Value ITransformer WorkpieceGeomToProgramZeroBranch Branch connecting workpiece geometry to program zero. public Branch WorkpieceGeomToProgramZeroBranch { get; } Property Value Branch WorkpieceGeomToProgramZeroTransformer Transformer connecting workpiece geometry to program zero. public ITransformer WorkpieceGeomToProgramZeroTransformer { get; set; } Property Value ITransformer WorkpieceMaterial Workpiece material. public WorkpieceMaterial WorkpieceMaterial { get; set; } Property Value WorkpieceMaterial WorkpieceMaterialFile File path for workpiece material. public string WorkpieceMaterialFile { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetCuttingPara() Get ICuttingPara. public ICuttingPara GetCuttingPara() Returns ICuttingPara ICuttingPara 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayee.html": { "href": "api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayee.html", @@ -3402,7 +3402,7 @@ "api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.html": { "href": "api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.html", "title": "Class WorkpieceEditorDisplayeeConfig | HiAPI-C# 2025", - "summary": "Class WorkpieceEditorDisplayeeConfig Namespace Hi.NcMech.Workpieces Assembly HiMech.dll Configuration settings for workpiece editor display. public class WorkpieceEditorDisplayeeConfig : IMakeXmlSource Inheritance object WorkpieceEditorDisplayeeConfig 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 WorkpieceEditorDisplayeeConfig() Initializes a new instance of the WorkpieceEditorDisplayeeConfig class. public WorkpieceEditorDisplayeeConfig() WorkpieceEditorDisplayeeConfig(XElement) Initializes a new instance from XML. public WorkpieceEditorDisplayeeConfig(XElement element) Parameters element XElement Properties FixtureRenderingMode Rendering mode for fixture geometry. public Solid.RenderingModeEnum FixtureRenderingMode { get; set; } Property Value Solid.RenderingModeEnum IdealGeomRenderingMode Rendering mode for ideal geometry. public Solid.RenderingModeEnum IdealGeomRenderingMode { get; set; } Property Value Solid.RenderingModeEnum RawGeomRenderingMode Rendering mode for raw geometry. public Solid.RenderingModeEnum RawGeomRenderingMode { get; set; } Property Value Solid.RenderingModeEnum ShowFixtureBuckle Whether to show fixture buckle. public bool ShowFixtureBuckle { get; set; } Property Value bool ShowGeomAnchor Whether to show geometry anchor. public bool ShowGeomAnchor { get; set; } Property Value bool ShowProgramZeroAnchor Whether to show program zero anchor. public bool ShowProgramZeroAnchor { get; set; } Property Value bool ShowRuntimeGeom Whether to show runtime geometry. public bool ShowRuntimeGeom { 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." + "summary": "Class WorkpieceEditorDisplayeeConfig Namespace Hi.NcMech.Workpieces Assembly HiMech.dll Configuration settings for workpiece editor display. public class WorkpieceEditorDisplayeeConfig : IMakeXmlSource Inheritance object WorkpieceEditorDisplayeeConfig 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 WorkpieceEditorDisplayeeConfig() Initializes a new instance of the WorkpieceEditorDisplayeeConfig class. public WorkpieceEditorDisplayeeConfig() WorkpieceEditorDisplayeeConfig(XElement) Initializes a new instance from XML. public WorkpieceEditorDisplayeeConfig(XElement element) Parameters element XElement Properties FixtureRenderingMode Rendering mode for fixture geometry. public Solid.RenderingModeEnum FixtureRenderingMode { get; set; } Property Value Solid.RenderingModeEnum IdealGeomRenderingMode Rendering mode for ideal geometry. public Solid.RenderingModeEnum IdealGeomRenderingMode { get; set; } Property Value Solid.RenderingModeEnum RawGeomRenderingMode Rendering mode for raw geometry. public Solid.RenderingModeEnum RawGeomRenderingMode { get; set; } Property Value Solid.RenderingModeEnum ShowFixtureBuckle Whether to show fixture buckle. public bool ShowFixtureBuckle { get; set; } Property Value bool ShowGeomAnchor Whether to show geometry anchor. public bool ShowGeomAnchor { get; set; } Property Value bool ShowProgramZeroAnchor Whether to show program zero anchor. public bool ShowProgramZeroAnchor { get; set; } Property Value bool ShowRuntimeGeom Whether to show runtime geometry. public bool ShowRuntimeGeom { 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcMech.Workpieces.WorkpieceService.html": { "href": "api/Hi.NcMech.Workpieces.WorkpieceService.html", @@ -3417,17 +3417,17 @@ "api/Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.html": { "href": "api/Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.html", "title": "Class CodeXyzabcMachineTool | HiAPI-C# 2025", - "summary": "Class CodeXyzabcMachineTool Namespace Hi.NcMech.Xyzabc Assembly HiMech.dll For legacy compatible. Use GeneralXyzabcMachineTool instead. public class CodeXyzabcMachineTool : IXyzabcMachineTool, IDisplayee, IGetCollisionIndexPairs, IXyzabcChain, IGetXyzabcChain, IMachiningChain, IGetAsmb, IGetAnchor, IGetTopoIndex, IMakeXmlSource, IGetAnchorToSolidDictionary, IGetAnchoredDisplayeeList, IExpandToBox3d, INameNote Inheritance object CodeXyzabcMachineTool Implements IXyzabcMachineTool IDisplayee IGetCollisionIndexPairs IXyzabcChain IGetXyzabcChain IMachiningChain IGetAsmb IGetAnchor IGetTopoIndex IMakeXmlSource IGetAnchorToSolidDictionary IGetAnchoredDisplayeeList IExpandToBox3d INameNote Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DispUtil.Display(IDisplayee, Bind, Mat4d) MachiningChainUtil.GetMcCodeTransformerDictionary(IMachiningChain) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) XyzabcUtil.GenerateCollisionIndexPairs(IXyzabcChain) XyzabcUtil.GetMc(IXyzabcChain, out DVec3d) XyzabcUtil.GetMc(IXyzabcChain, out double, out double, out double, out double, out double, out double) XyzabcUtil.GetMcAbc_rad(IXyzabcChain, out Abc) XyzabcUtil.GetMcXyzabc(IXyzabcChain) XyzabcUtil.GetNp(IXyzabcChain) XyzabcUtil.GetTransformationMat4d(IXyzabcChain) XyzabcUtil.SetMc(IXyzabcChain, DVec3d) XyzabcUtil.SetMc(IXyzabcChain, Vec3d) XyzabcUtil.SetMc(IXyzabcChain, double, double, double) XyzabcUtil.SetMc(IXyzabcChain, double, double, double, double, double, double) XyzabcUtil.SetMcAbc_rad(IXyzabcChain, Vec3d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CodeXyzabcMachineTool(CodeXyzabcChain) Initializes a new instance of the CodeXyzabcMachineTool class. public CodeXyzabcMachineTool(CodeXyzabcChain xyzabcChain) Parameters xyzabcChain CodeXyzabcChain The XYZABC chain instance. CodeXyzabcMachineTool(string, bool) Builds a machine tool from a compact CodeXyzabcChain axis string and vertical/horizontal layout flag. public CodeXyzabcMachineTool(string chainCode = \"[O][Z][C][w];[O][Y][X][B][S][t]\", bool isVertical = true) Parameters chainCode string Bracket token string consumed by CodeXyzabcChain (defaults to a common 5-axis layout). isVertical bool Whether the Z column is treated as vertical for the generated chain. CodeXyzabcMachineTool(XElement, string, IProgress) Initializes a new instance from XML. public CodeXyzabcMachineTool(XElement src, string baseDirectory, IProgress progress) Parameters src XElement The XML source element. baseDirectory string The base directory for resolving relative paths. progress IProgress The progress reporter. Properties CollisionIndexPairs Gets or sets the collection of collision index pairs. public HashSet CollisionIndexPairs { get; set; } Property Value HashSet EnableAutoGeneratingCollisionIndexPairsOnXmlLoaded Gets or sets whether to automatically generate collision index pairs when loading from XML. public bool EnableAutoGeneratingCollisionIndexPairsOnXmlLoaded { get; set; } Property Value bool McCodes Gets the machine codes array. public string[] McCodes { get; } Property Value string[] McTransformers Gets the machine transformers array. public IDynamicRegular[] McTransformers { get; } Property Value IDynamicRegular[] Name Gets or sets the name of the object. public string Name { get; set; } Property Value string Note Gets or sets the descriptive note for the object. public string Note { get; set; } Property Value string TableAnchor Anchor to attach fixture or workpiece. The anchor is the same as IXyzabcChain.Hi.Numerical.Xyzabc.IXyzabcChain.GetTableBuckle. public Anchor TableAnchor { get; } Property Value Anchor ToolAnchor Anchor to attach tool. The anchor is the same as IXyzabcChain.Hi.Numerical.Xyzabc.IXyzabcChain.GetToolBuckle. public Anchor ToolAnchor { get; } Property Value Anchor XName Name of XML element. public static string XName { get; } Property Value string XyzabcChain Gets the XYZABC chain instance. public IXyzabcChain XyzabcChain { get; } Property Value IXyzabcChain Methods Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GenerateCollisionIndexPairs() Generates collision index pairs for the machine tool components. public void GenerateCollisionIndexPairs() GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchorToSolidDictionary() Gets a dictionary that maps Anchor objects to their corresponding Solid objects. public Dictionary GetAnchorToSolidDictionary() Returns Dictionary A dictionary where keys are anchors and values are their associated solids. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetCollisionIndexPairs() Gets a collection of collision index pairs for collision detection. public IEnumerable GetCollisionIndexPairs() Returns IEnumerable A collection of CollisionIndexPair objects. GetMachiningChain() public IMachiningChain GetMachiningChain() Returns IMachiningChain GetMcCodeTransformerDictionary() public Dictionary GetMcCodeTransformerDictionary() Returns Dictionary GetTableBuckle() Gets the table buckle anchor point. public IGetAnchor GetTableBuckle() Returns IGetAnchor The table buckle anchor point. GetToolBuckle() Gets the tool buckle anchor point. public IGetAnchor GetToolBuckle() Returns IGetAnchor The tool buckle anchor point. GetTransformerA() Get transformer A. public DynamicRotation GetTransformerA() Returns DynamicRotation transformer A GetTransformerB() Get transformer B. public DynamicRotation GetTransformerB() Returns DynamicRotation transformer B GetTransformerC() Get transformer C. public DynamicRotation GetTransformerC() Returns DynamicRotation transformer C GetTransformerX() Get transformer X. public DynamicTranslation GetTransformerX() Returns DynamicTranslation transformer X GetTransformerY() Get transformer Y. public DynamicTranslation GetTransformerY() Returns DynamicTranslation transformer Y GetTransformerZ() Get transformer Z. public DynamicTranslation GetTransformerZ() Returns DynamicTranslation transformer Z GetXyzabcChain() Get IXyzabcChain. public IXyzabcChain GetXyzabcChain() Returns IXyzabcChain IXyzabcChain GetXyzabcMachineTool() public CodeXyzabcMachineTool GetXyzabcMachineTool() Returns CodeXyzabcMachineTool MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class CodeXyzabcMachineTool Namespace Hi.NcMech.Xyzabc Assembly HiMech.dll For legacy compatible. Use GeneralXyzabcMachineTool instead. public class CodeXyzabcMachineTool : IXyzabcMachineTool, IDisplayee, IGetCollisionIndexPairs, IXyzabcChain, IGetXyzabcChain, IMachiningChain, IGetAsmb, IGetAnchor, IGetTopoIndex, IMakeXmlSource, IGetAnchorToSolidDictionary, IGetAnchoredDisplayeeList, IExpandToBox3d, INameNote Inheritance object CodeXyzabcMachineTool Implements IXyzabcMachineTool IDisplayee IGetCollisionIndexPairs IXyzabcChain IGetXyzabcChain IMachiningChain IGetAsmb IGetAnchor IGetTopoIndex IMakeXmlSource IGetAnchorToSolidDictionary IGetAnchoredDisplayeeList IExpandToBox3d INameNote Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DispUtil.Display(IDisplayee, Bind, Mat4d) MachiningChainUtil.GetMcCodeTransformerDictionary(IMachiningChain) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) XyzabcUtil.GenerateCollisionIndexPairs(IXyzabcChain) XyzabcUtil.GetMc(IXyzabcChain, out DVec3d) XyzabcUtil.GetMc(IXyzabcChain, out double, out double, out double, out double, out double, out double) XyzabcUtil.GetMcAbc_rad(IXyzabcChain, out Abc) XyzabcUtil.GetMcXyzabc(IXyzabcChain) XyzabcUtil.GetNp(IXyzabcChain) XyzabcUtil.GetTransformationMat4d(IXyzabcChain) XyzabcUtil.SetMc(IXyzabcChain, DVec3d) XyzabcUtil.SetMc(IXyzabcChain, Vec3d) XyzabcUtil.SetMc(IXyzabcChain, double, double, double) XyzabcUtil.SetMc(IXyzabcChain, double, double, double, double, double, double) XyzabcUtil.SetMcAbc_rad(IXyzabcChain, Vec3d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CodeXyzabcMachineTool(CodeXyzabcChain) Initializes a new instance of the CodeXyzabcMachineTool class. public CodeXyzabcMachineTool(CodeXyzabcChain xyzabcChain) Parameters xyzabcChain CodeXyzabcChain The XYZABC chain instance. CodeXyzabcMachineTool(string, bool) Builds a machine tool from a compact CodeXyzabcChain axis string and vertical/horizontal layout flag. public CodeXyzabcMachineTool(string chainCode = \"[O][Z][C][w];[O][Y][X][B][S][t]\", bool isVertical = true) Parameters chainCode string Bracket token string consumed by CodeXyzabcChain (defaults to a common 5-axis layout). isVertical bool Whether the Z column is treated as vertical for the generated chain. CodeXyzabcMachineTool(XElement, string, IProgress) Initializes a new instance from XML. public CodeXyzabcMachineTool(XElement src, string baseDirectory, IProgress progress) Parameters src XElement The XML source element. baseDirectory string The base directory for resolving relative paths. progress IProgress The progress reporter. Properties CollisionIndexPairs Gets or sets the collection of collision index pairs. public HashSet CollisionIndexPairs { get; set; } Property Value HashSet EnableAutoGeneratingCollisionIndexPairsOnXmlLoaded Gets or sets whether to automatically generate collision index pairs when loading from XML. public bool EnableAutoGeneratingCollisionIndexPairsOnXmlLoaded { get; set; } Property Value bool McCodes Gets the machine codes array. public string[] McCodes { get; } Property Value string[] McTransformers Gets the machine transformers array. public IDynamicRegular[] McTransformers { get; } Property Value IDynamicRegular[] Name Gets or sets the name of the object. public string Name { get; set; } Property Value string Note Gets or sets the descriptive note for the object. public string Note { get; set; } Property Value string TableAnchor Anchor to attach fixture or workpiece. The anchor is the same as IXyzabcChain.Hi.Numerical.Xyzabc.IXyzabcChain.GetTableBuckle. public Anchor TableAnchor { get; } Property Value Anchor ToolAnchor Anchor to attach tool. The anchor is the same as IXyzabcChain.Hi.Numerical.Xyzabc.IXyzabcChain.GetToolBuckle. public Anchor ToolAnchor { get; } Property Value Anchor XName Name of XML element. public static string XName { get; } Property Value string XyzabcChain Gets the XYZABC chain instance. public IXyzabcChain XyzabcChain { get; } Property Value IXyzabcChain Methods Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GenerateCollisionIndexPairs() Generates collision index pairs for the machine tool components. public void GenerateCollisionIndexPairs() GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchorToSolidDictionary() Gets a dictionary that maps Anchor objects to their corresponding Solid objects. public Dictionary GetAnchorToSolidDictionary() Returns Dictionary A dictionary where keys are anchors and values are their associated solids. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetCollisionIndexPairs() Gets a collection of collision index pairs for collision detection. public IEnumerable GetCollisionIndexPairs() Returns IEnumerable A collection of CollisionIndexPair objects. GetMachiningChain() public IMachiningChain GetMachiningChain() Returns IMachiningChain GetMcCodeTransformerDictionary() public Dictionary GetMcCodeTransformerDictionary() Returns Dictionary GetTableBuckle() Gets the table buckle anchor point. public IGetAnchor GetTableBuckle() Returns IGetAnchor The table buckle anchor point. GetToolBuckle() Gets the tool buckle anchor point. public IGetAnchor GetToolBuckle() Returns IGetAnchor The tool buckle anchor point. GetTransformerA() Get transformer A. public DynamicRotation GetTransformerA() Returns DynamicRotation transformer A GetTransformerB() Get transformer B. public DynamicRotation GetTransformerB() Returns DynamicRotation transformer B GetTransformerC() Get transformer C. public DynamicRotation GetTransformerC() Returns DynamicRotation transformer C GetTransformerX() Get transformer X. public DynamicTranslation GetTransformerX() Returns DynamicTranslation transformer X GetTransformerY() Get transformer Y. public DynamicTranslation GetTransformerY() Returns DynamicTranslation transformer Y GetTransformerZ() Get transformer Z. public DynamicTranslation GetTransformerZ() Returns DynamicTranslation transformer Z GetXyzabcChain() Get IXyzabcChain. public IXyzabcChain GetXyzabcChain() Returns IXyzabcChain IXyzabcChain GetXyzabcMachineTool() public CodeXyzabcMachineTool GetXyzabcMachineTool() Returns CodeXyzabcMachineTool 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcMech.Xyzabc.CodeXyzabcMachineToolUri.html": { "href": "api/Hi.NcMech.Xyzabc.CodeXyzabcMachineToolUri.html", "title": "Class CodeXyzabcMachineToolUri | HiAPI-C# 2025", - "summary": "Class CodeXyzabcMachineToolUri Namespace Hi.NcMech.Xyzabc Assembly HiMech.dll Represents a URI-based container for CodeXyzabcMachineTool. public class CodeXyzabcMachineToolUri : IGetCodeXyzabcMachineTool, IMakeXmlSource, IUriGetter Inheritance object CodeXyzabcMachineToolUri Implements IGetCodeXyzabcMachineTool IMakeXmlSource IUriGetter 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 CodeXyzabcMachineToolUri(string, CodeXyzabcMachineTool) Initializes a new instance of the CodeXyzabcMachineToolUri class. public CodeXyzabcMachineToolUri(string uri, CodeXyzabcMachineTool data) Parameters uri string URI location. data CodeXyzabcMachineTool Machine tool data. CodeXyzabcMachineToolUri(XElement, string, IProgress, object[]) Ctor. public CodeXyzabcMachineToolUri(XElement src, string baseDirectory, IProgress progress, object[] res) Parameters src XElement XML element source. baseDirectory string Base directory. progress IProgress Progress reporter passed to LoadFromUri(string, IProgress, object[]). res object[] Additional resources. Properties IsEncrypted Gets or sets whether the content is encrypted. public bool IsEncrypted { get; set; } Property Value bool MachineTool Gets or sets the machine tool. public CodeXyzabcMachineTool MachineTool { get; } Property Value CodeXyzabcMachineTool Uri Gets the URI string. public string Uri { get; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods GetMachiningChain() public IMachiningChain GetMachiningChain() Returns IMachiningChain GetXyzabcMachineTool() Get CodeXyzabcMachineTool. public CodeXyzabcMachineTool GetXyzabcMachineTool() Returns CodeXyzabcMachineTool Machine tool. LoadFromUri(string, IProgress, object[]) Loads the machine tool data from the URI. public void LoadFromUri(string baseDirectory, IProgress progress, object[] res) Parameters baseDirectory string Base directory. progress IProgress Progress reporter for nested XML / factory loading. res object[] Additional resources. 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. SaveToUri(string) Saves the machine tool data to the URI. public void SaveToUri(string baseDirectory) Parameters baseDirectory string Base directory." + "summary": "Class CodeXyzabcMachineToolUri Namespace Hi.NcMech.Xyzabc Assembly HiMech.dll Represents a URI-based container for CodeXyzabcMachineTool. public class CodeXyzabcMachineToolUri : IGetCodeXyzabcMachineTool, IMakeXmlSource, IUriGetter Inheritance object CodeXyzabcMachineToolUri Implements IGetCodeXyzabcMachineTool IMakeXmlSource IUriGetter 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 CodeXyzabcMachineToolUri(string, CodeXyzabcMachineTool) Initializes a new instance of the CodeXyzabcMachineToolUri class. public CodeXyzabcMachineToolUri(string uri, CodeXyzabcMachineTool data) Parameters uri string URI location. data CodeXyzabcMachineTool Machine tool data. CodeXyzabcMachineToolUri(XElement, string, IProgress, object[]) Ctor. public CodeXyzabcMachineToolUri(XElement src, string baseDirectory, IProgress progress, object[] res) Parameters src XElement XML element source. baseDirectory string Base directory. progress IProgress Progress reporter passed to LoadFromUri(string, IProgress, object[]). res object[] Additional resources. Properties IsEncrypted Gets or sets whether the content is encrypted. public bool IsEncrypted { get; set; } Property Value bool MachineTool Gets or sets the machine tool. public CodeXyzabcMachineTool MachineTool { get; } Property Value CodeXyzabcMachineTool Uri Gets the URI string. public string Uri { get; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods GetMachiningChain() public IMachiningChain GetMachiningChain() Returns IMachiningChain GetXyzabcMachineTool() Get CodeXyzabcMachineTool. public CodeXyzabcMachineTool GetXyzabcMachineTool() Returns CodeXyzabcMachineTool Machine tool. LoadFromUri(string, IProgress, object[]) Loads the machine tool data from the URI. public void LoadFromUri(string baseDirectory, IProgress progress, object[] res) Parameters baseDirectory string Base directory. progress IProgress Progress reporter for nested XML / factory loading. res object[] Additional resources. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SaveToUri(string) Saves the machine tool data to the URI. public void SaveToUri(string baseDirectory) Parameters baseDirectory string Base directory." }, "api/Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.html": { "href": "api/Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.html", "title": "Class GeneralXyzabcMachineTool | HiAPI-C# 2025", - "summary": "Class GeneralXyzabcMachineTool Namespace Hi.NcMech.Xyzabc Assembly HiMech.dll General implementation of an XYZABC machine tool. public class GeneralXyzabcMachineTool : IXyzabcMachineTool, IDisplayee, IGetCollisionIndexPairs, IXyzabcChain, IGetXyzabcChain, IMachiningChain, IGetAsmb, IGetAnchor, IGetTopoIndex, IMakeXmlSource, IGetAnchorToSolidDictionary, IGetAnchoredDisplayeeList, IExpandToBox3d, INameNote Inheritance object GeneralXyzabcMachineTool Implements IXyzabcMachineTool IDisplayee IGetCollisionIndexPairs IXyzabcChain IGetXyzabcChain IMachiningChain IGetAsmb IGetAnchor IGetTopoIndex IMakeXmlSource IGetAnchorToSolidDictionary IGetAnchoredDisplayeeList IExpandToBox3d INameNote Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DispUtil.Display(IDisplayee, Bind, Mat4d) MachiningChainUtil.GetMcCodeTransformerDictionary(IMachiningChain) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) XyzabcUtil.GenerateCollisionIndexPairs(IXyzabcChain) XyzabcUtil.GetMc(IXyzabcChain, out DVec3d) XyzabcUtil.GetMc(IXyzabcChain, out double, out double, out double, out double, out double, out double) XyzabcUtil.GetMcAbc_rad(IXyzabcChain, out Abc) XyzabcUtil.GetMcXyzabc(IXyzabcChain) XyzabcUtil.GetNp(IXyzabcChain) XyzabcUtil.GetTransformationMat4d(IXyzabcChain) XyzabcUtil.SetMc(IXyzabcChain, DVec3d) XyzabcUtil.SetMc(IXyzabcChain, Vec3d) XyzabcUtil.SetMc(IXyzabcChain, double, double, double) XyzabcUtil.SetMc(IXyzabcChain, double, double, double, double, double, double) XyzabcUtil.SetMcAbc_rad(IXyzabcChain, Vec3d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors GeneralXyzabcMachineTool(IXyzabcChain) Initializes a new instance of the GeneralXyzabcMachineTool class. public GeneralXyzabcMachineTool(IXyzabcChain xyzabcChain) Parameters xyzabcChain IXyzabcChain XYZABC chain to use. GeneralXyzabcMachineTool(XElement, string, IProgress) Initializes a new instance of the GeneralXyzabcMachineTool class from XML. public GeneralXyzabcMachineTool(XElement src, string baseDirectory, IProgress progress) Parameters src XElement XML element source. baseDirectory string Base directory. progress IProgress Progress reporter for loading XyzabcChain and related children. Fields XName Name of XML element. public static string XName Field Value string Properties CollisionIndexPairs Collection of collision index pairs for collision detection. public HashSet CollisionIndexPairs { get; } Property Value HashSet EnableAutoGeneratingCollisionIndexPairsOnXmlLoaded Gets or sets whether to automatically generate collision index pairs when loaded from XML. public bool EnableAutoGeneratingCollisionIndexPairsOnXmlLoaded { get; set; } Property Value bool McCodes Gets the machine coordinate code sequence for decoding the MC array. public string[] McCodes { get; } Property Value string[] McTransformers Gets the machine coordinate transformers. public IDynamicRegular[] McTransformers { get; } Property Value IDynamicRegular[] Name Gets or sets the name of the object. public string Name { get; set; } Property Value string Note Gets or sets the descriptive note for the object. public string Note { get; set; } Property Value string TableAnchor Anchor to attach fixture or workpiece. The anchor is the same as IXyzabcChain.Hi.Numerical.Xyzabc.IXyzabcChain.GetTableBuckle. public Anchor TableAnchor { get; } Property Value Anchor ToolAnchor Anchor to attach tool. The anchor is the same as IXyzabcChain.Hi.Numerical.Xyzabc.IXyzabcChain.GetToolBuckle. public Anchor ToolAnchor { get; } Property Value Anchor XyzabcChain XYZABC chain for this machine tool. public IXyzabcChain XyzabcChain { get; } Property Value IXyzabcChain XyzabcChainFile File path for XYZABC chain. public string XyzabcChainFile { get; set; } Property Value string Methods Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchorToSolidDictionary() Gets a dictionary that maps Anchor objects to their corresponding Solid objects. public Dictionary GetAnchorToSolidDictionary() Returns Dictionary A dictionary where keys are anchors and values are their associated solids. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetCollisionIndexPairs() Gets a collection of collision index pairs for collision detection. public IEnumerable GetCollisionIndexPairs() Returns IEnumerable A collection of CollisionIndexPair objects. GetMachiningChain() public IMachiningChain GetMachiningChain() Returns IMachiningChain GetMcCodeTransformerDictionary() public Dictionary GetMcCodeTransformerDictionary() Returns Dictionary GetTableBuckle() Gets the table buckle anchor point. public IGetAnchor GetTableBuckle() Returns IGetAnchor The table buckle anchor point. GetToolBuckle() Gets the tool buckle anchor point. public IGetAnchor GetToolBuckle() Returns IGetAnchor The tool buckle anchor point. GetTransformerA() Get transformer A. public DynamicRotation GetTransformerA() Returns DynamicRotation transformer A GetTransformerB() Get transformer B. public DynamicRotation GetTransformerB() Returns DynamicRotation transformer B GetTransformerC() Get transformer C. public DynamicRotation GetTransformerC() Returns DynamicRotation transformer C GetTransformerX() Get transformer X. public DynamicTranslation GetTransformerX() Returns DynamicTranslation transformer X GetTransformerY() Get transformer Y. public DynamicTranslation GetTransformerY() Returns DynamicTranslation transformer Y GetTransformerZ() Get transformer Z. public DynamicTranslation GetTransformerZ() Returns DynamicTranslation transformer Z GetXyzabcChain() Get IXyzabcChain. public IXyzabcChain GetXyzabcChain() Returns IXyzabcChain IXyzabcChain GetXyzabcMachineTool() public GeneralXyzabcMachineTool GetXyzabcMachineTool() Returns GeneralXyzabcMachineTool MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class GeneralXyzabcMachineTool Namespace Hi.NcMech.Xyzabc Assembly HiMech.dll General implementation of an XYZABC machine tool. public class GeneralXyzabcMachineTool : IXyzabcMachineTool, IDisplayee, IGetCollisionIndexPairs, IXyzabcChain, IGetXyzabcChain, IMachiningChain, IGetAsmb, IGetAnchor, IGetTopoIndex, IMakeXmlSource, IGetAnchorToSolidDictionary, IGetAnchoredDisplayeeList, IExpandToBox3d, INameNote Inheritance object GeneralXyzabcMachineTool Implements IXyzabcMachineTool IDisplayee IGetCollisionIndexPairs IXyzabcChain IGetXyzabcChain IMachiningChain IGetAsmb IGetAnchor IGetTopoIndex IMakeXmlSource IGetAnchorToSolidDictionary IGetAnchoredDisplayeeList IExpandToBox3d INameNote Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DispUtil.Display(IDisplayee, Bind, Mat4d) MachiningChainUtil.GetMcCodeTransformerDictionary(IMachiningChain) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) XyzabcUtil.GenerateCollisionIndexPairs(IXyzabcChain) XyzabcUtil.GetMc(IXyzabcChain, out DVec3d) XyzabcUtil.GetMc(IXyzabcChain, out double, out double, out double, out double, out double, out double) XyzabcUtil.GetMcAbc_rad(IXyzabcChain, out Abc) XyzabcUtil.GetMcXyzabc(IXyzabcChain) XyzabcUtil.GetNp(IXyzabcChain) XyzabcUtil.GetTransformationMat4d(IXyzabcChain) XyzabcUtil.SetMc(IXyzabcChain, DVec3d) XyzabcUtil.SetMc(IXyzabcChain, Vec3d) XyzabcUtil.SetMc(IXyzabcChain, double, double, double) XyzabcUtil.SetMc(IXyzabcChain, double, double, double, double, double, double) XyzabcUtil.SetMcAbc_rad(IXyzabcChain, Vec3d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors GeneralXyzabcMachineTool(IXyzabcChain) Initializes a new instance of the GeneralXyzabcMachineTool class. public GeneralXyzabcMachineTool(IXyzabcChain xyzabcChain) Parameters xyzabcChain IXyzabcChain XYZABC chain to use. GeneralXyzabcMachineTool(XElement, string, IProgress) Initializes a new instance of the GeneralXyzabcMachineTool class from XML. public GeneralXyzabcMachineTool(XElement src, string baseDirectory, IProgress progress) Parameters src XElement XML element source. baseDirectory string Base directory. progress IProgress Progress reporter for loading XyzabcChain and related children. Fields XName Name of XML element. public static string XName Field Value string Properties CollisionIndexPairs Collection of collision index pairs for collision detection. public HashSet CollisionIndexPairs { get; } Property Value HashSet EnableAutoGeneratingCollisionIndexPairsOnXmlLoaded Gets or sets whether to automatically generate collision index pairs when loaded from XML. public bool EnableAutoGeneratingCollisionIndexPairsOnXmlLoaded { get; set; } Property Value bool McCodes Gets the machine coordinate code sequence for decoding the MC array. public string[] McCodes { get; } Property Value string[] McTransformers Gets the machine coordinate transformers. public IDynamicRegular[] McTransformers { get; } Property Value IDynamicRegular[] Name Gets or sets the name of the object. public string Name { get; set; } Property Value string Note Gets or sets the descriptive note for the object. public string Note { get; set; } Property Value string TableAnchor Anchor to attach fixture or workpiece. The anchor is the same as IXyzabcChain.Hi.Numerical.Xyzabc.IXyzabcChain.GetTableBuckle. public Anchor TableAnchor { get; } Property Value Anchor ToolAnchor Anchor to attach tool. The anchor is the same as IXyzabcChain.Hi.Numerical.Xyzabc.IXyzabcChain.GetToolBuckle. public Anchor ToolAnchor { get; } Property Value Anchor XyzabcChain XYZABC chain for this machine tool. public IXyzabcChain XyzabcChain { get; } Property Value IXyzabcChain XyzabcChainFile File path for XYZABC chain. public string XyzabcChainFile { get; set; } Property Value string Methods Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchorToSolidDictionary() Gets a dictionary that maps Anchor objects to their corresponding Solid objects. public Dictionary GetAnchorToSolidDictionary() Returns Dictionary A dictionary where keys are anchors and values are their associated solids. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetCollisionIndexPairs() Gets a collection of collision index pairs for collision detection. public IEnumerable GetCollisionIndexPairs() Returns IEnumerable A collection of CollisionIndexPair objects. GetMachiningChain() public IMachiningChain GetMachiningChain() Returns IMachiningChain GetMcCodeTransformerDictionary() public Dictionary GetMcCodeTransformerDictionary() Returns Dictionary GetTableBuckle() Gets the table buckle anchor point. public IGetAnchor GetTableBuckle() Returns IGetAnchor The table buckle anchor point. GetToolBuckle() Gets the tool buckle anchor point. public IGetAnchor GetToolBuckle() Returns IGetAnchor The tool buckle anchor point. GetTransformerA() Get transformer A. public DynamicRotation GetTransformerA() Returns DynamicRotation transformer A GetTransformerB() Get transformer B. public DynamicRotation GetTransformerB() Returns DynamicRotation transformer B GetTransformerC() Get transformer C. public DynamicRotation GetTransformerC() Returns DynamicRotation transformer C GetTransformerX() Get transformer X. public DynamicTranslation GetTransformerX() Returns DynamicTranslation transformer X GetTransformerY() Get transformer Y. public DynamicTranslation GetTransformerY() Returns DynamicTranslation transformer Y GetTransformerZ() Get transformer Z. public DynamicTranslation GetTransformerZ() Returns DynamicTranslation transformer Z GetXyzabcChain() Get IXyzabcChain. public IXyzabcChain GetXyzabcChain() Returns IXyzabcChain IXyzabcChain GetXyzabcMachineTool() public GeneralXyzabcMachineTool GetXyzabcMachineTool() Returns GeneralXyzabcMachineTool 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcMech.Xyzabc.IGetCodeXyzabcMachineTool.html": { "href": "api/Hi.NcMech.Xyzabc.IGetCodeXyzabcMachineTool.html", @@ -3452,17 +3452,17 @@ "api/Hi.NcOpt.CuttingVelocityOptLimit.html": { "href": "api/Hi.NcOpt.CuttingVelocityOptLimit.html", "title": "Class CuttingVelocityOptLimit | HiAPI-C# 2025", - "summary": "Class CuttingVelocityOptLimit Namespace Hi.NcOpt Assembly HiMech.dll Represents optimization limits for cutting velocity parameters. public class CuttingVelocityOptLimit : ICuttingVelocityOptLimit, IMakeXmlSource, IDuplicate, IToXElement Inheritance object CuttingVelocityOptLimit Implements ICuttingVelocityOptLimit IMakeXmlSource IDuplicate IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CuttingVelocityOptLimit() Initializes a new instance of the CuttingVelocityOptLimit class. public CuttingVelocityOptLimit() CuttingVelocityOptLimit(XElement, string) Initializes a new instance of the CuttingVelocityOptLimit class from XML. public CuttingVelocityOptLimit(XElement src, string baseDirectory) Parameters src XElement The XML source element. baseDirectory string The base directory for resolving relative paths. Properties MaxCuttingVelocity_mmdmin Gets or sets the maximum cutting velocity in millimeters per minute. public double MaxCuttingVelocity_mmdmin { get; set; } Property Value double MaxCuttingVelocity_mmds Gets or sets the maximum cutting velocity in millimeters per second. public double MaxCuttingVelocity_mmds { get; set; } Property Value double MinCuttingVelocity_mmdmin Gets or sets the minimum cutting velocity in millimeters per minute. public double MinCuttingVelocity_mmdmin { get; set; } Property Value double MinCuttingVelocity_mmds Gets or sets the minimum cutting velocity in millimeters per second. public double MinCuttingVelocity_mmds { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object GetMaxCuttingVelocity_mmds() Gets the maximum cutting velocity in millimeters per second. public double GetMaxCuttingVelocity_mmds() Returns double The maximum cutting velocity in millimeters per second. GetMinCuttingVelocity_mmds() Gets the minimum cutting velocity in millimeters per second. public double GetMinCuttingVelocity_mmds() Returns double The minimum cutting velocity in millimeters per second. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class CuttingVelocityOptLimit Namespace Hi.NcOpt Assembly HiMech.dll Represents optimization limits for cutting velocity parameters. public class CuttingVelocityOptLimit : ICuttingVelocityOptLimit, IMakeXmlSource, IDuplicate, IToXElement Inheritance object CuttingVelocityOptLimit Implements ICuttingVelocityOptLimit IMakeXmlSource IDuplicate IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CuttingVelocityOptLimit() Initializes a new instance of the CuttingVelocityOptLimit class. public CuttingVelocityOptLimit() CuttingVelocityOptLimit(XElement, string) Initializes a new instance of the CuttingVelocityOptLimit class from XML. public CuttingVelocityOptLimit(XElement src, string baseDirectory) Parameters src XElement The XML source element. baseDirectory string The base directory for resolving relative paths. Properties MaxCuttingVelocity_mmdmin Gets or sets the maximum cutting velocity in millimeters per minute. public double MaxCuttingVelocity_mmdmin { get; set; } Property Value double MaxCuttingVelocity_mmds Gets or sets the maximum cutting velocity in millimeters per second. public double MaxCuttingVelocity_mmds { get; set; } Property Value double MinCuttingVelocity_mmdmin Gets or sets the minimum cutting velocity in millimeters per minute. public double MinCuttingVelocity_mmdmin { get; set; } Property Value double MinCuttingVelocity_mmds Gets or sets the minimum cutting velocity in millimeters per second. public double MinCuttingVelocity_mmds { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object GetMaxCuttingVelocity_mmds() Gets the maximum cutting velocity in millimeters per second. public double GetMaxCuttingVelocity_mmds() Returns double The maximum cutting velocity in millimeters per second. GetMinCuttingVelocity_mmds() Gets the minimum cutting velocity in millimeters per second. public double GetMinCuttingVelocity_mmds() Returns double The minimum cutting velocity in millimeters per second. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.NcOpt.FixedFeedPerCycleOptLimit.html": { "href": "api/Hi.NcOpt.FixedFeedPerCycleOptLimit.html", "title": "Class FixedFeedPerCycleOptLimit | HiAPI-C# 2025", - "summary": "Class FixedFeedPerCycleOptLimit Namespace Hi.NcOpt Assembly HiMech.dll Represents fixed feed-per-cycle optimization limits. Provides implementation for feed-per-cycle optimization with fixed minimum and maximum values. public class FixedFeedPerCycleOptLimit : IFeedPerToothOptLimit, IMakeXmlSource, IDuplicate, IClearCache, IToXElement Inheritance object FixedFeedPerCycleOptLimit Implements IFeedPerToothOptLimit IMakeXmlSource IDuplicate IClearCache IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors FixedFeedPerCycleOptLimit(Func, double) Initializes a new instance of the FixedFeedPerCycleOptLimit class with specified parameters. public FixedFeedPerCycleOptLimit(Func fluteNumFunc, double maxFeedPerCycle_mm) Parameters fluteNumFunc Func Function that returns the number of flutes maxFeedPerCycle_mm double Maximum feed per cycle in millimeters FixedFeedPerCycleOptLimit(XElement, string, MillingCutter) Ctor. public FixedFeedPerCycleOptLimit(XElement src, string baseDirectory, MillingCutter cutter) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths cutter MillingCutter The milling cutter to use for flute number calculation Properties FluteNum Gets the number of flutes. public int FluteNum { get; } Property Value int MaxFeedPerCycle_mm Gets or sets the maximum feed per cycle value in millimeters. public double MaxFeedPerCycle_mm { get; set; } Property Value double MinFeedPerCycle_mm Gets or sets the minimum feed per cycle value in millimeters. public double MinFeedPerCycle_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object GetMaxFeedPerTooth_mm() Gets the maximum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MaxFeedPerTooth_mm, The smaller value will be applied in the optimization process. public double GetMaxFeedPerTooth_mm() Returns double The maximum feed per tooth value in millimeters. GetMinFeedPerTooth_mm() Gets the minimum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MinFeedPerTooth_mm, The larger value will be applied in the optimization process. public double GetMinFeedPerTooth_mm() Returns double The minimum feed per tooth value in millimeters. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class FixedFeedPerCycleOptLimit Namespace Hi.NcOpt Assembly HiMech.dll Represents fixed feed-per-cycle optimization limits. Provides implementation for feed-per-cycle optimization with fixed minimum and maximum values. public class FixedFeedPerCycleOptLimit : IFeedPerToothOptLimit, IMakeXmlSource, IDuplicate, IClearCache, IToXElement Inheritance object FixedFeedPerCycleOptLimit Implements IFeedPerToothOptLimit IMakeXmlSource IDuplicate IClearCache IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors FixedFeedPerCycleOptLimit(Func, double) Initializes a new instance of the FixedFeedPerCycleOptLimit class with specified parameters. public FixedFeedPerCycleOptLimit(Func fluteNumFunc, double maxFeedPerCycle_mm) Parameters fluteNumFunc Func Function that returns the number of flutes maxFeedPerCycle_mm double Maximum feed per cycle in millimeters FixedFeedPerCycleOptLimit(XElement, string, MillingCutter) Ctor. public FixedFeedPerCycleOptLimit(XElement src, string baseDirectory, MillingCutter cutter) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths cutter MillingCutter The milling cutter to use for flute number calculation Properties FluteNum Gets the number of flutes. public int FluteNum { get; } Property Value int MaxFeedPerCycle_mm Gets or sets the maximum feed per cycle value in millimeters. public double MaxFeedPerCycle_mm { get; set; } Property Value double MinFeedPerCycle_mm Gets or sets the minimum feed per cycle value in millimeters. public double MinFeedPerCycle_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object GetMaxFeedPerTooth_mm() Gets the maximum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MaxFeedPerTooth_mm, The smaller value will be applied in the optimization process. public double GetMaxFeedPerTooth_mm() Returns double The maximum feed per tooth value in millimeters. GetMinFeedPerTooth_mm() Gets the minimum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MinFeedPerTooth_mm, The larger value will be applied in the optimization process. public double GetMinFeedPerTooth_mm() Returns double The minimum feed per tooth value in millimeters. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.NcOpt.FixedFeedPerToothOptLimit.html": { "href": "api/Hi.NcOpt.FixedFeedPerToothOptLimit.html", "title": "Class FixedFeedPerToothOptLimit | HiAPI-C# 2025", - "summary": "Class FixedFeedPerToothOptLimit Namespace Hi.NcOpt Assembly HiMech.dll Represents fixed feed-per-tooth optimization limits. Provides implementation for feed-per-tooth optimization with fixed minimum and maximum values. public class FixedFeedPerToothOptLimit : IFeedPerToothOptLimit, IMakeXmlSource, IDuplicate, IToXElement Inheritance object FixedFeedPerToothOptLimit Implements IFeedPerToothOptLimit IMakeXmlSource IDuplicate IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors FixedFeedPerToothOptLimit() Ctor. public FixedFeedPerToothOptLimit() FixedFeedPerToothOptLimit(XElement, string) Initializes a new instance of the FixedFeedPerToothOptLimit class. public FixedFeedPerToothOptLimit(XElement element, string baseDirectory) Parameters element XElement The XML element containing optimization limit data. baseDirectory string The base directory for resolving relative paths. Properties MaxFeedPerTooth_mm Gets or sets the maximum feed per tooth value in millimeters. public double MaxFeedPerTooth_mm { get; set; } Property Value double MinFeedPerTooth_mm Gets or sets the minimum feed per tooth value in millimeters. public double MinFeedPerTooth_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object GetMaxFeedPerTooth_mm() Gets the maximum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MaxFeedPerTooth_mm, The smaller value will be applied in the optimization process. public double GetMaxFeedPerTooth_mm() Returns double The maximum feed per tooth value in millimeters. GetMinFeedPerTooth_mm() Gets the minimum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MinFeedPerTooth_mm, The larger value will be applied in the optimization process. public double GetMinFeedPerTooth_mm() Returns double The minimum feed per tooth value in millimeters. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class FixedFeedPerToothOptLimit Namespace Hi.NcOpt Assembly HiMech.dll Represents fixed feed-per-tooth optimization limits. Provides implementation for feed-per-tooth optimization with fixed minimum and maximum values. public class FixedFeedPerToothOptLimit : IFeedPerToothOptLimit, IMakeXmlSource, IDuplicate, IToXElement Inheritance object FixedFeedPerToothOptLimit Implements IFeedPerToothOptLimit IMakeXmlSource IDuplicate IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors FixedFeedPerToothOptLimit() Ctor. public FixedFeedPerToothOptLimit() FixedFeedPerToothOptLimit(XElement, string) Initializes a new instance of the FixedFeedPerToothOptLimit class. public FixedFeedPerToothOptLimit(XElement element, string baseDirectory) Parameters element XElement The XML element containing optimization limit data. baseDirectory string The base directory for resolving relative paths. Properties MaxFeedPerTooth_mm Gets or sets the maximum feed per tooth value in millimeters. public double MaxFeedPerTooth_mm { get; set; } Property Value double MinFeedPerTooth_mm Gets or sets the minimum feed per tooth value in millimeters. public double MinFeedPerTooth_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object GetMaxFeedPerTooth_mm() Gets the maximum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MaxFeedPerTooth_mm, The smaller value will be applied in the optimization process. public double GetMaxFeedPerTooth_mm() Returns double The maximum feed per tooth value in millimeters. GetMinFeedPerTooth_mm() Gets the minimum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MinFeedPerTooth_mm, The larger value will be applied in the optimization process. public double GetMinFeedPerTooth_mm() Returns double The minimum feed per tooth value in millimeters. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.NcOpt.ICutterOptLimitHost.html": { "href": "api/Hi.NcOpt.ICutterOptLimitHost.html", @@ -3487,17 +3487,17 @@ "api/Hi.NcOpt.MillingCutterOptOption.html": { "href": "api/Hi.NcOpt.MillingCutterOptOption.html", "title": "Class MillingCutterOptOption | HiAPI-C# 2025", - "summary": "Class MillingCutterOptOption Namespace Hi.NcOpt Assembly HiMech.dll Represents NC optimization option for milling cutters. public class MillingCutterOptOption : ICutterOptOption, IFeedPerToothOptLimit, IMakeXmlSource, IDuplicate, IClearCache, IToXElement Inheritance object MillingCutterOptOption Implements ICutterOptOption IFeedPerToothOptLimit IMakeXmlSource IDuplicate IClearCache IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MillingCutterOptOption() Ctor with null properties. public MillingCutterOptOption() MillingCutterOptOption(XElement, string, string, MillingCutter) Initializes a new instance of the MillingCutterOptOption class from XML. public MillingCutterOptOption(XElement src, string baseDirectory, string relFile, MillingCutter cutter) Parameters src XElement XML element source. baseDirectory string Base directory. relFile string Relative file path. cutter MillingCutter Milling cutter. Properties EnableLimitByMinimumUncutChipThickness Gets or sets whether to limit feedrate by minimum uncut chip thickness. It is a lower bound limit. public bool EnableLimitByMinimumUncutChipThickness { get; set; } Property Value bool EnableLimitByReliefAngle Gets or sets whether to limit feedrate by relief angle collision. It is a upper bound limit. public bool EnableLimitByReliefAngle { get; set; } Property Value bool EnableOpt Gets or sets whether optimization is enabled. public bool EnableOpt { get; set; } Property Value bool MaxFeedPerTooth_mm Gets or sets the maximum feed per tooth in millimeters. Gets the maximum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MaxFeedPerTooth_mm, The smaller value will be applied in the optimization process. public double MaxFeedPerTooth_mm { get; set; } Property Value double MinFeedPerTooth_mm Gets or sets the minimum feed per tooth in millimeters. Gets the minimum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MinFeedPerTooth_mm, The larger value will be applied in the optimization process. public double MinFeedPerTooth_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string YieldingSafetyFactor Gets or sets the safety factor for yielding. By the principle of conservation, if the value is different from the NcOptOption.YieldingSafetyFactor, The larger value will be applied in the optimization process. public double YieldingSafetyFactor { get; set; } Property Value double YieldingUtilizationFactor Gets or sets the utilization factor for yielding. It is the reciprocal of YieldingSafetyFactor. public double YieldingUtilizationFactor { get; set; } Property Value double Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object Remarks res[0] has to be ICutter. GetMaxFeedPerTooth_mm() Gets the maximum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MaxFeedPerTooth_mm, The smaller value will be applied in the optimization process. public double GetMaxFeedPerTooth_mm() Returns double The maximum feed per tooth value in millimeters. GetMinFeedPerTooth_mm() Gets the minimum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MinFeedPerTooth_mm, The larger value will be applied in the optimization process. public double GetMinFeedPerTooth_mm() Returns double The minimum feed per tooth value in millimeters. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class MillingCutterOptOption Namespace Hi.NcOpt Assembly HiMech.dll Represents NC optimization option for milling cutters. public class MillingCutterOptOption : ICutterOptOption, IFeedPerToothOptLimit, IMakeXmlSource, IDuplicate, IClearCache, IToXElement Inheritance object MillingCutterOptOption Implements ICutterOptOption IFeedPerToothOptLimit IMakeXmlSource IDuplicate IClearCache IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MillingCutterOptOption() Ctor with null properties. public MillingCutterOptOption() MillingCutterOptOption(XElement, string, string, MillingCutter) Initializes a new instance of the MillingCutterOptOption class from XML. public MillingCutterOptOption(XElement src, string baseDirectory, string relFile, MillingCutter cutter) Parameters src XElement XML element source. baseDirectory string Base directory. relFile string Relative file path. cutter MillingCutter Milling cutter. Properties EnableLimitByMinimumUncutChipThickness Gets or sets whether to limit feedrate by minimum uncut chip thickness. It is a lower bound limit. public bool EnableLimitByMinimumUncutChipThickness { get; set; } Property Value bool EnableLimitByReliefAngle Gets or sets whether to limit feedrate by relief angle collision. It is a upper bound limit. public bool EnableLimitByReliefAngle { get; set; } Property Value bool EnableOpt Gets or sets whether optimization is enabled. public bool EnableOpt { get; set; } Property Value bool MaxFeedPerTooth_mm Gets or sets the maximum feed per tooth in millimeters. Gets the maximum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MaxFeedPerTooth_mm, The smaller value will be applied in the optimization process. public double MaxFeedPerTooth_mm { get; set; } Property Value double MinFeedPerTooth_mm Gets or sets the minimum feed per tooth in millimeters. Gets the minimum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MinFeedPerTooth_mm, The larger value will be applied in the optimization process. public double MinFeedPerTooth_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string YieldingSafetyFactor Gets or sets the safety factor for yielding. By the principle of conservation, if the value is different from the NcOptOption.YieldingSafetyFactor, The larger value will be applied in the optimization process. public double YieldingSafetyFactor { get; set; } Property Value double YieldingUtilizationFactor Gets or sets the utilization factor for yielding. It is the reciprocal of YieldingSafetyFactor. public double YieldingUtilizationFactor { get; set; } Property Value double Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object Remarks res[0] has to be ICutter. GetMaxFeedPerTooth_mm() Gets the maximum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MaxFeedPerTooth_mm, The smaller value will be applied in the optimization process. public double GetMaxFeedPerTooth_mm() Returns double The maximum feed per tooth value in millimeters. GetMinFeedPerTooth_mm() Gets the minimum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MinFeedPerTooth_mm, The larger value will be applied in the optimization process. public double GetMinFeedPerTooth_mm() Returns double The minimum feed per tooth value in millimeters. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.NcOpt.NcOptOption.html": { "href": "api/Hi.NcOpt.NcOptOption.html", "title": "Class NcOptOption | HiAPI-C# 2025", - "summary": "Class NcOptOption Namespace Hi.NcOpt Assembly HiMech.dll Represents the optimization options for NC operations. public class NcOptOption : IMakeXmlSource, IEquatable, IToXElement Inheritance object NcOptOption Implements IMakeXmlSource IEquatable IToXElement Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors NcOptOption() Ctor. public NcOptOption() NcOptOption(NcOptOption) Copy Ctor. public NcOptOption(NcOptOption src) Parameters src NcOptOption src NcOptOption(XElement) Initializes a new instance of the NcOptOption class from XML. public NcOptOption(XElement src) Parameters src XElement The XML element containing the option data. Properties CompensationMask Internal Use Only. Gets or sets the compensation mask for axis compensation. public int CompensationMask { get; set; } Property Value int EnableDepthCompensation Gets or sets whether depth compensation is enabled. public bool EnableDepthCompensation { get; set; } Property Value bool EnableDepthSplition Enables or disables depth splitting optimization. public bool EnableDepthSplition { get; set; } Property Value bool EnableForwardCompensation Gets or sets whether forward compensation is enabled. public bool EnableForwardCompensation { get; set; } Property Value bool EnableInterpolation Enables or disables interpolation. public bool EnableInterpolation { get; set; } Property Value bool EnableOpt Enables or disables the optimization process. public bool EnableOpt { get; set; } Property Value bool EnableOptFeedrate Enables or disables feedrate optimization. public bool EnableOptFeedrate { get; set; } Property Value bool EnableSideCompensation Gets or sets whether side compensation is enabled. public bool EnableSideCompensation { get; set; } Property Value bool ExtendedPostDistance_mm Gets or sets the extended post-distance in millimeters. public double ExtendedPostDistance_mm { get; set; } Property Value double ExtendedPreDistance_mm Gets or sets the extended pre-distance in millimeters. public double ExtendedPreDistance_mm { get; set; } Property Value double FeedrateAssignmentRatio The option takes effect if EnableInterpolation is true. If the feedrate changing exceeds this ratio, the Feedrate in the NC line will be updated. public double FeedrateAssignmentRatio { get; set; } Property Value double IsPreferFuncIndexDictionaryCalled Internal Use Only. public bool IsPreferFuncIndexDictionaryCalled { get; } Property Value bool MaxAcceleration_mmds2 Gets or sets the maximum acceleration in millimeters per second squared. The typical CNC lathe or machining center has an acceleration of 0.2g (2 m/sec2). High speed machines have accelerations up to 2g (20 m/sec2). An arbitrary value 10mm/s2 is chosen for initial value. Note: 600mm/min=10mm/s. public double MaxAcceleration_mmds2 { get; set; } Property Value double MaxFeedPerTooth_mm Gets or sets the maximum feed per tooth in millimeters. By the principle of conservation, if the value is different from the IFeedPerToothOptLimit.GetMaxFeedPerTooth_mm(), The smaller value will be applied in the optimization process. public double MaxFeedPerTooth_mm { get; set; } Property Value double MaxFeedrate_mmdmin Gets or sets the maximum feedrate in millimeters per minute. public double MaxFeedrate_mmdmin { get; set; } Property Value double MaxFeedrate_mmds Gets or sets the maximum feedrate in millimeters per second. public double MaxFeedrate_mmds { get; set; } Property Value double MaxJerk_mmds3 Gets or sets the maximum jerk in millimeters per second cubed. public double MaxJerk_mmds3 { get; set; } Property Value double MaxSpindlePowerSafetyFactor Gets or sets the safety factor for spindle power. public double MaxSpindlePowerSafetyFactor { get; set; } Property Value double MaxSpindlePowerUtilizationFactor Gets or sets the utilization factor for spindle power. It is the reciprocal of MaxSpindlePowerSafetyFactor. public double MaxSpindlePowerUtilizationFactor { get; set; } Property Value double MaxSpindleTorqueSafetyFactor Gets or sets the safety factor for spindle torque. public double MaxSpindleTorqueSafetyFactor { get; set; } Property Value double MaxSpindleTorqueUtilizationFactor Gets or sets the utilization factor for spindle torque. It is the reciprocal of MaxSpindleTorqueSafetyFactor. public double MaxSpindleTorqueUtilizationFactor { get; set; } Property Value double MinFeedPerTooth_mm Gets or sets the minimum feed per tooth in millimeters. By the principle of conservation, if the value is different from the IFeedPerToothOptLimit.GetMinFeedPerTooth_mm(), The larger value will be applied in the optimization process. public double MinFeedPerTooth_mm { get; set; } Property Value double MinFeedrate_mmdmin Gets or sets the minimum feedrate in millimeters per minute. public double MinFeedrate_mmdmin { get; set; } Property Value double MinFeedrate_mmds Gets or sets the minimum feedrate in millimeters per second. The principle of conversation is applied for feedrate setting (MinFeedrate_mmds and MaxFeedrate_mmds) and feed per tooth setting (MinFeedPerTooth_mm and MaxFeedPerTooth_mm). If feed per tooth setting is not in the range of feedrate setting, The feedrate setting takes priority. public double MinFeedrate_mmds { get; set; } Property Value double PreferedForce_N Gets or sets the preferred force in Newtons. public double PreferedForce_N { get; set; } Property Value double RapidFeed_mmdmin Gets or sets the rapid feed rate in millimeters per minute. public double RapidFeed_mmdmin { get; set; } Property Value double RapidFeed_mmds Gets or sets the rapid feed rate in millimeters per second. public double RapidFeed_mmds { get; set; } Property Value double ThermalYieldSafetyFactor Gets or sets the safety factor for cutter thermal yield. public double ThermalYieldSafetyFactor { get; set; } Property Value double ThermalYieldUtilizationFactor Gets or sets the safety bound for cutter thermal yield. It is the reciprocal of ThermalYieldSafetyFactor. public double ThermalYieldUtilizationFactor { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string YieldingSafetyFactor Gets or sets the safety factor for yielding. By the principle of conservation, if the value is different from the MillingCutterOptOption.YieldingSafetyFactor, The larger value will be applied in the optimization process. public double YieldingSafetyFactor { get; set; } Property Value double YieldingUtilizationFactor Gets or sets the utilization factor for yielding. It is the reciprocal of YieldingSafetyFactor. public double YieldingUtilizationFactor { get; set; } Property Value double Methods CallPreferFuncIndexDictionary() Calls and returns the prefer function index dictionary, initializing it if it is null. public Dictionary, double> CallPreferFuncIndexDictionary() Returns Dictionary, double> The prefer function index dictionary. Duplicate() Creates a new instance of NcOptOption by duplicating the current instance. public NcOptOption Duplicate() Returns NcOptOption A new NcOptOption instance with the same values as the current instance. Equals(NcOptOption) Indicates whether the current object is equal to another object of the same type. public bool Equals(NcOptOption other) Parameters other NcOptOption An object to compare with this object. Returns bool true if the current object is equal to the other parameter; otherwise, false. Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class NcOptOption Namespace Hi.NcOpt Assembly HiMech.dll Represents the optimization options for NC operations. public class NcOptOption : IMakeXmlSource, IEquatable, IToXElement Inheritance object NcOptOption Implements IMakeXmlSource IEquatable IToXElement Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors NcOptOption() Ctor. public NcOptOption() NcOptOption(NcOptOption) Copy Ctor. public NcOptOption(NcOptOption src) Parameters src NcOptOption src NcOptOption(XElement) Initializes a new instance of the NcOptOption class from XML. public NcOptOption(XElement src) Parameters src XElement The XML element containing the option data. Properties CompensationMask Internal Use Only. Gets or sets the compensation mask for axis compensation. public int CompensationMask { get; set; } Property Value int EnableDepthCompensation Gets or sets whether depth compensation is enabled. public bool EnableDepthCompensation { get; set; } Property Value bool EnableDepthSplition Enables or disables depth splitting optimization. public bool EnableDepthSplition { get; set; } Property Value bool EnableForwardCompensation Gets or sets whether forward compensation is enabled. public bool EnableForwardCompensation { get; set; } Property Value bool EnableInterpolation Enables or disables interpolation. public bool EnableInterpolation { get; set; } Property Value bool EnableOpt Enables or disables the optimization process. public bool EnableOpt { get; set; } Property Value bool EnableOptFeedrate Enables or disables feedrate optimization. public bool EnableOptFeedrate { get; set; } Property Value bool EnableSideCompensation Gets or sets whether side compensation is enabled. public bool EnableSideCompensation { get; set; } Property Value bool ExtendedPostDistance_mm Gets or sets the extended post-distance in millimeters. public double ExtendedPostDistance_mm { get; set; } Property Value double ExtendedPreDistance_mm Gets or sets the extended pre-distance in millimeters. public double ExtendedPreDistance_mm { get; set; } Property Value double FeedrateAssignmentRatio The option takes effect if EnableInterpolation is true. If the feedrate changing exceeds this ratio, the Feedrate in the NC line will be updated. public double FeedrateAssignmentRatio { get; set; } Property Value double IsPreferFuncIndexDictionaryCalled Internal Use Only. public bool IsPreferFuncIndexDictionaryCalled { get; } Property Value bool MaxAcceleration_mmds2 Gets or sets the maximum acceleration in millimeters per second squared. The typical CNC lathe or machining center has an acceleration of 0.2g (2 m/sec2). High speed machines have accelerations up to 2g (20 m/sec2). An arbitrary value 10mm/s2 is chosen for initial value. Note: 600mm/min=10mm/s. public double MaxAcceleration_mmds2 { get; set; } Property Value double MaxFeedPerTooth_mm Gets or sets the maximum feed per tooth in millimeters. By the principle of conservation, if the value is different from the IFeedPerToothOptLimit.GetMaxFeedPerTooth_mm(), The smaller value will be applied in the optimization process. public double MaxFeedPerTooth_mm { get; set; } Property Value double MaxFeedrate_mmdmin Gets or sets the maximum feedrate in millimeters per minute. public double MaxFeedrate_mmdmin { get; set; } Property Value double MaxFeedrate_mmds Gets or sets the maximum feedrate in millimeters per second. public double MaxFeedrate_mmds { get; set; } Property Value double MaxJerk_mmds3 Gets or sets the maximum jerk in millimeters per second cubed. public double MaxJerk_mmds3 { get; set; } Property Value double MaxSpindlePowerSafetyFactor Gets or sets the safety factor for spindle power. public double MaxSpindlePowerSafetyFactor { get; set; } Property Value double MaxSpindlePowerUtilizationFactor Gets or sets the utilization factor for spindle power. It is the reciprocal of MaxSpindlePowerSafetyFactor. public double MaxSpindlePowerUtilizationFactor { get; set; } Property Value double MaxSpindleTorqueSafetyFactor Gets or sets the safety factor for spindle torque. public double MaxSpindleTorqueSafetyFactor { get; set; } Property Value double MaxSpindleTorqueUtilizationFactor Gets or sets the utilization factor for spindle torque. It is the reciprocal of MaxSpindleTorqueSafetyFactor. public double MaxSpindleTorqueUtilizationFactor { get; set; } Property Value double MinFeedPerTooth_mm Gets or sets the minimum feed per tooth in millimeters. By the principle of conservation, if the value is different from the IFeedPerToothOptLimit.GetMinFeedPerTooth_mm(), The larger value will be applied in the optimization process. public double MinFeedPerTooth_mm { get; set; } Property Value double MinFeedrate_mmdmin Gets or sets the minimum feedrate in millimeters per minute. public double MinFeedrate_mmdmin { get; set; } Property Value double MinFeedrate_mmds Gets or sets the minimum feedrate in millimeters per second. The principle of conversation is applied for feedrate setting (MinFeedrate_mmds and MaxFeedrate_mmds) and feed per tooth setting (MinFeedPerTooth_mm and MaxFeedPerTooth_mm). If feed per tooth setting is not in the range of feedrate setting, The feedrate setting takes priority. public double MinFeedrate_mmds { get; set; } Property Value double PreferedForce_N Gets or sets the preferred force in Newtons. public double PreferedForce_N { get; set; } Property Value double RapidFeed_mmdmin Gets or sets the rapid feed rate in millimeters per minute. public double RapidFeed_mmdmin { get; set; } Property Value double RapidFeed_mmds Gets or sets the rapid feed rate in millimeters per second. public double RapidFeed_mmds { get; set; } Property Value double ThermalYieldSafetyFactor Gets or sets the safety factor for cutter thermal yield. public double ThermalYieldSafetyFactor { get; set; } Property Value double ThermalYieldUtilizationFactor Gets or sets the safety bound for cutter thermal yield. It is the reciprocal of ThermalYieldSafetyFactor. public double ThermalYieldUtilizationFactor { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string YieldingSafetyFactor Gets or sets the safety factor for yielding. By the principle of conservation, if the value is different from the MillingCutterOptOption.YieldingSafetyFactor, The larger value will be applied in the optimization process. public double YieldingSafetyFactor { get; set; } Property Value double YieldingUtilizationFactor Gets or sets the utilization factor for yielding. It is the reciprocal of YieldingSafetyFactor. public double YieldingUtilizationFactor { get; set; } Property Value double Methods CallPreferFuncIndexDictionary() Calls and returns the prefer function index dictionary, initializing it if it is null. public Dictionary, double> CallPreferFuncIndexDictionary() Returns Dictionary, double> The prefer function index dictionary. Duplicate() Creates a new instance of NcOptOption by duplicating the current instance. public NcOptOption Duplicate() Returns NcOptOption A new NcOptOption instance with the same values as the current instance. Equals(NcOptOption) Indicates whether the current object is equal to another object of the same type. public bool Equals(NcOptOption other) Parameters other NcOptOption An object to compare with this object. Returns bool true if the current object is equal to the other parameter; otherwise, false. Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.NcOpt.NcOptProc.html": { "href": "api/Hi.NcOpt.NcOptProc.html", "title": "Class NcOptProc | HiAPI-C# 2025", - "summary": "Class NcOptProc Namespace Hi.NcOpt Assembly HiNc.dll Provides functionality for optimizing NC programs by modifying feed rates and tool paths. public class NcOptProc : IMakeXmlSource Inheritance object NcOptProc Implements IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors NcOptProc(SequentialBulkReader) Ctor. public NcOptProc(SequentialBulkReader millingStepLuggageReader) Parameters millingStepLuggageReader SequentialBulkReader NcOptProc(XElement, string, SequentialBulkReader) Ctor. public NcOptProc(XElement src, string baseDirectory, SequentialBulkReader millingStepLuggageReader) Parameters src XElement XML baseDirectory string Base directory path millingStepLuggageReader SequentialBulkReader Milling step luggage reader Properties CoreNum Parallel computation thread num. 0 is special number to use all cores. public static int CoreNum { get; set; } Property Value int EmbeddedLogMode Gets or sets the embedded log mode for NC optimization. public static NcOptimizationEmbeddedLogMode EmbeddedLogMode { get; set; } Property Value NcOptimizationEmbeddedLogMode EnableIndividualStepAdjustmentLog Enable create log file for building individual NcOptProc.StepAdjustment process. public static bool EnableIndividualStepAdjustmentLog { get; set; } Property Value bool XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Optimize(ICuttingPara, MachiningSession, LinkedList, HardNcEnv, List, MachiningToolHouse, IProgress, CancellationToken, string, string) Optimizes NC lines based on cutting parameters and milling steps. public IEnumerable<(HardNcLine SrcNcLine, HardNcLine OptNcLine)> Optimize(ICuttingPara millingPara, MachiningSession machiningSession, LinkedList srcNcLines, HardNcEnv ncEnv, List machiningSteps, MachiningToolHouse millingToolHouse, IProgress progress, 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 HardNcEnv The NC environment settings. machiningSteps List The list of milling steps. millingToolHouse MachiningToolHouse The machining tool house. progress IProgress The message host for logging. cancellationToken CancellationToken Cancellation token to cancel the operation. baseDirectory string The base directory for file operations. relFileTemplate string The relative file template for output. Returns IEnumerable<(HardNcLine SrcNcLine, HardNcLine OptNcLine)> Enumerable of source and optimized NC line pairs. OptimizeToFiles(ICuttingPara, MachiningSession, LinkedList, HardNcEnv, MachiningToolHouse, ClStrip, string, IProgress, CancellationToken, string) Optimizes NC lines and writes the results to files. public void OptimizeToFiles(ICuttingPara millingPara, MachiningSession machiningSession, LinkedList ncLines, HardNcEnv ncEnv, MachiningToolHouse millingToolHouse, ClStrip clStrip, string baseDirectory, IProgress progress, 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 HardNcEnv The NC environment settings millingToolHouse MachiningToolHouse The machining tool house clStrip ClStrip The cutter location strip baseDirectory string The base directory for output files progress IProgress The message host for logging cancellationToken CancellationToken Cancellation token to cancel the operation relFileTemplate string The relative file template for output files" + "summary": "Class NcOptProc Namespace Hi.NcOpt Assembly HiNc.dll Provides functionality for optimizing NC programs by modifying feed rates and tool paths. public class NcOptProc : IMakeXmlSource Inheritance object NcOptProc Implements IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors NcOptProc(SequentialBulkReader) Ctor. public NcOptProc(SequentialBulkReader millingStepLuggageReader) Parameters millingStepLuggageReader SequentialBulkReader NcOptProc(XElement, string, SequentialBulkReader) Ctor. public NcOptProc(XElement src, string baseDirectory, SequentialBulkReader millingStepLuggageReader) Parameters src XElement XML baseDirectory string Base directory path millingStepLuggageReader SequentialBulkReader Milling step luggage reader Properties CoreNum Parallel computation thread num. 0 is special number to use all cores. public static int CoreNum { get; set; } Property Value int EmbeddedLogMode Gets or sets the embedded log mode for NC optimization. public static NcOptimizationEmbeddedLogMode EmbeddedLogMode { get; set; } Property Value NcOptimizationEmbeddedLogMode EnableIndividualStepAdjustmentLog Enable create log file for building individual NcOptProc.StepAdjustment process. public static bool EnableIndividualStepAdjustmentLog { get; set; } Property Value bool XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Optimize(ICuttingPara, MachiningSession, LinkedList, HardNcEnv, List, MachiningToolHouse, IProgress, CancellationToken, string, string) Optimizes NC lines based on cutting parameters and milling steps. public IEnumerable<(HardNcLine SrcNcLine, HardNcLine OptNcLine)> Optimize(ICuttingPara millingPara, MachiningSession machiningSession, LinkedList srcNcLines, HardNcEnv ncEnv, List machiningSteps, MachiningToolHouse millingToolHouse, IProgress progress, 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 HardNcEnv The NC environment settings. machiningSteps List The list of milling steps. millingToolHouse MachiningToolHouse The machining tool house. progress IProgress The message host for logging. cancellationToken CancellationToken Cancellation token to cancel the operation. baseDirectory string The base directory for file operations. relFileTemplate string The relative file template for output. Returns IEnumerable<(HardNcLine SrcNcLine, HardNcLine OptNcLine)> Enumerable of source and optimized NC line pairs. OptimizeToFiles(ICuttingPara, MachiningSession, LinkedList, HardNcEnv, MachiningToolHouse, ClStrip, string, IProgress, CancellationToken, string) Optimizes NC lines and writes the results to files. public void OptimizeToFiles(ICuttingPara millingPara, MachiningSession machiningSession, LinkedList ncLines, HardNcEnv ncEnv, MachiningToolHouse millingToolHouse, ClStrip clStrip, string baseDirectory, IProgress progress, 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 HardNcEnv The NC environment settings millingToolHouse MachiningToolHouse The machining tool house clStrip ClStrip The cutter location strip baseDirectory string The base directory for output files progress IProgress The message host for logging cancellationToken CancellationToken Cancellation token to cancel the operation relFileTemplate string The relative file template for output files Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcOpt.NcOptimizationEmbeddedLogMode.html": { "href": "api/Hi.NcOpt.NcOptimizationEmbeddedLogMode.html", @@ -3507,7 +3507,7 @@ "api/Hi.NcOpt.ShapeBasedCutterOptLimit.html": { "href": "api/Hi.NcOpt.ShapeBasedCutterOptLimit.html", "title": "Class ShapeBasedCutterOptLimit | HiAPI-C# 2025", - "summary": "Class ShapeBasedCutterOptLimit Namespace Hi.NcOpt Assembly HiMech.dll Represents optimization limits based on cutter shape parameters. public class ShapeBasedCutterOptLimit : IFeedPerToothOptLimit, IMakeXmlSource, IDuplicate, IClearCache Inheritance object ShapeBasedCutterOptLimit Implements IFeedPerToothOptLimit IMakeXmlSource IDuplicate IClearCache Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ShapeBasedCutterOptLimit(MillingCutter) Initializes a new instance of the ShapeBasedCutterOptLimit class. public ShapeBasedCutterOptLimit(MillingCutter cutter) Parameters cutter MillingCutter The milling cutter. ShapeBasedCutterOptLimit(Func, Func, Func) Initializes a new instance of the ShapeBasedCutterOptLimit class. public ShapeBasedCutterOptLimit(Func fluteNumFunc, Func radiusFunc_mm, Func radialReliefAngleFunc_rad) Parameters fluteNumFunc Func Function to get the number of flutes radiusFunc_mm Func Function to get the radius in millimeters radialReliefAngleFunc_rad Func Function to get the radial relief angle in radians ShapeBasedCutterOptLimit(XElement, string, MillingCutter) Ctor. public ShapeBasedCutterOptLimit(XElement src, string baseDirectory, MillingCutter cutter) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths cutter MillingCutter The milling cutter to use for calculations Properties FluteNum Gets the number of flutes. public int FluteNum { get; } Property Value int FluteNumFunc Gets or sets the function to get the number of flutes. public Func FluteNumFunc { get; set; } Property Value Func MinFeedPerTooth_mm Gets or sets the minimum feed per tooth in millimeters. public double MinFeedPerTooth_mm { get; set; } Property Value double RadialReliefAngleFunc_rad Gets or sets the function to get the radial relief angle in radians. public Func RadialReliefAngleFunc_rad { get; set; } Property Value Func RadialReliefAngle_rad Gets or sets the radial relief angle in radians. public double RadialReliefAngle_rad { get; } Property Value double RadiusFunc_mm Gets or sets the function to get the radius in millimeters. public Func RadiusFunc_mm { get; set; } Property Value Func Radius_mm Gets or sets the radius in millimeters. public double Radius_mm { get; } Property Value double SafetyFactor Gets or sets the safety factor. public double SafetyFactor { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object GetMaxFeedPerTooth_mm() Gets the maximum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MaxFeedPerTooth_mm, The smaller value will be applied in the optimization process. public double GetMaxFeedPerTooth_mm() Returns double The maximum feed per tooth value in millimeters. GetMinFeedPerTooth_mm() Gets the minimum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MinFeedPerTooth_mm, The larger value will be applied in the optimization process. public double GetMinFeedPerTooth_mm() Returns double The minimum feed per tooth value in millimeters. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class ShapeBasedCutterOptLimit Namespace Hi.NcOpt Assembly HiMech.dll Represents optimization limits based on cutter shape parameters. public class ShapeBasedCutterOptLimit : IFeedPerToothOptLimit, IMakeXmlSource, IDuplicate, IClearCache Inheritance object ShapeBasedCutterOptLimit Implements IFeedPerToothOptLimit IMakeXmlSource IDuplicate IClearCache Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ShapeBasedCutterOptLimit(MillingCutter) Initializes a new instance of the ShapeBasedCutterOptLimit class. public ShapeBasedCutterOptLimit(MillingCutter cutter) Parameters cutter MillingCutter The milling cutter. ShapeBasedCutterOptLimit(Func, Func, Func) Initializes a new instance of the ShapeBasedCutterOptLimit class. public ShapeBasedCutterOptLimit(Func fluteNumFunc, Func radiusFunc_mm, Func radialReliefAngleFunc_rad) Parameters fluteNumFunc Func Function to get the number of flutes radiusFunc_mm Func Function to get the radius in millimeters radialReliefAngleFunc_rad Func Function to get the radial relief angle in radians ShapeBasedCutterOptLimit(XElement, string, MillingCutter) Ctor. public ShapeBasedCutterOptLimit(XElement src, string baseDirectory, MillingCutter cutter) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths cutter MillingCutter The milling cutter to use for calculations Properties FluteNum Gets the number of flutes. public int FluteNum { get; } Property Value int FluteNumFunc Gets or sets the function to get the number of flutes. public Func FluteNumFunc { get; set; } Property Value Func MinFeedPerTooth_mm Gets or sets the minimum feed per tooth in millimeters. public double MinFeedPerTooth_mm { get; set; } Property Value double RadialReliefAngleFunc_rad Gets or sets the function to get the radial relief angle in radians. public Func RadialReliefAngleFunc_rad { get; set; } Property Value Func RadialReliefAngle_rad Gets or sets the radial relief angle in radians. public double RadialReliefAngle_rad { get; } Property Value double RadiusFunc_mm Gets or sets the function to get the radius in millimeters. public Func RadiusFunc_mm { get; set; } Property Value Func Radius_mm Gets or sets the radius in millimeters. public double Radius_mm { get; } Property Value double SafetyFactor Gets or sets the safety factor. public double SafetyFactor { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods ClearCache() Clears any cached data held by the implementing object. public void ClearCache() Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object GetMaxFeedPerTooth_mm() Gets the maximum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MaxFeedPerTooth_mm, The smaller value will be applied in the optimization process. public double GetMaxFeedPerTooth_mm() Returns double The maximum feed per tooth value in millimeters. GetMinFeedPerTooth_mm() Gets the minimum feed per tooth value in millimeters. By the principle of conservation, if the value is different from the NcOptOption.MinFeedPerTooth_mm, The larger value will be applied in the optimization process. public double GetMinFeedPerTooth_mm() Returns double The minimum feed per tooth value in millimeters. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcOpt.html": { "href": "api/Hi.NcOpt.html", @@ -3522,7 +3522,7 @@ "api/Hi.NcParsers.Dependencys.CncBrandDependency.html": { "href": "api/Hi.NcParsers.Dependencys.CncBrandDependency.html", "title": "Class CncBrandDependency | HiAPI-C# 2025", - "summary": "Class CncBrandDependency Namespace Hi.NcParsers.Dependencys Assembly HiMech.dll Explicit CNC controller brand identifier carried in NcDependencyList. Use ncDependencyList.OfType().FirstOrDefault() to retrieve the brand. public class CncBrandDependency : INcDependency, IMakeXmlSource Inheritance object CncBrandDependency Implements INcDependency 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 CncBrandDependency(string) Creates a dependency with the given brand string. public CncBrandDependency(string brand) Parameters brand string Controller brand name (often one of the public const tokens on this type). CncBrandDependency(XElement) Deserializes brand from XML. public CncBrandDependency(XElement src) Parameters src XElement Root element named XName. Fields Fanuc Brand token used when the controller is Fanuc. public const string Fanuc = \"Fanuc\" Field Value string Heidenhain Brand token used when the controller is Heidenhain. public const string Heidenhain = \"Heidenhain\" Field Value string Mazak Brand token used when the controller is Mazak. public const string Mazak = \"Mazak\" Field Value string Siemens Brand token used when the controller is Siemens. public const string Siemens = \"Siemens\" Field Value string Syntec Brand token used when the controller is Syntec. public const string Syntec = \"Syntec\" Field Value string Properties Brand CNC controller brand name (e.g., “Fanuc”, “Siemens”). public string Brand { get; set; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class CncBrandDependency Namespace Hi.NcParsers.Dependencys Assembly HiMech.dll Explicit CNC controller brand identifier carried in NcDependencyList. Use ncDependencyList.OfType().FirstOrDefault() to retrieve the brand. public class CncBrandDependency : INcDependency, IMakeXmlSource Inheritance object CncBrandDependency Implements INcDependency 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 CncBrandDependency(string) Creates a dependency with the given brand string. public CncBrandDependency(string brand) Parameters brand string Controller brand name (often one of the public const tokens on this type). CncBrandDependency(XElement) Deserializes brand from XML. public CncBrandDependency(XElement src) Parameters src XElement Root element named XName. Fields Fanuc Brand token used when the controller is Fanuc. public const string Fanuc = \"Fanuc\" Field Value string Heidenhain Brand token used when the controller is Heidenhain. public const string Heidenhain = \"Heidenhain\" Field Value string Mazak Brand token used when the controller is Mazak. public const string Mazak = \"Mazak\" Field Value string Siemens Brand token used when the controller is Siemens. public const string Siemens = \"Siemens\" Field Value string Syntec Brand token used when the controller is Syntec. public const string Syntec = \"Syntec\" Field Value string Properties Brand CNC controller brand name (e.g., “Fanuc”, “Siemens”). public string Brand { get; set; } Property Value string XName XML element name for Generators registration. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.Dependencys.ControllerParameterTableBase.html": { "href": "api/Hi.NcParsers.Dependencys.ControllerParameterTableBase.html", @@ -3537,52 +3537,52 @@ "api/Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html": { "href": "api/Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html", "title": "Class FanucGotoIterationDependency | HiAPI-C# 2025", - "summary": "Class FanucGotoIterationDependency Namespace Hi.NcParsers.Dependencys.Fanuc Assembly HiMech.dll Watchdog for Fanuc Custom Macro B GOTO loops. Holds a MaxIterationsPerTarget limit (XML-persisted user config — the soft cap above which the upcoming FanucGotoSyntax stops firing and emits a warning) plus a runtime per-target hit counter (CountByTarget — not serialised, cleared at session start by RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken)). The dependency is syntax-managed: FanucGotoSyntax reads the limit, increments the counter, and decides whether to fire. There is no host Func provider — the dep is placed in Hi.NcParsers.Dependencys.Fanuc rather than Hi.NcParsers.Dependencys.SystemWired because nothing outside the syntax pipeline writes it; Reset() is a plain method call the runner invokes, not a host-wired Func. The counter key is (FileName, TargetN) where FileName is the source-level file path of the block containing the GOTO (the relative path form carried on FilePath — same form used by IndexedFileLine labels). Source-level keying means multiple inline invocations of the same subprogram pool their counts (they ARE the same source-code GOTO), while two different files with their own N100 stay isolated (they ARE different jumps). Default MaxIterationsPerTarget is 1000 — a runaway-loop guard, not a precise iteration budget. Legitimate macro loops (multi-hole drill matrices, calibration sweeps) sit well below this; truly infinite loops hit the limit fast. Projects with batch-style macros that legitimately need higher counts can raise the value in the project XML. public class FanucGotoIterationDependency : INcDependency, IMakeXmlSource Inheritance object FanucGotoIterationDependency Implements INcDependency 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 FanucGotoIterationDependency() Initializes a new instance with the default limit and an empty counter. public FanucGotoIterationDependency() FanucGotoIterationDependency(XElement) Loads MaxIterationsPerTarget from XML produced by MakeXmlSource(string, string, bool); absent element falls back to DefaultMaxIterationsPerTarget. public FanucGotoIterationDependency(XElement src) Parameters src XElement Root element named XName. Fields DefaultMaxIterationsPerTarget Default for MaxIterationsPerTarget. Sized as a runaway-loop guard: legitimate Fanuc macros (drill grids, calibration sweeps) stay well below, while truly unbounded loops hit it fast. public const int DefaultMaxIterationsPerTarget = 1000 Field Value int Properties CountByTarget Per-target hit counter keyed by (FileName, TargetN). Runtime-only; not serialised. Cleared by Reset() on the session-init edge so a brand-preset runner reused across sessions does not leak counts. public Dictionary<(string FileName, int TargetN), int> CountByTarget { get; } Property Value Dictionary<(string FileName, int TargetN), int> MaxIterationsPerTarget Soft cap on consecutive fires of any single GOTO target within one source file (see CountByTarget for the keying). Above this, the consuming syntax should emit a warning and suppress the redirect on the over-limit block; subsequent blocks flow through naturally. public int MaxIterationsPerTarget { get; set; } Property Value int XName XML element name used to register this dependency with XFactory. 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. Reset() Clears CountByTarget; leaves MaxIterationsPerTarget untouched. public void Reset()" + "summary": "Class FanucGotoIterationDependency Namespace Hi.NcParsers.Dependencys.Fanuc Assembly HiMech.dll Watchdog for Fanuc Custom Macro B GOTO loops. Holds a MaxIterationsPerTarget limit (XML-persisted user config — the soft cap above which the upcoming FanucGotoSyntax stops firing and emits a warning) plus a runtime per-target hit counter (CountByTarget — not serialised, cleared at session start by RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken)). The dependency is syntax-managed: FanucGotoSyntax reads the limit, increments the counter, and decides whether to fire. There is no host Func provider — the dep is placed in Hi.NcParsers.Dependencys.Fanuc rather than Hi.NcParsers.Dependencys.SystemWired because nothing outside the syntax pipeline writes it; Reset() is a plain method call the runner invokes, not a host-wired Func. The counter key is (FileName, TargetN) where FileName is the source-level file path of the block containing the GOTO (the relative path form carried on FilePath — same form used by IndexedFileLine labels). Source-level keying means multiple inline invocations of the same subprogram pool their counts (they ARE the same source-code GOTO), while two different files with their own N100 stay isolated (they ARE different jumps). Default MaxIterationsPerTarget is 1000 — a runaway-loop guard, not a precise iteration budget. Legitimate macro loops (multi-hole drill matrices, calibration sweeps) sit well below this; truly infinite loops hit the limit fast. Projects with batch-style macros that legitimately need higher counts can raise the value in the project XML. public class FanucGotoIterationDependency : INcDependency, IMakeXmlSource Inheritance object FanucGotoIterationDependency Implements INcDependency 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 FanucGotoIterationDependency() Initializes a new instance with the default limit and an empty counter. public FanucGotoIterationDependency() FanucGotoIterationDependency(XElement) Loads MaxIterationsPerTarget from XML produced by MakeXmlSource(string, string, bool); absent element falls back to DefaultMaxIterationsPerTarget. public FanucGotoIterationDependency(XElement src) Parameters src XElement Root element named XName. Fields DefaultMaxIterationsPerTarget Default for MaxIterationsPerTarget. Sized as a runaway-loop guard: legitimate Fanuc macros (drill grids, calibration sweeps) stay well below, while truly unbounded loops hit it fast. public const int DefaultMaxIterationsPerTarget = 1000 Field Value int Properties CountByTarget Per-target hit counter keyed by (FileName, TargetN). Runtime-only; not serialised. Cleared by Reset() on the session-init edge so a brand-preset runner reused across sessions does not leak counts. public Dictionary<(string FileName, int TargetN), int> CountByTarget { get; } Property Value Dictionary<(string FileName, int TargetN), int> MaxIterationsPerTarget Soft cap on consecutive fires of any single GOTO target within one source file (see CountByTarget for the keying). Above this, the consuming syntax should emit a warning and suppress the redirect on the over-limit block; subsequent blocks flow through naturally. public int MaxIterationsPerTarget { get; set; } Property Value int XName XML element name used to register this dependency with XFactory. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Reset() Clears CountByTarget; leaves MaxIterationsPerTarget untouched. public void Reset()" }, "api/Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.html": { "href": "api/Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.html", "title": "Class FanucParameterTable | HiAPI-C# 2025", - "summary": "Class FanucParameterTable Namespace Hi.NcParsers.Dependencys.Fanuc Assembly HiMech.dll Fanuc controller parameter table. Stores system parameters (single value) and axis parameters (per-axis value) following real Fanuc parameter numbering. public class FanucParameterTable : ControllerParameterTableBase, IHomeMcConfig, IMachineAxisConfig, IRapidFeedrateConfig, IStrokeLimitConfig, ICannedCycleConfig, IIsoCoordinateConfig, INcDependency, IMakeXmlSource, IVariableLookup Inheritance object ControllerParameterTableBase FanucParameterTable Implements IHomeMcConfig IMachineAxisConfig IRapidFeedrateConfig IStrokeLimitConfig ICannedCycleConfig IIsoCoordinateConfig INcDependency IMakeXmlSource IVariableLookup Inherited Members ControllerParameterTableBase.GetLinearAxisRapidRate_mmdmin(string) ControllerParameterTableBase.GetRotaryAxisRapidRate_degdmin(string) ControllerParameterTableBase.SetLinearAxisRapidRate_mmdmin(string, double) ControllerParameterTableBase.SetRotaryAxisRapidRate_degdmin(string, double) ControllerParameterTableBase.GetPositiveLimit(string) ControllerParameterTableBase.GetNegativeLimit(string) ControllerParameterTableBase.SetPositiveLimit(string, double) ControllerParameterTableBase.SetNegativeLimit(string, double) ControllerParameterTableBase.SystemParams ControllerParameterTableBase.AxisParams ControllerParameterTableBase.IntAxisParams ControllerParameterTableBase.AxisParam(int) ControllerParameterTableBase.IntAxisParam(int) ControllerParameterTableBase.GetHomePosition(string) ControllerParameterTableBase.SetHomePosition(string, double) ControllerParameterTableBase.AxisNames ControllerParameterTableBase.IsRotaryAxis(string) ControllerParameterTableBase.SetAxis(string, AxisType) ControllerParameterTableBase.RemoveAxis(string) ControllerParameterTableBase.ConfigureRotaryAxis(string, double, double) ControllerParameterTableBase.ReadXml(XElement) ControllerParameterTableBase.WriteXml(string) 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 FanucParameterTable() Initializes a new instance, seeding Param1020, Param3741, Param5003, and the ISO G54-G59/G54.1 P-table coordinate offsets with their default values. public FanucParameterTable() FanucParameterTable(XElement) Initializes a new instance by deserializing from src. public FanucParameterTable(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Fields CoordOffsetMax Inclusive upper bound of the G54-G59 work coordinate offset address range (#5328). public const int CoordOffsetMax = 5328 Field Value int CoordOffsetMin Inclusive lower bound of the G54-G59 work coordinate offset address range (#5221). public const int CoordOffsetMin = 5221 Field Value int ExtCoordOffsetMax Inclusive upper bound of the G54.1 P-table extended offset range (#7999). public const int ExtCoordOffsetMax = 7999 Field Value int ExtCoordOffsetMin Inclusive lower bound of the G54.1 P-table extended offset range (#7001). public const int ExtCoordOffsetMin = 7001 Field Value int ParamAxisType #1006: Axis type per axis. See AxisType. public const int ParamAxisType = 1006 Field Value int ParamControlledAxes #1020: Number of controlled axes. public const int ParamControlledAxes = 1020 Field Value int ParamCutterCompType #5003: Cutter compensation startup type. See CutterCompensationType. public const int ParamCutterCompType = 5003 Field Value int ParamG54OffsetBase #5221: Base address (X) of G54 work coordinate offset. G54.Y at +1 (#5222), G54.Z at +2 (#5223). G55..G59 follow at stride 20. See IsoCoordinateAddressMap. public const int ParamG54OffsetBase = 5221 Field Value int ParamG54p1P1OffsetBase #7001: Base address (X) of G54.1 P1 extended work coordinate offset. G54.1 P2..P48 follow at stride 20. See IsoCoordinateAddressMap. public const int ParamG54p1P1OffsetBase = 7001 Field Value int ParamMaxSpindleSpeed #3741: Maximum spindle speed (RPM). public const int ParamMaxSpindleSpeed = 3741 Field Value int ParamPeckRetraction #4002: G83 peck drilling retraction distance (mm). Fanuc stores this value in mm directly in the system parameter. public const int ParamPeckRetraction = 4002 Field Value int ParamRapidRate #1420: Rapid traverse rate per axis (mm/min or deg/min). public const int ParamRapidRate = 1420 Field Value int ParamReferencePosition #1240: G28 first reference position per axis. public const int ParamReferencePosition = 1240 Field Value int ParamStrokeLimitNeg #1320: Negative stroke limit per axis (mm or deg). public const int ParamStrokeLimitNeg = 1320 Field Value int ParamStrokeLimitPos #1300: Positive stroke limit per axis (mm or deg). public const int ParamStrokeLimitPos = 1300 Field Value int Properties AxisParam1006 #1006: Axis type per axis. See AxisType. See AxisNames. See IsRotaryAxis(string). See SetAxis(string, AxisType). public Dictionary AxisParam1006 { get; set; } Property Value Dictionary AxisParam1240 #1240: G28 first reference position per axis. See IHomeMcConfig. See GetHomePosition(string). See SetHomePosition(string, double). public Dictionary AxisParam1240 { get; set; } Property Value Dictionary AxisParam1420 #1420: Rapid traverse rate per axis (mm/min or deg/min). See IRapidFeedrateConfig. public Dictionary AxisParam1420 { get; set; } Property Value Dictionary AxisTypeParamId Parameter/MD/MP number for axis type (linear/rotary/spindle). protected override int AxisTypeParamId { get; } Property Value int ControlledAxisCount Number of controlled axes. Delegates to Param1020. public int ControlledAxisCount { get; set; } Property Value int CoordinateIds Enumerates the G-code coordinate ids that this provider currently has data for. public IEnumerable CoordinateIds { get; } Property Value IEnumerable CutterCompType Cutter compensation startup type. Delegates to Param5003. public CutterCompensationType CutterCompType { get; set; } Property Value CutterCompensationType Default3Axis Default 3-axis Fanuc milling machine. public static FanucParameterTable Default3Axis { get; } Property Value FanucParameterTable IdAttributeName XML attribute name for the parameter ID (“ParamId”, “MdId”, “MpId”). protected override string IdAttributeName { get; } Property Value string MaxSpindleSpeed_rpm Maximum spindle speed in RPM. Delegates to Param3741. public double MaxSpindleSpeed_rpm { get; set; } Property Value double Param1020 #1020: Number of controlled axes. See ControlledAxisCount. public int Param1020 { get; set; } Property Value int Param3741 #3741: Maximum spindle speed (RPM). See MaxSpindleSpeed_rpm. public double Param3741 { get; set; } Property Value double Param5003 #5003: Cutter compensation startup type. See CutterCompType. public CutterCompensationType Param5003 { get; set; } Property Value CutterCompensationType PeckRetractionDistance_mm G83 peck drilling clearance distance above the previous stroke bottom before re-entering at feed (mm). public double PeckRetractionDistance_mm { get; } Property Value double RapidRateParamId Parameter/MD/MP number for rapid traverse rate per axis. Null if not defined for this controller brand. protected override int? RapidRateParamId { get; } Property Value int? ReferencePositionParamId Parameter/MD/MP number for reference position (G28 home). protected override int ReferencePositionParamId { get; } Property Value int StrokeLimitNegParamId Parameter/MD/MP number for negative stroke limit per axis. Null if not defined for this controller brand. protected override int? StrokeLimitNegParamId { get; } Property Value int? StrokeLimitPosParamId Parameter/MD/MP number for positive stroke limit per axis. Null if not defined for this controller brand. protected override int? StrokeLimitPosParamId { get; } Property Value int? XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods Get(string) Returns the value of the variable identified by key (e.g. \"#124\"), or null if vacant or unknown to this lookup. public double? Get(string key) Parameters key string Returns double? Remarks Routes Fanuc system-variable reads to SystemParams: #5221-#5328 (G54-G59 work coordinate offsets) and #7001-#7999 (G54.1 P1-P48 extended offsets) are returned directly by parameter address. Other ranges return null so the evaluator's lookup chain can fall through. GetCoordinateOffset(string) Gets the offset for the given G-code coordinate id. Returns null when no offset is configured for that id by this provider (callers iterate the next provider, or fall back to Zero). public Vec3d GetCoordinateOffset(string coordId) Parameters coordId string Returns Vec3d MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public override 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. SetCoordinateOffset(string, Vec3d) Sets the offset for the given G-code coordinate id. public void SetCoordinateOffset(string coordId, Vec3d offset) Parameters coordId string offset Vec3d" + "summary": "Class FanucParameterTable Namespace Hi.NcParsers.Dependencys.Fanuc Assembly HiMech.dll Fanuc controller parameter table. Stores system parameters (single value) and axis parameters (per-axis value) following real Fanuc parameter numbering. public class FanucParameterTable : ControllerParameterTableBase, IHomeMcConfig, IMachineAxisConfig, IRapidFeedrateConfig, IStrokeLimitConfig, ICannedCycleConfig, IIsoCoordinateConfig, INcDependency, IMakeXmlSource, IVariableLookup Inheritance object ControllerParameterTableBase FanucParameterTable Implements IHomeMcConfig IMachineAxisConfig IRapidFeedrateConfig IStrokeLimitConfig ICannedCycleConfig IIsoCoordinateConfig INcDependency IMakeXmlSource IVariableLookup Inherited Members ControllerParameterTableBase.GetLinearAxisRapidRate_mmdmin(string) ControllerParameterTableBase.GetRotaryAxisRapidRate_degdmin(string) ControllerParameterTableBase.SetLinearAxisRapidRate_mmdmin(string, double) ControllerParameterTableBase.SetRotaryAxisRapidRate_degdmin(string, double) ControllerParameterTableBase.GetPositiveLimit(string) ControllerParameterTableBase.GetNegativeLimit(string) ControllerParameterTableBase.SetPositiveLimit(string, double) ControllerParameterTableBase.SetNegativeLimit(string, double) ControllerParameterTableBase.SystemParams ControllerParameterTableBase.AxisParams ControllerParameterTableBase.IntAxisParams ControllerParameterTableBase.AxisParam(int) ControllerParameterTableBase.IntAxisParam(int) ControllerParameterTableBase.GetHomePosition(string) ControllerParameterTableBase.SetHomePosition(string, double) ControllerParameterTableBase.AxisNames ControllerParameterTableBase.IsRotaryAxis(string) ControllerParameterTableBase.SetAxis(string, AxisType) ControllerParameterTableBase.RemoveAxis(string) ControllerParameterTableBase.ConfigureRotaryAxis(string, double, double) ControllerParameterTableBase.ReadXml(XElement) ControllerParameterTableBase.WriteXml(string) 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 FanucParameterTable() Initializes a new instance, seeding Param1020, Param3741, Param5003, and the ISO G54-G59/G54.1 P-table coordinate offsets with their default values. public FanucParameterTable() FanucParameterTable(XElement) Initializes a new instance by deserializing from src. public FanucParameterTable(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Fields CoordOffsetMax Inclusive upper bound of the G54-G59 work coordinate offset address range (#5328). public const int CoordOffsetMax = 5328 Field Value int CoordOffsetMin Inclusive lower bound of the G54-G59 work coordinate offset address range (#5221). public const int CoordOffsetMin = 5221 Field Value int ExtCoordOffsetMax Inclusive upper bound of the G54.1 P-table extended offset range (#7999). public const int ExtCoordOffsetMax = 7999 Field Value int ExtCoordOffsetMin Inclusive lower bound of the G54.1 P-table extended offset range (#7001). public const int ExtCoordOffsetMin = 7001 Field Value int ParamAxisType #1006: Axis type per axis. See AxisType. public const int ParamAxisType = 1006 Field Value int ParamControlledAxes #1020: Number of controlled axes. public const int ParamControlledAxes = 1020 Field Value int ParamCutterCompType #5003: Cutter compensation startup type. See CutterCompensationType. public const int ParamCutterCompType = 5003 Field Value int ParamG54OffsetBase #5221: Base address (X) of G54 work coordinate offset. G54.Y at +1 (#5222), G54.Z at +2 (#5223). G55..G59 follow at stride 20. See IsoCoordinateAddressMap. public const int ParamG54OffsetBase = 5221 Field Value int ParamG54p1P1OffsetBase #7001: Base address (X) of G54.1 P1 extended work coordinate offset. G54.1 P2..P48 follow at stride 20. See IsoCoordinateAddressMap. public const int ParamG54p1P1OffsetBase = 7001 Field Value int ParamMaxSpindleSpeed #3741: Maximum spindle speed (RPM). public const int ParamMaxSpindleSpeed = 3741 Field Value int ParamPeckRetraction #4002: G83 peck drilling retraction distance (mm). Fanuc stores this value in mm directly in the system parameter. public const int ParamPeckRetraction = 4002 Field Value int ParamRapidRate #1420: Rapid traverse rate per axis (mm/min or deg/min). public const int ParamRapidRate = 1420 Field Value int ParamReferencePosition #1240: G28 first reference position per axis. public const int ParamReferencePosition = 1240 Field Value int ParamStrokeLimitNeg #1320: Negative stroke limit per axis (mm or deg). public const int ParamStrokeLimitNeg = 1320 Field Value int ParamStrokeLimitPos #1300: Positive stroke limit per axis (mm or deg). public const int ParamStrokeLimitPos = 1300 Field Value int Properties AxisParam1006 #1006: Axis type per axis. See AxisType. See AxisNames. See IsRotaryAxis(string). See SetAxis(string, AxisType). public Dictionary AxisParam1006 { get; set; } Property Value Dictionary AxisParam1240 #1240: G28 first reference position per axis. See IHomeMcConfig. See GetHomePosition(string). See SetHomePosition(string, double). public Dictionary AxisParam1240 { get; set; } Property Value Dictionary AxisParam1420 #1420: Rapid traverse rate per axis (mm/min or deg/min). See IRapidFeedrateConfig. public Dictionary AxisParam1420 { get; set; } Property Value Dictionary AxisTypeParamId Parameter/MD/MP number for axis type (linear/rotary/spindle). protected override int AxisTypeParamId { get; } Property Value int ControlledAxisCount Number of controlled axes. Delegates to Param1020. public int ControlledAxisCount { get; set; } Property Value int CoordinateIds Enumerates the G-code coordinate ids that this provider currently has data for. public IEnumerable CoordinateIds { get; } Property Value IEnumerable CutterCompType Cutter compensation startup type. Delegates to Param5003. public CutterCompensationType CutterCompType { get; set; } Property Value CutterCompensationType Default3Axis Default 3-axis Fanuc milling machine. public static FanucParameterTable Default3Axis { get; } Property Value FanucParameterTable IdAttributeName XML attribute name for the parameter ID (“ParamId”, “MdId”, “MpId”). protected override string IdAttributeName { get; } Property Value string MaxSpindleSpeed_rpm Maximum spindle speed in RPM. Delegates to Param3741. public double MaxSpindleSpeed_rpm { get; set; } Property Value double Param1020 #1020: Number of controlled axes. See ControlledAxisCount. public int Param1020 { get; set; } Property Value int Param3741 #3741: Maximum spindle speed (RPM). See MaxSpindleSpeed_rpm. public double Param3741 { get; set; } Property Value double Param5003 #5003: Cutter compensation startup type. See CutterCompType. public CutterCompensationType Param5003 { get; set; } Property Value CutterCompensationType PeckRetractionDistance_mm G83 peck drilling clearance distance above the previous stroke bottom before re-entering at feed (mm). public double PeckRetractionDistance_mm { get; } Property Value double RapidRateParamId Parameter/MD/MP number for rapid traverse rate per axis. Null if not defined for this controller brand. protected override int? RapidRateParamId { get; } Property Value int? ReferencePositionParamId Parameter/MD/MP number for reference position (G28 home). protected override int ReferencePositionParamId { get; } Property Value int StrokeLimitNegParamId Parameter/MD/MP number for negative stroke limit per axis. Null if not defined for this controller brand. protected override int? StrokeLimitNegParamId { get; } Property Value int? StrokeLimitPosParamId Parameter/MD/MP number for positive stroke limit per axis. Null if not defined for this controller brand. protected override int? StrokeLimitPosParamId { get; } Property Value int? XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods Get(string) Returns the value of the variable identified by key (e.g. \"#124\"), or null if vacant or unknown to this lookup. public double? Get(string key) Parameters key string Returns double? Remarks Routes Fanuc system-variable reads to SystemParams: #5221-#5328 (G54-G59 work coordinate offsets) and #7001-#7999 (G54.1 P1-P48 extended offsets) are returned directly by parameter address. Other ranges return null so the evaluator's lookup chain can fall through. GetCoordinateOffset(string) Gets the offset for the given G-code coordinate id. Returns null when no offset is configured for that id by this provider (callers iterate the next provider, or fall back to Zero). public Vec3d GetCoordinateOffset(string coordId) Parameters coordId string Returns Vec3d MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public override 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetCoordinateOffset(string, Vec3d) Sets the offset for the given G-code coordinate id. public void SetCoordinateOffset(string coordId, Vec3d offset) Parameters coordId string offset Vec3d" }, "api/Hi.NcParsers.Dependencys.Fanuc.FanucPositionVariableLookup.html": { "href": "api/Hi.NcParsers.Dependencys.Fanuc.FanucPositionVariableLookup.html", "title": "Class FanucPositionVariableLookup | HiAPI-C# 2025", - "summary": "Class FanucPositionVariableLookup Namespace Hi.NcParsers.Dependencys.Fanuc Assembly HiMech.dll Fanuc-style position system variables read from the previous block's runtime-state JSON sections: #5001-#5003Block-end position X/Y/Z (workpiece) → previous block's ProgramXyz. #5021-#5023Current machine position X/Y/Z → previous block's MachineCoordinateState. #5041-#5043Current absolute position X/Y/Z → previous block's ProgramXyz. Stateless. Configured on RuntimeVariableLookups rather than NcDependencyList because the read needs the block node for Previous access — there is no long-lived dependency object that owns this data. public sealed class FanucPositionVariableLookup : IRuntimeVariableLookup, IMakeXmlSource Inheritance object FanucPositionVariableLookup Implements IRuntimeVariableLookup IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() 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 FanucPositionVariableLookup() Default constructor. public FanucPositionVariableLookup() FanucPositionVariableLookup(XElement) Loads from an XML element produced by MakeXmlSource(string, string, bool). Stateless — no fields to deserialise. public FanucPositionVariableLookup(XElement src) Parameters src XElement Fields AbsoluteXyzBase Inclusive lower bound of the absolute XYZ position range (#5041). public const int AbsoluteXyzBase = 5041 Field Value int BlockEndXyzBase Inclusive lower bound of the block-end XYZ position range (#5001). public const int BlockEndXyzBase = 5001 Field Value int MachineCoordXyzBase Inclusive lower bound of the machine-coordinate XYZ position range (#5021). public const int MachineCoordXyzBase = 5021 Field Value int Properties XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Get(string, LazyLinkedListNode, IReadOnlyList) Returns the value of the variable identified by key in the context of node and dependencies, or null if the key is outside this lookup's range or the value is vacant. public double? Get(string key, LazyLinkedListNode node, IReadOnlyList dependencies) Parameters key string node LazyLinkedListNode dependencies IReadOnlyList Returns double? MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FanucPositionVariableLookup Namespace Hi.NcParsers.Dependencys.Fanuc Assembly HiMech.dll Fanuc-style position system variables read from the previous block's runtime-state JSON sections: #5001-#5003Block-end position X/Y/Z (workpiece) → previous block's ProgramXyz. #5021-#5023Current machine position X/Y/Z → previous block's MachineCoordinateState. #5041-#5043Current absolute position X/Y/Z → previous block's ProgramXyz. Stateless. Configured on RuntimeVariableLookups rather than NcDependencyList because the read needs the block node for Previous access — there is no long-lived dependency object that owns this data. public sealed class FanucPositionVariableLookup : IRuntimeVariableLookup, IMakeXmlSource Inheritance object FanucPositionVariableLookup Implements IRuntimeVariableLookup IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() 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 FanucPositionVariableLookup() Default constructor. public FanucPositionVariableLookup() FanucPositionVariableLookup(XElement) Loads from an XML element produced by MakeXmlSource(string, string, bool). Stateless — no fields to deserialise. public FanucPositionVariableLookup(XElement src) Parameters src XElement Fields AbsoluteXyzBase Inclusive lower bound of the absolute XYZ position range (#5041). public const int AbsoluteXyzBase = 5041 Field Value int BlockEndXyzBase Inclusive lower bound of the block-end XYZ position range (#5001). public const int BlockEndXyzBase = 5001 Field Value int MachineCoordXyzBase Inclusive lower bound of the machine-coordinate XYZ position range (#5021). public const int MachineCoordXyzBase = 5021 Field Value int Properties XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Get(string, LazyLinkedListNode, IReadOnlyList) Returns the value of the variable identified by key in the context of node and dependencies, or null if the key is outside this lookup's range or the value is vacant. public double? Get(string key, LazyLinkedListNode node, IReadOnlyList dependencies) Parameters key string node LazyLinkedListNode dependencies IReadOnlyList Returns double? 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.Dependencys.Fanuc.FanucToolOffsetVariableLookup.html": { "href": "api/Hi.NcParsers.Dependencys.Fanuc.FanucToolOffsetVariableLookup.html", "title": "Class FanucToolOffsetVariableLookup | HiAPI-C# 2025", - "summary": "Class FanucToolOffsetVariableLookup Namespace Hi.NcParsers.Dependencys.Fanuc Assembly HiMech.dll Fanuc-side adapter that exposes a wrapped ToolOffsetTable (resolved at call time from the dependency list) as an IRuntimeVariableLookup following Fanuc Memory C tool offset addressing: #2001+N → effective height of offset N (geometry − wear). The underlying ToolOffsetTable stays brand-neutral — Heidenhain / Siemens can use the same storage with different addressing by registering their own adapter alongside the table. Stateless: holds no reference of its own and resolves the table from the per-call dependencies list, so XML round-trip is trivial (an empty element). Registered on a brand preset's VariableEvaluatorSyntax.RuntimeVariableLookups, not on NcDependencyList — the wrapper owns no long-lived data, only the Fanuc-style id addressing scheme. The underlying ToolOffsetTable still lives in NcDependencyList as the data dependency. public sealed class FanucToolOffsetVariableLookup : IRuntimeVariableLookup, IMakeXmlSource Inheritance object FanucToolOffsetVariableLookup Implements IRuntimeVariableLookup IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() 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 FanucToolOffsetVariableLookup() Default constructor. public FanucToolOffsetVariableLookup() FanucToolOffsetVariableLookup(XElement) Loads from an XML element produced by MakeXmlSource(string, string, bool). Stateless — no fields to deserialise. public FanucToolOffsetVariableLookup(XElement src) Parameters src XElement Fields ToolHeightMax Inclusive upper bound of the Fanuc tool height address range (#2200). public const int ToolHeightMax = 2200 Field Value int ToolHeightMin Inclusive lower bound of the Fanuc tool height address range (#2001). public const int ToolHeightMin = 2001 Field Value int Properties XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Get(string, LazyLinkedListNode, IReadOnlyList) Returns the value of the variable identified by key in the context of node and dependencies, or null if the key is outside this lookup's range or the value is vacant. public double? Get(string key, LazyLinkedListNode node, IReadOnlyList dependencies) Parameters key string node LazyLinkedListNode dependencies IReadOnlyList Returns double? Remarks Routes #2001-#2200 to GetToolHeightOffset_mm(int) on the ToolOffsetTable found in dependencies; other keys return null so the evaluator's lookup chain falls through. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FanucToolOffsetVariableLookup Namespace Hi.NcParsers.Dependencys.Fanuc Assembly HiMech.dll Fanuc-side adapter that exposes a wrapped ToolOffsetTable (resolved at call time from the dependency list) as an IRuntimeVariableLookup following Fanuc Memory C tool offset addressing: #2001+N → effective height of offset N (geometry − wear). The underlying ToolOffsetTable stays brand-neutral — Heidenhain / Siemens can use the same storage with different addressing by registering their own adapter alongside the table. Stateless: holds no reference of its own and resolves the table from the per-call dependencies list, so XML round-trip is trivial (an empty element). Registered on a brand preset's RuntimeVariableLookups, not on NcDependencyList — the wrapper owns no long-lived data, only the Fanuc-style id addressing scheme. The underlying ToolOffsetTable still lives in NcDependencyList as the data dependency. public sealed class FanucToolOffsetVariableLookup : IRuntimeVariableLookup, IMakeXmlSource Inheritance object FanucToolOffsetVariableLookup Implements IRuntimeVariableLookup IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() 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 FanucToolOffsetVariableLookup() Default constructor. public FanucToolOffsetVariableLookup() FanucToolOffsetVariableLookup(XElement) Loads from an XML element produced by MakeXmlSource(string, string, bool). Stateless — no fields to deserialise. public FanucToolOffsetVariableLookup(XElement src) Parameters src XElement Fields ToolHeightMax Inclusive upper bound of the Fanuc tool height address range (#2200). public const int ToolHeightMax = 2200 Field Value int ToolHeightMin Inclusive lower bound of the Fanuc tool height address range (#2001). public const int ToolHeightMin = 2001 Field Value int Properties XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Get(string, LazyLinkedListNode, IReadOnlyList) Returns the value of the variable identified by key in the context of node and dependencies, or null if the key is outside this lookup's range or the value is vacant. public double? Get(string key, LazyLinkedListNode node, IReadOnlyList dependencies) Parameters key string node LazyLinkedListNode dependencies IReadOnlyList Returns double? Remarks Routes #2001-#2200 to GetToolHeightOffset_mm(int) on the ToolOffsetTable found in dependencies; other keys return null so the evaluator's lookup chain falls through. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.Dependencys.Fanuc.RetainedCommonVariableTable.html": { "href": "api/Hi.NcParsers.Dependencys.Fanuc.RetainedCommonVariableTable.html", "title": "Class RetainedCommonVariableTable | HiAPI-C# 2025", - "summary": "Class RetainedCommonVariableTable Namespace Hi.NcParsers.Dependencys.Fanuc Assembly HiMech.dll Fanuc-style ISO controller common variable table for the retained range #500-#999. These variables survive a power cycle (in real hardware they live in NV-RAM) and are serialised into the project file. Excluded by design: Local #1-#33Call-frame scoped (Fanuc local variables); lives in the SyntaxPiece JSON dataflow, not here. Non-retained common #100-#499Cleared by program-end / power reset; lives in the SyntaxPiece JSON dataflow as well, not in this table. System #1000+Read-only or computed from runtime state; resolved by dedicated reading syntaxes against other dependencies (e.g. FanucParameterTable, tool offset / WCS tables). Vacant (Fanuc ) is represented by null: either the dictionary has no entry for the key, or the entry maps to null. Both are treated identically by GetVariable(int). Naming rationale: Fanuc official documentation calls #500-#999 \"retained common variables\" (and #100-#499 \"non-retained common variables\"). The umbrella term \"macro variable\" was avoided because it conflicts with Custom Macro B's call-frame concept (G65/G66 push a frame containing the local #1-#33); using RetainedCommonVariableTable reserves \"macro\" for the call-frame topic. public class RetainedCommonVariableTable : INcDependency, IMakeXmlSource, IVariableLookup Inheritance object RetainedCommonVariableTable Implements INcDependency IMakeXmlSource IVariableLookup 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 RetainedCommonVariableTable() Empty table. public RetainedCommonVariableTable() RetainedCommonVariableTable(XElement) Loads from XML produced by MakeXmlSource(string, string, bool). public RetainedCommonVariableTable(XElement src) Parameters src XElement Fields RetainedCommonMax Inclusive upper bound of the retained common range (#999). public const int RetainedCommonMax = 999 Field Value int RetainedCommonMin Inclusive lower bound of the retained common range (#500). public const int RetainedCommonMin = 500 Field Value int Properties Variables Backing store. Key = variable number (e.g. 500). Value null = vacant. A missing key is also treated as vacant. Keys are constrained to RetainedCommonMin..RetainedCommonMax; out-of-range writes are silently ignored. public Dictionary Variables { get; set; } Property Value Dictionary XName XML element name. public static string XName { get; } Property Value string Methods Get(string) Returns the value of the variable identified by key (e.g. \"#124\"), or null if vacant or unknown to this lookup. public double? Get(string key) Parameters key string Returns double? Remarks Routes #500-#999 reads to GetVariable(int); other keys return null so the evaluator's lookup chain falls through. GetVariable(int) Reads a retained common variable. Returns null for vacant (either the entry is absent or stored as null). public double? GetVariable(int id) Parameters id int Variable number in RetainedCommonMin..RetainedCommonMax. Returns double? 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. SetVariable(int, double?) Writes a retained common variable. Pass null to set vacant. Ignores ids outside RetainedCommonMin..RetainedCommonMax. public void SetVariable(int id, double? value) Parameters id int Variable number. value double? New value, or null for vacant." + "summary": "Class RetainedCommonVariableTable Namespace Hi.NcParsers.Dependencys.Fanuc Assembly HiMech.dll Fanuc-style ISO controller common variable table for the retained range #500-#999. These variables survive a power cycle (in real hardware they live in NV-RAM) and are serialised into the project file. Excluded by design: Local #1-#33Call-frame scoped (Fanuc local variables); lives in the SyntaxPiece JSON dataflow, not here. Non-retained common #100-#499Cleared by program-end / power reset; lives in the SyntaxPiece JSON dataflow as well, not in this table. System #1000+Read-only or computed from runtime state; resolved by dedicated reading syntaxes against other dependencies (e.g. FanucParameterTable, tool offset / WCS tables). Vacant (Fanuc ) is represented by null: either the dictionary has no entry for the key, or the entry maps to null. Both are treated identically by GetVariable(int). Naming rationale: Fanuc official documentation calls #500-#999 \"retained common variables\" (and #100-#499 \"non-retained common variables\"). The umbrella term \"macro variable\" was avoided because it conflicts with Custom Macro B's call-frame concept (G65/G66 push a frame containing the local #1-#33); using RetainedCommonVariableTable reserves \"macro\" for the call-frame topic. public class RetainedCommonVariableTable : INcDependency, IMakeXmlSource, IVariableLookup Inheritance object RetainedCommonVariableTable Implements INcDependency IMakeXmlSource IVariableLookup 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 RetainedCommonVariableTable() Empty table. public RetainedCommonVariableTable() RetainedCommonVariableTable(XElement) Loads from XML produced by MakeXmlSource(string, string, bool). public RetainedCommonVariableTable(XElement src) Parameters src XElement Fields RetainedCommonMax Inclusive upper bound of the retained common range (#999). public const int RetainedCommonMax = 999 Field Value int RetainedCommonMin Inclusive lower bound of the retained common range (#500). public const int RetainedCommonMin = 500 Field Value int Properties Variables Backing store. Key = variable number (e.g. 500). Value null = vacant. A missing key is also treated as vacant. Keys are constrained to RetainedCommonMin..RetainedCommonMax; out-of-range writes are silently ignored. public Dictionary Variables { get; set; } Property Value Dictionary XName XML element name. public static string XName { get; } Property Value string Methods Get(string) Returns the value of the variable identified by key (e.g. \"#124\"), or null if vacant or unknown to this lookup. public double? Get(string key) Parameters key string Returns double? Remarks Routes #500-#999 reads to GetVariable(int); other keys return null so the evaluator's lookup chain falls through. GetVariable(int) Reads a retained common variable. Returns null for vacant (either the entry is absent or stored as null). public double? GetVariable(int id) Parameters id int Variable number in RetainedCommonMin..RetainedCommonMax. Returns double? 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetVariable(int, double?) Writes a retained common variable. Pass null to set vacant. Ignores ids outside RetainedCommonMin..RetainedCommonMax. public void SetVariable(int id, double? value) Parameters id int Variable number. value double? New value, or null for vacant." }, "api/Hi.NcParsers.Dependencys.Fanuc.html": { "href": "api/Hi.NcParsers.Dependencys.Fanuc.html", "title": "Namespace Hi.NcParsers.Dependencys.Fanuc | HiAPI-C# 2025", - "summary": "Namespace Hi.NcParsers.Dependencys.Fanuc Classes FanucGotoIterationDependency Watchdog for Fanuc Custom Macro B GOTO loops. Holds a MaxIterationsPerTarget limit (XML-persisted user config — the soft cap above which the upcoming FanucGotoSyntax stops firing and emits a warning) plus a runtime per-target hit counter (CountByTarget — not serialised, cleared at session start by RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken)). The dependency is syntax-managed: FanucGotoSyntax reads the limit, increments the counter, and decides whether to fire. There is no host Func provider — the dep is placed in Hi.NcParsers.Dependencys.Fanuc rather than Hi.NcParsers.Dependencys.SystemWired because nothing outside the syntax pipeline writes it; Reset() is a plain method call the runner invokes, not a host-wired Func. The counter key is (FileName, TargetN) where FileName is the source-level file path of the block containing the GOTO (the relative path form carried on FilePath — same form used by IndexedFileLine labels). Source-level keying means multiple inline invocations of the same subprogram pool their counts (they ARE the same source-code GOTO), while two different files with their own N100 stay isolated (they ARE different jumps). Default MaxIterationsPerTarget is 1000 — a runaway-loop guard, not a precise iteration budget. Legitimate macro loops (multi-hole drill matrices, calibration sweeps) sit well below this; truly infinite loops hit the limit fast. Projects with batch-style macros that legitimately need higher counts can raise the value in the project XML. FanucParameterTable Fanuc controller parameter table. Stores system parameters (single value) and axis parameters (per-axis value) following real Fanuc parameter numbering. FanucPositionVariableLookup Fanuc-style position system variables read from the previous block's runtime-state JSON sections: #5001-#5003Block-end position X/Y/Z (workpiece) → previous block's ProgramXyz. #5021-#5023Current machine position X/Y/Z → previous block's MachineCoordinateState. #5041-#5043Current absolute position X/Y/Z → previous block's ProgramXyz. Stateless. Configured on RuntimeVariableLookups rather than NcDependencyList because the read needs the block node for Previous access — there is no long-lived dependency object that owns this data. FanucToolOffsetVariableLookup Fanuc-side adapter that exposes a wrapped ToolOffsetTable (resolved at call time from the dependency list) as an IRuntimeVariableLookup following Fanuc Memory C tool offset addressing: #2001+N → effective height of offset N (geometry − wear). The underlying ToolOffsetTable stays brand-neutral — Heidenhain / Siemens can use the same storage with different addressing by registering their own adapter alongside the table. Stateless: holds no reference of its own and resolves the table from the per-call dependencies list, so XML round-trip is trivial (an empty element). Registered on a brand preset's VariableEvaluatorSyntax.RuntimeVariableLookups, not on NcDependencyList — the wrapper owns no long-lived data, only the Fanuc-style id addressing scheme. The underlying ToolOffsetTable still lives in NcDependencyList as the data dependency. RetainedCommonVariableTable Fanuc-style ISO controller common variable table for the retained range #500-#999. These variables survive a power cycle (in real hardware they live in NV-RAM) and are serialised into the project file. Excluded by design: Local #1-#33Call-frame scoped (Fanuc local variables); lives in the SyntaxPiece JSON dataflow, not here. Non-retained common #100-#499Cleared by program-end / power reset; lives in the SyntaxPiece JSON dataflow as well, not in this table. System #1000+Read-only or computed from runtime state; resolved by dedicated reading syntaxes against other dependencies (e.g. FanucParameterTable, tool offset / WCS tables). Vacant (Fanuc ) is represented by null: either the dictionary has no entry for the key, or the entry maps to null. Both are treated identically by GetVariable(int). Naming rationale: Fanuc official documentation calls #500-#999 \"retained common variables\" (and #100-#499 \"non-retained common variables\"). The umbrella term \"macro variable\" was avoided because it conflicts with Custom Macro B's call-frame concept (G65/G66 push a frame containing the local #1-#33); using RetainedCommonVariableTable reserves \"macro\" for the call-frame topic. Enums CutterCompensationType Fanuc #5003: Cutter compensation startup/cancellation type." + "summary": "Namespace Hi.NcParsers.Dependencys.Fanuc Classes FanucGotoIterationDependency Watchdog for Fanuc Custom Macro B GOTO loops. Holds a MaxIterationsPerTarget limit (XML-persisted user config — the soft cap above which the upcoming FanucGotoSyntax stops firing and emits a warning) plus a runtime per-target hit counter (CountByTarget — not serialised, cleared at session start by RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken)). The dependency is syntax-managed: FanucGotoSyntax reads the limit, increments the counter, and decides whether to fire. There is no host Func provider — the dep is placed in Hi.NcParsers.Dependencys.Fanuc rather than Hi.NcParsers.Dependencys.SystemWired because nothing outside the syntax pipeline writes it; Reset() is a plain method call the runner invokes, not a host-wired Func. The counter key is (FileName, TargetN) where FileName is the source-level file path of the block containing the GOTO (the relative path form carried on FilePath — same form used by IndexedFileLine labels). Source-level keying means multiple inline invocations of the same subprogram pool their counts (they ARE the same source-code GOTO), while two different files with their own N100 stay isolated (they ARE different jumps). Default MaxIterationsPerTarget is 1000 — a runaway-loop guard, not a precise iteration budget. Legitimate macro loops (multi-hole drill matrices, calibration sweeps) sit well below this; truly infinite loops hit the limit fast. Projects with batch-style macros that legitimately need higher counts can raise the value in the project XML. FanucParameterTable Fanuc controller parameter table. Stores system parameters (single value) and axis parameters (per-axis value) following real Fanuc parameter numbering. FanucPositionVariableLookup Fanuc-style position system variables read from the previous block's runtime-state JSON sections: #5001-#5003Block-end position X/Y/Z (workpiece) → previous block's ProgramXyz. #5021-#5023Current machine position X/Y/Z → previous block's MachineCoordinateState. #5041-#5043Current absolute position X/Y/Z → previous block's ProgramXyz. Stateless. Configured on RuntimeVariableLookups rather than NcDependencyList because the read needs the block node for Previous access — there is no long-lived dependency object that owns this data. FanucToolOffsetVariableLookup Fanuc-side adapter that exposes a wrapped ToolOffsetTable (resolved at call time from the dependency list) as an IRuntimeVariableLookup following Fanuc Memory C tool offset addressing: #2001+N → effective height of offset N (geometry − wear). The underlying ToolOffsetTable stays brand-neutral — Heidenhain / Siemens can use the same storage with different addressing by registering their own adapter alongside the table. Stateless: holds no reference of its own and resolves the table from the per-call dependencies list, so XML round-trip is trivial (an empty element). Registered on a brand preset's RuntimeVariableLookups, not on NcDependencyList — the wrapper owns no long-lived data, only the Fanuc-style id addressing scheme. The underlying ToolOffsetTable still lives in NcDependencyList as the data dependency. RetainedCommonVariableTable Fanuc-style ISO controller common variable table for the retained range #500-#999. These variables survive a power cycle (in real hardware they live in NV-RAM) and are serialised into the project file. Excluded by design: Local #1-#33Call-frame scoped (Fanuc local variables); lives in the SyntaxPiece JSON dataflow, not here. Non-retained common #100-#499Cleared by program-end / power reset; lives in the SyntaxPiece JSON dataflow as well, not in this table. System #1000+Read-only or computed from runtime state; resolved by dedicated reading syntaxes against other dependencies (e.g. FanucParameterTable, tool offset / WCS tables). Vacant (Fanuc ) is represented by null: either the dictionary has no entry for the key, or the entry maps to null. Both are treated identically by GetVariable(int). Naming rationale: Fanuc official documentation calls #500-#999 \"retained common variables\" (and #100-#499 \"non-retained common variables\"). The umbrella term \"macro variable\" was avoided because it conflicts with Custom Macro B's call-frame concept (G65/G66 push a frame containing the local #1-#33); using RetainedCommonVariableTable reserves \"macro\" for the call-frame topic. Enums CutterCompensationType Fanuc #5003: Cutter compensation startup/cancellation type." }, "api/Hi.NcParsers.Dependencys.Generic.FallbackConfig.html": { "href": "api/Hi.NcParsers.Dependencys.Generic.FallbackConfig.html", "title": "Class FallbackConfig | HiAPI-C# 2025", - "summary": "Class FallbackConfig Namespace Hi.NcParsers.Dependencys.Generic Assembly HiMech.dll HiNC-specific fallback dependency that provides default values for all optional configuration interfaces. Should be placed as the last element in NcDependencyList so that brand-specific parameter tables (which appear earlier) take priority via OfType().FirstOrDefault(). When a brand table (e.g., FanucParameterTable) implements the same interface, its values are used instead. This class serves as a safety net for brands that do not define certain parameters (e.g., Siemens/Heidenhain have no system parameter for G83 peck retraction — it is per-call). public class FallbackConfig : ICannedCycleConfig, INcDependency, IMakeXmlSource Inheritance object FallbackConfig Implements ICannedCycleConfig INcDependency 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 FallbackConfig() Initializes a new instance with default settings (PeckRetractionDistance_mm = 5.0). public FallbackConfig() FallbackConfig(XElement) Initializes a new instance by deserializing from src. public FallbackConfig(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Properties PeckRetractionDistance_mm G83 peck drilling clearance distance above the previous stroke bottom before re-entering at feed (mm). public double PeckRetractionDistance_mm { get; set; } Property Value double XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FallbackConfig Namespace Hi.NcParsers.Dependencys.Generic Assembly HiMech.dll HiNC-specific fallback dependency that provides default values for all optional configuration interfaces. Should be placed as the last element in NcDependencyList so that brand-specific parameter tables (which appear earlier) take priority via OfType().FirstOrDefault(). When a brand table (e.g., FanucParameterTable) implements the same interface, its values are used instead. This class serves as a safety net for brands that do not define certain parameters (e.g., Siemens/Heidenhain have no system parameter for G83 peck retraction — it is per-call). public class FallbackConfig : ICannedCycleConfig, INcDependency, IMakeXmlSource Inheritance object FallbackConfig Implements ICannedCycleConfig INcDependency 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 FallbackConfig() Initializes a new instance with default settings (PeckRetractionDistance_mm = 5.0). public FallbackConfig() FallbackConfig(XElement) Initializes a new instance by deserializing from src. public FallbackConfig(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Properties PeckRetractionDistance_mm G83 peck drilling clearance distance above the previous stroke bottom before re-entering at feed (mm). public double PeckRetractionDistance_mm { get; set; } Property Value double XName XML element name used to register this dependency with XFactory. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.Dependencys.Generic.GenericBlockSkipConfig.html": { "href": "api/Hi.NcParsers.Dependencys.Generic.GenericBlockSkipConfig.html", "title": "Class GenericBlockSkipConfig | HiAPI-C# 2025", - "summary": "Class GenericBlockSkipConfig Namespace Hi.NcParsers.Dependencys.Generic Assembly HiMech.dll Default IBlockSkipConfig. Mirrors the typical Fanuc factory default: layer 1 (bare / prefix) is ON, other layers are OFF. Each layer can be toggled individually. XML form: 1,3 When EnabledLayers is absent the default is layer 1 only. public class GenericBlockSkipConfig : IBlockSkipConfig, INcDependency, IMakeXmlSource Inheritance object GenericBlockSkipConfig Implements IBlockSkipConfig INcDependency 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 GenericBlockSkipConfig() Initializes a new instance with only layer 1 (the bare / prefix) enabled, matching the typical Fanuc factory default. public GenericBlockSkipConfig() GenericBlockSkipConfig(XElement) Initializes a new instance by deserializing from src. Falls back to layer 1 only when the EnabledLayers child element is absent or blank. public GenericBlockSkipConfig(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Properties EnabledLayers CSV of currently-enabled layers, e.g. “1,3”. public string EnabledLayers { get; set; } Property Value string XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods IsLayerEnabled(int) Returns true when blocks tagged with this layer should be skipped (controller switch ON). public bool IsLayerEnabled(int layer) Parameters layer int Skip layer, 1..9. Bare / is layer 1. Returns bool 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. SetLayerEnabled(int, bool) Enables / disables a specific skip layer. public void SetLayerEnabled(int layer, bool enabled) Parameters layer int Skip layer, 1..9. enabled bool True to skip blocks tagged with this layer." + "summary": "Class GenericBlockSkipConfig Namespace Hi.NcParsers.Dependencys.Generic Assembly HiMech.dll Default IBlockSkipConfig. Mirrors the typical Fanuc factory default: layer 1 (bare / prefix) is ON, other layers are OFF. Each layer can be toggled individually. XML form: 1,3 When EnabledLayers is absent the default is layer 1 only. public class GenericBlockSkipConfig : IBlockSkipConfig, INcDependency, IMakeXmlSource Inheritance object GenericBlockSkipConfig Implements IBlockSkipConfig INcDependency 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 GenericBlockSkipConfig() Initializes a new instance with only layer 1 (the bare / prefix) enabled, matching the typical Fanuc factory default. public GenericBlockSkipConfig() GenericBlockSkipConfig(XElement) Initializes a new instance by deserializing from src. Falls back to layer 1 only when the EnabledLayers child element is absent or blank. public GenericBlockSkipConfig(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Properties EnabledLayers CSV of currently-enabled layers, e.g. “1,3”. public string EnabledLayers { get; set; } Property Value string XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods IsLayerEnabled(int) Returns true when blocks tagged with this layer should be skipped (controller switch ON). public bool IsLayerEnabled(int layer) Parameters layer int Skip layer, 1..9. Bare / is layer 1. Returns bool 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetLayerEnabled(int, bool) Enables / disables a specific skip layer. public void SetLayerEnabled(int layer, bool enabled) Parameters layer int Skip layer, 1..9. enabled bool True to skip blocks tagged with this layer." }, "api/Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.html": { "href": "api/Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.html", "title": "Class IsoCoordinateTable | HiAPI-C# 2025", - "summary": "Class IsoCoordinateTable Namespace Hi.NcParsers.Dependencys.Generic Assembly HiMech.dll Coordinate table for NC controller. The dictionary key is a G-code coordinate name (e.g. “G54”, “G59.2”); the dictionary value is machine coordinate offset. Brand-agnostic standalone implementation of IIsoCoordinateConfig. Brand parameter tables (Fanuc, Syntec, Siemens, Heidenhain) provide hardware-faithful alternatives that map to real controller parameters. public class IsoCoordinateTable : Dictionary, IDictionary, ICollection>, IReadOnlyDictionary, IReadOnlyCollection>, IEnumerable>, IDictionary, ICollection, IEnumerable, IDeserializationCallback, ISerializable, IIsoCoordinateConfig, INcDependency, IMakeXmlSource Inheritance object Dictionary IsoCoordinateTable Implements IDictionary ICollection> IReadOnlyDictionary IReadOnlyCollection> IEnumerable> IDictionary ICollection IEnumerable IDeserializationCallback ISerializable IIsoCoordinateConfig INcDependency IMakeXmlSource Inherited Members Dictionary.Add(string, Vec3d) Dictionary.Clear() Dictionary.ContainsKey(string) Dictionary.ContainsValue(Vec3d) Dictionary.EnsureCapacity(int) Dictionary.GetAlternateLookup() Dictionary.GetEnumerator() Dictionary.OnDeserialization(object) Dictionary.Remove(string) Dictionary.Remove(string, out Vec3d) Dictionary.TrimExcess() Dictionary.TrimExcess(int) Dictionary.TryAdd(string, Vec3d) Dictionary.TryGetAlternateLookup(out Dictionary.AlternateLookup) Dictionary.TryGetValue(string, out Vec3d) Dictionary.Comparer Dictionary.Count Dictionary.Capacity Dictionary.this[string] Dictionary.Keys Dictionary.Values 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) DictionaryUtil.Retrieve(Dictionary, K, out V, bool) DictionaryUtil.GetOrCreate(IDictionary, TKey) DictionaryUtil.GetOrCreate(IDictionary, TKey, TValue) DictionaryUtil.GetOrCreate(IDictionary, TKey, Func) DictionaryUtil.TryGetValueByKeys(IDictionary, IEnumerable, out TValue) StringUtil.ToDotSplitedString(IEnumerable) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors IsoCoordinateTable() Ctor. public IsoCoordinateTable() IsoCoordinateTable(XElement) Initializes a new instance of the IsoCoordinateTable class from XML. Supports both new string ID format (“G54”) and legacy integer format (54000). public IsoCoordinateTable(XElement src) Parameters src XElement The XML element containing coordinate data. Fields XName Gets the XML element name for the IsoCoordinateTable. public static string XName Field Value string Properties CoordinateIds Enumerates the G-code coordinate ids that this provider currently has data for. public IEnumerable CoordinateIds { get; } Property Value IEnumerable Methods GetCoordinateOffset(string) Gets the offset for the given G-code coordinate id. Returns null when no offset is configured for that id by this provider (callers iterate the next provider, or fall back to Zero). public Vec3d GetCoordinateOffset(string coordId) Parameters coordId string Returns Vec3d LegacyIntToKey(int) Converts a legacy 1000x integer ID to a G-code string key. e.g. 54000 -> “G54”, 59200 -> “G59.2”. public static string LegacyIntToKey(int id) Parameters id int Returns string 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. SetCoordinateOffset(string, Vec3d) Sets the offset for the given G-code coordinate id. public void SetCoordinateOffset(string coordId, Vec3d offset) Parameters coordId string offset Vec3d" + "summary": "Class IsoCoordinateTable Namespace Hi.NcParsers.Dependencys.Generic Assembly HiMech.dll Coordinate table for NC controller. The dictionary key is a G-code coordinate name (e.g. “G54”, “G59.2”); the dictionary value is machine coordinate offset. Brand-agnostic standalone implementation of IIsoCoordinateConfig. Brand parameter tables (Fanuc, Syntec, Siemens, Heidenhain) provide hardware-faithful alternatives that map to real controller parameters. public class IsoCoordinateTable : Dictionary, IDictionary, ICollection>, IReadOnlyDictionary, IReadOnlyCollection>, IEnumerable>, IDictionary, ICollection, IEnumerable, IDeserializationCallback, ISerializable, IIsoCoordinateConfig, INcDependency, IMakeXmlSource Inheritance object Dictionary IsoCoordinateTable Implements IDictionary ICollection> IReadOnlyDictionary IReadOnlyCollection> IEnumerable> IDictionary ICollection IEnumerable IDeserializationCallback ISerializable IIsoCoordinateConfig INcDependency IMakeXmlSource Inherited Members Dictionary.Add(string, Vec3d) Dictionary.Clear() Dictionary.ContainsKey(string) Dictionary.ContainsValue(Vec3d) Dictionary.EnsureCapacity(int) Dictionary.GetAlternateLookup() Dictionary.GetEnumerator() Dictionary.OnDeserialization(object) Dictionary.Remove(string) Dictionary.Remove(string, out Vec3d) Dictionary.TrimExcess() Dictionary.TrimExcess(int) Dictionary.TryAdd(string, Vec3d) Dictionary.TryGetAlternateLookup(out Dictionary.AlternateLookup) Dictionary.TryGetValue(string, out Vec3d) Dictionary.Comparer Dictionary.Count Dictionary.Capacity Dictionary.this[string] Dictionary.Keys Dictionary.Values 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) DictionaryUtil.Retrieve(Dictionary, K, out V, bool) DictionaryUtil.GetOrCreate(IDictionary, TKey) DictionaryUtil.GetOrCreate(IDictionary, TKey, TValue) DictionaryUtil.GetOrCreate(IDictionary, TKey, Func) DictionaryUtil.TryGetValueByKeys(IDictionary, IEnumerable, out TValue) StringUtil.ToDotSplitedString(IEnumerable) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors IsoCoordinateTable() Ctor. public IsoCoordinateTable() IsoCoordinateTable(XElement) Initializes a new instance of the IsoCoordinateTable class from XML. Supports both new string ID format (“G54”) and legacy integer format (54000). public IsoCoordinateTable(XElement src) Parameters src XElement The XML element containing coordinate data. Fields XName Gets the XML element name for the IsoCoordinateTable. public static string XName Field Value string Properties CoordinateIds Enumerates the G-code coordinate ids that this provider currently has data for. public IEnumerable CoordinateIds { get; } Property Value IEnumerable Methods GetCoordinateOffset(string) Gets the offset for the given G-code coordinate id. Returns null when no offset is configured for that id by this provider (callers iterate the next provider, or fall back to Zero). public Vec3d GetCoordinateOffset(string coordId) Parameters coordId string Returns Vec3d LegacyIntToKey(int) Converts a legacy 1000x integer ID to a G-code string key. e.g. 54000 -> “G54”, 59200 -> “G59.2”. public static string LegacyIntToKey(int id) Parameters id int Returns string 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetCoordinateOffset(string, Vec3d) Sets the offset for the given G-code coordinate id. public void SetCoordinateOffset(string coordId, Vec3d offset) Parameters coordId string offset Vec3d" }, "api/Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.html": { "href": "api/Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.html", "title": "Class SubProgramFolderConfig | HiAPI-C# 2025", - "summary": "Class SubProgramFolderConfig Namespace Hi.NcParsers.Dependencys.Generic Assembly HiMech.dll Folder lookup configuration for SubProgramCallSyntax: where to find an O file when the host program executes M98 P_ L_ (InternalFolder) or M198 P_ (ExternalFolder, modelling Fanuc's external storage call — memory card, USB, DNC drive — whose only difference from M98 is the search root). Either path may be absolute or relative; when relative, it resolves against the host file's parent directory at lookup time. Either may be null — a null ExternalFolder falls back to InternalFolder; a null InternalFolder falls back to the host file's parent directory. public class SubProgramFolderConfig : INcDependency, IMakeXmlSource Inheritance object SubProgramFolderConfig Implements INcDependency 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 SubProgramFolderConfig() Initializes a new instance with the default “NC” internal folder and null external folder. public SubProgramFolderConfig() SubProgramFolderConfig(XElement) Loads InternalFolder / ExternalFolder from XML produced by MakeXmlSource(string, string, bool); either child element may be absent. public SubProgramFolderConfig(XElement src) Parameters src XElement Root element named XName. Properties ExternalFolder Folder for M198 P_ lookup, modelling Fanuc's “subprogram on external storage” semantics. Absolute or relative. Null means “fall back to InternalFolder” — a simulator-friendly default for projects that don't actually distinguish internal vs external storage on disk. public string ExternalFolder { get; set; } Property Value string InternalFolder Folder for M98 P_ lookup. Absolute or relative; relative is resolved against the host file's parent directory at use time. Null means “use the host file's parent directory directly”. Default “NC” mirrors a typical project layout where the main program sits beside an NC/ subdirectory of subprograms. public string InternalFolder { get; set; } Property Value string XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class SubProgramFolderConfig Namespace Hi.NcParsers.Dependencys.Generic Assembly HiMech.dll Folder lookup configuration for SubProgramCallSyntax: where to find an O file when the host program executes M98 P_ L_ (InternalFolder) or M198 P_ (ExternalFolder, modelling Fanuc's external storage call — memory card, USB, DNC drive — whose only difference from M98 is the search root). Either path may be absolute or relative; when relative, it resolves against the host file's parent directory at lookup time. Either may be null — a null ExternalFolder falls back to InternalFolder; a null InternalFolder falls back to the host file's parent directory. public class SubProgramFolderConfig : INcDependency, IMakeXmlSource Inheritance object SubProgramFolderConfig Implements INcDependency 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 SubProgramFolderConfig() Initializes a new instance with the default “NC” internal folder and null external folder. public SubProgramFolderConfig() SubProgramFolderConfig(XElement) Loads InternalFolder / ExternalFolder from XML produced by MakeXmlSource(string, string, bool); either child element may be absent. public SubProgramFolderConfig(XElement src) Parameters src XElement Root element named XName. Properties ExternalFolder Folder for M198 P_ lookup, modelling Fanuc's “subprogram on external storage” semantics. Absolute or relative. Null means “fall back to InternalFolder” — a simulator-friendly default for projects that don't actually distinguish internal vs external storage on disk. public string ExternalFolder { get; set; } Property Value string InternalFolder Folder for M98 P_ lookup. Absolute or relative; relative is resolved against the host file's parent directory at use time. Null means “use the host file's parent directory directly”. Default “NC” mirrors a typical project layout where the main program sits beside an NC/ subdirectory of subprograms. public string InternalFolder { get; set; } Property Value string XName XML element name used to register this dependency with XFactory. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.Dependencys.Generic.ToolOffsetRow.html": { "href": "api/Hi.NcParsers.Dependencys.Generic.ToolOffsetRow.html", @@ -3592,12 +3592,12 @@ "api/Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.html": { "href": "api/Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.html", "title": "Class ToolOffsetTable | HiAPI-C# 2025", - "summary": "Class ToolOffsetTable Namespace Hi.NcParsers.Dependencys.Generic Assembly HiMech.dll Integer-keyed tool offset table implementing IToolOffsetConfig. Suitable for Fanuc (H/D), Heidenhain (tool number), Mazak, Okuma, and other ISO-compatible controllers. Key = offset number (Fanuc H or D number). public class ToolOffsetTable : INcDependency, IMakeXmlSource, IToolOffsetConfig Inheritance object ToolOffsetTable Implements INcDependency IMakeXmlSource IToolOffsetConfig 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 ToolOffsetTable() Initializes a new instance with an empty Offsets table. public ToolOffsetTable() ToolOffsetTable(XElement) Initializes a new instance by deserializing from src. public ToolOffsetTable(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Properties Offsets Tool offset rows keyed by offset number (Fanuc H or D number, Heidenhain tool number, etc.). public Dictionary Offsets { get; set; } Property Value Dictionary XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods GetToolHeightOffset_mm(int) Gets the effective tool height offset (geometry - wear) in mm. Returns 0 if the offset number is not configured. public double GetToolHeightOffset_mm(int offsetNumber) Parameters offsetNumber int Offset number: Fanuc H number, Heidenhain tool number, etc. Returns double GetToolRadiusOffset_mm(int) Gets the effective tool radius offset (geometry - wear) in mm. Returns 0 if the offset number is not configured. public double GetToolRadiusOffset_mm(int offsetNumber) Parameters offsetNumber int Offset number: Fanuc D number, Heidenhain tool number, etc. Returns double 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. SetToolOffset(int, double, double, double, double) Sets all four offset components for the given offset number. public void SetToolOffset(int offsetNumber, double idealHeight_mm, double axialWear_mm, double idealRadius_mm, double radialWear_mm) Parameters offsetNumber int idealHeight_mm double axialWear_mm double idealRadius_mm double radialWear_mm double" + "summary": "Class ToolOffsetTable Namespace Hi.NcParsers.Dependencys.Generic Assembly HiMech.dll Integer-keyed tool offset table implementing IToolOffsetConfig. Suitable for Fanuc (H/D), Heidenhain (tool number), Mazak, Okuma, and other ISO-compatible controllers. Key = offset number (Fanuc H or D number). public class ToolOffsetTable : INcDependency, IMakeXmlSource, IToolOffsetConfig Inheritance object ToolOffsetTable Implements INcDependency IMakeXmlSource IToolOffsetConfig 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 ToolOffsetTable() Initializes a new instance with an empty Offsets table. public ToolOffsetTable() ToolOffsetTable(XElement) Initializes a new instance by deserializing from src. public ToolOffsetTable(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Properties Offsets Tool offset rows keyed by offset number (Fanuc H or D number, Heidenhain tool number, etc.). public Dictionary Offsets { get; set; } Property Value Dictionary XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods GetToolHeightOffset_mm(int) Gets the effective tool height offset (geometry - wear) in mm. Returns 0 if the offset number is not configured. public double GetToolHeightOffset_mm(int offsetNumber) Parameters offsetNumber int Offset number: Fanuc H number, Heidenhain tool number, etc. Returns double GetToolRadiusOffset_mm(int) Gets the effective tool radius offset (geometry - wear) in mm. Returns 0 if the offset number is not configured. public double GetToolRadiusOffset_mm(int offsetNumber) Parameters offsetNumber int Offset number: Fanuc D number, Heidenhain tool number, etc. Returns double 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetToolOffset(int, double, double, double, double) Sets all four offset components for the given offset number. public void SetToolOffset(int offsetNumber, double idealHeight_mm, double axialWear_mm, double idealRadius_mm, double radialWear_mm) Parameters offsetNumber int idealHeight_mm double axialWear_mm double idealRadius_mm double radialWear_mm double" }, "api/Hi.NcParsers.Dependencys.Generic.ToolingMcConfig.html": { "href": "api/Hi.NcParsers.Dependencys.Generic.ToolingMcConfig.html", "title": "Class ToolingMcConfig | HiAPI-C# 2025", - "summary": "Class ToolingMcConfig Namespace Hi.NcParsers.Dependencys.Generic Assembly HiMech.dll HiNC-specific: machine position axes move to during tool change (M06). Not a standard Fanuc parameter — in real Fanuc, tool change motion is programmed in the macro program (O9006). Each axis value: a position to move to, or NaN to stay. public class ToolingMcConfig : IToolingMcConfig, INcDependency, IMakeXmlSource Inheritance object ToolingMcConfig Implements IToolingMcConfig INcDependency 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 ToolingMcConfig() Initializes a new instance with an empty AxisPositions map and zero ToolingTime. public ToolingMcConfig() ToolingMcConfig(XElement) Initializes a new instance by deserializing from src. public ToolingMcConfig(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Properties AxisPositions Per-axis tooling positions. NaN means the axis stays where it is. public Dictionary AxisPositions { get; set; } Property Value Dictionary Default3Axis Default: XY stay, Z moves to 0, rotary axes move to 0. public static ToolingMcConfig Default3Axis { get; } Property Value ToolingMcConfig ToolingTime Duration of the tool changer mechanism (arm swap, magazine rotation, etc.). Does not include axis motion time to/from the tooling position. public TimeSpan ToolingTime { get; set; } Property Value TimeSpan XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods GetToolingPosition(string) Gets the tooling position for a specific axis. Returns NaN if the axis should stay where it is. Returns null if the axis has no tooling position configured. public double? GetToolingPosition(string axisName) Parameters axisName string Returns double? 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. SetToolingPosition(string, double) Sets the tooling position for a specific axis. Use NaN to indicate the axis should stay. public void SetToolingPosition(string axisName, double value) Parameters axisName string value double" + "summary": "Class ToolingMcConfig Namespace Hi.NcParsers.Dependencys.Generic Assembly HiMech.dll HiNC-specific: machine position axes move to during tool change (M06). Not a standard Fanuc parameter — in real Fanuc, tool change motion is programmed in the macro program (O9006). Each axis value: a position to move to, or NaN to stay. public class ToolingMcConfig : IToolingMcConfig, INcDependency, IMakeXmlSource Inheritance object ToolingMcConfig Implements IToolingMcConfig INcDependency 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 ToolingMcConfig() Initializes a new instance with an empty AxisPositions map and zero ToolingTime. public ToolingMcConfig() ToolingMcConfig(XElement) Initializes a new instance by deserializing from src. public ToolingMcConfig(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Properties AxisPositions Per-axis tooling positions. NaN means the axis stays where it is. public Dictionary AxisPositions { get; set; } Property Value Dictionary Default3Axis Default: XY stay, Z moves to 0, rotary axes move to 0. public static ToolingMcConfig Default3Axis { get; } Property Value ToolingMcConfig ToolingTime Duration of the tool changer mechanism (arm swap, magazine rotation, etc.). Does not include axis motion time to/from the tooling position. public TimeSpan ToolingTime { get; set; } Property Value TimeSpan XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods GetToolingPosition(string) Gets the tooling position for a specific axis. Returns NaN if the axis should stay where it is. Returns null if the axis has no tooling position configured. public double? GetToolingPosition(string axisName) Parameters axisName string Returns double? 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetToolingPosition(string, double) Sets the tooling position for a specific axis. Use NaN to indicate the axis should stay. public void SetToolingPosition(string axisName, double value) Parameters axisName string value double" }, "api/Hi.NcParsers.Dependencys.Generic.html": { "href": "api/Hi.NcParsers.Dependencys.Generic.html", @@ -3607,7 +3607,7 @@ "api/Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.html": { "href": "api/Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.html", "title": "Class HeidenhainParameterTable | HiAPI-C# 2025", - "summary": "Class HeidenhainParameterTable Namespace Hi.NcParsers.Dependencys.Heidenhain Assembly HiMech.dll Heidenhain TNC/iTNC machine parameter table. Stores machine parameters (MP numbers) as system and per-axis values. MP100–MP199: General machine configuration. MP400–MP499: Axis-specific parameters. public class HeidenhainParameterTable : ControllerParameterTableBase, IHomeMcConfig, IMachineAxisConfig, IRapidFeedrateConfig, IStrokeLimitConfig, INcDependency, IMakeXmlSource Inheritance object ControllerParameterTableBase HeidenhainParameterTable Implements IHomeMcConfig IMachineAxisConfig IRapidFeedrateConfig IStrokeLimitConfig INcDependency IMakeXmlSource Inherited Members ControllerParameterTableBase.GetLinearAxisRapidRate_mmdmin(string) ControllerParameterTableBase.GetRotaryAxisRapidRate_degdmin(string) ControllerParameterTableBase.SetLinearAxisRapidRate_mmdmin(string, double) ControllerParameterTableBase.SetRotaryAxisRapidRate_degdmin(string, double) ControllerParameterTableBase.GetPositiveLimit(string) ControllerParameterTableBase.GetNegativeLimit(string) ControllerParameterTableBase.SetPositiveLimit(string, double) ControllerParameterTableBase.SetNegativeLimit(string, double) ControllerParameterTableBase.SystemParams ControllerParameterTableBase.AxisParams ControllerParameterTableBase.IntAxisParams ControllerParameterTableBase.AxisParam(int) ControllerParameterTableBase.IntAxisParam(int) ControllerParameterTableBase.GetHomePosition(string) ControllerParameterTableBase.SetHomePosition(string, double) ControllerParameterTableBase.AxisNames ControllerParameterTableBase.IsRotaryAxis(string) ControllerParameterTableBase.SetAxis(string, AxisType) ControllerParameterTableBase.RemoveAxis(string) ControllerParameterTableBase.ConfigureRotaryAxis(string, double, double) ControllerParameterTableBase.ReadXml(XElement) ControllerParameterTableBase.WriteXml(string) 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 HeidenhainParameterTable() Initializes a new instance with empty parameter tables. public HeidenhainParameterTable() HeidenhainParameterTable(XElement) Initializes a new instance by deserializing from src. public HeidenhainParameterTable(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Fields MpAxisType MP400: Axis type per axis (0=linear, 1=rotary, 2=spindle). public const int MpAxisType = 400 Field Value int MpMaxSpindleSpeed MP100: Maximum spindle speed (RPM). public const int MpMaxSpindleSpeed = 100 Field Value int MpRapidRate MP1010: Rapid traverse rate per axis (mm/min or deg/min). public const int MpRapidRate = 1010 Field Value int MpReferencePosition MP410: Reference point position per axis. public const int MpReferencePosition = 410 Field Value int MpStrokeLimitNeg MP430: Negative stroke limit per axis. public const int MpStrokeLimitNeg = 430 Field Value int MpStrokeLimitPos MP420: Positive stroke limit per axis. public const int MpStrokeLimitPos = 420 Field Value int MpToolAxisDirection MP101: Tool axis direction (0=Z, 1=Y, 2=X). public const int MpToolAxisDirection = 101 Field Value int Properties AxisMp1010 MP1010: Rapid traverse rate per axis (mm/min or deg/min). See IRapidFeedrateConfig. public Dictionary AxisMp1010 { get; set; } Property Value Dictionary AxisMp400 MP400: Axis type per axis. See AxisType. See AxisNames. public Dictionary AxisMp400 { get; set; } Property Value Dictionary AxisMp410 MP410: Reference point position per axis. See IHomeMcConfig. public Dictionary AxisMp410 { get; set; } Property Value Dictionary AxisTypeParamId Parameter/MD/MP number for axis type (linear/rotary/spindle). protected override int AxisTypeParamId { get; } Property Value int Default3Axis Default 3-axis Heidenhain milling machine. public static HeidenhainParameterTable Default3Axis { get; } Property Value HeidenhainParameterTable IdAttributeName XML attribute name for the parameter ID (“ParamId”, “MdId”, “MpId”). protected override string IdAttributeName { get; } Property Value string MaxSpindleSpeed_rpm Maximum spindle speed in RPM. Delegates to Mp100. public double MaxSpindleSpeed_rpm { get; set; } Property Value double Mp100 MP100: Maximum spindle speed (RPM). See MaxSpindleSpeed_rpm. public double Mp100 { get; set; } Property Value double Mp101 MP101: Tool axis direction (0=Z, 1=Y, 2=X). See ToolAxisDirection. public int Mp101 { get; set; } Property Value int RapidRateParamId Parameter/MD/MP number for rapid traverse rate per axis. Null if not defined for this controller brand. protected override int? RapidRateParamId { get; } Property Value int? ReferencePositionParamId Parameter/MD/MP number for reference position (G28 home). protected override int ReferencePositionParamId { get; } Property Value int StrokeLimitNegParamId Parameter/MD/MP number for negative stroke limit per axis. Null if not defined for this controller brand. protected override int? StrokeLimitNegParamId { get; } Property Value int? StrokeLimitPosParamId Parameter/MD/MP number for positive stroke limit per axis. Null if not defined for this controller brand. protected override int? StrokeLimitPosParamId { get; } Property Value int? ToolAxisDirection Tool axis direction (0=Z, 1=Y, 2=X). Delegates to Mp101. public int ToolAxisDirection { get; set; } Property Value int XName XML element name used to register this dependency with XFactory. 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 override XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class HeidenhainParameterTable Namespace Hi.NcParsers.Dependencys.Heidenhain Assembly HiMech.dll Heidenhain TNC/iTNC machine parameter table. Stores machine parameters (MP numbers) as system and per-axis values. MP100–MP199: General machine configuration. MP400–MP499: Axis-specific parameters. public class HeidenhainParameterTable : ControllerParameterTableBase, IHomeMcConfig, IMachineAxisConfig, IRapidFeedrateConfig, IStrokeLimitConfig, INcDependency, IMakeXmlSource Inheritance object ControllerParameterTableBase HeidenhainParameterTable Implements IHomeMcConfig IMachineAxisConfig IRapidFeedrateConfig IStrokeLimitConfig INcDependency IMakeXmlSource Inherited Members ControllerParameterTableBase.GetLinearAxisRapidRate_mmdmin(string) ControllerParameterTableBase.GetRotaryAxisRapidRate_degdmin(string) ControllerParameterTableBase.SetLinearAxisRapidRate_mmdmin(string, double) ControllerParameterTableBase.SetRotaryAxisRapidRate_degdmin(string, double) ControllerParameterTableBase.GetPositiveLimit(string) ControllerParameterTableBase.GetNegativeLimit(string) ControllerParameterTableBase.SetPositiveLimit(string, double) ControllerParameterTableBase.SetNegativeLimit(string, double) ControllerParameterTableBase.SystemParams ControllerParameterTableBase.AxisParams ControllerParameterTableBase.IntAxisParams ControllerParameterTableBase.AxisParam(int) ControllerParameterTableBase.IntAxisParam(int) ControllerParameterTableBase.GetHomePosition(string) ControllerParameterTableBase.SetHomePosition(string, double) ControllerParameterTableBase.AxisNames ControllerParameterTableBase.IsRotaryAxis(string) ControllerParameterTableBase.SetAxis(string, AxisType) ControllerParameterTableBase.RemoveAxis(string) ControllerParameterTableBase.ConfigureRotaryAxis(string, double, double) ControllerParameterTableBase.ReadXml(XElement) ControllerParameterTableBase.WriteXml(string) 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 HeidenhainParameterTable() Initializes a new instance with empty parameter tables. public HeidenhainParameterTable() HeidenhainParameterTable(XElement) Initializes a new instance by deserializing from src. public HeidenhainParameterTable(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Fields MpAxisType MP400: Axis type per axis (0=linear, 1=rotary, 2=spindle). public const int MpAxisType = 400 Field Value int MpMaxSpindleSpeed MP100: Maximum spindle speed (RPM). public const int MpMaxSpindleSpeed = 100 Field Value int MpRapidRate MP1010: Rapid traverse rate per axis (mm/min or deg/min). public const int MpRapidRate = 1010 Field Value int MpReferencePosition MP410: Reference point position per axis. public const int MpReferencePosition = 410 Field Value int MpStrokeLimitNeg MP430: Negative stroke limit per axis. public const int MpStrokeLimitNeg = 430 Field Value int MpStrokeLimitPos MP420: Positive stroke limit per axis. public const int MpStrokeLimitPos = 420 Field Value int MpToolAxisDirection MP101: Tool axis direction (0=Z, 1=Y, 2=X). public const int MpToolAxisDirection = 101 Field Value int Properties AxisMp1010 MP1010: Rapid traverse rate per axis (mm/min or deg/min). See IRapidFeedrateConfig. public Dictionary AxisMp1010 { get; set; } Property Value Dictionary AxisMp400 MP400: Axis type per axis. See AxisType. See AxisNames. public Dictionary AxisMp400 { get; set; } Property Value Dictionary AxisMp410 MP410: Reference point position per axis. See IHomeMcConfig. public Dictionary AxisMp410 { get; set; } Property Value Dictionary AxisTypeParamId Parameter/MD/MP number for axis type (linear/rotary/spindle). protected override int AxisTypeParamId { get; } Property Value int Default3Axis Default 3-axis Heidenhain milling machine. public static HeidenhainParameterTable Default3Axis { get; } Property Value HeidenhainParameterTable IdAttributeName XML attribute name for the parameter ID (“ParamId”, “MdId”, “MpId”). protected override string IdAttributeName { get; } Property Value string MaxSpindleSpeed_rpm Maximum spindle speed in RPM. Delegates to Mp100. public double MaxSpindleSpeed_rpm { get; set; } Property Value double Mp100 MP100: Maximum spindle speed (RPM). See MaxSpindleSpeed_rpm. public double Mp100 { get; set; } Property Value double Mp101 MP101: Tool axis direction (0=Z, 1=Y, 2=X). See ToolAxisDirection. public int Mp101 { get; set; } Property Value int RapidRateParamId Parameter/MD/MP number for rapid traverse rate per axis. Null if not defined for this controller brand. protected override int? RapidRateParamId { get; } Property Value int? ReferencePositionParamId Parameter/MD/MP number for reference position (G28 home). protected override int ReferencePositionParamId { get; } Property Value int StrokeLimitNegParamId Parameter/MD/MP number for negative stroke limit per axis. Null if not defined for this controller brand. protected override int? StrokeLimitNegParamId { get; } Property Value int? StrokeLimitPosParamId Parameter/MD/MP number for positive stroke limit per axis. Null if not defined for this controller brand. protected override int? StrokeLimitPosParamId { get; } Property Value int? ToolAxisDirection Tool axis direction (0=Z, 1=Y, 2=X). Delegates to Mp101. public int ToolAxisDirection { get; set; } Property Value int XName XML element name used to register this dependency with XFactory. 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 override 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.Dependencys.Heidenhain.html": { "href": "api/Hi.NcParsers.Dependencys.Heidenhain.html", @@ -3617,7 +3617,7 @@ "api/Hi.NcParsers.Dependencys.HeidenhainDatumTable.html": { "href": "api/Hi.NcParsers.Dependencys.HeidenhainDatumTable.html", "title": "Class HeidenhainDatumTable | HiAPI-C# 2025", - "summary": "Class HeidenhainDatumTable Namespace Hi.NcParsers.Dependencys Assembly HiMech.dll Heidenhain datum preset and datum shift tables. CYCL DEF 247 Q339=N reads from DatumPresetTable, CYCL DEF 7 #N reads from DatumShiftTable. Each table maps an integer ID (1–20) to a Vec3d offset. On real Heidenhain controllers, preset and datum tables are separate disk files (e.g. TNC:\\table\\preset.pr, *.d) — distinct from MP-prefixed Machine Parameters (held by HeidenhainParameterTable). HiNC mirrors that separation by keeping this dependency independent of HeidenhainParameterTable. Implements IIsoCoordinateConfig by mapping the ISO/DIN G54–G59 codes to preset rows 1–6, the conventional Heidenhain compatibility mapping for ISO/DIN programs running on a Heidenhain. public class HeidenhainDatumTable : IIsoCoordinateConfig, INcDependency, IMakeXmlSource Inheritance object HeidenhainDatumTable Implements IIsoCoordinateConfig INcDependency 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 HeidenhainDatumTable() Initializes a new instance with rows 1-20 of DatumPresetTable and DatumShiftTable seeded to zero. public HeidenhainDatumTable() HeidenhainDatumTable(XElement) Initializes a new instance by deserializing from src. public HeidenhainDatumTable(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Properties CoordinateIds Enumerates the G-code coordinate ids that this provider currently has data for. public IEnumerable CoordinateIds { get; } Property Value IEnumerable DatumPresetTable Preset rows (CYCL DEF 247 Q339=N) keyed by preset id (1-20). Rows 1-6 are aliased to ISO G54-G59 via IIsoCoordinateConfig. public Dictionary DatumPresetTable { get; set; } Property Value Dictionary DatumShiftTable Datum shift rows (CYCL DEF 7 #N) keyed by table id (1-20). public Dictionary DatumShiftTable { get; set; } Property Value Dictionary XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods GetCoordinateOffset(string) Gets the offset for the given G-code coordinate id. Returns null when no offset is configured for that id by this provider (callers iterate the next provider, or fall back to Zero). public Vec3d GetCoordinateOffset(string coordId) Parameters coordId string Returns Vec3d GetDatumPreset(int) Returns the preset offset for q339, or Zero if absent. See DatumPresetTable. public Vec3d GetDatumPreset(int q339) Parameters q339 int Preset id (CYCL DEF 247 Q339). Returns Vec3d GetDatumShift(int) Returns the datum shift offset for tableId, or Zero if absent. See DatumShiftTable. public Vec3d GetDatumShift(int tableId) Parameters tableId int Datum shift row id (CYCL DEF 7 #N). Returns Vec3d 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. SetCoordinateOffset(string, Vec3d) Sets the offset for the given G-code coordinate id. public void SetCoordinateOffset(string coordId, Vec3d offset) Parameters coordId string offset Vec3d SetDatumPreset(int, Vec3d) Sets the preset offset for q339. See DatumPresetTable. public void SetDatumPreset(int q339, Vec3d offset) Parameters q339 int Preset id (CYCL DEF 247 Q339). offset Vec3d Translation to store. SetDatumShift(int, Vec3d) Sets the datum shift offset for tableId. See DatumShiftTable. public void SetDatumShift(int tableId, Vec3d offset) Parameters tableId int Datum shift row id (CYCL DEF 7 #N). offset Vec3d Translation to store." + "summary": "Class HeidenhainDatumTable Namespace Hi.NcParsers.Dependencys Assembly HiMech.dll Heidenhain datum preset and datum shift tables. CYCL DEF 247 Q339=N reads from DatumPresetTable, CYCL DEF 7 #N reads from DatumShiftTable. Each table maps an integer ID (1–20) to a Vec3d offset. On real Heidenhain controllers, preset and datum tables are separate disk files (e.g. TNC:\\table\\preset.pr, *.d) — distinct from MP-prefixed Machine Parameters (held by HeidenhainParameterTable). HiNC mirrors that separation by keeping this dependency independent of HeidenhainParameterTable. Implements IIsoCoordinateConfig by mapping the ISO/DIN G54–G59 codes to preset rows 1–6, the conventional Heidenhain compatibility mapping for ISO/DIN programs running on a Heidenhain. public class HeidenhainDatumTable : IIsoCoordinateConfig, INcDependency, IMakeXmlSource Inheritance object HeidenhainDatumTable Implements IIsoCoordinateConfig INcDependency 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 HeidenhainDatumTable() Initializes a new instance with rows 1-20 of DatumPresetTable and DatumShiftTable seeded to zero. public HeidenhainDatumTable() HeidenhainDatumTable(XElement) Initializes a new instance by deserializing from src. public HeidenhainDatumTable(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Properties CoordinateIds Enumerates the G-code coordinate ids that this provider currently has data for. public IEnumerable CoordinateIds { get; } Property Value IEnumerable DatumPresetTable Preset rows (CYCL DEF 247 Q339=N) keyed by preset id (1-20). Rows 1-6 are aliased to ISO G54-G59 via IIsoCoordinateConfig. public Dictionary DatumPresetTable { get; set; } Property Value Dictionary DatumShiftTable Datum shift rows (CYCL DEF 7 #N) keyed by table id (1-20). public Dictionary DatumShiftTable { get; set; } Property Value Dictionary XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods GetCoordinateOffset(string) Gets the offset for the given G-code coordinate id. Returns null when no offset is configured for that id by this provider (callers iterate the next provider, or fall back to Zero). public Vec3d GetCoordinateOffset(string coordId) Parameters coordId string Returns Vec3d GetDatumPreset(int) Returns the preset offset for q339, or Zero if absent. See DatumPresetTable. public Vec3d GetDatumPreset(int q339) Parameters q339 int Preset id (CYCL DEF 247 Q339). Returns Vec3d GetDatumShift(int) Returns the datum shift offset for tableId, or Zero if absent. See DatumShiftTable. public Vec3d GetDatumShift(int tableId) Parameters tableId int Datum shift row id (CYCL DEF 7 #N). Returns Vec3d 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetCoordinateOffset(string, Vec3d) Sets the offset for the given G-code coordinate id. public void SetCoordinateOffset(string coordId, Vec3d offset) Parameters coordId string offset Vec3d SetDatumPreset(int, Vec3d) Sets the preset offset for q339. See DatumPresetTable. public void SetDatumPreset(int q339, Vec3d offset) Parameters q339 int Preset id (CYCL DEF 247 Q339). offset Vec3d Translation to store. SetDatumShift(int, Vec3d) Sets the datum shift offset for tableId. See DatumShiftTable. public void SetDatumShift(int tableId, Vec3d offset) Parameters tableId int Datum shift row id (CYCL DEF 7 #N). offset Vec3d Translation to store." }, "api/Hi.NcParsers.Dependencys.IBlockSkipConfig.html": { "href": "api/Hi.NcParsers.Dependencys.IBlockSkipConfig.html", @@ -3687,12 +3687,12 @@ "api/Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.html": { "href": "api/Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.html", "title": "Class SiemensFrameTable | HiAPI-C# 2025", - "summary": "Class SiemensFrameTable Namespace Hi.NcParsers.Dependencys.Siemens Assembly HiMech.dll Sinumerik settable work coordinate frames ($P_UIFR[n]). Models G54–G57 (ISO-compatible), G505–G599 (extended Siemens), and G500 (cancel — always zero). On real Sinumerik, $P_UIFR is a frame array containing translation, rotation, scale and mirror per entry. HiNC currently consumes only the translation component, so this table stores Vec3d per id. $P_UIFR is NOT in the machine data table — therefore this is a separate dependency from SiemensMachineDataTable (which holds MD-prefixed OEM machine data such as MD30300 axis type, MD34010 reference position, etc.). public class SiemensFrameTable : IIsoCoordinateConfig, INcDependency, IMakeXmlSource Inheritance object SiemensFrameTable Implements IIsoCoordinateConfig INcDependency 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 SiemensFrameTable() Initializes a new instance with G54-G57 and the Siemens extended G505-G599 series seeded as zero Vec3d entries in Frames. public SiemensFrameTable() SiemensFrameTable(XElement) Initializes a new instance by deserializing from src. public SiemensFrameTable(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Properties CoordinateIds Enumerates the G-code coordinate ids that this provider currently has data for. public IEnumerable CoordinateIds { get; } Property Value IEnumerable Frames Settable frames keyed by G-code id. G500 is treated specially (always zero) and is not stored here. public Dictionary Frames { get; set; } Property Value Dictionary XName XML element name for serialization. public static string XName { get; } Property Value string Methods GetCoordinateOffset(string) Gets the offset for the given G-code coordinate id. Returns null when no offset is configured for that id by this provider (callers iterate the next provider, or fall back to Zero). public Vec3d GetCoordinateOffset(string coordId) Parameters coordId string Returns Vec3d 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. SetCoordinateOffset(string, Vec3d) Sets the offset for the given G-code coordinate id. public void SetCoordinateOffset(string coordId, Vec3d offset) Parameters coordId string offset Vec3d" + "summary": "Class SiemensFrameTable Namespace Hi.NcParsers.Dependencys.Siemens Assembly HiMech.dll Sinumerik settable work coordinate frames ($P_UIFR[n]). Models G54–G57 (ISO-compatible), G505–G599 (extended Siemens), and G500 (cancel — always zero). On real Sinumerik, $P_UIFR is a frame array containing translation, rotation, scale and mirror per entry. HiNC currently consumes only the translation component, so this table stores Vec3d per id. $P_UIFR is NOT in the machine data table — therefore this is a separate dependency from SiemensMachineDataTable (which holds MD-prefixed OEM machine data such as MD30300 axis type, MD34010 reference position, etc.). public class SiemensFrameTable : IIsoCoordinateConfig, INcDependency, IMakeXmlSource Inheritance object SiemensFrameTable Implements IIsoCoordinateConfig INcDependency 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 SiemensFrameTable() Initializes a new instance with G54-G57 and the Siemens extended G505-G599 series seeded as zero Vec3d entries in Frames. public SiemensFrameTable() SiemensFrameTable(XElement) Initializes a new instance by deserializing from src. public SiemensFrameTable(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Properties CoordinateIds Enumerates the G-code coordinate ids that this provider currently has data for. public IEnumerable CoordinateIds { get; } Property Value IEnumerable Frames Settable frames keyed by G-code id. G500 is treated specially (always zero) and is not stored here. public Dictionary Frames { get; set; } Property Value Dictionary XName XML element name for serialization. public static string XName { get; } Property Value string Methods GetCoordinateOffset(string) Gets the offset for the given G-code coordinate id. Returns null when no offset is configured for that id by this provider (callers iterate the next provider, or fall back to Zero). public Vec3d GetCoordinateOffset(string coordId) Parameters coordId string Returns Vec3d 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetCoordinateOffset(string, Vec3d) Sets the offset for the given G-code coordinate id. public void SetCoordinateOffset(string coordId, Vec3d offset) Parameters coordId string offset Vec3d" }, "api/Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html": { "href": "api/Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html", "title": "Class SiemensMachineDataTable | HiAPI-C# 2025", - "summary": "Class SiemensMachineDataTable Namespace Hi.NcParsers.Dependencys.Siemens Assembly HiMech.dll Siemens Sinumerik machine data table. Stores machine data (MD numbers) as system and per-axis parameters. MD10000–MD19999: General machine data. MD20000–MD29999: Axis-specific machine data. MD30000–MD39999: Axis-specific machine data (extended). public class SiemensMachineDataTable : ControllerParameterTableBase, IHomeMcConfig, IMachineAxisConfig, IRapidFeedrateConfig, IStrokeLimitConfig, INcDependency, IMakeXmlSource Inheritance object ControllerParameterTableBase SiemensMachineDataTable Implements IHomeMcConfig IMachineAxisConfig IRapidFeedrateConfig IStrokeLimitConfig INcDependency IMakeXmlSource Inherited Members ControllerParameterTableBase.GetLinearAxisRapidRate_mmdmin(string) ControllerParameterTableBase.GetRotaryAxisRapidRate_degdmin(string) ControllerParameterTableBase.SetLinearAxisRapidRate_mmdmin(string, double) ControllerParameterTableBase.SetRotaryAxisRapidRate_degdmin(string, double) ControllerParameterTableBase.GetPositiveLimit(string) ControllerParameterTableBase.GetNegativeLimit(string) ControllerParameterTableBase.SetPositiveLimit(string, double) ControllerParameterTableBase.SetNegativeLimit(string, double) ControllerParameterTableBase.SystemParams ControllerParameterTableBase.AxisParams ControllerParameterTableBase.IntAxisParams ControllerParameterTableBase.AxisParam(int) ControllerParameterTableBase.IntAxisParam(int) ControllerParameterTableBase.GetHomePosition(string) ControllerParameterTableBase.SetHomePosition(string, double) ControllerParameterTableBase.AxisNames ControllerParameterTableBase.IsRotaryAxis(string) ControllerParameterTableBase.SetAxis(string, AxisType) ControllerParameterTableBase.RemoveAxis(string) ControllerParameterTableBase.ConfigureRotaryAxis(string, double, double) ControllerParameterTableBase.ReadXml(XElement) ControllerParameterTableBase.WriteXml(string) 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 SiemensMachineDataTable() Initializes a new instance with empty machine data tables. public SiemensMachineDataTable() SiemensMachineDataTable(XElement) Initializes a new instance by deserializing from src. public SiemensMachineDataTable(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Fields MdAxisType MD30300: Axis type per axis (0=linear, 1=rotary, 2=spindle). public const int MdAxisType = 30300 Field Value int MdMaxAxisVelocity MD32000: Max axis velocity per axis (mm/min or deg/min). public const int MdMaxAxisVelocity = 32000 Field Value int MdMaxSpindleSpeed MD35100: Maximum spindle speed (RPM). public const int MdMaxSpindleSpeed = 35100 Field Value int MdReferencePosition MD34010: Reference point position per axis. public const int MdReferencePosition = 34010 Field Value int MdStrokeLimitNeg MD36110: Negative stroke limit per axis. public const int MdStrokeLimitNeg = 36110 Field Value int MdStrokeLimitPos MD36100: Positive stroke limit per axis. public const int MdStrokeLimitPos = 36100 Field Value int Properties AxisMd30300 MD30300: Axis type per axis. See AxisType. See AxisNames. public Dictionary AxisMd30300 { get; set; } Property Value Dictionary AxisMd32000 MD32000: Max axis velocity per axis (mm/min or deg/min). See IRapidFeedrateConfig. public Dictionary AxisMd32000 { get; set; } Property Value Dictionary AxisMd34010 MD34010: Reference point position per axis. See IHomeMcConfig. public Dictionary AxisMd34010 { get; set; } Property Value Dictionary AxisTypeParamId Parameter/MD/MP number for axis type (linear/rotary/spindle). protected override int AxisTypeParamId { get; } Property Value int Default3Axis Default 3-axis Siemens milling machine. public static SiemensMachineDataTable Default3Axis { get; } Property Value SiemensMachineDataTable IdAttributeName XML attribute name for the parameter ID (“ParamId”, “MdId”, “MpId”). protected override string IdAttributeName { get; } Property Value string MaxSpindleSpeed_rpm Maximum spindle speed in RPM. Delegates to Md35100. public double MaxSpindleSpeed_rpm { get; set; } Property Value double Md35100 MD35100: Maximum spindle speed (RPM). See MaxSpindleSpeed_rpm. public double Md35100 { get; set; } Property Value double RapidRateParamId Parameter/MD/MP number for rapid traverse rate per axis. Null if not defined for this controller brand. protected override int? RapidRateParamId { get; } Property Value int? ReferencePositionParamId Parameter/MD/MP number for reference position (G28 home). protected override int ReferencePositionParamId { get; } Property Value int StrokeLimitNegParamId Parameter/MD/MP number for negative stroke limit per axis. Null if not defined for this controller brand. protected override int? StrokeLimitNegParamId { get; } Property Value int? StrokeLimitPosParamId Parameter/MD/MP number for positive stroke limit per axis. Null if not defined for this controller brand. protected override int? StrokeLimitPosParamId { get; } Property Value int? XName XML element name used to register this dependency with XFactory. 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 override XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class SiemensMachineDataTable Namespace Hi.NcParsers.Dependencys.Siemens Assembly HiMech.dll Siemens Sinumerik machine data table. Stores machine data (MD numbers) as system and per-axis parameters. MD10000–MD19999: General machine data. MD20000–MD29999: Axis-specific machine data. MD30000–MD39999: Axis-specific machine data (extended). public class SiemensMachineDataTable : ControllerParameterTableBase, IHomeMcConfig, IMachineAxisConfig, IRapidFeedrateConfig, IStrokeLimitConfig, INcDependency, IMakeXmlSource Inheritance object ControllerParameterTableBase SiemensMachineDataTable Implements IHomeMcConfig IMachineAxisConfig IRapidFeedrateConfig IStrokeLimitConfig INcDependency IMakeXmlSource Inherited Members ControllerParameterTableBase.GetLinearAxisRapidRate_mmdmin(string) ControllerParameterTableBase.GetRotaryAxisRapidRate_degdmin(string) ControllerParameterTableBase.SetLinearAxisRapidRate_mmdmin(string, double) ControllerParameterTableBase.SetRotaryAxisRapidRate_degdmin(string, double) ControllerParameterTableBase.GetPositiveLimit(string) ControllerParameterTableBase.GetNegativeLimit(string) ControllerParameterTableBase.SetPositiveLimit(string, double) ControllerParameterTableBase.SetNegativeLimit(string, double) ControllerParameterTableBase.SystemParams ControllerParameterTableBase.AxisParams ControllerParameterTableBase.IntAxisParams ControllerParameterTableBase.AxisParam(int) ControllerParameterTableBase.IntAxisParam(int) ControllerParameterTableBase.GetHomePosition(string) ControllerParameterTableBase.SetHomePosition(string, double) ControllerParameterTableBase.AxisNames ControllerParameterTableBase.IsRotaryAxis(string) ControllerParameterTableBase.SetAxis(string, AxisType) ControllerParameterTableBase.RemoveAxis(string) ControllerParameterTableBase.ConfigureRotaryAxis(string, double, double) ControllerParameterTableBase.ReadXml(XElement) ControllerParameterTableBase.WriteXml(string) 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 SiemensMachineDataTable() Initializes a new instance with empty machine data tables. public SiemensMachineDataTable() SiemensMachineDataTable(XElement) Initializes a new instance by deserializing from src. public SiemensMachineDataTable(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Fields MdAxisType MD30300: Axis type per axis (0=linear, 1=rotary, 2=spindle). public const int MdAxisType = 30300 Field Value int MdMaxAxisVelocity MD32000: Max axis velocity per axis (mm/min or deg/min). public const int MdMaxAxisVelocity = 32000 Field Value int MdMaxSpindleSpeed MD35100: Maximum spindle speed (RPM). public const int MdMaxSpindleSpeed = 35100 Field Value int MdReferencePosition MD34010: Reference point position per axis. public const int MdReferencePosition = 34010 Field Value int MdStrokeLimitNeg MD36110: Negative stroke limit per axis. public const int MdStrokeLimitNeg = 36110 Field Value int MdStrokeLimitPos MD36100: Positive stroke limit per axis. public const int MdStrokeLimitPos = 36100 Field Value int Properties AxisMd30300 MD30300: Axis type per axis. See AxisType. See AxisNames. public Dictionary AxisMd30300 { get; set; } Property Value Dictionary AxisMd32000 MD32000: Max axis velocity per axis (mm/min or deg/min). See IRapidFeedrateConfig. public Dictionary AxisMd32000 { get; set; } Property Value Dictionary AxisMd34010 MD34010: Reference point position per axis. See IHomeMcConfig. public Dictionary AxisMd34010 { get; set; } Property Value Dictionary AxisTypeParamId Parameter/MD/MP number for axis type (linear/rotary/spindle). protected override int AxisTypeParamId { get; } Property Value int Default3Axis Default 3-axis Siemens milling machine. public static SiemensMachineDataTable Default3Axis { get; } Property Value SiemensMachineDataTable IdAttributeName XML attribute name for the parameter ID (“ParamId”, “MdId”, “MpId”). protected override string IdAttributeName { get; } Property Value string MaxSpindleSpeed_rpm Maximum spindle speed in RPM. Delegates to Md35100. public double MaxSpindleSpeed_rpm { get; set; } Property Value double Md35100 MD35100: Maximum spindle speed (RPM). See MaxSpindleSpeed_rpm. public double Md35100 { get; set; } Property Value double RapidRateParamId Parameter/MD/MP number for rapid traverse rate per axis. Null if not defined for this controller brand. protected override int? RapidRateParamId { get; } Property Value int? ReferencePositionParamId Parameter/MD/MP number for reference position (G28 home). protected override int ReferencePositionParamId { get; } Property Value int StrokeLimitNegParamId Parameter/MD/MP number for negative stroke limit per axis. Null if not defined for this controller brand. protected override int? StrokeLimitNegParamId { get; } Property Value int? StrokeLimitPosParamId Parameter/MD/MP number for positive stroke limit per axis. Null if not defined for this controller brand. protected override int? StrokeLimitPosParamId { get; } Property Value int? XName XML element name used to register this dependency with XFactory. 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 override 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.Dependencys.Siemens.html": { "href": "api/Hi.NcParsers.Dependencys.Siemens.html", @@ -3702,7 +3702,7 @@ "api/Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.html": { "href": "api/Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.html", "title": "Class SyntecParameterTable | HiAPI-C# 2025", - "summary": "Class SyntecParameterTable Namespace Hi.NcParsers.Dependencys.Syntec Assembly HiMech.dll Syntec controller parameter table. Stores system parameters (single value) and axis parameters (per-axis value) following Syntec Pr-prefixed parameter numbering. Syntec is largely Fanuc-compatible in parameter numbering, but some parameters differ in unit or interpretation. For example, Pr4002 (peck retraction) is stored in microns whereas Fanuc #4002 stores in mm. public class SyntecParameterTable : ControllerParameterTableBase, IHomeMcConfig, IMachineAxisConfig, IRapidFeedrateConfig, IStrokeLimitConfig, ICannedCycleConfig, IIsoCoordinateConfig, INcDependency, IMakeXmlSource Inheritance object ControllerParameterTableBase SyntecParameterTable Implements IHomeMcConfig IMachineAxisConfig IRapidFeedrateConfig IStrokeLimitConfig ICannedCycleConfig IIsoCoordinateConfig INcDependency IMakeXmlSource Inherited Members ControllerParameterTableBase.GetLinearAxisRapidRate_mmdmin(string) ControllerParameterTableBase.GetRotaryAxisRapidRate_degdmin(string) ControllerParameterTableBase.SetLinearAxisRapidRate_mmdmin(string, double) ControllerParameterTableBase.SetRotaryAxisRapidRate_degdmin(string, double) ControllerParameterTableBase.GetPositiveLimit(string) ControllerParameterTableBase.GetNegativeLimit(string) ControllerParameterTableBase.SetPositiveLimit(string, double) ControllerParameterTableBase.SetNegativeLimit(string, double) ControllerParameterTableBase.SystemParams ControllerParameterTableBase.AxisParams ControllerParameterTableBase.IntAxisParams ControllerParameterTableBase.AxisParam(int) ControllerParameterTableBase.IntAxisParam(int) ControllerParameterTableBase.GetHomePosition(string) ControllerParameterTableBase.SetHomePosition(string, double) ControllerParameterTableBase.AxisNames ControllerParameterTableBase.IsRotaryAxis(string) ControllerParameterTableBase.SetAxis(string, AxisType) ControllerParameterTableBase.RemoveAxis(string) ControllerParameterTableBase.ConfigureRotaryAxis(string, double, double) ControllerParameterTableBase.ReadXml(XElement) ControllerParameterTableBase.WriteXml(string) 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) Remarks CutterCompensationType is shared with Fanuc because both follow the same ISO cutter compensation standard. Consider relocating to the shared Hi.NcParsers.Dependencys namespace if more brands need it. Constructors SyntecParameterTable() Initializes a new instance, seeding the ISO G54-G59 / G54.1 P-table coordinate offsets with their default values. public SyntecParameterTable() SyntecParameterTable(XElement) Initializes a new instance by deserializing from src. public SyntecParameterTable(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Fields PrAxisType Pr1006: Axis type per axis. See AxisType. public const int PrAxisType = 1006 Field Value int PrControlledAxes Pr1020: Number of controlled axes. public const int PrControlledAxes = 1020 Field Value int PrCutterCompType Pr5003: Cutter compensation startup type. See CutterCompensationType. public const int PrCutterCompType = 5003 Field Value int PrG54OffsetBase Pr5221: Base address (X) of G54 work coordinate offset. G54.Y at +1 (Pr5222), G54.Z at +2 (Pr5223). G55..G59 follow at stride 20. Syntec follows Fanuc-compatible numbering — see IsoCoordinateAddressMap. public const int PrG54OffsetBase = 5221 Field Value int PrG54p1P1OffsetBase Pr7001: Base address (X) of G54.1 P1 extended work coordinate offset. G54.1 P2..P48 follow at stride 20. See IsoCoordinateAddressMap. public const int PrG54p1P1OffsetBase = 7001 Field Value int PrMaxSpindleSpeed Pr3741: Maximum spindle speed (RPM). public const int PrMaxSpindleSpeed = 3741 Field Value int PrPeckRetraction Pr4002: G83 peck drilling retraction distance (microns). Syntec stores this value in microns; convert ×0.001 for mm. public const int PrPeckRetraction = 4002 Field Value int PrRapidRate Pr1420: Rapid traverse rate per axis (mm/min or deg/min). public const int PrRapidRate = 1420 Field Value int PrReferencePosition Pr1240: G28 first reference position per axis. public const int PrReferencePosition = 1240 Field Value int PrStrokeLimitNeg Pr1320: Negative stroke limit per axis (mm or deg). public const int PrStrokeLimitNeg = 1320 Field Value int PrStrokeLimitPos Pr1300: Positive stroke limit per axis (mm or deg). public const int PrStrokeLimitPos = 1300 Field Value int Properties AxisPr1006 Pr1006: Axis type per axis. See AxisType. See AxisNames. See IsRotaryAxis(string). public Dictionary AxisPr1006 { get; set; } Property Value Dictionary AxisPr1240 Pr1240: G28 first reference position per axis. See IHomeMcConfig. See GetHomePosition(string). See SetHomePosition(string, double). public Dictionary AxisPr1240 { get; set; } Property Value Dictionary AxisPr1420 Pr1420: Rapid traverse rate per axis (mm/min or deg/min). See IRapidFeedrateConfig. public Dictionary AxisPr1420 { get; set; } Property Value Dictionary AxisTypeParamId Parameter/MD/MP number for axis type (linear/rotary/spindle). protected override int AxisTypeParamId { get; } Property Value int ControlledAxisCount Number of controlled axes. Delegates to Pr1020. public int ControlledAxisCount { get; set; } Property Value int CoordinateIds Enumerates the G-code coordinate ids that this provider currently has data for. public IEnumerable CoordinateIds { get; } Property Value IEnumerable CutterCompType Cutter compensation startup type. Delegates to Pr5003. public CutterCompensationType CutterCompType { get; set; } Property Value CutterCompensationType Default3Axis Default 3-axis Syntec milling machine. public static SyntecParameterTable Default3Axis { get; } Property Value SyntecParameterTable IdAttributeName XML attribute name for the parameter ID (“ParamId”, “MdId”, “MpId”). protected override string IdAttributeName { get; } Property Value string MaxSpindleSpeed_rpm Maximum spindle speed in RPM. Delegates to Pr3741. public double MaxSpindleSpeed_rpm { get; set; } Property Value double PeckRetractionDistance_mm G83 peck drilling clearance distance above the previous stroke bottom before re-entering at feed (mm). public double PeckRetractionDistance_mm { get; } Property Value double Remarks Syntec Pr4002 stores peck retraction distance in microns. Multiply by 0.001 to convert to mm. Pr1020 Pr1020: Number of controlled axes. See ControlledAxisCount. public int Pr1020 { get; set; } Property Value int Pr3741 Pr3741: Maximum spindle speed (RPM). See MaxSpindleSpeed_rpm. public double Pr3741 { get; set; } Property Value double Pr5003 Pr5003: Cutter compensation startup type. See CutterCompType. public CutterCompensationType Pr5003 { get; set; } Property Value CutterCompensationType RapidRateParamId Parameter/MD/MP number for rapid traverse rate per axis. Null if not defined for this controller brand. protected override int? RapidRateParamId { get; } Property Value int? ReferencePositionParamId Parameter/MD/MP number for reference position (G28 home). protected override int ReferencePositionParamId { get; } Property Value int StrokeLimitNegParamId Parameter/MD/MP number for negative stroke limit per axis. Null if not defined for this controller brand. protected override int? StrokeLimitNegParamId { get; } Property Value int? StrokeLimitPosParamId Parameter/MD/MP number for positive stroke limit per axis. Null if not defined for this controller brand. protected override int? StrokeLimitPosParamId { get; } Property Value int? XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods GetCoordinateOffset(string) Gets the offset for the given G-code coordinate id. Returns null when no offset is configured for that id by this provider (callers iterate the next provider, or fall back to Zero). public Vec3d GetCoordinateOffset(string coordId) Parameters coordId string Returns Vec3d MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public override 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. SetCoordinateOffset(string, Vec3d) Sets the offset for the given G-code coordinate id. public void SetCoordinateOffset(string coordId, Vec3d offset) Parameters coordId string offset Vec3d" + "summary": "Class SyntecParameterTable Namespace Hi.NcParsers.Dependencys.Syntec Assembly HiMech.dll Syntec controller parameter table. Stores system parameters (single value) and axis parameters (per-axis value) following Syntec Pr-prefixed parameter numbering. Syntec is largely Fanuc-compatible in parameter numbering, but some parameters differ in unit or interpretation. For example, Pr4002 (peck retraction) is stored in microns whereas Fanuc #4002 stores in mm. public class SyntecParameterTable : ControllerParameterTableBase, IHomeMcConfig, IMachineAxisConfig, IRapidFeedrateConfig, IStrokeLimitConfig, ICannedCycleConfig, IIsoCoordinateConfig, INcDependency, IMakeXmlSource Inheritance object ControllerParameterTableBase SyntecParameterTable Implements IHomeMcConfig IMachineAxisConfig IRapidFeedrateConfig IStrokeLimitConfig ICannedCycleConfig IIsoCoordinateConfig INcDependency IMakeXmlSource Inherited Members ControllerParameterTableBase.GetLinearAxisRapidRate_mmdmin(string) ControllerParameterTableBase.GetRotaryAxisRapidRate_degdmin(string) ControllerParameterTableBase.SetLinearAxisRapidRate_mmdmin(string, double) ControllerParameterTableBase.SetRotaryAxisRapidRate_degdmin(string, double) ControllerParameterTableBase.GetPositiveLimit(string) ControllerParameterTableBase.GetNegativeLimit(string) ControllerParameterTableBase.SetPositiveLimit(string, double) ControllerParameterTableBase.SetNegativeLimit(string, double) ControllerParameterTableBase.SystemParams ControllerParameterTableBase.AxisParams ControllerParameterTableBase.IntAxisParams ControllerParameterTableBase.AxisParam(int) ControllerParameterTableBase.IntAxisParam(int) ControllerParameterTableBase.GetHomePosition(string) ControllerParameterTableBase.SetHomePosition(string, double) ControllerParameterTableBase.AxisNames ControllerParameterTableBase.IsRotaryAxis(string) ControllerParameterTableBase.SetAxis(string, AxisType) ControllerParameterTableBase.RemoveAxis(string) ControllerParameterTableBase.ConfigureRotaryAxis(string, double, double) ControllerParameterTableBase.ReadXml(XElement) ControllerParameterTableBase.WriteXml(string) 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) Remarks CutterCompensationType is shared with Fanuc because both follow the same ISO cutter compensation standard. Consider relocating to the shared Hi.NcParsers.Dependencys namespace if more brands need it. Constructors SyntecParameterTable() Initializes a new instance, seeding the ISO G54-G59 / G54.1 P-table coordinate offsets with their default values. public SyntecParameterTable() SyntecParameterTable(XElement) Initializes a new instance by deserializing from src. public SyntecParameterTable(XElement src) Parameters src XElement XML element produced by MakeXmlSource(string, string, bool). Fields PrAxisType Pr1006: Axis type per axis. See AxisType. public const int PrAxisType = 1006 Field Value int PrControlledAxes Pr1020: Number of controlled axes. public const int PrControlledAxes = 1020 Field Value int PrCutterCompType Pr5003: Cutter compensation startup type. See CutterCompensationType. public const int PrCutterCompType = 5003 Field Value int PrG54OffsetBase Pr5221: Base address (X) of G54 work coordinate offset. G54.Y at +1 (Pr5222), G54.Z at +2 (Pr5223). G55..G59 follow at stride 20. Syntec follows Fanuc-compatible numbering — see IsoCoordinateAddressMap. public const int PrG54OffsetBase = 5221 Field Value int PrG54p1P1OffsetBase Pr7001: Base address (X) of G54.1 P1 extended work coordinate offset. G54.1 P2..P48 follow at stride 20. See IsoCoordinateAddressMap. public const int PrG54p1P1OffsetBase = 7001 Field Value int PrMaxSpindleSpeed Pr3741: Maximum spindle speed (RPM). public const int PrMaxSpindleSpeed = 3741 Field Value int PrPeckRetraction Pr4002: G83 peck drilling retraction distance (microns). Syntec stores this value in microns; convert ×0.001 for mm. public const int PrPeckRetraction = 4002 Field Value int PrRapidRate Pr1420: Rapid traverse rate per axis (mm/min or deg/min). public const int PrRapidRate = 1420 Field Value int PrReferencePosition Pr1240: G28 first reference position per axis. public const int PrReferencePosition = 1240 Field Value int PrStrokeLimitNeg Pr1320: Negative stroke limit per axis (mm or deg). public const int PrStrokeLimitNeg = 1320 Field Value int PrStrokeLimitPos Pr1300: Positive stroke limit per axis (mm or deg). public const int PrStrokeLimitPos = 1300 Field Value int Properties AxisPr1006 Pr1006: Axis type per axis. See AxisType. See AxisNames. See IsRotaryAxis(string). public Dictionary AxisPr1006 { get; set; } Property Value Dictionary AxisPr1240 Pr1240: G28 first reference position per axis. See IHomeMcConfig. See GetHomePosition(string). See SetHomePosition(string, double). public Dictionary AxisPr1240 { get; set; } Property Value Dictionary AxisPr1420 Pr1420: Rapid traverse rate per axis (mm/min or deg/min). See IRapidFeedrateConfig. public Dictionary AxisPr1420 { get; set; } Property Value Dictionary AxisTypeParamId Parameter/MD/MP number for axis type (linear/rotary/spindle). protected override int AxisTypeParamId { get; } Property Value int ControlledAxisCount Number of controlled axes. Delegates to Pr1020. public int ControlledAxisCount { get; set; } Property Value int CoordinateIds Enumerates the G-code coordinate ids that this provider currently has data for. public IEnumerable CoordinateIds { get; } Property Value IEnumerable CutterCompType Cutter compensation startup type. Delegates to Pr5003. public CutterCompensationType CutterCompType { get; set; } Property Value CutterCompensationType Default3Axis Default 3-axis Syntec milling machine. public static SyntecParameterTable Default3Axis { get; } Property Value SyntecParameterTable IdAttributeName XML attribute name for the parameter ID (“ParamId”, “MdId”, “MpId”). protected override string IdAttributeName { get; } Property Value string MaxSpindleSpeed_rpm Maximum spindle speed in RPM. Delegates to Pr3741. public double MaxSpindleSpeed_rpm { get; set; } Property Value double PeckRetractionDistance_mm G83 peck drilling clearance distance above the previous stroke bottom before re-entering at feed (mm). public double PeckRetractionDistance_mm { get; } Property Value double Remarks Syntec Pr4002 stores peck retraction distance in microns. Multiply by 0.001 to convert to mm. Pr1020 Pr1020: Number of controlled axes. See ControlledAxisCount. public int Pr1020 { get; set; } Property Value int Pr3741 Pr3741: Maximum spindle speed (RPM). See MaxSpindleSpeed_rpm. public double Pr3741 { get; set; } Property Value double Pr5003 Pr5003: Cutter compensation startup type. See CutterCompType. public CutterCompensationType Pr5003 { get; set; } Property Value CutterCompensationType RapidRateParamId Parameter/MD/MP number for rapid traverse rate per axis. Null if not defined for this controller brand. protected override int? RapidRateParamId { get; } Property Value int? ReferencePositionParamId Parameter/MD/MP number for reference position (G28 home). protected override int ReferencePositionParamId { get; } Property Value int StrokeLimitNegParamId Parameter/MD/MP number for negative stroke limit per axis. Null if not defined for this controller brand. protected override int? StrokeLimitNegParamId { get; } Property Value int? StrokeLimitPosParamId Parameter/MD/MP number for positive stroke limit per axis. Null if not defined for this controller brand. protected override int? StrokeLimitPosParamId { get; } Property Value int? XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods GetCoordinateOffset(string) Gets the offset for the given G-code coordinate id. Returns null when no offset is configured for that id by this provider (callers iterate the next provider, or fall back to Zero). public Vec3d GetCoordinateOffset(string coordId) Parameters coordId string Returns Vec3d MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public override 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory SetCoordinateOffset(string, Vec3d) Sets the offset for the given G-code coordinate id. public void SetCoordinateOffset(string coordId, Vec3d offset) Parameters coordId string offset Vec3d" }, "api/Hi.NcParsers.Dependencys.Syntec.html": { "href": "api/Hi.NcParsers.Dependencys.Syntec.html", @@ -3712,27 +3712,27 @@ "api/Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html": { "href": "api/Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html", "title": "Class FileIndexCounterDependency | HiAPI-C# 2025", - "summary": "Class FileIndexCounterDependency Namespace Hi.NcParsers.Dependencys.SystemWired Assembly HiMech.dll Per-session monotonically-increasing file index allocator. Holds the counter as a private field; Allocate() returns the next unused value and increments. Reset() rewinds to 0 — the owning RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken) calls Reset() on the same edge that initializes a fresh NcRunnerSessionState, so a controller power-reset clears both the syntax-piece pipeline and this counter in lock-step. Two consumers share one allocator: RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken) allocates one index per top-level NC file that streams through the runner. SubProgramCallSyntax allocates a fresh index for each inlined subprogram invocation, including each L repetition — distinct indices ensure (FileIndex, LineIndex) pairs stay unique across overlapping subprogram line ranges. Holding the counter on this dependency rather than on NcRunnerSessionState avoids a duplicate source-of-truth: the dep is the single seam through which syntaxes reach the counter, and there is no third reader that would benefit from session-state visibility. public class FileIndexCounterDependency : INcDependency, IMakeXmlSource Inheritance object FileIndexCounterDependency Implements INcDependency 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 FileIndexCounterDependency() Initializes a new instance with the counter at 0. public FileIndexCounterDependency() Properties XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods Allocate() Returns the next unused file index and post-increments the counter. First call after construction or Reset() returns 0. public int Allocate() Returns int MakeXmlSource(string, string, bool) Runtime-only dependency — the live counter value is per-session and not meaningful to persist; serialization writes only the empty element so the dependency survives an XML round-trip with the counter implicitly reset to 0. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string relFile string exhibitionOnly bool Returns XElement Reset() Rewinds the counter to 0. Called by RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken) on the same edge that initializes a fresh session pipeline so a single brand-preset runner can be reused across sessions without leaking file indices from the previous session. public void Reset()" + "summary": "Class FileIndexCounterDependency Namespace Hi.NcParsers.Dependencys.SystemWired Assembly HiMech.dll Per-session monotonically-increasing file index allocator. Holds the counter as a private field; Allocate() returns the next unused value and increments. Reset() rewinds to 0 — the owning RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken) calls Reset() on the same edge that initializes a fresh NcRunnerSessionState, so a controller power-reset clears both the syntax-piece pipeline and this counter in lock-step. Two consumers share one allocator: RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken) allocates one index per top-level NC file that streams through the runner. SubProgramCallSyntax allocates a fresh index for each inlined subprogram invocation, including each L repetition — distinct indices ensure (FileIndex, LineIndex) pairs stay unique across overlapping subprogram line ranges. Holding the counter on this dependency rather than on NcRunnerSessionState avoids a duplicate source-of-truth: the dep is the single seam through which syntaxes reach the counter, and there is no third reader that would benefit from session-state visibility. public class FileIndexCounterDependency : INcDependency, IMakeXmlSource Inheritance object FileIndexCounterDependency Implements INcDependency 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 FileIndexCounterDependency() Initializes a new instance with the counter at 0. public FileIndexCounterDependency() Properties XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods Allocate() Returns the next unused file index and post-increments the counter. First call after construction or Reset() returns 0. public int Allocate() Returns int MakeXmlSource(string, string, bool) Runtime-only dependency — the live counter value is per-session and not meaningful to persist; serialization writes only the empty element so the dependency survives an XML round-trip with the counter implicitly reset to 0. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string relFile string exhibitionOnly bool Returns XElement Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Reset() Rewinds the counter to 0. Called by RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken) on the same edge that initializes a fresh session pipeline so a single brand-preset runner can be reused across sessions without leaking file indices from the previous session. public void Reset()" }, "api/Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.html": { "href": "api/Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.html", "title": "Class NcKinematicsDependency | HiAPI-C# 2025", - "summary": "Class NcKinematicsDependency Namespace Hi.NcParsers.Dependencys.SystemWired Assembly HiMech.dll Provides IMachineKinematics as an INcDependency for SoftNcRunner.NcDependencyList. The actual kinematics instance is resolved at runtime via KinematicsProvider. This supports scenarios where the machine tool is loaded or changed after the runner is configured (e.g., XML config loaded first, kinematics assigned later). Consumed by G53p1RotaryPositionSyntax, IsoG68p2TiltSyntax, and McLinearMotionSemantic via dependencyList.OfType(). public class NcKinematicsDependency : INcDependency, IMakeXmlSource, IMachineKinematics Inheritance object NcKinematicsDependency Implements INcDependency IMakeXmlSource IMachineKinematics 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 NcKinematicsDependency() Initializes a new instance with no KinematicsProvider; assign one before the runner queries kinematics. public NcKinematicsDependency() NcKinematicsDependency(Func) Initializes a new instance with the given KinematicsProvider. public NcKinematicsDependency(Func provider) Parameters provider Func Delegate that resolves the live IMachineKinematics at lookup time. Properties KinematicsProvider Runtime provider for the kinematics instance. Null provider or null return means kinematics is not yet available. public Func KinematicsProvider { get; set; } Property Value Func XName XML element name used to register this dependency with XFactory. 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. McAbcToMat(Vec3d) Converts machine ABC coordinates to a tilt matrix. the tilt matrix is the transformation matrix from table to attacher. public Mat4d McAbcToMat(Vec3d mcAbc_rad) Parameters mcAbc_rad Vec3d The machine ABC coordinates in radians Returns Mat4d The tilt matrix McToMat(DVec3d) Converts machine coordinates to an attacher matrix. public Mat4d McToMat(DVec3d mcXyzabc) Parameters mcXyzabc DVec3d The machine coordinates Returns Mat4d The attacher matrix McToPn(DVec3d) Machine coordinate to tool attacher Pn (Point and Normal). The Pn is from table buckle to tool attacher. public DVec3d McToPn(DVec3d mcXyzabc) Parameters mcXyzabc DVec3d machine coordinate. ABC is in radian. Returns DVec3d tool attacher Pn (Point and Normal) OrientationToMcAbc(Mat4d, out Vec3d) Converts a tilt matrix to machine ABC coordinates. the tilt matrix is the transformation matrix from table to attacher. the solution only fit the orientation part of the tiltMat. public bool OrientationToMcAbc(Mat4d tiltMat, out Vec3d mcAbc_rad) Parameters tiltMat Mat4d The tilt matrix to convert mcAbc_rad Vec3d Output parameter that will contain the machine ABC coordinates in radians Returns bool Whether the conversion was successful OrientationToMcAbc(Vec3d, out Vec3d) Converts a target tool axial direction (endpoint orientation) to machine ABC coordinates. Only the axial alignment is constrained; rotation about the tool axis is free. Use this in place of OrientationToMcAbc(Mat4d, out Vec3d) when the rotation about the tool axis is irrelevant (e.g. G53.1 rotary positioning). The axial-only solve avoids the redundant 6-target full-matrix constraint and is more likely to converge for tilt configurations such as G68.2 I180 J90 K0. public bool OrientationToMcAbc(Vec3d toolAxialNormal, out Vec3d mcAbc_rad) Parameters toolAxialNormal Vec3d Target tool axial direction in table coordinates (the third row of the tilt matrix; e.g. AxialNormal). mcAbc_rad Vec3d Output machine ABC coordinates in radians. Returns bool Whether the conversion was successful. PnToMc(DVec3d, out DVec3d) Tool attacher Pn (Point and Normal) to machine coordinate. The Pn is from table buckle to tool attacher. public bool PnToMc(DVec3d pn, out DVec3d mcXyzabc_rad) Parameters pn DVec3d tool attacher Pn (Point and Normal) mcXyzabc_rad DVec3d machine coordinate (ABC in radian) Returns bool whether conversion succeeded" + "summary": "Class NcKinematicsDependency Namespace Hi.NcParsers.Dependencys.SystemWired Assembly HiMech.dll Provides IMachineKinematics as an INcDependency for SoftNcRunner.NcDependencyList. The actual kinematics instance is resolved at runtime via KinematicsProvider. This supports scenarios where the machine tool is loaded or changed after the runner is configured (e.g., XML config loaded first, kinematics assigned later). Consumed by G53p1RotaryPositionSyntax, IsoG68p2TiltSyntax, and McLinearMotionSemantic via dependencyList.OfType(). public class NcKinematicsDependency : INcDependency, IMakeXmlSource, IMachineKinematics Inheritance object NcKinematicsDependency Implements INcDependency IMakeXmlSource IMachineKinematics 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 NcKinematicsDependency() Initializes a new instance with no KinematicsProvider; assign one before the runner queries kinematics. public NcKinematicsDependency() NcKinematicsDependency(Func) Initializes a new instance with the given KinematicsProvider. public NcKinematicsDependency(Func provider) Parameters provider Func Delegate that resolves the live IMachineKinematics at lookup time. Properties KinematicsProvider Runtime provider for the kinematics instance. Null provider or null return means kinematics is not yet available. public Func KinematicsProvider { get; set; } Property Value Func XName XML element name used to register this dependency with XFactory. 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. McAbcToMat(Vec3d) Converts machine ABC coordinates to a tilt matrix. the tilt matrix is the transformation matrix from table to attacher. public Mat4d McAbcToMat(Vec3d mcAbc_rad) Parameters mcAbc_rad Vec3d The machine ABC coordinates in radians Returns Mat4d The tilt matrix McToMat(DVec3d) Converts machine coordinates to an attacher matrix. public Mat4d McToMat(DVec3d mcXyzabc) Parameters mcXyzabc DVec3d The machine coordinates Returns Mat4d The attacher matrix McToPn(DVec3d) Machine coordinate to tool attacher Pn (Point and Normal). The Pn is from table buckle to tool attacher. public DVec3d McToPn(DVec3d mcXyzabc) Parameters mcXyzabc DVec3d machine coordinate. ABC is in radian. Returns DVec3d tool attacher Pn (Point and Normal) OrientationToMcAbc(Mat4d, out Vec3d) Converts a tilt matrix to machine ABC coordinates. the tilt matrix is the transformation matrix from table to attacher. the solution only fit the orientation part of the tiltMat. public bool OrientationToMcAbc(Mat4d tiltMat, out Vec3d mcAbc_rad) Parameters tiltMat Mat4d The tilt matrix to convert mcAbc_rad Vec3d Output parameter that will contain the machine ABC coordinates in radians Returns bool Whether the conversion was successful OrientationToMcAbc(Vec3d, out Vec3d) Converts a target tool axial direction (endpoint orientation) to machine ABC coordinates. Only the axial alignment is constrained; rotation about the tool axis is free. Use this in place of OrientationToMcAbc(Mat4d, out Vec3d) when the rotation about the tool axis is irrelevant (e.g. G53.1 rotary positioning). The axial-only solve avoids the redundant 6-target full-matrix constraint and is more likely to converge for tilt configurations such as G68.2 I180 J90 K0. public bool OrientationToMcAbc(Vec3d toolAxialNormal, out Vec3d mcAbc_rad) Parameters toolAxialNormal Vec3d Target tool axial direction in table coordinates (the third row of the tilt matrix; e.g. AxialNormal). mcAbc_rad Vec3d Output machine ABC coordinates in radians. Returns bool Whether the conversion was successful. PnToMc(DVec3d, out DVec3d) Tool attacher Pn (Point and Normal) to machine coordinate. The Pn is from table buckle to tool attacher. public bool PnToMc(DVec3d pn, out DVec3d mcXyzabc_rad) Parameters pn DVec3d tool attacher Pn (Point and Normal) mcXyzabc_rad DVec3d machine coordinate (ABC in radian) Returns bool whether conversion succeeded Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.Dependencys.SystemWired.ProjectFolderDependency.html": { "href": "api/Hi.NcParsers.Dependencys.SystemWired.ProjectFolderDependency.html", "title": "Class ProjectFolderDependency | HiAPI-C# 2025", - "summary": "Class ProjectFolderDependency Namespace Hi.NcParsers.Dependencys.SystemWired Assembly HiMech.dll Exposes the absolute base directory of the project that owns this runner. Resolved at runtime via BaseDirectoryProvider; the host (e.g. LocalProjectService, a test harness) wires the provider to its known project root after the runner is constructed, because SoftNcRunner itself does not retain the baseDirectory argument it sees during XML deserialization. Consumed by syntaxes that need to resolve a project-relative path to an absolute file system location — e.g. SubProgramCallSyntax for O subprogram lookup under InternalFolder. Reading FilePath is not a substitute: that path is relative and resolving it via Path.GetFullPath would anchor against the process working directory, not the project root. public class ProjectFolderDependency : INcDependency, IMakeXmlSource Inheritance object ProjectFolderDependency Implements INcDependency 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 ProjectFolderDependency() Initializes a new instance with no BaseDirectoryProvider; the host assigns one before queries. public ProjectFolderDependency() ProjectFolderDependency(Func) Initializes a new instance with the given BaseDirectoryProvider. public ProjectFolderDependency(Func provider) Parameters provider Func Delegate that resolves the absolute base directory at lookup time. Properties BaseDirectory The live absolute base directory, or null when BaseDirectoryProvider is unset or returns null. public string BaseDirectory { get; } Property Value string BaseDirectoryProvider Runtime provider for the absolute project base directory. Public so cross-assembly hosts (e.g. LocalProjectService in HiNc) can wire it after the runner is constructed — same host-wired posture as KinematicsProvider. Null provider or null return means the host has not configured a base directory yet — consumers should treat this as a configuration error and surface a diagnostic rather than silently falling back. public Func BaseDirectoryProvider { get; set; } Property Value Func XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Runtime-only dependency — the BaseDirectoryProvider is wired per-host and is not meaningful to persist; serialization writes only the empty element so the dependency survives an XML round-trip. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string relFile string exhibitionOnly bool Returns XElement" + "summary": "Class ProjectFolderDependency Namespace Hi.NcParsers.Dependencys.SystemWired Assembly HiMech.dll Exposes the absolute base directory of the project that owns this runner. Resolved at runtime via BaseDirectoryProvider; the host (e.g. LocalProjectService, a test harness) wires the provider to its known project root after the runner is constructed, because SoftNcRunner itself does not retain the baseDirectory argument it sees during XML deserialization. Consumed by syntaxes that need to resolve a project-relative path to an absolute file system location — e.g. SubProgramCallSyntax for O subprogram lookup under InternalFolder. Reading FilePath is not a substitute: that path is relative and resolving it via Path.GetFullPath would anchor against the process working directory, not the project root. public class ProjectFolderDependency : INcDependency, IMakeXmlSource Inheritance object ProjectFolderDependency Implements INcDependency 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 ProjectFolderDependency() Initializes a new instance with no BaseDirectoryProvider; the host assigns one before queries. public ProjectFolderDependency() ProjectFolderDependency(Func) Initializes a new instance with the given BaseDirectoryProvider. public ProjectFolderDependency(Func provider) Parameters provider Func Delegate that resolves the absolute base directory at lookup time. Properties BaseDirectory The live absolute base directory, or null when BaseDirectoryProvider is unset or returns null. public string BaseDirectory { get; } Property Value string BaseDirectoryProvider Runtime provider for the absolute project base directory. Public so cross-assembly hosts (e.g. LocalProjectService in HiNc) can wire it after the runner is constructed — same host-wired posture as KinematicsProvider. Null provider or null return means the host has not configured a base directory yet — consumers should treat this as a configuration error and surface a diagnostic rather than silently falling back. public Func BaseDirectoryProvider { get; set; } Property Value Func XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Runtime-only dependency — the BaseDirectoryProvider is wired per-host and is not meaningful to persist; serialization writes only the empty element so the dependency survives an XML round-trip. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string relFile string exhibitionOnly bool Returns XElement Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.html": { "href": "api/Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.html", "title": "Class SegmenterDependency | HiAPI-C# 2025", - "summary": "Class SegmenterDependency Namespace Hi.NcParsers.Dependencys.SystemWired Assembly HiMech.dll Exposes the active ISegmenter to syntaxes that need to re-segment auxiliary NC text mid-pipeline (e.g., SubProgramCallSyntax reading an O subprogram file and re-using the host runner's segmenter so the inlined blocks are split with the same rules). The actual segmenter is resolved at runtime via Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.SegmenterProvider; RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken) wires the provider to its own Segmenter at the start of each session run, so this dependency can sit in NcDependencyList without participating in XML serialization (see MakeXmlSource(string, string, bool)). public class SegmenterDependency : INcDependency, IMakeXmlSource Inheritance object SegmenterDependency Implements INcDependency 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 SegmenterDependency() Initializes a new instance with no Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.SegmenterProvider; the host runner assigns one before queries. public SegmenterDependency() SegmenterDependency(Func) Initializes a new instance with the given Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.SegmenterProvider. public SegmenterDependency(Func provider) Parameters provider Func Delegate that resolves the live ISegmenter at lookup time. Properties Segmenter The live segmenter, or null when Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.SegmenterProvider is unset or returns null. public ISegmenter Segmenter { get; } Property Value ISegmenter XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Runtime-only dependency — the Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.SegmenterProvider is wired per session and is not meaningful to persist; serialization writes only the empty element so the dependency survives an XML round-trip. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string relFile string exhibitionOnly bool Returns XElement" + "summary": "Class SegmenterDependency Namespace Hi.NcParsers.Dependencys.SystemWired Assembly HiMech.dll Exposes the active ISegmenter to syntaxes that need to re-segment auxiliary NC text mid-pipeline (e.g., SubProgramCallSyntax reading an O subprogram file and re-using the host runner's segmenter so the inlined blocks are split with the same rules). The actual segmenter is resolved at runtime via Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.SegmenterProvider; RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken) wires the provider to its own Segmenter at the start of each session run, so this dependency can sit in NcDependencyList without participating in XML serialization (see MakeXmlSource(string, string, bool)). public class SegmenterDependency : INcDependency, IMakeXmlSource Inheritance object SegmenterDependency Implements INcDependency 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 SegmenterDependency() Initializes a new instance with no Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.SegmenterProvider; the host runner assigns one before queries. public SegmenterDependency() SegmenterDependency(Func) Initializes a new instance with the given Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.SegmenterProvider. public SegmenterDependency(Func provider) Parameters provider Func Delegate that resolves the live ISegmenter at lookup time. Properties Segmenter The live segmenter, or null when Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.SegmenterProvider is unset or returns null. public ISegmenter Segmenter { get; } Property Value ISegmenter XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Runtime-only dependency — the Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.SegmenterProvider is wired per session and is not meaningful to persist; serialization writes only the empty element so the dependency survives an XML round-trip. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string relFile string exhibitionOnly bool Returns XElement Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.html": { "href": "api/Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.html", "title": "Class SyntaxPieceLayerDependency | HiAPI-C# 2025", - "summary": "Class SyntaxPieceLayerDependency Namespace Hi.NcParsers.Dependencys.SystemWired Assembly HiMech.dll Exposes the per-session SyntaxPiece layer chain (one LazyLinkedList per pipeline stage, owned by NcRunnerSessionState) to syntaxes that need to inject additional source pieces mid-pipeline — most notably SubProgramCallSyntax, which inlines a subprogram file's blocks back into layers[0] immediately after the M98 host node so the entire syntax pipeline naturally re-processes them. The actual layer list is resolved at runtime via Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.LayersProvider; RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken) wires the provider to the active session's SyntaxPieceLayers at the start of each call. Index 0 is the source layer (init seed + sentence-derived pieces); indices 1..N are post-NcSyntax layers — same convention as NcRunnerSessionState. public class SyntaxPieceLayerDependency : INcDependency, IMakeXmlSource Inheritance object SyntaxPieceLayerDependency Implements INcDependency 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 SyntaxPieceLayerDependency() Initializes a new instance with no Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.LayersProvider; the host runner assigns one before queries. public SyntaxPieceLayerDependency() SyntaxPieceLayerDependency(Func>>) Initializes a new instance with the given Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.LayersProvider. public SyntaxPieceLayerDependency(Func>> provider) Parameters provider Func>> Delegate that resolves the live layer chain at lookup time. Properties Layers The live layer chain, or null when Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.LayersProvider is unset or returns null. Layer 0 is the source layer; layers 1..N are post-NcSyntax layers. public List> Layers { get; } Property Value List> XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Runtime-only dependency — the Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.LayersProvider is wired per session and is not meaningful to persist; serialization writes only the empty element so the dependency survives an XML round-trip. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string relFile string exhibitionOnly bool Returns XElement" + "summary": "Class SyntaxPieceLayerDependency Namespace Hi.NcParsers.Dependencys.SystemWired Assembly HiMech.dll Exposes the per-session SyntaxPiece layer chain (one LazyLinkedList per pipeline stage, owned by NcRunnerSessionState) to syntaxes that need to inject additional source pieces mid-pipeline — most notably SubProgramCallSyntax, which inlines a subprogram file's blocks back into layers[0] immediately after the M98 host node so the entire syntax pipeline naturally re-processes them. The actual layer list is resolved at runtime via Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.LayersProvider; RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken) wires the provider to the active session's SyntaxPieceLayers at the start of each call. Index 0 is the source layer (init seed + sentence-derived pieces); indices 1..N are post-NcSyntax layers — same convention as NcRunnerSessionState. public class SyntaxPieceLayerDependency : INcDependency, IMakeXmlSource Inheritance object SyntaxPieceLayerDependency Implements INcDependency 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 SyntaxPieceLayerDependency() Initializes a new instance with no Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.LayersProvider; the host runner assigns one before queries. public SyntaxPieceLayerDependency() SyntaxPieceLayerDependency(Func>>) Initializes a new instance with the given Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.LayersProvider. public SyntaxPieceLayerDependency(Func>> provider) Parameters provider Func>> Delegate that resolves the live layer chain at lookup time. Properties Layers The live layer chain, or null when Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.LayersProvider is unset or returns null. Layer 0 is the source layer; layers 1..N are post-NcSyntax layers. public List> Layers { get; } Property Value List> XName XML element name used to register this dependency with XFactory. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Runtime-only dependency — the Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.LayersProvider is wired per session and is not meaningful to persist; serialization writes only the empty element so the dependency survives an XML round-trip. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string relFile string exhibitionOnly bool Returns XElement Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.Dependencys.SystemWired.html": { "href": "api/Hi.NcParsers.Dependencys.SystemWired.html", @@ -3767,7 +3767,7 @@ "api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.html", "title": "Class LocalVariableLookup | HiAPI-C# 2025", - "summary": "Class LocalVariableLookup Namespace Hi.NcParsers.EvaluationSyntaxs.Evaluation Assembly HiMech.dll Reads Fanuc-style local macro variables (#1-#33) from Vars.Local on the current SyntaxPiece JSON, falling back to the immediately previous block when they share the same MacroFrame id. Self-gates the id range so the evaluator's RuntimeVariableLookups chain can fall through to the next lookup for out-of-range keys. Two-step lookup (mirrors VolatileVariableLookup): the current block sees writes that FanucMacroCallSyntax stamped at inline time (the call-line argument bindings) and writes that FanucLocalVariableReadingSyntax applied on this block before the lookup runs; the previous block (frame-checked) supplies body-internal writes from the prior block in the same macro frame. Looking past the previous block is unnecessary because the reader carries forward block-by-block within a frame. Frame isolation via MacroFrame: a previous block whose frame id differs from the current block's is skipped — a macro body's body-internal locals are invisible to the caller after return, and the caller's main-frame locals are invisible inside the macro. M98/M198 subprogram inlining (SubProgramCallSyntax) deliberately does not stamp MacroFrame on its inlined blocks, so the callee inherits the caller's frame and sees the caller's locals — matching real Fanuc M98 semantics. Stateless and dependency-free — instances are interchangeable. public class LocalVariableLookup : IRuntimeVariableLookup, IMakeXmlSource Inheritance object LocalVariableLookup Implements IRuntimeVariableLookup 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 LocalVariableLookup() Default constructor. public LocalVariableLookup() LocalVariableLookup(XElement) Loads from an XML element produced by MakeXmlSource(string, string, bool). Stateless — no fields to deserialise. public LocalVariableLookup(XElement src) Parameters src XElement Fields LocalMax Inclusive upper bound of the macro-local range (#33). public const int LocalMax = 33 Field Value int LocalMin Inclusive lower bound of the macro-local range (#1). public const int LocalMin = 1 Field Value int Properties XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Get(string, LazyLinkedListNode, IReadOnlyList) Returns the value of the variable identified by key in the context of node and dependencies, or null if the key is outside this lookup's range or the value is vacant. public double? Get(string key, LazyLinkedListNode node, IReadOnlyList dependencies) Parameters key string node LazyLinkedListNode dependencies IReadOnlyList Returns double? MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class LocalVariableLookup Namespace Hi.NcParsers.EvaluationSyntaxs.Evaluation Assembly HiMech.dll Reads Fanuc-style local macro variables (#1-#33) from Vars.Local on the current SyntaxPiece JSON, falling back to the immediately previous block when they share the same MacroFrame id. Self-gates the id range so the evaluator's RuntimeVariableLookups chain can fall through to the next lookup for out-of-range keys. Two-step lookup (mirrors VolatileVariableLookup): the current block sees writes that FanucMacroCallSyntax stamped at inline time (the call-line argument bindings) and writes that FanucLocalVariableReadingSyntax applied on this block before the lookup runs; the previous block (frame-checked) supplies body-internal writes from the prior block in the same macro frame. Looking past the previous block is unnecessary because the reader carries forward block-by-block within a frame. Frame isolation via MacroFrame: a previous block whose frame id differs from the current block's is skipped — a macro body's body-internal locals are invisible to the caller after return, and the caller's main-frame locals are invisible inside the macro. M98/M198 subprogram inlining (SubProgramCallSyntax) deliberately does not stamp MacroFrame on its inlined blocks, so the callee inherits the caller's frame and sees the caller's locals — matching real Fanuc M98 semantics. Stateless and dependency-free — instances are interchangeable. public class LocalVariableLookup : IRuntimeVariableLookup, IMakeXmlSource Inheritance object LocalVariableLookup Implements IRuntimeVariableLookup 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 LocalVariableLookup() Default constructor. public LocalVariableLookup() LocalVariableLookup(XElement) Loads from an XML element produced by MakeXmlSource(string, string, bool). Stateless — no fields to deserialise. public LocalVariableLookup(XElement src) Parameters src XElement Fields LocalMax Inclusive upper bound of the macro-local range (#33). public const int LocalMax = 33 Field Value int LocalMin Inclusive lower bound of the macro-local range (#1). public const int LocalMin = 1 Field Value int Properties XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Get(string, LazyLinkedListNode, IReadOnlyList) Returns the value of the variable identified by key in the context of node and dependencies, or null if the key is outside this lookup's range or the value is vacant. public double? Get(string key, LazyLinkedListNode node, IReadOnlyList dependencies) Parameters key string node LazyLinkedListNode dependencies IReadOnlyList Returns double? 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.NcBinaryExpr.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.NcBinaryExpr.html", @@ -3827,7 +3827,7 @@ "api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.VolatileVariableLookup.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.VolatileVariableLookup.html", "title": "Class VolatileVariableLookup | HiAPI-C# 2025", - "summary": "Class VolatileVariableLookup Namespace Hi.NcParsers.EvaluationSyntaxs.Evaluation Assembly HiMech.dll Reads Fanuc-style non-retained common variables (#100-#499) from Vars.Volatile. Self-gates the id range so the evaluator's RuntimeVariableLookups chain can fall through to the next lookup for out-of-range keys. Single-step lookup: VolatileVariableReadingSyntax already dict-merges every block's Vars.Volatile into the next block, so the entry — if it exists — must be on the current block (when this lookup runs after the reader) or on the immediately previous block (when this lookup runs before the reader on the same block, which is the Fanuc preset's order — evaluator first, reader second). No arbitrary walk-back: such a walk would be defensive overkill given the reader's carry guarantee. Stateless and dependency-free — instances are interchangeable. Reads stay decoupled from the reader (read side here; write side in the reader). public class VolatileVariableLookup : IRuntimeVariableLookup, IMakeXmlSource Inheritance object VolatileVariableLookup Implements IRuntimeVariableLookup 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 VolatileVariableLookup() Default constructor. public VolatileVariableLookup() VolatileVariableLookup(XElement) Loads from an XML element produced by MakeXmlSource(string, string, bool). Stateless — no fields to deserialise. public VolatileVariableLookup(XElement src) Parameters src XElement Properties XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Get(string, LazyLinkedListNode, IReadOnlyList) Returns the value of the variable identified by key in the context of node and dependencies, or null if the key is outside this lookup's range or the value is vacant. public double? Get(string key, LazyLinkedListNode node, IReadOnlyList dependencies) Parameters key string node LazyLinkedListNode dependencies IReadOnlyList Returns double? MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class VolatileVariableLookup Namespace Hi.NcParsers.EvaluationSyntaxs.Evaluation Assembly HiMech.dll Reads Fanuc-style non-retained common variables (#100-#499) from Vars.Volatile. Self-gates the id range so the evaluator's RuntimeVariableLookups chain can fall through to the next lookup for out-of-range keys. Single-step lookup: VolatileVariableReadingSyntax already dict-merges every block's Vars.Volatile into the next block, so the entry — if it exists — must be on the current block (when this lookup runs after the reader) or on the immediately previous block (when this lookup runs before the reader on the same block, which is the Fanuc preset's order — evaluator first, reader second). No arbitrary walk-back: such a walk would be defensive overkill given the reader's carry guarantee. Stateless and dependency-free — instances are interchangeable. Reads stay decoupled from the reader (read side here; write side in the reader). public class VolatileVariableLookup : IRuntimeVariableLookup, IMakeXmlSource Inheritance object VolatileVariableLookup Implements IRuntimeVariableLookup 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 VolatileVariableLookup() Default constructor. public VolatileVariableLookup() VolatileVariableLookup(XElement) Loads from an XML element produced by MakeXmlSource(string, string, bool). Stateless — no fields to deserialise. public VolatileVariableLookup(XElement src) Parameters src XElement Properties XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Get(string, LazyLinkedListNode, IReadOnlyList) Returns the value of the variable identified by key in the context of node and dependencies, or null if the key is outside this lookup's range or the value is vacant. public double? Get(string key, LazyLinkedListNode node, IReadOnlyList dependencies) Parameters key string node LazyLinkedListNode dependencies IReadOnlyList Returns double? 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.html", @@ -3837,17 +3837,17 @@ "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html", "title": "Class FanucGotoSyntax | HiAPI-C# 2025", - "summary": "Class FanucGotoSyntax Namespace Hi.NcParsers.EvaluationSyntaxs.Fanuc Assembly HiMech.dll Resolves Fanuc Custom Macro B GOTO control flow. Triggered by Parsing.FanucGoto (written by FanucGotoParsingSyntax); decides whether to fire, and on fire calls ReplaceSource(IEnumerable) on layers[0] with the re-segmented file content starting at the matching N{target} label. The host block stays materialised (so cache dumps still see the GOTO call site); execution naturally continues from the new source once the pipeline pulls the next block. Both unconditional GOTO and conditional IF [] GOTO are implemented. The conditional form leans on VariableEvaluatorSyntax's pass-2 tree walk to substitute Parsing.FanucGoto.Condition with a numeric JsonValue when the expression evaluates successfully — ReadCondition(JsonNode) then reads the node polymorphically. Truthy non-zero fires the redirect; zero falls through silently; a still-string (unresolved) Condition emits FanucGoto--ConditionNotEvaluated and falls through. Pipeline placement: tail of the Fanuc / Mazak / Syntec Evaluation bundle. Must run after VariableEvaluatorSyntax so any # in the target N (e.g. GOTO #1) has been substituted to a literal in Parsing.FanucGoto.N. Reader syntaxes (VolatileVariableReadingSyntax etc.) are independent — they touch Parsing.Assignments, not Parsing.FanucGoto. Label scanning uses two hosted helper syntaxes — CommentSyntax and IndexSyntax — applied to each candidate block in turn so the predicate IndexNote.Number == target matches the same way the Parsing bundle would. Both are XML-IO-able so API customers can swap them (e.g. for a controller variant using ;-style comments or a different head symbol). Defaults match Fanuc: QuoteCommentSyntax and HeadIndexSyntax with the \"N\" symbol. public class FanucGotoSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucGotoSyntax Implements ISituNcSyntax INcSyntax 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 FanucGotoSyntax() Parameterless instance with default helper syntaxes. public FanucGotoSyntax() FanucGotoSyntax(XElement, string, IProgress) Loads hosted helper syntaxes from XML produced by MakeXmlSource(string, string, bool). The wrapper contains one child element per probe syntax in source order; an absent wrapper falls back to the default list. public FanucGotoSyntax(XElement src, string baseDirectory, IProgress progress) Parameters src XElement Root element named XName. baseDirectory string Project base directory propagated to child XFactory calls. progress IProgress Diagnostic sink propagated to child factories. Properties LabelProbeSyntaxes Ordered list of helper syntaxes run on each candidate block during the label scan before the IndexNote.Number == target predicate is checked. The defaults match Fanuc — QuoteCommentSyntax strips parenthesised comments so a commented-out (N100) never matches, then HeadIndexSyntax with symbol “N” extracts the head index into IndexNote.Number. Exposed as a list (rather than two fixed properties) so API customers can insert additional probe syntaxes — for example a TailCommentSyntax for ;-style end-of-block comments alongside the parenthesised form, or a BlockSkipSyntax to skip /-prefixed blocks from the label-scan results. Order matters: comment-strippers before the head-index parser, the index parser last (so its output reflects the post-strip text). public List LabelProbeSyntaxes { get; set; } Property Value List Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FanucGotoSyntax Namespace Hi.NcParsers.EvaluationSyntaxs.Fanuc Assembly HiMech.dll Resolves Fanuc Custom Macro B GOTO control flow. Triggered by Parsing.FanucGoto (written by FanucGotoParsingSyntax); decides whether to fire, and on fire calls ReplaceSource(IEnumerable) on layers[0] with the re-segmented file content starting at the matching N{target} label. The host block stays materialised (so cache dumps still see the GOTO call site); execution naturally continues from the new source once the pipeline pulls the next block. Both unconditional GOTO and conditional IF [] GOTO are implemented. The conditional form leans on VariableEvaluatorSyntax's pass-2 tree walk to substitute Parsing.FanucGoto.Condition with a numeric JsonValue when the expression evaluates successfully — ReadCondition(JsonNode) then reads the node polymorphically. Truthy non-zero fires the redirect; zero falls through silently; a still-string (unresolved) Condition emits FanucGoto--ConditionNotEvaluated and falls through. Pipeline placement: tail of the Fanuc / Mazak / Syntec Evaluation bundle. Must run after VariableEvaluatorSyntax so any # in the target N (e.g. GOTO #1) has been substituted to a literal in Parsing.FanucGoto.N. Reader syntaxes (VolatileVariableReadingSyntax etc.) are independent — they touch Parsing.Assignments, not Parsing.FanucGoto. Label scanning uses two hosted helper syntaxes — CommentSyntax and IndexSyntax — applied to each candidate block in turn so the predicate IndexNote.Number == target matches the same way the Parsing bundle would. Both are XML-IO-able so API customers can swap them (e.g. for a controller variant using ;-style comments or a different head symbol). Defaults match Fanuc: QuoteCommentSyntax and HeadIndexSyntax with the \"N\" symbol. public class FanucGotoSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucGotoSyntax Implements ISituNcSyntax INcSyntax 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 FanucGotoSyntax() Parameterless instance with default helper syntaxes. public FanucGotoSyntax() FanucGotoSyntax(XElement, string, IProgress) Loads hosted helper syntaxes from XML produced by MakeXmlSource(string, string, bool). The wrapper contains one child element per probe syntax in source order; an absent wrapper falls back to the default list. public FanucGotoSyntax(XElement src, string baseDirectory, IProgress progress) Parameters src XElement Root element named XName. baseDirectory string Project base directory propagated to child XFactory calls. progress IProgress Diagnostic sink propagated to child factories. Properties LabelProbeSyntaxes Ordered list of helper syntaxes run on each candidate block during the label scan before the IndexNote.Number == target predicate is checked. The defaults match Fanuc — QuoteCommentSyntax strips parenthesised comments so a commented-out (N100) never matches, then HeadIndexSyntax with symbol “N” extracts the head index into IndexNote.Number. Exposed as a list (rather than two fixed properties) so API customers can insert additional probe syntaxes — for example a TailCommentSyntax for ;-style end-of-block comments alongside the parenthesised form, or a BlockSkipSyntax to skip /-prefixed blocks from the label-scan results. Order matters: comment-strippers before the head-index parser, the index parser last (so its output reflects the post-strip text). public List LabelProbeSyntaxes { get; set; } Property Value List Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.html", "title": "Class FanucIfThenSyntax | HiAPI-C# 2025", - "summary": "Class FanucIfThenSyntax Namespace Hi.NcParsers.EvaluationSyntaxs.Fanuc Assembly HiMech.dll Resolves Fanuc Custom Macro B IF [] THEN single-block conditionals. Triggered by Parsing.FanucIfThen (written by FanucIfThenParsingSyntax); reads the now-resolved Condition node, decides whether to fire, and on fire lifts the parsing-stage PendingAssignments sub-object into the canonical Parsing.Assignments bucket so the brand-specific reader syntaxes downstream route each entry to its store the same way they would handle an unconditional #nnn = on a normal block. Unlike FanucGotoSyntax there is no source splice, no label scan, no iteration watchdog — the spec restricts the body to the current block. The host block is preserved either way (the stamped FanucIfThen section on the host's top-level JSON keeps the IF-THEN call site visible to cache dumps and diagnostics, with Applied flipped true only on a successful fire). Pipeline placement: in the Evaluation bundle after VariableEvaluatorSyntax (so the Condition expression has been substituted in place by pass-2 tree walk, and each PendingAssignments RHS string has been evaluated to a numeric JsonValue) and before the reader syntaxes (VolatileVariableReadingSyntax, RetainedCommonVariableReadingSyntax, FanucLocalVariableReadingSyntax, FanucSystemControlVariableSyntax) — that ordering lets the lifted entries reach the readers as if they had been written by TagAssignmentSyntax on a normal block. Three condition outcomes mirror the ReadCondition(JsonNode) shape: Truthy non-zero → lift assignments, stamp Applied=true. Truthy zero → fall through silently, Applied=false. Truthy null (evaluator failed, condition still a string or non-finite) → warn FanucIfThen--ConditionNotEvaluated, do not lift, Applied=false. A truthy condition with no PendingAssignments (body did not parse as one or more assignments — e.g. a G-code body, currently unsupported) warns FanucIfThen--UnsupportedBody and falls through. public class FanucIfThenSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucIfThenSyntax Implements ISituNcSyntax INcSyntax 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 FanucIfThenSyntax() Parameterless instance (no XML state). public FanucIfThenSyntax() FanucIfThenSyntax(XElement) XML ctor (no child elements; reserved for forward compatibility). public FanucIfThenSyntax(XElement src) Parameters src XElement Root element named XName. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FanucIfThenSyntax Namespace Hi.NcParsers.EvaluationSyntaxs.Fanuc Assembly HiMech.dll Resolves Fanuc Custom Macro B IF [] THEN single-block conditionals. Triggered by Parsing.FanucIfThen (written by FanucIfThenParsingSyntax); reads the now-resolved Condition node, decides whether to fire, and on fire lifts the parsing-stage PendingAssignments sub-object into the canonical Parsing.Assignments bucket so the brand-specific reader syntaxes downstream route each entry to its store the same way they would handle an unconditional #nnn = on a normal block. Unlike FanucGotoSyntax there is no source splice, no label scan, no iteration watchdog — the spec restricts the body to the current block. The host block is preserved either way (the stamped FanucIfThen section on the host's top-level JSON keeps the IF-THEN call site visible to cache dumps and diagnostics, with Applied flipped true only on a successful fire). Pipeline placement: in the Evaluation bundle after VariableEvaluatorSyntax (so the Condition expression has been substituted in place by pass-2 tree walk, and each PendingAssignments RHS string has been evaluated to a numeric JsonValue) and before the reader syntaxes (VolatileVariableReadingSyntax, RetainedCommonVariableReadingSyntax, FanucLocalVariableReadingSyntax, FanucSystemControlVariableSyntax) — that ordering lets the lifted entries reach the readers as if they had been written by TagAssignmentSyntax on a normal block. Three condition outcomes mirror the ReadCondition(JsonNode) shape: Truthy non-zero → lift assignments, stamp Applied=true. Truthy zero → fall through silently, Applied=false. Truthy null (evaluator failed, condition still a string or non-finite) → warn FanucIfThen--ConditionNotEvaluated, do not lift, Applied=false. A truthy condition with no PendingAssignments (body did not parse as one or more assignments — e.g. a G-code body, currently unsupported) warns FanucIfThen--UnsupportedBody and falls through. public class FanucIfThenSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucIfThenSyntax Implements ISituNcSyntax INcSyntax 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 FanucIfThenSyntax() Parameterless instance (no XML state). public FanucIfThenSyntax() FanucIfThenSyntax(XElement) XML ctor (no child elements; reserved for forward compatibility). public FanucIfThenSyntax(XElement src) Parameters src XElement Root element named XName. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.html", "title": "Class FanucLocalVariableReadingSyntax | HiAPI-C# 2025", - "summary": "Class FanucLocalVariableReadingSyntax Namespace Hi.NcParsers.EvaluationSyntaxs.Fanuc Assembly HiMech.dll Routes literal-RHS assignments to Fanuc-style local macro variables (#1-#33) from Parsing.Assignments into Vars.Local on the current block, carrying the previous block's Vars.Local dict forward when both blocks share the same MacroFrame id. Mirrors VolatileVariableReadingSyntax for the #100-#499 range, with two differences: Carry is gated by MacroFrame equality, so a caller block after a G65 return does not inherit the macro body's final locals. Writes outside a macro frame (a main-program block doing #11 = 5) emit LocalVariable--MainFrameWriteUnsupported and consume the assignment without persisting — real Fanuc allows main-frame local writes but this simulator only tracks locals inside G65/G66 call frames; surfacing the gap as a diagnostic is more informative than a silent UnconsumedCheckSyntax hit. Pipeline placement: Evaluation bundle, after VariableEvaluatorSyntax (so any expression RHS such as #11 = #1 + 1 has already been normalised to a literal by the time this reader runs) and after the other range readers (RetainedCommonVariableReadingSyntax, VolatileVariableReadingSyntax) so they all share a similar Reader-stage shape. Only literal numeric RHS values are consumed here; non-literal entries (which can only persist if VariableEvaluatorSyntax failed to resolve them) are left untouched and surface via the evaluator's own VariableExpression--Unevaluated diagnostic plus UnconsumedCheckSyntax. public class FanucLocalVariableReadingSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucLocalVariableReadingSyntax Implements ISituNcSyntax INcSyntax 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 FanucLocalVariableReadingSyntax() Default constructor. public FanucLocalVariableReadingSyntax() FanucLocalVariableReadingSyntax(XElement) Loads from XML produced by MakeXmlSource(string, string, bool); no state. public FanucLocalVariableReadingSyntax(XElement src) Parameters src XElement Fields LocalMax Inclusive upper bound of the local range (#33). public const int LocalMax = 33 Field Value int LocalMin Inclusive lower bound of the local range (#1). public const int LocalMin = 1 Field Value int Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FanucLocalVariableReadingSyntax Namespace Hi.NcParsers.EvaluationSyntaxs.Fanuc Assembly HiMech.dll Routes literal-RHS assignments to Fanuc-style local macro variables (#1-#33) from Parsing.Assignments into Vars.Local on the current block, carrying the previous block's Vars.Local dict forward when both blocks share the same MacroFrame id. Mirrors VolatileVariableReadingSyntax for the #100-#499 range, with two differences: Carry is gated by MacroFrame equality, so a caller block after a G65 return does not inherit the macro body's final locals. Writes outside a macro frame (a main-program block doing #11 = 5) emit LocalVariable--MainFrameWriteUnsupported and consume the assignment without persisting — real Fanuc allows main-frame local writes but this simulator only tracks locals inside G65/G66 call frames; surfacing the gap as a diagnostic is more informative than a silent UnconsumedCheckSyntax hit. Pipeline placement: Evaluation bundle, after VariableEvaluatorSyntax (so any expression RHS such as #11 = #1 + 1 has already been normalised to a literal by the time this reader runs) and after the other range readers (RetainedCommonVariableReadingSyntax, VolatileVariableReadingSyntax) so they all share a similar Reader-stage shape. Only literal numeric RHS values are consumed here; non-literal entries (which can only persist if VariableEvaluatorSyntax failed to resolve them) are left untouched and surface via the evaluator's own VariableExpression--Unevaluated diagnostic plus UnconsumedCheckSyntax. public class FanucLocalVariableReadingSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucLocalVariableReadingSyntax Implements ISituNcSyntax INcSyntax 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 FanucLocalVariableReadingSyntax() Default constructor. public FanucLocalVariableReadingSyntax() FanucLocalVariableReadingSyntax(XElement) Loads from XML produced by MakeXmlSource(string, string, bool); no state. public FanucLocalVariableReadingSyntax(XElement src) Parameters src XElement Fields LocalMax Inclusive upper bound of the local range (#33). public const int LocalMax = 33 Field Value int LocalMin Inclusive lower bound of the local range (#1). public const int LocalMin = 1 Field Value int Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroArgumentMap.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroArgumentMap.html", @@ -3857,7 +3857,7 @@ "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax.html", "title": "Class FanucMacroCallSyntax | HiAPI-C# 2025", - "summary": "Class FanucMacroCallSyntax Namespace Hi.NcParsers.EvaluationSyntaxs.Fanuc Assembly HiMech.dll Inlines a Fanuc Custom Macro B one-shot call (G65 P_ L_ [letter value …]) into the source layer and binds the call-line argument letters to Vars.Local #1-#26 per the Type-I map (see FanucMacroArgumentMap). Every inlined block carries the binding dict, a clone of the FanucMacroCall diagnostic record, and a MacroFrame id stamp — so LocalVariableLookup resolves arg references in a single-block lookup, a cache dump landing on any block immediately shows which call it belongs to, and downstream FanucLocalVariableReadingSyntax carries body-internal #1-#33 writes forward only within the same frame. The host block itself records FanucMacroCall but stays in the caller's frame (no MacroFrame stamp) and emits no motion act; after the macro body's last inlined block the pipeline continues naturally into the caller's next block (the inlined pieces sit ahead of the host block's successor in layers[0]). Frame isolation works on two layers. Statically, caller blocks have no MacroFrame stamp (frame id 0 by Get(JsonObject)), so the inlined frame ids (allocated fresh per L-repetition) never collide with main. Dynamically, LocalVariableLookup and FanucLocalVariableReadingSyntax compare frame ids before carrying any Vars.Local entry across a block boundary — a macro body's body-internal writes therefore stay inside the macro and never leak back into the caller's frame. Filename lookup mirrors SubProgramCallSyntax: O{P:D4}.NC, O{P}.NC, O{P:D4}, O{P}, {P:D4}.NC, {P}.NC — first match wins. The lookup root is InternalFolder (G65 has no \"external storage\" variant; M198's external root is M98/M198-only). L > 1 inlines the same macro L times in series. Each repetition is a fresh segmentation pass (so each block gets its own SyntaxPiece JSON object — the downstream pipeline mutates JSON in place and would clobber sibling repetitions if instances were shared) and gets a fresh FileIndex (so (FileIndex, LineIndex) pairs stay unique across the L-copies of the same source lines). Pipeline placement: ahead of SubProgramCallSyntax inside the Fanuc Evaluation BundleSyntax so a hypothetical G65 P_ + M98 P_ on the same block expands the G65 macro first (would be an unusual but legal composition). Detection is on the Parsing.G65 sub-object written by G65Syntax (a ParameterizedFlagSyntax) — the keyword \"G65\" never reaches Parsing.Flags because the parameterized match has already consumed the text by the time NumberedFlagSyntax runs. public class FanucMacroCallSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucMacroCallSyntax Implements ISituNcSyntax INcSyntax 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 FanucMacroCallSyntax() Parameterless instance for bundle composition (no XML state). public FanucMacroCallSyntax() FanucMacroCallSyntax(XElement) XML ctor (no child elements; reserved for forward compatibility). public FanucMacroCallSyntax(XElement src) Parameters src XElement Root element named XName. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FanucMacroCallSyntax Namespace Hi.NcParsers.EvaluationSyntaxs.Fanuc Assembly HiMech.dll Inlines a Fanuc Custom Macro B one-shot call (G65 P_ L_ [letter value …]) into the source layer and binds the call-line argument letters to Vars.Local #1-#26 per the Type-I map (see FanucMacroArgumentMap). Every inlined block carries the binding dict, a clone of the FanucMacroCall diagnostic record, and a MacroFrame id stamp — so LocalVariableLookup resolves arg references in a single-block lookup, a cache dump landing on any block immediately shows which call it belongs to, and downstream FanucLocalVariableReadingSyntax carries body-internal #1-#33 writes forward only within the same frame. The host block itself records FanucMacroCall but stays in the caller's frame (no MacroFrame stamp) and emits no motion act; after the macro body's last inlined block the pipeline continues naturally into the caller's next block (the inlined pieces sit ahead of the host block's successor in layers[0]). Frame isolation works on two layers. Statically, caller blocks have no MacroFrame stamp (frame id 0 by Get(JsonObject)), so the inlined frame ids (allocated fresh per L-repetition) never collide with main. Dynamically, LocalVariableLookup and FanucLocalVariableReadingSyntax compare frame ids before carrying any Vars.Local entry across a block boundary — a macro body's body-internal writes therefore stay inside the macro and never leak back into the caller's frame. Filename lookup mirrors SubProgramCallSyntax: O{P:D4}.NC, O{P}.NC, O{P:D4}, O{P}, {P:D4}.NC, {P}.NC — first match wins. The lookup root is InternalFolder (G65 has no \"external storage\" variant; M198's external root is M98/M198-only). L > 1 inlines the same macro L times in series. Each repetition is a fresh segmentation pass (so each block gets its own SyntaxPiece JSON object — the downstream pipeline mutates JSON in place and would clobber sibling repetitions if instances were shared) and gets a fresh FileIndex (so (FileIndex, LineIndex) pairs stay unique across the L-copies of the same source lines). Pipeline placement: ahead of SubProgramCallSyntax inside the Fanuc Evaluation BundleSyntax so a hypothetical G65 P_ + M98 P_ on the same block expands the G65 macro first (would be an unusual but legal composition). Detection is on the Parsing.G65 sub-object written by G65Syntax (a ParameterizedFlagSyntax) — the keyword \"G65\" never reaches Parsing.Flags because the parameterized match has already consumed the text by the time NumberedFlagSyntax runs. public class FanucMacroCallSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucMacroCallSyntax Implements ISituNcSyntax INcSyntax 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 FanucMacroCallSyntax() Parameterless instance for bundle composition (no XML state). public FanucMacroCallSyntax() FanucMacroCallSyntax(XElement) XML ctor (no child elements; reserved for forward compatibility). public FanucMacroCallSyntax(XElement src) Parameters src XElement Root element named XName. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.SyntaxPhase.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.SyntaxPhase.html", @@ -3867,12 +3867,12 @@ "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.html", "title": "Class FanucModalMacroSyntax | HiAPI-C# 2025", - "summary": "Class FanucModalMacroSyntax Namespace Hi.NcParsers.EvaluationSyntaxs.Fanuc Assembly HiMech.dll Handles Fanuc Custom Macro B modal-call lifecycle (G66 setup, G67 cancel, and per-motion-block implicit macro invocation). The same class is registered twice in the pipeline via Phase — once in the Evaluation bundle (Setup, captures G66/G67 edges and carries the FanucModalMacro state block-to-block) and once in the PostLogic bundle (Expansion, on every motion block within an active G66 modal, inlines the macro body via the same mechanism FanucMacroCallSyntax uses). Keeping both phases in one class makes the pairing visually explicit: readers see \"G66 in one file\" and the two methods (DoSetup, DoExpansion) make the lifecycle obvious. The two factory helpers (Setup, Expansion) mirror the ModalCarrySyntax.Logic / .PostLogic pattern already in the codebase. public class FanucModalMacroSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucModalMacroSyntax Implements ISituNcSyntax INcSyntax 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 FanucModalMacroSyntax() Parameterless instance (defaults to Setup). public FanucModalMacroSyntax() FanucModalMacroSyntax(XElement) XML ctor. Reads child element; legacy project files without it default to Setup (the pre-expansion behaviour). public FanucModalMacroSyntax(XElement src) Parameters src XElement Root element named XName. Properties Expansion Factory: PostLogic-bundle instance that performs implicit motion-block expansion. public static FanucModalMacroSyntax Expansion { get; } Property Value FanucModalMacroSyntax Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string Phase Pipeline phase this instance runs in. Defaults to Setup. public FanucModalMacroSyntax.SyntaxPhase Phase { get; set; } Property Value FanucModalMacroSyntax.SyntaxPhase Setup Factory: Evaluation-bundle instance that handles G66/G67 setup + carry. public static FanucModalMacroSyntax Setup { get; } Property Value FanucModalMacroSyntax XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FanucModalMacroSyntax Namespace Hi.NcParsers.EvaluationSyntaxs.Fanuc Assembly HiMech.dll Handles Fanuc Custom Macro B modal-call lifecycle (G66 setup, G67 cancel, and per-motion-block implicit macro invocation). The same class is registered twice in the pipeline via Phase — once in the Evaluation bundle (Setup, captures G66/G67 edges and carries the FanucModalMacro state block-to-block) and once in the PostLogic bundle (Expansion, on every motion block within an active G66 modal, inlines the macro body via the same mechanism FanucMacroCallSyntax uses). Keeping both phases in one class makes the pairing visually explicit: readers see \"G66 in one file\" and the two methods (DoSetup, DoExpansion) make the lifecycle obvious. The two factory helpers (Setup, Expansion) mirror the ModalCarrySyntax.Logic / .PostLogic pattern already in the codebase. public class FanucModalMacroSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucModalMacroSyntax Implements ISituNcSyntax INcSyntax 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 FanucModalMacroSyntax() Parameterless instance (defaults to Setup). public FanucModalMacroSyntax() FanucModalMacroSyntax(XElement) XML ctor. Reads child element; legacy project files without it default to Setup (the pre-expansion behaviour). public FanucModalMacroSyntax(XElement src) Parameters src XElement Root element named XName. Properties Expansion Factory: PostLogic-bundle instance that performs implicit motion-block expansion. public static FanucModalMacroSyntax Expansion { get; } Property Value FanucModalMacroSyntax Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string Phase Pipeline phase this instance runs in. Defaults to Setup. public FanucModalMacroSyntax.SyntaxPhase Phase { get; set; } Property Value FanucModalMacroSyntax.SyntaxPhase Setup Factory: Evaluation-bundle instance that handles G66/G67 setup + carry. public static FanucModalMacroSyntax Setup { get; } Property Value FanucModalMacroSyntax XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucSystemControlVariableSyntax.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucSystemControlVariableSyntax.html", "title": "Class FanucSystemControlVariableSyntax | HiAPI-C# 2025", - "summary": "Class FanucSystemControlVariableSyntax Namespace Hi.NcParsers.EvaluationSyntaxs.Fanuc Assembly HiMech.dll Consumes Fanuc-style system-control variable assignments (#3000-#3999) — alarm trigger (#3000), millisecond and hour clocks (#3001 / #3002), single-block / feed-hold bypass flags (#3003 / #3004), pause-with-message (#3006), mirror-image flags (#3007), date / time (#3011 / #3012), tool-life data (#3030 / #3032), etc. Every id in this range is a controller-side state variable — its authoritative value lives on the real hardware (RTC, alarm bus, override switches, …) and an NC write at most triggers a side effect (clock reset, alarm raise, message-pause prompt). Offline simulation has none of that machinery, so this syntax does not emulate the effect. Instead it: records the literal write on the block JSON under Vars.SystemControl (round-trip and cache-dump visibility); emits a FanucSystemControl--Unsupported UnsupportedMessage(ISentenceCarrier, string, string, object) so the user knows the assignment was recognised but its controller-side effect is not simulated. Message-severity (not Warning) because these writes are safe no-ops offline — every consumed assignment would emit a Warning per block, which would be noisy without signalling anything the user must act on; removes the entry from Parsing.Assignments so it does not re-surface as a generic Parsing--Unconsumed diagnostic. The dictionary carries forward block-by-block (same dict-merge pattern as VolatileVariableReadingSyntax) so a downstream consumer can read the most recent recorded value via SyntaxPiece linkage. Only literal numeric RHS values are consumed; non-literal RHS (e.g. #3002 = #500) is left in Parsing.Assignments for VariableEvaluatorSyntax to resolve, mirroring the retained / volatile reading syntaxes. Fanuc-family only — Siemens uses named system variables ($AC_TIME, $A_DAY, …) and Heidenhain uses FN18: SYSREAD; neither flows through Parsing.Assignments.#nnn. public class FanucSystemControlVariableSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucSystemControlVariableSyntax Implements ISituNcSyntax INcSyntax 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 FanucSystemControlVariableSyntax() Default constructor. public FanucSystemControlVariableSyntax() FanucSystemControlVariableSyntax(XElement) Loads from an XML element produced by MakeXmlSource(string, string, bool). No state to deserialise. public FanucSystemControlVariableSyntax(XElement src) Parameters src XElement Fields SystemControlMax Inclusive upper bound of the system-control range (#3999). public const int SystemControlMax = 3999 Field Value int SystemControlMin Inclusive lower bound of the system-control range (#3000). public const int SystemControlMin = 3000 Field Value int UnsupportedDiagId Diagnostic id emitted for every consumed #3000-#3999 assignment — recognised by the parser, ignored by simulation. public const string UnsupportedDiagId = \"FanucSystemControl--Unsupported\" Field Value string Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FanucSystemControlVariableSyntax Namespace Hi.NcParsers.EvaluationSyntaxs.Fanuc Assembly HiMech.dll Consumes Fanuc-style system-control variable assignments (#3000-#3999) — alarm trigger (#3000), millisecond and hour clocks (#3001 / #3002), single-block / feed-hold bypass flags (#3003 / #3004), pause-with-message (#3006), mirror-image flags (#3007), date / time (#3011 / #3012), tool-life data (#3030 / #3032), etc. Every id in this range is a controller-side state variable — its authoritative value lives on the real hardware (RTC, alarm bus, override switches, …) and an NC write at most triggers a side effect (clock reset, alarm raise, message-pause prompt). Offline simulation has none of that machinery, so this syntax does not emulate the effect. Instead it: records the literal write on the block JSON under Vars.SystemControl (round-trip and cache-dump visibility); emits a FanucSystemControl--Unsupported UnsupportedMessage(ISentenceCarrier, string, string, object) so the user knows the assignment was recognised but its controller-side effect is not simulated. Message-severity (not Warning) because these writes are safe no-ops offline — every consumed assignment would emit a Warning per block, which would be noisy without signalling anything the user must act on; removes the entry from Parsing.Assignments so it does not re-surface as a generic Parsing--Unconsumed diagnostic. The dictionary carries forward block-by-block (same dict-merge pattern as VolatileVariableReadingSyntax) so a downstream consumer can read the most recent recorded value via SyntaxPiece linkage. Only literal numeric RHS values are consumed; non-literal RHS (e.g. #3002 = #500) is left in Parsing.Assignments for VariableEvaluatorSyntax to resolve, mirroring the retained / volatile reading syntaxes. Fanuc-family only — Siemens uses named system variables ($AC_TIME, $A_DAY, …) and Heidenhain uses FN18: SYSREAD; neither flows through Parsing.Assignments.#nnn. public class FanucSystemControlVariableSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucSystemControlVariableSyntax Implements ISituNcSyntax INcSyntax 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 FanucSystemControlVariableSyntax() Default constructor. public FanucSystemControlVariableSyntax() FanucSystemControlVariableSyntax(XElement) Loads from an XML element produced by MakeXmlSource(string, string, bool). No state to deserialise. public FanucSystemControlVariableSyntax(XElement src) Parameters src XElement Fields SystemControlMax Inclusive upper bound of the system-control range (#3999). public const int SystemControlMax = 3999 Field Value int SystemControlMin Inclusive lower bound of the system-control range (#3000). public const int SystemControlMin = 3000 Field Value int UnsupportedDiagId Diagnostic id emitted for every consumed #3000-#3999 assignment — recognised by the parser, ignored by simulation. public const string UnsupportedDiagId = \"FanucSystemControl--Unsupported\" Field Value string Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.html", @@ -3882,7 +3882,7 @@ "api/Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.html", "title": "Class LabelScanUtil | HiAPI-C# 2025", - "summary": "Class LabelScanUtil Namespace Hi.NcParsers.EvaluationSyntaxs Assembly HiMech.dll Shared “re-segment a file and skip pieces until a label matches” scan, used by both FanucGotoSyntax (unconditional GOTO redirect) and SubProgramReturnSyntax (M99 P{seq} jump into the caller file). Reads the file via ReadLines(int, string, string), segments through the provided ISegmenter, runs the probeSyntaxes on each candidate block to extract IndexNote.Number, and returns the slice from the first matching block to EOF. Returns null when no block matches — the caller's responsibility to surface the appropriate diagnostic. The probes are idempotent because the downstream Parsing bundle re-runs the same syntaxes on the yielded pieces with no-op effect (the regex patterns no longer match once the N-prefix is consumed and the parenthesised comment stripped). public static class LabelScanUtil Inheritance object LabelScanUtil Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Methods SegmentAndSkipUntilLabel(ISegmenter, string, string, int, int, int, List, NcDiagnosticProgress) Re-segments absPath from offset 0, scans for a block whose Number equals targetN (after the probeSyntaxes have stamped it in-place), and returns the sub-list of pieces from that block to EOF. Pieces are produced via GetSyntaxPieces(ISegmenter, IEnumerable, int, NcDiagnosticProgress, CancellationToken) with SentenceIndex stamped starting at sentenceIndexBegin. Returns null when no match is found; the caller emits its own brand-specific “label not found” diagnostic. The predicate is fixed at the IndexNote.Number section — the section name comes from nameof() so a future rename propagates without re-edits. Reconfigurability for non-standard label-output sections is achieved by replacing the probe syntaxes (the natural extension point) rather than parameterising the predicate path here: a probe stack that doesn't end up writing IndexNote on candidates is by definition not participating in this scan. public static List SegmentAndSkipUntilLabel(ISegmenter segmenter, string absPath, string labelPath, int fileIndex, int sentenceIndexBegin, int targetN, List probeSyntaxes, NcDiagnosticProgress diag) Parameters segmenter ISegmenter Segmenter used to slice the file into Sentence blocks. absPath string Absolute path to read line content from. labelPath string Project-relative path to stamp on each line's IndexedFileLine label (so diagnostics anchor to a relative form, not the resolver's transient absolute path). fileIndex int Fresh file index to stamp on each scanned line, allocated by the caller from FileIndexCounterDependency. sentenceIndexBegin int Starting execution-order index for the produced pieces. targetN int Integer label target to match against Number. probeSyntaxes List Ordered list of helper syntaxes to run on each candidate block before the predicate check (typically comment-stripper(s) followed by a head-index parser). May be null. diag NcDiagnosticProgress Sink for any diagnostics produced by the probe syntaxes (e.g. comment-stripper malformed-comment warnings). Returns List" + "summary": "Class LabelScanUtil Namespace Hi.NcParsers.EvaluationSyntaxs Assembly HiMech.dll Shared “re-segment a file and skip pieces until a label matches” scan, used by both FanucGotoSyntax (unconditional GOTO redirect) and SubProgramReturnSyntax (M99 P{seq} jump into the caller file). Reads the file via ReadLines(int, string, string), segments through the provided ISegmenter, runs the caller-supplied probe syntaxes on each candidate block to extract IndexNote.Number, and returns the slice from the first matching block to EOF. Returns null when no block matches — the caller's responsibility to surface the appropriate diagnostic. The probes are idempotent because the downstream Parsing bundle re-runs the same syntaxes on the yielded pieces with no-op effect (the regex patterns no longer match once the N-prefix is consumed and the parenthesised comment stripped). public static class LabelScanUtil Inheritance object LabelScanUtil Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Methods SegmentAndSkipUntilLabel(ISegmenter, string, string, int, int, int, List, NcDiagnosticProgress) Re-segments absPath from offset 0, scans for a block whose Number equals targetN (after the probeSyntaxes have stamped it in-place), and returns the sub-list of pieces from that block to EOF. Pieces are produced via GetSyntaxPieces(ISegmenter, IEnumerable, int, NcDiagnosticProgress, CancellationToken) with SentenceIndex stamped starting at sentenceIndexBegin. Returns null when no match is found; the caller emits its own brand-specific “label not found” diagnostic. The predicate is fixed at the IndexNote.Number section — the section name comes from nameof() so a future rename propagates without re-edits. Reconfigurability for non-standard label-output sections is achieved by replacing the probe syntaxes (the natural extension point) rather than parameterising the predicate path here: a probe stack that doesn't end up writing IndexNote on candidates is by definition not participating in this scan. public static List SegmentAndSkipUntilLabel(ISegmenter segmenter, string absPath, string labelPath, int fileIndex, int sentenceIndexBegin, int targetN, List probeSyntaxes, NcDiagnosticProgress diag) Parameters segmenter ISegmenter Segmenter used to slice the file into Sentence blocks. absPath string Absolute path to read line content from. labelPath string Project-relative path to stamp on each line's IndexedFileLine label (so diagnostics anchor to a relative form, not the resolver's transient absolute path). fileIndex int Fresh file index to stamp on each scanned line, allocated by the caller from FileIndexCounterDependency. sentenceIndexBegin int Starting execution-order index for the produced pieces. targetN int Integer label target to match against Number. probeSyntaxes List Ordered list of helper syntaxes to run on each candidate block before the predicate check (typically comment-stripper(s) followed by a head-index parser). May be null. diag NcDiagnosticProgress Sink for any diagnostics produced by the probe syntaxes (e.g. comment-stripper malformed-comment warnings). Returns List" }, "api/Hi.NcParsers.EvaluationSyntaxs.MacroFileResolver.ResolvedFile.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.MacroFileResolver.ResolvedFile.html", @@ -3897,37 +3897,37 @@ "api/Hi.NcParsers.EvaluationSyntaxs.MacroInlineUtil.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.MacroInlineUtil.html", "title": "Class MacroInlineUtil | HiAPI-C# 2025", - "summary": "Class MacroInlineUtil Namespace Hi.NcParsers.EvaluationSyntaxs Assembly HiMech.dll Shared inline mechanism for Fanuc Custom Macro B body expansion — used by both FanucMacroCallSyntax (one-shot) and FanucModalMacroSyntax's expansion phase (modal trigger). Both callers do the same three things on every produced SyntaxPiece: stamp a FanucMacroCall clone, stamp a fresh MacroFrame id, and stamp argument bindings into Vars.Local. Centralising lets the two call sites stay in lock-step — frame allocation, file-index allocation, and the inline-piece JSON shape are guaranteed identical. Frame ids share the same FileIndexCounterDependency counter as file indices — both just need within-session uniqueness and the counter is rewound on session start in lock-step with the pipeline. The main NC file is allocated index 0 first, so all inline frame ids land at > 0 and never collide with main. public static class MacroInlineUtil Inheritance object MacroInlineUtil Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Methods ApplyLocalBindings(JsonObject, IReadOnlyDictionary) Writes the resolved #N → value bindings into Vars.Local on the given block. No-op when bindings is empty. Always overwrites any pre-existing Vars.Local on the block — for inlined macro bodies this is a fresh stamp. public static void ApplyLocalBindings(JsonObject json, IReadOnlyDictionary bindings) Parameters json JsonObject bindings IReadOnlyDictionary BuildInlinedPieces(ResolvedFile, int, IReadOnlyDictionary, JsonObject, JsonObject, FileIndexCounterDependency, ISegmenter, int, NcDiagnosticProgress) Yields L repetitions of the macro body as inline-ready SyntaxPiece entries. Each repetition gets its own freshly-allocated FileIndex and MacroFrame id; every yielded piece is stamped with a deep clone of callRecord, the frame id, and the resolved #N → value bindings. The caller passes the result to LazyLinkedList.PrependSource on the source layer. public static IEnumerable BuildInlinedPieces(MacroFileResolver.ResolvedFile resolvedFile, int l, IReadOnlyDictionary bindings, JsonObject callRecord, JsonObject pushedCallStack, FileIndexCounterDependency counterDep, ISegmenter segmenter, int sentenceIndexBegin, NcDiagnosticProgress ncDiagnosticProgress) Parameters resolvedFile MacroFileResolver.ResolvedFile l int bindings IReadOnlyDictionary callRecord JsonObject pushedCallStack JsonObject counterDep FileIndexCounterDependency segmenter ISegmenter sentenceIndexBegin int ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable BuildLocalBindings(JsonObject) Translates the argument-letter map captured by the host call ({ “A”: 1.5, “B”: 2.0, ... }) into the #N → value bindings the macro body's expression evaluator will read off Vars.Local. Skips non-numeric (string) args silently — those are unresolved variable references that the evaluator's own VariableExpression–Unevaluated diagnostic will surface; writing a string into Vars.Local would just propagate the residue. public static Dictionary BuildLocalBindings(JsonObject args) Parameters args JsonObject Returns Dictionary" + "summary": "Class MacroInlineUtil Namespace Hi.NcParsers.EvaluationSyntaxs Assembly HiMech.dll Shared inline mechanism for Fanuc Custom Macro B body expansion — used by both FanucMacroCallSyntax (one-shot) and FanucModalMacroSyntax's expansion phase (modal trigger). Both callers do the same three things on every produced SyntaxPiece: stamp a FanucMacroCall clone, stamp a fresh MacroFrame id, and stamp argument bindings into Vars.Local. Centralising lets the two call sites stay in lock-step — frame allocation, file-index allocation, and the inline-piece JSON shape are guaranteed identical. Frame ids share the same FileIndexCounterDependency counter as file indices — both just need within-session uniqueness and the counter is rewound on session start in lock-step with the pipeline. The main NC file is allocated index 0 first, so all inline frame ids land at > 0 and never collide with main. public static class MacroInlineUtil Inheritance object MacroInlineUtil Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Methods ApplyLocalBindings(JsonObject, IReadOnlyDictionary) Writes the resolved #N → value bindings into Vars.Local on the given block. No-op when bindings is empty. Always overwrites any pre-existing Vars.Local on the block — for inlined macro bodies this is a fresh stamp. public static void ApplyLocalBindings(JsonObject json, IReadOnlyDictionary bindings) Parameters json JsonObject bindings IReadOnlyDictionary BuildInlinedPieces(ResolvedFile, int, IReadOnlyDictionary, JsonObject, JsonObject, FileIndexCounterDependency, ISegmenter, int, NcDiagnosticProgress) Yields L repetitions of the macro body as inline-ready SyntaxPiece entries. Each repetition gets its own freshly-allocated FileIndex and MacroFrame id; every yielded piece is stamped with a deep clone of callRecord, the frame id, and the resolved #N → value bindings. The caller passes the result to PrependSource(IEnumerable) on the source layer. public static IEnumerable BuildInlinedPieces(MacroFileResolver.ResolvedFile resolvedFile, int l, IReadOnlyDictionary bindings, JsonObject callRecord, JsonObject pushedCallStack, FileIndexCounterDependency counterDep, ISegmenter segmenter, int sentenceIndexBegin, NcDiagnosticProgress ncDiagnosticProgress) Parameters resolvedFile MacroFileResolver.ResolvedFile l int bindings IReadOnlyDictionary callRecord JsonObject pushedCallStack JsonObject counterDep FileIndexCounterDependency segmenter ISegmenter sentenceIndexBegin int ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable BuildLocalBindings(JsonObject) Translates the argument-letter map captured by the host call ({ “A”: 1.5, “B”: 2.0, ... }) into the #N → value bindings the macro body's expression evaluator will read off Vars.Local. Skips non-numeric (string) args silently — those are unresolved variable references that the evaluator's own VariableExpression–Unevaluated diagnostic will surface; writing a string into Vars.Local would just propagate the residue. public static Dictionary BuildLocalBindings(JsonObject args) Parameters args JsonObject Returns Dictionary" }, "api/Hi.NcParsers.EvaluationSyntaxs.RetainedCommonVariableReadingSyntax.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.RetainedCommonVariableReadingSyntax.html", "title": "Class RetainedCommonVariableReadingSyntax | HiAPI-C# 2025", - "summary": "Class RetainedCommonVariableReadingSyntax Namespace Hi.NcParsers.EvaluationSyntaxs Assembly HiMech.dll Obtains values for Fanuc-style retained common variables (#500-#999) by consuming literal numeric assignments from Parsing.Assignments.#nnn and writing them straight to a registered RetainedCommonVariableTable. No SyntaxPiece JSON mirror is created — the table is the single source of truth for retained values, and VariableEvaluatorSyntax reads from the table directly. The hincproj round-trip preserves writes across project sessions. Only literal numeric RHS values are consumed by this syntax (#500 = 1.234 ✓; #600 = #500 + 1 ✗). Non-literal RHS entries are left untouched in Parsing.Assignments; VariableEvaluatorSyntax resolves them and writes the result through the same table. The two syntaxes are decoupled. If no RetainedCommonVariableTable is registered on the runner's NcDependencyList, this syntax is a no-op. public class RetainedCommonVariableReadingSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object RetainedCommonVariableReadingSyntax Implements ISituNcSyntax INcSyntax 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 RetainedCommonVariableReadingSyntax() Default constructor. public RetainedCommonVariableReadingSyntax() RetainedCommonVariableReadingSyntax(XElement) Loads from an XML element produced by MakeXmlSource(string, string, bool). No state to deserialise. public RetainedCommonVariableReadingSyntax(XElement src) Parameters src XElement Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class RetainedCommonVariableReadingSyntax Namespace Hi.NcParsers.EvaluationSyntaxs Assembly HiMech.dll Obtains values for Fanuc-style retained common variables (#500-#999) by consuming literal numeric assignments from Parsing.Assignments.#nnn and writing them straight to a registered RetainedCommonVariableTable. No SyntaxPiece JSON mirror is created — the table is the single source of truth for retained values, and VariableEvaluatorSyntax reads from the table directly. The hincproj round-trip preserves writes across project sessions. Only literal numeric RHS values are consumed by this syntax (#500 = 1.234 ✓; #600 = #500 + 1 ✗). Non-literal RHS entries are left untouched in Parsing.Assignments; VariableEvaluatorSyntax resolves them and writes the result through the same table. The two syntaxes are decoupled. If no RetainedCommonVariableTable is registered on the runner's NcDependencyList, this syntax is a no-op. public class RetainedCommonVariableReadingSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object RetainedCommonVariableReadingSyntax Implements ISituNcSyntax INcSyntax 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 RetainedCommonVariableReadingSyntax() Default constructor. public RetainedCommonVariableReadingSyntax() RetainedCommonVariableReadingSyntax(XElement) Loads from an XML element produced by MakeXmlSource(string, string, bool). No state to deserialise. public RetainedCommonVariableReadingSyntax(XElement src) Parameters src XElement Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.EvaluationSyntaxs.SubProgramCallSyntax.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.SubProgramCallSyntax.html", "title": "Class SubProgramCallSyntax | HiAPI-C# 2025", - "summary": "Class SubProgramCallSyntax Namespace Hi.NcParsers.EvaluationSyntaxs Assembly HiMech.dll Inlines a Fanuc-style subprogram into the source layer when an M98 or M198 host block is reached. M98 P_ L_ reads the matching O

file from InternalFolder; M198 P_ reads from ExternalFolder (Fanuc external-storage call — same mechanism as M98, different lookup root). The file is segmented through the host runner's segmenter (SegmenterDependency) and the resulting SyntaxPieces are prepended into layers[0] via PrependSource(IEnumerable); the rest of the pipeline picks them up through ordinary walkNode.Next traversal as if they had always been part of the host file. Pipeline placement: first child of the Fanuc Evaluation BundleSyntax. By the time this runs, M98Syntax / M198Syntax (each a ParameterizedFlagSyntax) have written a Parsing.M98 / Parsing.M198 sub-object carrying the captured P / L parameters. Note: those sub-objects are this syntax's only trigger — \"M98\" / \"M198\" never reach Parsing.Flags, because the parameterized match has already consumed the text by the time NumberedFlagSyntax runs. Filename lookup uses a fallback chain: O{P:D4}.NC, O{P}.NC, O{P:D4}, O{P}, {P:D4}.NC, {P}.NC — first match wins. Case-insensitive match is delegated to the host filesystem (Windows is, Linux is not). L > 1 inlines the same subprogram L times in series. Each repetition is a fresh segmentation pass so each block gets its own SyntaxPiece with an independent JSON object — the downstream pipeline mutates JSON in place and would clobber sibling repetitions if instances were shared. Not yet supported: M99 P{seq} early return inside a subprogram and partial-program calls (M98 P{seq}{prog} split encoding). Custom Macro B argument-binding calls (G65 / G66 / G67) live in FanucMacroCallSyntax and FanucModalMacroSyntax — those handle the argument-letter-to-#1..#26 binding and the macro-call frame isolation that M98 deliberately does not provide. public class SubProgramCallSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object SubProgramCallSyntax Implements ISituNcSyntax INcSyntax 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 SubProgramCallSyntax() Parameterless instance for bundle composition (no XML state). public SubProgramCallSyntax() SubProgramCallSyntax(XElement) XML ctor (no child elements; reserved for forward compatibility). public SubProgramCallSyntax(XElement src) Parameters src XElement Root element named XName. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class SubProgramCallSyntax Namespace Hi.NcParsers.EvaluationSyntaxs Assembly HiMech.dll Inlines a Fanuc-style subprogram into the source layer when an M98 or M198 host block is reached. M98 P_ L_ reads the matching O

file from InternalFolder; M198 P_ reads from ExternalFolder (Fanuc external-storage call — same mechanism as M98, different lookup root). The file is segmented through the host runner's segmenter (SegmenterDependency) and the resulting SyntaxPieces are prepended into layers[0] via PrependSource(IEnumerable); the rest of the pipeline picks them up through ordinary walkNode.Next traversal as if they had always been part of the host file. Pipeline placement: first child of the Fanuc Evaluation BundleSyntax. By the time this runs, M98Syntax / M198Syntax (each a ParameterizedFlagSyntax) have written a Parsing.M98 / Parsing.M198 sub-object carrying the captured P / L parameters. Note: those sub-objects are this syntax's only trigger — \"M98\" / \"M198\" never reach Parsing.Flags, because the parameterized match has already consumed the text by the time NumberedFlagSyntax runs. Filename lookup uses a fallback chain: O{P:D4}.NC, O{P}.NC, O{P:D4}, O{P}, {P:D4}.NC, {P}.NC — first match wins. Case-insensitive match is delegated to the host filesystem (Windows is, Linux is not). L > 1 inlines the same subprogram L times in series. Each repetition is a fresh segmentation pass so each block gets its own SyntaxPiece with an independent JSON object — the downstream pipeline mutates JSON in place and would clobber sibling repetitions if instances were shared. Not yet supported: M99 P{seq} early return inside a subprogram and partial-program calls (M98 P{seq}{prog} split encoding). Custom Macro B argument-binding calls (G65 / G66 / G67) live in FanucMacroCallSyntax and FanucModalMacroSyntax — those handle the argument-letter-to-#1..#26 binding and the macro-call frame isolation that M98 deliberately does not provide. public class SubProgramCallSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object SubProgramCallSyntax Implements ISituNcSyntax INcSyntax 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 SubProgramCallSyntax() Parameterless instance for bundle composition (no XML state). public SubProgramCallSyntax() SubProgramCallSyntax(XElement) XML ctor (no child elements; reserved for forward compatibility). public SubProgramCallSyntax(XElement src) Parameters src XElement Root element named XName. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.EvaluationSyntaxs.SubProgramReturnSyntax.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.SubProgramReturnSyntax.html", "title": "Class SubProgramReturnSyntax | HiAPI-C# 2025", - "summary": "Class SubProgramReturnSyntax Namespace Hi.NcParsers.EvaluationSyntaxs Assembly HiMech.dll Consumes Fanuc-style M99 subprogram-return blocks and pops one CallStack frame. Plain M99 relies on the natural pipeline tail — the inlined body's last block is followed in layers[0] by the caller's next block, so the “return” happens implicitly; this syntax only consumes the M99 trigger (so UnconsumedCheckSyntax doesn't warn), stamps a SubProgramReturn diagnostic section, and writes the popped CallStack for downstream blocks to carry. M99 P{seq} additionally redirects control flow to the caller's N{seq} block via ReplaceSource(IEnumerable). The caller's file is resolved from the popped frame's CallerFilePath; the scan uses the same SegmentAndSkipUntilLabel(ISegmenter, string, string, int, int, int, List, NcDiagnosticProgress) helper as FanucGotoSyntax, with hardcoded Fanuc-default probes (QuoteCommentSyntax + HeadIndexSyntax with symbol \"N\") because the M99 P semantic itself is Fanuc-family-only and Mazak / Syntec follow the same conventions. The iteration is counted against FanucGotoIterationDependency, sharing the same runaway-loop guard as GOTO — keyed on the same (FileName, TargetN) bucket so a tight M98 → M99 P → M98 … loop trips the same threshold. Pipeline placement: same Evaluation bundle slot it always occupied, right after SubProgramCallSyntax at the head. Needs FanucGotoIterationDependency, ProjectFolderDependency, SegmenterDependency, SyntaxPieceLayerDependency, FileIndexCounterDependency on the dep list when M99 P{seq} is to fire; without them the plain-M99 path still works and the P-jump emits a configuration warning. Detection is on the Parsing.M99 sub-object written by M99Syntax (a ParameterizedFlagSyntax) — the keyword \"M99\" never reaches Parsing.Flags because the parameterized match has already consumed the text by the time NumberedFlagSyntax runs. public class SubProgramReturnSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object SubProgramReturnSyntax Implements ISituNcSyntax INcSyntax 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 SubProgramReturnSyntax() Parameterless instance with default probe list. public SubProgramReturnSyntax() SubProgramReturnSyntax(XElement, string, IProgress) Loads LabelProbeSyntaxes from XML produced by MakeXmlSource(string, string, bool). An absent wrapper falls back to the default probe list. public SubProgramReturnSyntax(XElement src, string baseDirectory, IProgress progress) Parameters src XElement Root element named XName. baseDirectory string Project base directory propagated to child XFactory calls. progress IProgress Diagnostic sink propagated to child factories. Properties LabelProbeSyntaxes Ordered list of probe syntaxes run on each candidate block during the M99 P{seq} caller-side scan, before the integer label predicate fires. Defaults match Fanuc / Mazak / Syntec (parenthesised comment stripper + N head-index parser); API customers can swap or extend (e.g. add a TailCommentSyntax for ; end-of-block comments, or insert a BlockSkipSyntax to exclude /-prefixed candidates) without subclassing. Mirrors the same hosted-list pattern as LabelProbeSyntaxes. public List LabelProbeSyntaxes { get; set; } Property Value List Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class SubProgramReturnSyntax Namespace Hi.NcParsers.EvaluationSyntaxs Assembly HiMech.dll Consumes Fanuc-style M99 subprogram-return blocks and pops one CallStack frame. Plain M99 relies on the natural pipeline tail — the inlined body's last block is followed in layers[0] by the caller's next block, so the “return” happens implicitly; this syntax only consumes the M99 trigger (so UnconsumedCheckSyntax doesn't warn), stamps a SubProgramReturn diagnostic section, and writes the popped CallStack for downstream blocks to carry. M99 P{seq} additionally redirects control flow to the caller's N{seq} block via ReplaceSource(IEnumerable). The caller's file is resolved from the popped frame's CallerFilePath; the scan uses the same SegmentAndSkipUntilLabel(ISegmenter, string, string, int, int, int, List, NcDiagnosticProgress) helper as FanucGotoSyntax, with hardcoded Fanuc-default probes (QuoteCommentSyntax + HeadIndexSyntax with symbol \"N\") because the M99 P semantic itself is Fanuc-family-only and Mazak / Syntec follow the same conventions. The iteration is counted against FanucGotoIterationDependency, sharing the same runaway-loop guard as GOTO — keyed on the same (FileName, TargetN) bucket so a tight M98 → M99 P → M98 … loop trips the same threshold. Pipeline placement: same Evaluation bundle slot it always occupied, right after SubProgramCallSyntax at the head. Needs FanucGotoIterationDependency, ProjectFolderDependency, SegmenterDependency, SyntaxPieceLayerDependency, FileIndexCounterDependency on the dep list when M99 P{seq} is to fire; without them the plain-M99 path still works and the P-jump emits a configuration warning. Detection is on the Parsing.M99 sub-object written by M99Syntax (a ParameterizedFlagSyntax) — the keyword \"M99\" never reaches Parsing.Flags because the parameterized match has already consumed the text by the time NumberedFlagSyntax runs. public class SubProgramReturnSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object SubProgramReturnSyntax Implements ISituNcSyntax INcSyntax 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 SubProgramReturnSyntax() Parameterless instance with default probe list. public SubProgramReturnSyntax() SubProgramReturnSyntax(XElement, string, IProgress) Loads LabelProbeSyntaxes from XML produced by MakeXmlSource(string, string, bool). An absent wrapper falls back to the default probe list. public SubProgramReturnSyntax(XElement src, string baseDirectory, IProgress progress) Parameters src XElement Root element named XName. baseDirectory string Project base directory propagated to child XFactory calls. progress IProgress Diagnostic sink propagated to child factories. Properties LabelProbeSyntaxes Ordered list of probe syntaxes run on each candidate block during the M99 P{seq} caller-side scan, before the integer label predicate fires. Defaults match Fanuc / Mazak / Syntec (parenthesised comment stripper + N head-index parser); API customers can swap or extend (e.g. add a TailCommentSyntax for ; end-of-block comments, or insert a BlockSkipSyntax to exclude /-prefixed candidates) without subclassing. Mirrors the same hosted-list pattern as LabelProbeSyntaxes. public List LabelProbeSyntaxes { get; set; } Property Value List Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html", "title": "Class VariableEvaluatorSyntax | HiAPI-C# 2025", - "summary": "Class VariableEvaluatorSyntax Namespace Hi.NcParsers.EvaluationSyntaxs Assembly HiMech.dll Pure expression normalizer for Custom Macro B syntax. Walks the parser-stage residue on a single block and inlines numeric values wherever a Fanuc-style variable reference or bracket expression appears — but does not write to any specific store. Routing “where the resolved literal lands” stays in the brand-specific reader syntaxes (VolatileVariableReadingSyntax, RetainedCommonVariableTable's reader, FanucSystemControlVariableSyntax, …) which run after this syntax on the same block. Two passes per block: Assignments normalize — Parsing.Assignments.#nnn entries whose RHS is non-literal (e.g. \"#500+1\", \"SQRT[#100]\") are evaluated via the VariableEvaluatorSyntax.ChainLookup and the RHS string is replaced with the resolved literal (round-trip-safe \"R\"-format). The entry stays in Parsing.Assignments so downstream reader syntaxes consume it as a pure-literal assignment. Iteration follows source order (Parsing.Assignments insertion order). Parsing tree substitution — every string-typed value reachable from Parsing. (axis tags, canned-cycle sub-objects) is parsed; on a successful evaluation the string is replaced with a numeric JsonValue. Failures silently leave the original string and rely on downstream GetParsedDouble(JsonObject, string, ISentenceCarrier, NcDiagnosticProgress) at consumer sites to surface VariableExpression--Unevaluated only if the tag is actually read. Lookup chain (first non-null wins, configured per brand preset via RuntimeVariableLookups + IVariableLookup instances on NcDependencyList): Current block's own resolved assignments — built-in to VariableEvaluatorSyntax.ChainLookup; covers same-block forward references in source order (an earlier #nnn=literal is visible to a later RHS that mentions #nnn). Each IRuntimeVariableLookup in RuntimeVariableLookups, in list order. Typical contents for a Fanuc-family preset: LocalVariableLookup (#1-#33), VolatileVariableLookup (#100-#499), FanucPositionVariableLookup (#5001-#5043). Each IVariableLookup on the runner's NcDependencyList, in registration order (RetainedCommonVariableTable, FanucParameterTable, FanucToolOffsetVariableLookup). Each lookup self-gates its id range; the evaluator stays brand- and range-agnostic. Adding a new variable surface is additive: register an IVariableLookup on a dependency or push an IRuntimeVariableLookup onto the per-preset list. Same-block forward reference — when an Assignment RHS references a #nnn that is also being assigned later in the same block (i.e. listed in Parsing.Assignments after the RHS being evaluated), the VariableEvaluatorSyntax.ChainLookup cannot pick up the not-yet-resolved value and falls back to traceback / dependency-table reads — effectively the pre-block value. A VariableEvaluator--SameBlockForwardReference warning is emitted per such RHS so the user is told the source-order semantics were not honoured. Practical impact is near-zero for typical CAM-emitted NC (one assignment per line). public class VariableEvaluatorSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object VariableEvaluatorSyntax Implements ISituNcSyntax INcSyntax 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 VariableEvaluatorSyntax() Default constructor. public VariableEvaluatorSyntax() VariableEvaluatorSyntax(XElement) Loads from an XML element produced by MakeXmlSource(string, string, bool); restores RuntimeVariableLookups via XFactory dispatch. public VariableEvaluatorSyntax(XElement src) Parameters src XElement Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string RuntimeVariableLookups Per-preset list of context-sensitive lookups (block-local Vars.Local / Vars.Volatile, position reads, runtime-state reads). Walked in list order, before the dependency-bound IVariableLookups. Brand presets configure this; the list is XML-serialised so a runner rebuilt from XML keeps its brand-specific lookups (each impl is stateless and dispatches by its XName via XFactory). public List RuntimeVariableLookups { get; set; } Property Value List XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class VariableEvaluatorSyntax Namespace Hi.NcParsers.EvaluationSyntaxs Assembly HiMech.dll Pure expression normalizer for Custom Macro B syntax. Walks the parser-stage residue on a single block and inlines numeric values wherever a Fanuc-style variable reference or bracket expression appears — but does not write to any specific store. Routing “where the resolved literal lands” stays in the brand-specific reader syntaxes (VolatileVariableReadingSyntax, RetainedCommonVariableTable's reader, FanucSystemControlVariableSyntax, …) which run after this syntax on the same block. Two passes per block: Assignments normalize — Parsing.Assignments.#nnn entries whose RHS is non-literal (e.g. \"#500+1\", \"SQRT[#100]\") are evaluated via the VariableEvaluatorSyntax.ChainLookup and the RHS string is replaced with the resolved literal (round-trip-safe \"R\"-format). The entry stays in Parsing.Assignments so downstream reader syntaxes consume it as a pure-literal assignment. Iteration follows source order (Parsing.Assignments insertion order). Parsing tree substitution — every string-typed value reachable from Parsing. (axis tags, canned-cycle sub-objects) is parsed; on a successful evaluation the string is replaced with a numeric JsonValue. Failures silently leave the original string and rely on downstream GetParsedDouble(JsonObject, string, ISentenceCarrier, NcDiagnosticProgress) at consumer sites to surface VariableExpression--Unevaluated only if the tag is actually read. Lookup chain (first non-null wins, configured per brand preset via RuntimeVariableLookups + IVariableLookup instances on NcDependencyList): Current block's own resolved assignments — built-in to VariableEvaluatorSyntax.ChainLookup; covers same-block forward references in source order (an earlier #nnn=literal is visible to a later RHS that mentions #nnn). Each IRuntimeVariableLookup in RuntimeVariableLookups, in list order. Typical contents for a Fanuc-family preset: LocalVariableLookup (#1-#33), VolatileVariableLookup (#100-#499), FanucPositionVariableLookup (#5001-#5043). Each IVariableLookup on the runner's NcDependencyList, in registration order (RetainedCommonVariableTable, FanucParameterTable, FanucToolOffsetVariableLookup). Each lookup self-gates its id range; the evaluator stays brand- and range-agnostic. Adding a new variable surface is additive: register an IVariableLookup on a dependency or push an IRuntimeVariableLookup onto the per-preset list. Same-block forward reference — when an Assignment RHS references a #nnn that is also being assigned later in the same block (i.e. listed in Parsing.Assignments after the RHS being evaluated), the VariableEvaluatorSyntax.ChainLookup cannot pick up the not-yet-resolved value and falls back to traceback / dependency-table reads — effectively the pre-block value. A VariableEvaluator--SameBlockForwardReference warning is emitted per such RHS so the user is told the source-order semantics were not honoured. Practical impact is near-zero for typical CAM-emitted NC (one assignment per line). public class VariableEvaluatorSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object VariableEvaluatorSyntax Implements ISituNcSyntax INcSyntax 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 VariableEvaluatorSyntax() Default constructor. public VariableEvaluatorSyntax() VariableEvaluatorSyntax(XElement) Loads from an XML element produced by MakeXmlSource(string, string, bool); restores RuntimeVariableLookups via XFactory dispatch. public VariableEvaluatorSyntax(XElement src) Parameters src XElement Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string RuntimeVariableLookups Per-preset list of context-sensitive lookups (block-local Vars.Local / Vars.Volatile, position reads, runtime-state reads). Walked in list order, before the dependency-bound IVariableLookups. Brand presets configure this; the list is XML-serialised so a runner rebuilt from XML keeps its brand-specific lookups (each impl is stateless and dispatches by its XName via XFactory). public List RuntimeVariableLookups { get; set; } Property Value List XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.EvaluationSyntaxs.VolatileVariableReadingSyntax.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.VolatileVariableReadingSyntax.html", "title": "Class VolatileVariableReadingSyntax | HiAPI-C# 2025", - "summary": "Class VolatileVariableReadingSyntax Namespace Hi.NcParsers.EvaluationSyntaxs Assembly HiMech.dll Obtains values for Fanuc-style non-retained common variables (#100-#499). Reads literal numeric assignments from Parsing.Assignments.#nnn, dict-merges them with the previous block's volatile state, and writes the resulting per-block dictionary into Vars.Volatile. Lifetime is bounded by MachiningSession: within one session the dictionary carries forward block-by-block via this syntax; session restart abandons the SyntaxPiece JSON dataflow and starts fresh. Program-end (M02/M30) clearing is handled by ProgramEndCleanSyntax. Only literal numeric RHS values are consumed by this syntax (#124 = 15. ✓; #100 = #1 + 5 ✗). Non-literal RHS entries are left untouched in Parsing.Assignments; VariableEvaluatorSyntax resolves them and writes the result into the same per-block dictionary. The two syntaxes are decoupled — the evaluator's lookup tracebacks via SyntaxPiece linkage so it does not depend on having run before or after this syntax. public class VolatileVariableReadingSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object VolatileVariableReadingSyntax Implements ISituNcSyntax INcSyntax 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 VolatileVariableReadingSyntax() Default constructor. public VolatileVariableReadingSyntax() VolatileVariableReadingSyntax(XElement) Loads from an XML element produced by MakeXmlSource(string, string, bool). No state to deserialise. public VolatileVariableReadingSyntax(XElement src) Parameters src XElement Fields VolatileMax Inclusive upper bound of the non-retained common range (#499). public const int VolatileMax = 499 Field Value int VolatileMin Inclusive lower bound of the non-retained common range (#100). public const int VolatileMin = 100 Field Value int Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class VolatileVariableReadingSyntax Namespace Hi.NcParsers.EvaluationSyntaxs Assembly HiMech.dll Obtains values for Fanuc-style non-retained common variables (#100-#499). Reads literal numeric assignments from Parsing.Assignments.#nnn, dict-merges them with the previous block's volatile state, and writes the resulting per-block dictionary into Vars.Volatile. Lifetime is bounded by MachiningSession: within one session the dictionary carries forward block-by-block via this syntax; session restart abandons the SyntaxPiece JSON dataflow and starts fresh. Program-end (M02/M30) clearing is handled by ProgramEndCleanSyntax. Only literal numeric RHS values are consumed by this syntax (#124 = 15. ✓; #100 = #1 + 5 ✗). Non-literal RHS entries are left untouched in Parsing.Assignments; VariableEvaluatorSyntax resolves them and writes the result into the same per-block dictionary. The two syntaxes are decoupled — the evaluator's lookup tracebacks via SyntaxPiece linkage so it does not depend on having run before or after this syntax. public class VolatileVariableReadingSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object VolatileVariableReadingSyntax Implements ISituNcSyntax INcSyntax 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 VolatileVariableReadingSyntax() Default constructor. public VolatileVariableReadingSyntax() VolatileVariableReadingSyntax(XElement) Loads from an XML element produced by MakeXmlSource(string, string, bool). No state to deserialise. public VolatileVariableReadingSyntax(XElement src) Parameters src XElement Fields VolatileMax Inclusive upper bound of the non-retained common range (#499). public const int VolatileMax = 499 Field Value int VolatileMin Inclusive lower bound of the non-retained common range (#100). public const int VolatileMin = 100 Field Value int Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.EvaluationSyntaxs.html": { "href": "api/Hi.NcParsers.EvaluationSyntaxs.html", "title": "Namespace Hi.NcParsers.EvaluationSyntaxs | HiAPI-C# 2025", - "summary": "Namespace Hi.NcParsers.EvaluationSyntaxs Classes CallStackUtil Push / pop helpers for the per-block CallStack section. Both produce a fresh deep-cloned JsonObject ready to stamp onto an inlined piece (push site) or onto an M99 return block (pop site); the caller is responsible for deep-cloning again if it distributes the same stamp across multiple pieces of an L-repetition. Pairs with ModalCarrySyntax at the Logic stage: explicit push / pop writes seed the section at frame boundaries, ModalCarry copies it forward to every block in between so each block is self-contained for cache-dump readers and downstream consumers (notably M99 P{seq} reading the top frame's CallerFilePath). LabelScanUtil Shared “re-segment a file and skip pieces until a label matches” scan, used by both FanucGotoSyntax (unconditional GOTO redirect) and SubProgramReturnSyntax (M99 P{seq} jump into the caller file). Reads the file via ReadLines(int, string, string), segments through the provided ISegmenter, runs the probeSyntaxes on each candidate block to extract IndexNote.Number, and returns the slice from the first matching block to EOF. Returns null when no block matches — the caller's responsibility to surface the appropriate diagnostic. The probes are idempotent because the downstream Parsing bundle re-runs the same syntaxes on the yielded pieces with no-op effect (the regex patterns no longer match once the N-prefix is consumed and the parenthesised comment stripped). MacroFileResolver Shared subprogram-/macro-file resolver for Fanuc-style O lookups consumed by SubProgramCallSyntax (M98 / M198) and FanucMacroCallSyntax (G65). Single helper so the three path forms — file name, project-relative path, absolute path — are produced together at one site and each caller gets exactly the form it should consume: FileName — bare O####.NC form the resolver matched. Stored in JSON sections (FanucMacroCall, SubProgramCall) as the structural NC-language identifier; independent of which folder the dependency happened to be pointing at, so the JSON stays portable across environments. RelPath — relative path against the project base directory (e.g. \"NC/O1234.NC\"). Used as the IndexedFileLine label so diagnostics on inlined blocks align with the relative form already used for the main file label. AbsPath — absolute path. Used only at the ReadLines(int, string, string) call site for actual disk I/O; never persisted, never returned to JSON. Lives inside the resolver's stack frame and the segmenter's enumeration. Filename lookup order (first match wins) mirrors real Fanuc fallback: O{P:D4}.NC, O{P}.NC, O{P:D4}, O{P}, {P:D4}.NC, {P}.NC. Case-insensitive match is delegated to the host filesystem (Windows is, Linux is not). MacroInlineUtil Shared inline mechanism for Fanuc Custom Macro B body expansion — used by both FanucMacroCallSyntax (one-shot) and FanucModalMacroSyntax's expansion phase (modal trigger). Both callers do the same three things on every produced SyntaxPiece: stamp a FanucMacroCall clone, stamp a fresh MacroFrame id, and stamp argument bindings into Vars.Local. Centralising lets the two call sites stay in lock-step — frame allocation, file-index allocation, and the inline-piece JSON shape are guaranteed identical. Frame ids share the same FileIndexCounterDependency counter as file indices — both just need within-session uniqueness and the counter is rewound on session start in lock-step with the pipeline. The main NC file is allocated index 0 first, so all inline frame ids land at > 0 and never collide with main. RetainedCommonVariableReadingSyntax Obtains values for Fanuc-style retained common variables (#500-#999) by consuming literal numeric assignments from Parsing.Assignments.#nnn and writing them straight to a registered RetainedCommonVariableTable. No SyntaxPiece JSON mirror is created — the table is the single source of truth for retained values, and VariableEvaluatorSyntax reads from the table directly. The hincproj round-trip preserves writes across project sessions. Only literal numeric RHS values are consumed by this syntax (#500 = 1.234 ✓; #600 = #500 + 1 ✗). Non-literal RHS entries are left untouched in Parsing.Assignments; VariableEvaluatorSyntax resolves them and writes the result through the same table. The two syntaxes are decoupled. If no RetainedCommonVariableTable is registered on the runner's NcDependencyList, this syntax is a no-op. SubProgramCallSyntax Inlines a Fanuc-style subprogram into the source layer when an M98 or M198 host block is reached. M98 P_ L_ reads the matching O

file from InternalFolder; M198 P_ reads from ExternalFolder (Fanuc external-storage call — same mechanism as M98, different lookup root). The file is segmented through the host runner's segmenter (SegmenterDependency) and the resulting SyntaxPieces are prepended into layers[0] via PrependSource(IEnumerable); the rest of the pipeline picks them up through ordinary walkNode.Next traversal as if they had always been part of the host file. Pipeline placement: first child of the Fanuc Evaluation BundleSyntax. By the time this runs, M98Syntax / M198Syntax (each a ParameterizedFlagSyntax) have written a Parsing.M98 / Parsing.M198 sub-object carrying the captured P / L parameters. Note: those sub-objects are this syntax's only trigger — \"M98\" / \"M198\" never reach Parsing.Flags, because the parameterized match has already consumed the text by the time NumberedFlagSyntax runs. Filename lookup uses a fallback chain: O{P:D4}.NC, O{P}.NC, O{P:D4}, O{P}, {P:D4}.NC, {P}.NC — first match wins. Case-insensitive match is delegated to the host filesystem (Windows is, Linux is not). L > 1 inlines the same subprogram L times in series. Each repetition is a fresh segmentation pass so each block gets its own SyntaxPiece with an independent JSON object — the downstream pipeline mutates JSON in place and would clobber sibling repetitions if instances were shared. Not yet supported: M99 P{seq} early return inside a subprogram and partial-program calls (M98 P{seq}{prog} split encoding). Custom Macro B argument-binding calls (G65 / G66 / G67) live in FanucMacroCallSyntax and FanucModalMacroSyntax — those handle the argument-letter-to-#1..#26 binding and the macro-call frame isolation that M98 deliberately does not provide. SubProgramReturnSyntax Consumes Fanuc-style M99 subprogram-return blocks and pops one CallStack frame. Plain M99 relies on the natural pipeline tail — the inlined body's last block is followed in layers[0] by the caller's next block, so the “return” happens implicitly; this syntax only consumes the M99 trigger (so UnconsumedCheckSyntax doesn't warn), stamps a SubProgramReturn diagnostic section, and writes the popped CallStack for downstream blocks to carry. M99 P{seq} additionally redirects control flow to the caller's N{seq} block via ReplaceSource(IEnumerable). The caller's file is resolved from the popped frame's CallerFilePath; the scan uses the same SegmentAndSkipUntilLabel(ISegmenter, string, string, int, int, int, List, NcDiagnosticProgress) helper as FanucGotoSyntax, with hardcoded Fanuc-default probes (QuoteCommentSyntax + HeadIndexSyntax with symbol \"N\") because the M99 P semantic itself is Fanuc-family-only and Mazak / Syntec follow the same conventions. The iteration is counted against FanucGotoIterationDependency, sharing the same runaway-loop guard as GOTO — keyed on the same (FileName, TargetN) bucket so a tight M98 → M99 P → M98 … loop trips the same threshold. Pipeline placement: same Evaluation bundle slot it always occupied, right after SubProgramCallSyntax at the head. Needs FanucGotoIterationDependency, ProjectFolderDependency, SegmenterDependency, SyntaxPieceLayerDependency, FileIndexCounterDependency on the dep list when M99 P{seq} is to fire; without them the plain-M99 path still works and the P-jump emits a configuration warning. Detection is on the Parsing.M99 sub-object written by M99Syntax (a ParameterizedFlagSyntax) — the keyword \"M99\" never reaches Parsing.Flags because the parameterized match has already consumed the text by the time NumberedFlagSyntax runs. VariableEvaluatorSyntax Pure expression normalizer for Custom Macro B syntax. Walks the parser-stage residue on a single block and inlines numeric values wherever a Fanuc-style variable reference or bracket expression appears — but does not write to any specific store. Routing “where the resolved literal lands” stays in the brand-specific reader syntaxes (VolatileVariableReadingSyntax, RetainedCommonVariableTable's reader, FanucSystemControlVariableSyntax, …) which run after this syntax on the same block. Two passes per block: Assignments normalize — Parsing.Assignments.#nnn entries whose RHS is non-literal (e.g. \"#500+1\", \"SQRT[#100]\") are evaluated via the VariableEvaluatorSyntax.ChainLookup and the RHS string is replaced with the resolved literal (round-trip-safe \"R\"-format). The entry stays in Parsing.Assignments so downstream reader syntaxes consume it as a pure-literal assignment. Iteration follows source order (Parsing.Assignments insertion order). Parsing tree substitution — every string-typed value reachable from Parsing. (axis tags, canned-cycle sub-objects) is parsed; on a successful evaluation the string is replaced with a numeric JsonValue. Failures silently leave the original string and rely on downstream GetParsedDouble(JsonObject, string, ISentenceCarrier, NcDiagnosticProgress) at consumer sites to surface VariableExpression--Unevaluated only if the tag is actually read. Lookup chain (first non-null wins, configured per brand preset via RuntimeVariableLookups + IVariableLookup instances on NcDependencyList): Current block's own resolved assignments — built-in to VariableEvaluatorSyntax.ChainLookup; covers same-block forward references in source order (an earlier #nnn=literal is visible to a later RHS that mentions #nnn). Each IRuntimeVariableLookup in RuntimeVariableLookups, in list order. Typical contents for a Fanuc-family preset: LocalVariableLookup (#1-#33), VolatileVariableLookup (#100-#499), FanucPositionVariableLookup (#5001-#5043). Each IVariableLookup on the runner's NcDependencyList, in registration order (RetainedCommonVariableTable, FanucParameterTable, FanucToolOffsetVariableLookup). Each lookup self-gates its id range; the evaluator stays brand- and range-agnostic. Adding a new variable surface is additive: register an IVariableLookup on a dependency or push an IRuntimeVariableLookup onto the per-preset list. Same-block forward reference — when an Assignment RHS references a #nnn that is also being assigned later in the same block (i.e. listed in Parsing.Assignments after the RHS being evaluated), the VariableEvaluatorSyntax.ChainLookup cannot pick up the not-yet-resolved value and falls back to traceback / dependency-table reads — effectively the pre-block value. A VariableEvaluator--SameBlockForwardReference warning is emitted per such RHS so the user is told the source-order semantics were not honoured. Practical impact is near-zero for typical CAM-emitted NC (one assignment per line). VolatileVariableReadingSyntax Obtains values for Fanuc-style non-retained common variables (#100-#499). Reads literal numeric assignments from Parsing.Assignments.#nnn, dict-merges them with the previous block's volatile state, and writes the resulting per-block dictionary into Vars.Volatile. Lifetime is bounded by MachiningSession: within one session the dictionary carries forward block-by-block via this syntax; session restart abandons the SyntaxPiece JSON dataflow and starts fresh. Program-end (M02/M30) clearing is handled by ProgramEndCleanSyntax. Only literal numeric RHS values are consumed by this syntax (#124 = 15. ✓; #100 = #1 + 5 ✗). Non-literal RHS entries are left untouched in Parsing.Assignments; VariableEvaluatorSyntax resolves them and writes the result into the same per-block dictionary. The two syntaxes are decoupled — the evaluator's lookup tracebacks via SyntaxPiece linkage so it does not depend on having run before or after this syntax. Structs MacroFileResolver.ResolvedFile Tri-form resolution result. FileName is the bare matched name; RelPath is that name joined with the folder portion of the dependency (relative when the folder is configured relative, absolute fallback when it isn't); AbsPath is the fully-resolved I/O target." + "summary": "Namespace Hi.NcParsers.EvaluationSyntaxs Classes CallStackUtil Push / pop helpers for the per-block CallStack section. Both produce a fresh deep-cloned JsonObject ready to stamp onto an inlined piece (push site) or onto an M99 return block (pop site); the caller is responsible for deep-cloning again if it distributes the same stamp across multiple pieces of an L-repetition. Pairs with ModalCarrySyntax at the Logic stage: explicit push / pop writes seed the section at frame boundaries, ModalCarry copies it forward to every block in between so each block is self-contained for cache-dump readers and downstream consumers (notably M99 P{seq} reading the top frame's CallerFilePath). LabelScanUtil Shared “re-segment a file and skip pieces until a label matches” scan, used by both FanucGotoSyntax (unconditional GOTO redirect) and SubProgramReturnSyntax (M99 P{seq} jump into the caller file). Reads the file via ReadLines(int, string, string), segments through the provided ISegmenter, runs the caller-supplied probe syntaxes on each candidate block to extract IndexNote.Number, and returns the slice from the first matching block to EOF. Returns null when no block matches — the caller's responsibility to surface the appropriate diagnostic. The probes are idempotent because the downstream Parsing bundle re-runs the same syntaxes on the yielded pieces with no-op effect (the regex patterns no longer match once the N-prefix is consumed and the parenthesised comment stripped). MacroFileResolver Shared subprogram-/macro-file resolver for Fanuc-style O lookups consumed by SubProgramCallSyntax (M98 / M198) and FanucMacroCallSyntax (G65). Single helper so the three path forms — file name, project-relative path, absolute path — are produced together at one site and each caller gets exactly the form it should consume: FileName — bare O####.NC form the resolver matched. Stored in JSON sections (FanucMacroCall, SubProgramCall) as the structural NC-language identifier; independent of which folder the dependency happened to be pointing at, so the JSON stays portable across environments. RelPath — relative path against the project base directory (e.g. \"NC/O1234.NC\"). Used as the IndexedFileLine label so diagnostics on inlined blocks align with the relative form already used for the main file label. AbsPath — absolute path. Used only at the ReadLines(int, string, string) call site for actual disk I/O; never persisted, never returned to JSON. Lives inside the resolver's stack frame and the segmenter's enumeration. Filename lookup order (first match wins) mirrors real Fanuc fallback: O{P:D4}.NC, O{P}.NC, O{P:D4}, O{P}, {P:D4}.NC, {P}.NC. Case-insensitive match is delegated to the host filesystem (Windows is, Linux is not). MacroInlineUtil Shared inline mechanism for Fanuc Custom Macro B body expansion — used by both FanucMacroCallSyntax (one-shot) and FanucModalMacroSyntax's expansion phase (modal trigger). Both callers do the same three things on every produced SyntaxPiece: stamp a FanucMacroCall clone, stamp a fresh MacroFrame id, and stamp argument bindings into Vars.Local. Centralising lets the two call sites stay in lock-step — frame allocation, file-index allocation, and the inline-piece JSON shape are guaranteed identical. Frame ids share the same FileIndexCounterDependency counter as file indices — both just need within-session uniqueness and the counter is rewound on session start in lock-step with the pipeline. The main NC file is allocated index 0 first, so all inline frame ids land at > 0 and never collide with main. RetainedCommonVariableReadingSyntax Obtains values for Fanuc-style retained common variables (#500-#999) by consuming literal numeric assignments from Parsing.Assignments.#nnn and writing them straight to a registered RetainedCommonVariableTable. No SyntaxPiece JSON mirror is created — the table is the single source of truth for retained values, and VariableEvaluatorSyntax reads from the table directly. The hincproj round-trip preserves writes across project sessions. Only literal numeric RHS values are consumed by this syntax (#500 = 1.234 ✓; #600 = #500 + 1 ✗). Non-literal RHS entries are left untouched in Parsing.Assignments; VariableEvaluatorSyntax resolves them and writes the result through the same table. The two syntaxes are decoupled. If no RetainedCommonVariableTable is registered on the runner's NcDependencyList, this syntax is a no-op. SubProgramCallSyntax Inlines a Fanuc-style subprogram into the source layer when an M98 or M198 host block is reached. M98 P_ L_ reads the matching O

file from InternalFolder; M198 P_ reads from ExternalFolder (Fanuc external-storage call — same mechanism as M98, different lookup root). The file is segmented through the host runner's segmenter (SegmenterDependency) and the resulting SyntaxPieces are prepended into layers[0] via PrependSource(IEnumerable); the rest of the pipeline picks them up through ordinary walkNode.Next traversal as if they had always been part of the host file. Pipeline placement: first child of the Fanuc Evaluation BundleSyntax. By the time this runs, M98Syntax / M198Syntax (each a ParameterizedFlagSyntax) have written a Parsing.M98 / Parsing.M198 sub-object carrying the captured P / L parameters. Note: those sub-objects are this syntax's only trigger — \"M98\" / \"M198\" never reach Parsing.Flags, because the parameterized match has already consumed the text by the time NumberedFlagSyntax runs. Filename lookup uses a fallback chain: O{P:D4}.NC, O{P}.NC, O{P:D4}, O{P}, {P:D4}.NC, {P}.NC — first match wins. Case-insensitive match is delegated to the host filesystem (Windows is, Linux is not). L > 1 inlines the same subprogram L times in series. Each repetition is a fresh segmentation pass so each block gets its own SyntaxPiece with an independent JSON object — the downstream pipeline mutates JSON in place and would clobber sibling repetitions if instances were shared. Not yet supported: M99 P{seq} early return inside a subprogram and partial-program calls (M98 P{seq}{prog} split encoding). Custom Macro B argument-binding calls (G65 / G66 / G67) live in FanucMacroCallSyntax and FanucModalMacroSyntax — those handle the argument-letter-to-#1..#26 binding and the macro-call frame isolation that M98 deliberately does not provide. SubProgramReturnSyntax Consumes Fanuc-style M99 subprogram-return blocks and pops one CallStack frame. Plain M99 relies on the natural pipeline tail — the inlined body's last block is followed in layers[0] by the caller's next block, so the “return” happens implicitly; this syntax only consumes the M99 trigger (so UnconsumedCheckSyntax doesn't warn), stamps a SubProgramReturn diagnostic section, and writes the popped CallStack for downstream blocks to carry. M99 P{seq} additionally redirects control flow to the caller's N{seq} block via ReplaceSource(IEnumerable). The caller's file is resolved from the popped frame's CallerFilePath; the scan uses the same SegmentAndSkipUntilLabel(ISegmenter, string, string, int, int, int, List, NcDiagnosticProgress) helper as FanucGotoSyntax, with hardcoded Fanuc-default probes (QuoteCommentSyntax + HeadIndexSyntax with symbol \"N\") because the M99 P semantic itself is Fanuc-family-only and Mazak / Syntec follow the same conventions. The iteration is counted against FanucGotoIterationDependency, sharing the same runaway-loop guard as GOTO — keyed on the same (FileName, TargetN) bucket so a tight M98 → M99 P → M98 … loop trips the same threshold. Pipeline placement: same Evaluation bundle slot it always occupied, right after SubProgramCallSyntax at the head. Needs FanucGotoIterationDependency, ProjectFolderDependency, SegmenterDependency, SyntaxPieceLayerDependency, FileIndexCounterDependency on the dep list when M99 P{seq} is to fire; without them the plain-M99 path still works and the P-jump emits a configuration warning. Detection is on the Parsing.M99 sub-object written by M99Syntax (a ParameterizedFlagSyntax) — the keyword \"M99\" never reaches Parsing.Flags because the parameterized match has already consumed the text by the time NumberedFlagSyntax runs. VariableEvaluatorSyntax Pure expression normalizer for Custom Macro B syntax. Walks the parser-stage residue on a single block and inlines numeric values wherever a Fanuc-style variable reference or bracket expression appears — but does not write to any specific store. Routing “where the resolved literal lands” stays in the brand-specific reader syntaxes (VolatileVariableReadingSyntax, RetainedCommonVariableTable's reader, FanucSystemControlVariableSyntax, …) which run after this syntax on the same block. Two passes per block: Assignments normalize — Parsing.Assignments.#nnn entries whose RHS is non-literal (e.g. \"#500+1\", \"SQRT[#100]\") are evaluated via the VariableEvaluatorSyntax.ChainLookup and the RHS string is replaced with the resolved literal (round-trip-safe \"R\"-format). The entry stays in Parsing.Assignments so downstream reader syntaxes consume it as a pure-literal assignment. Iteration follows source order (Parsing.Assignments insertion order). Parsing tree substitution — every string-typed value reachable from Parsing. (axis tags, canned-cycle sub-objects) is parsed; on a successful evaluation the string is replaced with a numeric JsonValue. Failures silently leave the original string and rely on downstream GetParsedDouble(JsonObject, string, ISentenceCarrier, NcDiagnosticProgress) at consumer sites to surface VariableExpression--Unevaluated only if the tag is actually read. Lookup chain (first non-null wins, configured per brand preset via RuntimeVariableLookups + IVariableLookup instances on NcDependencyList): Current block's own resolved assignments — built-in to VariableEvaluatorSyntax.ChainLookup; covers same-block forward references in source order (an earlier #nnn=literal is visible to a later RHS that mentions #nnn). Each IRuntimeVariableLookup in RuntimeVariableLookups, in list order. Typical contents for a Fanuc-family preset: LocalVariableLookup (#1-#33), VolatileVariableLookup (#100-#499), FanucPositionVariableLookup (#5001-#5043). Each IVariableLookup on the runner's NcDependencyList, in registration order (RetainedCommonVariableTable, FanucParameterTable, FanucToolOffsetVariableLookup). Each lookup self-gates its id range; the evaluator stays brand- and range-agnostic. Adding a new variable surface is additive: register an IVariableLookup on a dependency or push an IRuntimeVariableLookup onto the per-preset list. Same-block forward reference — when an Assignment RHS references a #nnn that is also being assigned later in the same block (i.e. listed in Parsing.Assignments after the RHS being evaluated), the VariableEvaluatorSyntax.ChainLookup cannot pick up the not-yet-resolved value and falls back to traceback / dependency-table reads — effectively the pre-block value. A VariableEvaluator--SameBlockForwardReference warning is emitted per such RHS so the user is told the source-order semantics were not honoured. Practical impact is near-zero for typical CAM-emitted NC (one assignment per line). VolatileVariableReadingSyntax Obtains values for Fanuc-style non-retained common variables (#100-#499). Reads literal numeric assignments from Parsing.Assignments.#nnn, dict-merges them with the previous block's volatile state, and writes the resulting per-block dictionary into Vars.Volatile. Lifetime is bounded by MachiningSession: within one session the dictionary carries forward block-by-block via this syntax; session restart abandons the SyntaxPiece JSON dataflow and starts fresh. Program-end (M02/M30) clearing is handled by ProgramEndCleanSyntax. Only literal numeric RHS values are consumed by this syntax (#124 = 15. ✓; #100 = #1 + 5 ✗). Non-literal RHS entries are left untouched in Parsing.Assignments; VariableEvaluatorSyntax resolves them and writes the result into the same per-block dictionary. The two syntaxes are decoupled — the evaluator's lookup tracebacks via SyntaxPiece linkage so it does not depend on having run before or after this syntax. Structs MacroFileResolver.ResolvedFile Tri-form resolution result. FileName is the bare matched name; RelPath is that name joined with the folder portion of the dependency (relative when the folder is configured relative, absolute fallback when it isn't); AbsPath is the fully-resolved I/O target." }, "api/Hi.NcParsers.IGetSentence.html": { "href": "api/Hi.NcParsers.IGetSentence.html", @@ -3952,7 +3952,7 @@ "api/Hi.NcParsers.Initializers.HomeMcInitializer.html": { "href": "api/Hi.NcParsers.Initializers.HomeMcInitializer.html", "title": "Class HomeMcInitializer | HiAPI-C# 2025", - "summary": "Class HomeMcInitializer Namespace Hi.NcParsers.Initializers Assembly HiMech.dll Sets the initial MachineCoordinateState on the first SyntaxPiece from IHomeMcConfig and IMachineAxisConfig. Only configured linear axes are written; rotary axes (which typically have no home) are omitted — downstream readers must tolerate missing axis keys. public class HomeMcInitializer : INcInitializer, IMakeXmlSource Inheritance object HomeMcInitializer Implements INcInitializer 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 HomeMcInitializer() Creates a new HomeMcInitializer. public HomeMcInitializer() HomeMcInitializer(XElement) Creates a HomeMcInitializer from an XML source element. public HomeMcInitializer(XElement src) Parameters src XElement Properties Name Display/registration name of the initializer. public string Name { get; } Property Value string XName XML element name used to register and serialize this initializer. public static string XName { get; } Property Value string Methods Initialize(JsonObject, List) Writes initial sections into jsonObject, optionally using values resolved from ncDependencyList. public void Initialize(JsonObject jsonObject, List ncDependencyList) Parameters jsonObject JsonObject ncDependencyList List MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class HomeMcInitializer Namespace Hi.NcParsers.Initializers Assembly HiMech.dll Sets the initial MachineCoordinateState on the first SyntaxPiece from IHomeMcConfig and IMachineAxisConfig. Only configured linear axes are written; rotary axes (which typically have no home) are omitted — downstream readers must tolerate missing axis keys. public class HomeMcInitializer : INcInitializer, IMakeXmlSource Inheritance object HomeMcInitializer Implements INcInitializer 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 HomeMcInitializer() Creates a new HomeMcInitializer. public HomeMcInitializer() HomeMcInitializer(XElement) Creates a HomeMcInitializer from an XML source element. public HomeMcInitializer(XElement src) Parameters src XElement Properties Name Display/registration name of the initializer. public string Name { get; } Property Value string XName XML element name used to register and serialize this initializer. public static string XName { get; } Property Value string Methods Initialize(JsonObject, List) Writes initial sections into jsonObject, optionally using values resolved from ncDependencyList. public void Initialize(JsonObject jsonObject, List ncDependencyList) Parameters jsonObject JsonObject ncDependencyList List 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.Initializers.INcInitializer.html": { "href": "api/Hi.NcParsers.Initializers.INcInitializer.html", @@ -3962,7 +3962,7 @@ "api/Hi.NcParsers.Initializers.StaticInitializer.html": { "href": "api/Hi.NcParsers.Initializers.StaticInitializer.html", "title": "Class StaticInitializer | HiAPI-C# 2025", - "summary": "Class StaticInitializer Namespace Hi.NcParsers.Initializers Assembly HiMech.dll Merges a fixed Initialization JSON snippet into the init-block JSON. Used to seed brand-default sections (e.g. G54, G80) before any source NC syntax is processed. public class StaticInitializer : INcInitializer, IMakeXmlSource Inheritance object StaticInitializer Implements INcInitializer 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 StaticInitializer() Creates an empty StaticInitializer. public StaticInitializer() StaticInitializer(XElement) Creates a StaticInitializer from an XML source element, reading the embedded JSON from the Initialization child element. public StaticInitializer(XElement src) Parameters src XElement Properties Default An empty StaticInitializer with no preset sections. public static StaticInitializer Default { get; } Property Value StaticInitializer HeidenhainDefault Heidenhain default: no coordinate offset active (datum tables used on demand). public static StaticInitializer HeidenhainDefault { get; } Property Value StaticInitializer Initialization JSON sections to merge into the init-block JSON during Initialize(JsonObject, List). public JsonObject Initialization { get; set; } Property Value JsonObject IsoDefault ISO/Fanuc default: G54 active, canned-cycle cancelled (G80). public static StaticInitializer IsoDefault { get; } Property Value StaticInitializer Name Display/registration name of the initializer. public string Name { get; } Property Value string SiemensDefault Siemens default: G54 active, canned-cycle cancelled (G80). public static StaticInitializer SiemensDefault { get; } Property Value StaticInitializer XName XML element name used to register and serialize this initializer. public static string XName { get; } Property Value string Methods Initialize(JsonObject, List) Writes initial sections into jsonObject, optionally using values resolved from ncDependencyList. public void Initialize(JsonObject jsonObject, List ncDependencyList) Parameters jsonObject JsonObject ncDependencyList List MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class StaticInitializer Namespace Hi.NcParsers.Initializers Assembly HiMech.dll Merges a fixed Initialization JSON snippet into the init-block JSON. Used to seed brand-default sections (e.g. G54, G80) before any source NC syntax is processed. public class StaticInitializer : INcInitializer, IMakeXmlSource Inheritance object StaticInitializer Implements INcInitializer 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 StaticInitializer() Creates an empty StaticInitializer. public StaticInitializer() StaticInitializer(XElement) Creates a StaticInitializer from an XML source element, reading the embedded JSON from the Initialization child element. public StaticInitializer(XElement src) Parameters src XElement Properties Default An empty StaticInitializer with no preset sections. public static StaticInitializer Default { get; } Property Value StaticInitializer HeidenhainDefault Heidenhain default: no coordinate offset active (datum tables used on demand). public static StaticInitializer HeidenhainDefault { get; } Property Value StaticInitializer Initialization JSON sections to merge into the init-block JSON during Initialize(JsonObject, List). public JsonObject Initialization { get; set; } Property Value JsonObject IsoDefault ISO/Fanuc default: G54 active, canned-cycle cancelled (G80). public static StaticInitializer IsoDefault { get; } Property Value StaticInitializer Name Display/registration name of the initializer. public string Name { get; } Property Value string SiemensDefault Siemens default: G54 active, canned-cycle cancelled (G80). public static StaticInitializer SiemensDefault { get; } Property Value StaticInitializer XName XML element name used to register and serialize this initializer. public static string XName { get; } Property Value string Methods Initialize(JsonObject, List) Writes initial sections into jsonObject, optionally using values resolved from ncDependencyList. public void Initialize(JsonObject jsonObject, List ncDependencyList) Parameters jsonObject JsonObject ncDependencyList List 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.Initializers.html": { "href": "api/Hi.NcParsers.Initializers.html", @@ -3972,22 +3972,22 @@ "api/Hi.NcParsers.InspectionSyntaxs.CleanupSyntax.html": { "href": "api/Hi.NcParsers.InspectionSyntaxs.CleanupSyntax.html", "title": "Class CleanupSyntax | HiAPI-C# 2025", - "summary": "Class CleanupSyntax Namespace Hi.NcParsers.InspectionSyntaxs Assembly HiMech.dll Removes indicated JSON keys from JsonObject after upstream syntaxes have consumed them. Useful for cleaning up runtime-derived intermediate data (e.g., ProgramToMcTransform) that should not persist in the final output. Place at the end of the syntax list, after all consumers have read the keys. public class CleanupSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object CleanupSyntax Implements ISituNcSyntax INcSyntax 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) Examples new CleanupSyntax(\"ProgramToMcTransform\", \"ToolOrientation\") Constructors CleanupSyntax(params string[]) Creates a CleanupSyntax seeded with the given keys. public CleanupSyntax(params string[] keys) Parameters keys string[] JSON keys to remove on each block; copied into Keys. CleanupSyntax(XElement) Reconstructs a CleanupSyntax from a project XML element previously produced by MakeXmlSource(string, string, bool). public CleanupSyntax(XElement src) Parameters src XElement XML element with one Key child per entry in Keys. Properties Keys JSON keys to remove from JsonObject each block. public List Keys { get; set; } Property Value List Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class CleanupSyntax Namespace Hi.NcParsers.InspectionSyntaxs Assembly HiMech.dll Removes indicated JSON keys from JsonObject after upstream syntaxes have consumed them. Useful for cleaning up runtime-derived intermediate data (e.g., ProgramToMcTransform) that should not persist in the final output. Place at the end of the syntax list, after all consumers have read the keys. public class CleanupSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object CleanupSyntax Implements ISituNcSyntax INcSyntax 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) Examples new CleanupSyntax(\"ProgramToMcTransform\", \"ToolOrientation\") Constructors CleanupSyntax(params string[]) Creates a CleanupSyntax seeded with the given keys. public CleanupSyntax(params string[] keys) Parameters keys string[] JSON keys to remove on each block; copied into Keys. CleanupSyntax(XElement) Reconstructs a CleanupSyntax from a project XML element previously produced by MakeXmlSource(string, string, bool). public CleanupSyntax(XElement src) Parameters src XElement XML element with one Key child per entry in Keys. Properties Keys JSON keys to remove from JsonObject each block. public List Keys { get; set; } Property Value List Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.html": { "href": "api/Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.html", "title": "Class ProgramXyzBackfillSyntax | HiAPI-C# 2025", - "summary": "Class ProgramXyzBackfillSyntax Namespace Hi.NcParsers.InspectionSyntaxs Assembly HiMech.dll Debug / observability back-fill: writes ProgramXyz onto blocks that did not have it written by upstream logic syntaxes (e.g. HomeMcInitializer block, chain-change blocks that only updated MC via a rotary-only path), only when the effective program position has changed from the last block that stored a ProgramXyz. Skips the block entirely when either of these holds: The block already has ProgramXyz written — e.g. by ProgramXyzSyntax, G53p1RotaryPositionSyntax, MachineCoordSelectSyntax, ReferenceReturnSyntax, McAbcXyzFallbackSyntax, or RadiusCompensationSyntax. The effective value equals the last stored value (modal-only block such as pure F / S / M / plane-select — no program motion). Only back-fills the root block; ItemsKey items are intentionally skipped (they are managed by Hi.NcParsers.LogicSyntaxs.CompoundMotionSyntaxUtil and per-cycle syntaxes that already write the right per-item ProgramXyz). Placement: end of NcSyntaxList, after UnconsumedCheckSyntax. Runs purely as a bookkeeping pass — no other syntax / semantic in the default pipeline reads the additional back-fill values it emits, so the runtime output (IAct stream) is unchanged whether this syntax is present or not. The only observable effect is additional ProgramXyz entries in the cached syntax-pieces dump, which makes block-to-block debugging and diffing easier. public class ProgramXyzBackfillSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ProgramXyzBackfillSyntax Implements ISituNcSyntax INcSyntax 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 ProgramXyzBackfillSyntax() Creates a default ProgramXyzBackfillSyntax. public ProgramXyzBackfillSyntax() Fields AddedByValue Value written under AddedByKey on the ProgramXyz JSON object when this syntax synthesized the value. Absent on sub-objects authored by LogicSyntaxs-stage writers (e.g. ProgramXyzSyntax, G53p1RotaryPositionSyntax, MachineCoordSelectSyntax) — the AddedByKey is only present when a post-Logic / Inspection stage writer (this syntax, or ModalCarrySyntax) injected the sub-object. Purely informational — no downstream syntax / semantic reads this marker. Intended for cache-file diffing: its presence means \"this block did not originally command program motion; the value is a modal back-fill to make debug dumps more complete\". public const string AddedByValue = \"Backfill\" Field Value string Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class ProgramXyzBackfillSyntax Namespace Hi.NcParsers.InspectionSyntaxs Assembly HiMech.dll Debug / observability back-fill: writes ProgramXyz onto blocks that did not have it written by upstream logic syntaxes (e.g. HomeMcInitializer block, chain-change blocks that only updated MC via a rotary-only path), only when the effective program position has changed from the last block that stored a ProgramXyz. Skips the block entirely when either of these holds: The block already has ProgramXyz written — e.g. by ProgramXyzSyntax, G53p1RotaryPositionSyntax, MachineCoordSelectSyntax, ReferenceReturnSyntax, McAbcXyzFallbackSyntax, or RadiusCompensationSyntax. The effective value equals the last stored value (modal-only block such as pure F / S / M / plane-select — no program motion). Only back-fills the root block; ItemsKey items are intentionally skipped (they are managed by Hi.NcParsers.LogicSyntaxs.CompoundMotionSyntaxUtil and per-cycle syntaxes that already write the right per-item ProgramXyz). Placement: end of NcSyntaxList, after UnconsumedCheckSyntax. Runs purely as a bookkeeping pass — no other syntax / semantic in the default pipeline reads the additional back-fill values it emits, so the runtime output (IAct stream) is unchanged whether this syntax is present or not. The only observable effect is additional ProgramXyz entries in the cached syntax-pieces dump, which makes block-to-block debugging and diffing easier. public class ProgramXyzBackfillSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ProgramXyzBackfillSyntax Implements ISituNcSyntax INcSyntax 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 ProgramXyzBackfillSyntax() Creates a default ProgramXyzBackfillSyntax. public ProgramXyzBackfillSyntax() Fields AddedByValue Value written under AddedByKey on the ProgramXyz JSON object when this syntax synthesized the value. Absent on sub-objects authored by LogicSyntaxs-stage writers (e.g. ProgramXyzSyntax, G53p1RotaryPositionSyntax, MachineCoordSelectSyntax) — the AddedByKey is only present when a post-Logic / Inspection stage writer (this syntax, or ModalCarrySyntax) injected the sub-object. Purely informational — no downstream syntax / semantic reads this marker. Intended for cache-file diffing: its presence means \"this block did not originally command program motion; the value is a modal back-fill to make debug dumps more complete\". public const string AddedByValue = \"Backfill\" Field Value string Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.InspectionSyntaxs.SnapshotSyntax.html": { "href": "api/Hi.NcParsers.InspectionSyntaxs.SnapshotSyntax.html", "title": "Class SnapshotSyntax | HiAPI-C# 2025", - "summary": "Class SnapshotSyntax Namespace Hi.NcParsers.InspectionSyntaxs Assembly HiMech.dll Debug-time JsonObject capture: deep-clones every key on the current JsonObject (except the SnapshotKey envelope itself) into json[SnapshotKey][SectionName], leaving the rest of the block untouched. Insertable at any position in NcSyntaxList — placement determines what stage the dump captures (e.g. drop after the Parsing bundle for \"after-parsing\", drop after the Logic bundle for \"after-logic\"). Two instances with different SectionName values can coexist on the same pipeline and their dumps end up under sibling keys of the same SnapshotKey envelope, so a single cache file shows the data at every captured stage in one place. Excluding the SnapshotKey envelope from the clone keeps each captured section flat: it reflects \"everything else on the block at that stage\", and re-running through additional SnapshotSyntax instances never nests past one level. Set IsEnabled = false to keep the configuration in place but skip the capture (no JSON mutation, no allocation) — convenient for toggling a debug pipeline without removing the entries. public class SnapshotSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object SnapshotSyntax Implements ISituNcSyntax INcSyntax 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 SnapshotSyntax() Creates a SnapshotSyntax with no SectionName set yet. public SnapshotSyntax() SnapshotSyntax(string) Creates a SnapshotSyntax with the given SectionName. public SnapshotSyntax(string sectionName) Parameters sectionName string Sub-key under SnapshotKey for this instance's capture. SnapshotSyntax(XElement) Reconstructs a SnapshotSyntax from a project XML element previously produced by MakeXmlSource(string, string, bool). public SnapshotSyntax(XElement src) Parameters src XElement XML element carrying SectionName and IsEnabled; null is treated as defaults. Fields SnapshotKey Top-level JSON envelope key under which captured sections are stored. Each SnapshotSyntax instance writes a sibling key (named by SectionName) inside this envelope. public const string SnapshotKey = \"Snapshot\" Field Value string Properties IsEnabled When false, Build(LazyLinkedListNode, List, NcDiagnosticProgress) is a no-op — keeps the entry in the syntax list for easy toggling without re-editing the project. public bool IsEnabled { get; set; } Property Value bool Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string SectionName Sub-key inside the SnapshotKey envelope under which this instance writes its capture. Two instances configured with the same SectionName are last-writer-wins on a given block. Required: Build(LazyLinkedListNode, List, NcDiagnosticProgress) throws InvalidOperationException when this is null or empty (a misconfiguration the user should see, not a silent skip). public string SectionName { get; set; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class SnapshotSyntax Namespace Hi.NcParsers.InspectionSyntaxs Assembly HiMech.dll Debug-time JsonObject capture: deep-clones every key on the current JsonObject (except the SnapshotKey envelope itself) into json[SnapshotKey][SectionName], leaving the rest of the block untouched. Insertable at any position in NcSyntaxList — placement determines what stage the dump captures (e.g. drop after the Parsing bundle for \"after-parsing\", drop after the Logic bundle for \"after-logic\"). Two instances with different SectionName values can coexist on the same pipeline and their dumps end up under sibling keys of the same SnapshotKey envelope, so a single cache file shows the data at every captured stage in one place. Excluding the SnapshotKey envelope from the clone keeps each captured section flat: it reflects \"everything else on the block at that stage\", and re-running through additional SnapshotSyntax instances never nests past one level. Set IsEnabled = false to keep the configuration in place but skip the capture (no JSON mutation, no allocation) — convenient for toggling a debug pipeline without removing the entries. public class SnapshotSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object SnapshotSyntax Implements ISituNcSyntax INcSyntax 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 SnapshotSyntax() Creates a SnapshotSyntax with no SectionName set yet. public SnapshotSyntax() SnapshotSyntax(string) Creates a SnapshotSyntax with the given SectionName. public SnapshotSyntax(string sectionName) Parameters sectionName string Sub-key under SnapshotKey for this instance's capture. SnapshotSyntax(XElement) Reconstructs a SnapshotSyntax from a project XML element previously produced by MakeXmlSource(string, string, bool). public SnapshotSyntax(XElement src) Parameters src XElement XML element carrying SectionName and IsEnabled; null is treated as defaults. Fields SnapshotKey Top-level JSON envelope key under which captured sections are stored. Each SnapshotSyntax instance writes a sibling key (named by SectionName) inside this envelope. public const string SnapshotKey = \"Snapshot\" Field Value string Properties IsEnabled When false, Build(LazyLinkedListNode, List, NcDiagnosticProgress) is a no-op — keeps the entry in the syntax list for easy toggling without re-editing the project. public bool IsEnabled { get; set; } Property Value bool Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string SectionName Sub-key inside the SnapshotKey envelope under which this instance writes its capture. Two instances configured with the same SectionName are last-writer-wins on a given block. Required: Build(LazyLinkedListNode, List, NcDiagnosticProgress) throws InvalidOperationException when this is null or empty (a misconfiguration the user should see, not a silent skip). public string SectionName { get; set; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.InspectionSyntaxs.UnconsumedCheckSyntax.html": { "href": "api/Hi.NcParsers.InspectionSyntaxs.UnconsumedCheckSyntax.html", "title": "Class UnconsumedCheckSyntax | HiAPI-C# 2025", - "summary": "Class UnconsumedCheckSyntax Namespace Hi.NcParsers.InspectionSyntaxs Assembly HiMech.dll Emits diagnostic warnings for content remaining after all upstream syntaxes have run: unconsumed Parsing entries and non-empty UnparsedText. Flags listed in ExcludedFlags are silently ignored. Must be placed at the end of NcSyntaxList. public class UnconsumedCheckSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object UnconsumedCheckSyntax Implements ISituNcSyntax INcSyntax 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 UnconsumedCheckSyntax() Creates a checker with an empty ExcludedFlags set. public UnconsumedCheckSyntax() UnconsumedCheckSyntax(XElement) Loads excluded flag names from child elements. public UnconsumedCheckSyntax(XElement src) Parameters src XElement Root element named XName. Properties ExcludedFlags Parsing flags/keys that are known but intentionally unhandled. public HashSet ExcludedFlags { get; set; } Property Value HashSet Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class UnconsumedCheckSyntax Namespace Hi.NcParsers.InspectionSyntaxs Assembly HiMech.dll Emits diagnostic warnings for content remaining after all upstream syntaxes have run: unconsumed Parsing entries and non-empty UnparsedText. Flags listed in ExcludedFlags are silently ignored. Must be placed at the end of NcSyntaxList. public class UnconsumedCheckSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object UnconsumedCheckSyntax Implements ISituNcSyntax INcSyntax 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 UnconsumedCheckSyntax() Creates a checker with an empty ExcludedFlags set. public UnconsumedCheckSyntax() UnconsumedCheckSyntax(XElement) Loads excluded flag names from child elements. public UnconsumedCheckSyntax(XElement src) Parameters src XElement Root element named XName. Properties ExcludedFlags Parsing flags/keys that are known but intentionally unhandled. public HashSet ExcludedFlags { get; set; } Property Value HashSet Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.InspectionSyntaxs.html": { "href": "api/Hi.NcParsers.InspectionSyntaxs.html", @@ -4067,7 +4067,7 @@ "api/Hi.NcParsers.Keywords.FanucMacroCall.html": { "href": "api/Hi.NcParsers.Keywords.FanucMacroCall.html", "title": "Class FanucMacroCall | HiAPI-C# 2025", - "summary": "Class FanucMacroCall Namespace Hi.NcParsers.Keywords Assembly HiMech.dll One-shot custom-macro-call record written by FanucMacroCallSyntax. Lives on both the G65 host block (the caller) and every inlined block of the macro body — so a cache-dump reader can land on any block inside the macro and immediately see “this block belongs to a G65 call of File with these argument bindings” without back-walking to find the host. Each inlined block additionally carries the resolved Vars.Local #1-#26 bindings derived from Args (see FanucMacroArgumentMap), so LocalVariableLookup resolves macro args in a single-block lookup. Frame isolation is structural: caller blocks never have Vars.Local written, so after the macro body ends, the next caller block reads null for any #1-#26 without any explicit frame marker. public class FanucMacroCall Inheritance object FanucMacroCall 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 Args Argument-letter → numeric-value map captured from the call line (e.g., G65 P9100 A1.5 B2. ⇒ { “A”: 1.5, “B”: 2.0 }). The matching Vars.Local bindings on each inlined block are derived from this via the Type-I argument-letter map (FanucMacroArgumentMap). public JsonObject Args { get; set; } Property Value JsonObject FileName Bare matched file name (e.g. “O9100.NC”). The resolver tries several fallback patterns (FilenamePatterns); this records which one hit. JSON-portable across environments — the folder context lives on the host's SubProgramFolderConfig dependency, not encoded here. public string FileName { get; set; } Property Value string L Repeat count from the L parameter; defaults to 1 when absent. public int L { get; set; } Property Value int P Macro program number from the P parameter (e.g., 9100 for O9100). public int P { get; set; } Property Value int Term Triggering keyword (always “G65”). public string Term { get; set; } Property Value string" + "summary": "Class FanucMacroCall Namespace Hi.NcParsers.Keywords Assembly HiMech.dll One-shot custom-macro-call record written by FanucMacroCallSyntax. Lives on both the G65 host block (the caller) and every inlined block of the macro body — so a cache-dump reader can land on any block inside the macro and immediately see “this block belongs to a G65 call of FileName with these argument bindings” without back-walking to find the host. Each inlined block additionally carries the resolved Vars.Local #1-#26 bindings derived from Args (see FanucMacroArgumentMap), so LocalVariableLookup resolves macro args in a single-block lookup. Frame isolation is structural: caller blocks never have Vars.Local written, so after the macro body ends, the next caller block reads null for any #1-#26 without any explicit frame marker. public class FanucMacroCall Inheritance object FanucMacroCall 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 Args Argument-letter → numeric-value map captured from the call line (e.g., G65 P9100 A1.5 B2. ⇒ { “A”: 1.5, “B”: 2.0 }). The matching Vars.Local bindings on each inlined block are derived from this via the Type-I argument-letter map (FanucMacroArgumentMap). public JsonObject Args { get; set; } Property Value JsonObject FileName Bare matched file name (e.g. “O9100.NC”). The resolver tries several fallback patterns (FilenamePatterns); this records which one hit. JSON-portable across environments — the folder context lives on the host's SubProgramFolderConfig dependency, not encoded here. public string FileName { get; set; } Property Value string L Repeat count from the L parameter; defaults to 1 when absent. public int L { get; set; } Property Value int P Macro program number from the P parameter (e.g., 9100 for O9100). public int P { get; set; } Property Value int Term Triggering keyword (always “G65”). public string Term { get; set; } Property Value string" }, "api/Hi.NcParsers.Keywords.FanucModalMacro.html": { "href": "api/Hi.NcParsers.Keywords.FanucModalMacro.html", @@ -4342,7 +4342,7 @@ "api/Hi.NcParsers.Keywords.SubProgramReturn.html": { "href": "api/Hi.NcParsers.Keywords.SubProgramReturn.html", "title": "Class SubProgramReturn | HiAPI-C# 2025", - "summary": "Class SubProgramReturn Namespace Hi.NcParsers.Keywords Assembly HiMech.dll Subprogram return record left on the M99 host block by SubProgramReturnSyntax. Return blocks produce no motion acts; this section makes the consumed M99 visible in cache dumps and surfaces the M99 P{seq} jump decision. public class SubProgramReturn Inheritance object SubProgramReturn 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 JumpedToN Set to P when the M99 actually redirected control flow to the caller's N{seq} block via LazyLinkedList.ReplaceSource. Null on plain M99 (no P), and on M99 P{seq} that fell through because the jump could not be carried out. public int? JumpedToN { get; set; } Property Value int? P Optional caller sequence number from the P parameter (M99 P{seq}). Null on a plain M99. When non-null and the jump fires, JumpedToN is set to the same value; when the jump is suppressed (no caller frame, label not found, iteration limit reached) JumpedToN stays null and a warning is emitted. public int? P { get; set; } Property Value int? Term Triggering keyword (always “M99” for now). public string Term { get; set; } Property Value string" + "summary": "Class SubProgramReturn Namespace Hi.NcParsers.Keywords Assembly HiMech.dll Subprogram return record left on the M99 host block by SubProgramReturnSyntax. Return blocks produce no motion acts; this section makes the consumed M99 visible in cache dumps and surfaces the M99 P{seq} jump decision. public class SubProgramReturn Inheritance object SubProgramReturn 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 JumpedToN Set to P when the M99 actually redirected control flow to the caller's N{seq} block via ReplaceSource(IEnumerable). Null on plain M99 (no P), and on M99 P{seq} that fell through because the jump could not be carried out. public int? JumpedToN { get; set; } Property Value int? P Optional caller sequence number from the P parameter (M99 P{seq}). Null on a plain M99. When non-null and the jump fires, JumpedToN is set to the same value; when the jump is suppressed (no caller frame, label not found, iteration limit reached) JumpedToN stays null and a warning is emitted. public int? P { get; set; } Property Value int? Term Triggering keyword (always “M99” for now). public string Term { get; set; } Property Value string" }, "api/Hi.NcParsers.Keywords.TapeBoundary.html": { "href": "api/Hi.NcParsers.Keywords.TapeBoundary.html", @@ -4372,12 +4372,12 @@ "api/Hi.NcParsers.Keywords.html": { "href": "api/Hi.NcParsers.Keywords.html", "title": "Namespace Hi.NcParsers.Keywords | HiAPI-C# 2025", - "summary": "Namespace Hi.NcParsers.Keywords Classes BlockSkip Optional block skip marker extracted from the head of an NC block. ISO 6983 / Fanuc calls this feature Block Delete (BDT switch); Siemens / Syntec / Mazak use the same / prefix with matching behaviour. The section is only present on blocks that carry a / prefix. Whether the block's NC commands are actually skipped at runtime depends on IBlockSkipConfig: Config absent or the Layer bit OFF → the / prefix is consumed, Body is left null, and the rest of the line parses as a regular NC block (comments still take effect). Config present and the Layer bit ON → the rest of the line is moved into Body and cleared from UnparsedText, so downstream parsing syntaxes see nothing and no NC action is emitted. Comment syntaxes run before this one so comments (and any embedded CsScript) still take effect. Not a comment: a comment is static metadata, block skip is a runtime toggle that can change per machine/operator setting. CallFrame One entry in Frames. Holds the caller-side information consumers need to “unwind” or “look back” — currently only the relative file path of the caller, used by SubProgramReturnSyntax on M99 P{seq} to locate the caller's N{seq} block. CallStack JSON-section data shape representing the active call-frame stack on a block — pushed by call-and-inline syntaxes (SubProgramCallSyntax for M98/M198, FanucMacroCallSyntax for G65, and FanucModalMacroSyntax's expansion phase for G66 implicit triggers) and popped by SubProgramReturnSyntax on M99. Every block between push and pop carries the section forward via ModalCarrySyntax; the caller's blocks before push and after pop carry the surrounding stack state (typically empty when running from the main file). The section is wrapped in a JsonObject rather than exposed as a bare JsonArray so it fits ModalCarry's \"deep-clone JsonObject\" carry pattern — the array of frames lives inside Frames. CannedCycle Section key holder + concrete implementation for ICannedCycleDef. Comment Comment extracted from an NC block. Symbol identifies the comment style; Text holds the content without the symbol. Downstream syntaxes (e.g., CsScript) may further trim Text after extracting embedded markers. CompoundMotion Section key holder + concrete implementation for ICompoundMotionDef. Coolant Section key holder + concrete implementation for ICoolantDef. CoordinateOffset Work coordinate offset state written by IsoCoordinateOffsetSyntax. Property names are used as JSON keys via nameof. Managed commands (ISO): G54, G55, G56, G57, G58, G59, G59.1–G59.9. Siemens: G54–G57 + G505–G599 (extended), G500 to cancel. Heidenhain: CYCL DEF 247 (Datum Preset) / CYCL DEF 7 (Datum Shift). CsScript Section-key holder for inline C# scripts attached to an NC block. Carries BeginScript (run before the block's acts) and EndScript (run after). Resolved by CsScriptBeginSemantic and CsScriptEndSemantic. Dwell Section key holder + concrete implementation for IDwellDef. FanucGoto Fanuc Custom Macro B GOTO record. Stamped on the host block by FanucGotoSyntax after the control-flow decision has been made; produced earlier by FanucGotoParsingSyntax as a parsing-stage sub-section (Parsing.FanucGoto) carrying the raw captured fields. Two source forms map to the same shape: GOTO — unconditional jump. Condition is null. IF [] GOTO — conditional jump. Condition holds the expression text from inside the brackets. At parsing time N is a raw token from the source — it may be a literal (\"100\"), a variable reference (\"#1\"), or a bracketed expression (\"#[#2+5]\"). VariableEvaluatorSyntax substitutes a resolved literal back into the same field in the Evaluation bundle; FanucGotoSyntax then int.TryParses the final string to produce an int target. FanucIfThen Fanuc Custom Macro B IF [] THEN single-block conditional record. Stamped on the host block by FanucIfThenSyntax after the gate decision; produced earlier by FanucIfThenParsingSyntax as a parsing-stage sub-section (Parsing.FanucIfThen) carrying the raw captured fields plus an internal PendingAssignments sub-object harvested from the body text. Spec: IF [bool-expr] THEN executes only when the condition is truthy. Unlike FanucGoto's conditional form there is no jump — the body affects the current block only, no source splice, no label scan, no iteration watchdog. The most common body shape is a single Custom Macro B assignment (#nnn = ); multiple assignments in one body are also accepted and lifted together. Condition is held as a string at parsing time so VariableEvaluatorSyntax's pass-2 tree walk can substitute it to a numeric JsonValue in place; the FanucIfThenSyntax tail then reads the resolved node polymorphically via the same ReadCondition shape used by FanucGotoSyntax. FanucMacroCall One-shot custom-macro-call record written by FanucMacroCallSyntax. Lives on both the G65 host block (the caller) and every inlined block of the macro body — so a cache-dump reader can land on any block inside the macro and immediately see “this block belongs to a G65 call of File with these argument bindings” without back-walking to find the host. Each inlined block additionally carries the resolved Vars.Local #1-#26 bindings derived from Args (see FanucMacroArgumentMap), so LocalVariableLookup resolves macro args in a single-block lookup. Frame isolation is structural: caller blocks never have Vars.Local written, so after the macro body ends, the next caller block reads null for any #1-#26 without any explicit frame marker. FanucModalMacro Modal-macro-call record left by FanucModalMacroSyntax. Carries Fanuc G66 setup state forward block-to-block until cancelled by G67. The section is also written on the G67 block itself (with Term = “G67”) so cache dumps show the cancel edge; subsequent blocks then carry no section at all. Per-block expansion of the modal call into an actual macro inline at every positioning move is not yet implemented — a FanucModalMacro--NotExpanded warning is emitted on the setup block to flag the simulation gap. The setup state itself is captured faithfully so external tooling can detect \"this block sits inside a G66 modal\" via the carried section. FanucPathSmoothing Section data holder for IFanucPathSmoothingDef. FanucProgramNumber Fanuc-family program identifier header that follows a TapeBoundary line — e.g. O1234 or . Wrapper records the surface form so a parsed block can be emitted back to the original notation. Feedrate Section key holder + concrete implementation for IFeedrateDef. IndexNote JSON-section data shape pairing a single-character address symbol (e.g. ‘O’, ‘N’) with its numeric index, used to annotate program/sequence numbers on an NC block. IsoLocalCoordinateOffset ISO/Fanuc-family local coordinate offset state (G52) written by IsoLocalCoordinateOffsetSyntax. Property names are used as JSON keys via nameof. G52 X Y Z installs a local coordinate-system shift that stacks on top of the active G54-G59 work offset. The cancel mechanism is to write G52 X0 Y0 Z0 (or hit M30 / reset) — there is no separate G code for \"cancel\". The offset vector is therefore always modal: zero is a valid modal value, not a \"disabled\" state, so the section is recorded on every block. Brand-specific kin: Siemens TRANS/ATRANS (which can also carry rotation/scale/mirror) and Heidenhain TRANS DATUM are handled by their own syntaxes and write to their own sections — they do not share this key, because their data shapes are richer. MachineCoordinateState Section key holder for IMachineCoordinateStateDef. MacroFrame Top-level integer marker stamped onto a SyntaxPiece's JSON to identify which call frame the block belongs to. Brand-agnostic by design — written by FanucMacroCallSyntax today, reusable by any future call-inlining syntax (Fanuc G66 modal expansion, Heidenhain LBL CALL, …) that needs local-variable isolation across call boundaries. Semantics: the value is an opaque id; only equality matters. Two blocks with the same MacroFrame id share a call frame (locals visible across them via single-step carry); two blocks with different ids do not. The id 0 is reserved for the main program frame and is returned by Get(JsonObject) when the field is absent — so a plain caller block needs no stamp and yet compares distinct from any inlined frame. Stored as a top-level JSON int (not an object section) so it stays lightweight on every inlined block. Decoupled from FanucMacroCall: that section is a diagnostic record of the call (what file, what args), while MacroFrame is the purely functional marker the local-variable I/O syntaxes consult. MotionEvent Section key holder + concrete implementation for IMotionEventDef. MotionState Section key holder + concrete implementation for IMotionStateDef. PathSmoothing Section key holder for IPathSmoothingDef. PlaneSelect Section key holder for IPlaneSelectDef. Positioning Section key holder + concrete implementation for IPositioningDef. ProgramEnd Section key holder for IProgramEndDef. ProgramStop Section key holder + concrete implementation for IProgramStopDef. RadiusCompensation Section key holder + concrete implementation for IRadiusCompensationDef. SpindleControl Section key holder + concrete implementation for ISpindleControlDef. SpindleOrientation Section key holder + concrete implementation for ISpindleOrientationDef. SpindleSpeed Section key holder + concrete implementation for ISpindleSpeedDef. SubProgramCall Subprogram call record left by SubProgramCallSyntax on the M98 / M198 host block and on every inlined body block. The call itself emits no motion act; this section is bookkeeping so cache dumps and diagnostic readers can see \"this block triggered (or sits inside) an inline of program P\". M98 and M198 share the exact same section shape. The difference between them is purely environmental — which folder the resolver looks in (SubProgramFolderConfig.InternalFolder vs ExternalFolder) — and that lives on the dependency, not in this JSON record. SubProgramReturn Subprogram return record left on the M99 host block by SubProgramReturnSyntax. Return blocks produce no motion acts; this section makes the consumed M99 visible in cache dumps and surfaces the M99 P{seq} jump decision. TapeBoundary Tape leader / trailer line — the literal % that historically marked the start and end of a punched paper-tape program. ISO-style controllers (Fanuc, Mazak, Syntec, Siemens) all preserve it as a file-level boundary marker. Distinct from a comment: the controller uses it as a tape/file delimiter, not as embedded operator text. TiltTransform Concrete class for ITiltTransformDef section serialization. ToolHeightCompensation Section key holder for IToolHeightCompensationDef. Unit Section key holder + concrete implementation for IUnitDef. Vars JSON section schema for per-block variable storage. Each sub-property names a sub-section that holds a { “#nnn”: value } dictionary keyed by Fanuc-style variable id. The sub-sections partition the variable space by lifetime: Local — #1-#33, scope: macro call frame (pushed/popped by G65 / G66 / M99). Volatile — #100-#499, non-retained common; carries block-to-block, cleared by ProgramEndCleanSyntax on M02 / M30. SystemControl — #3000-#3999, controller-side system variables; offline-only round-trip record (real controller effects such as clock reset / alarm trigger / message pause are not simulated). The property types are JsonObject rather than strongly-typed dictionaries because each sub-section's keys are dynamic Fanuc variable ids (#100, #5001, …) discovered at parse time, not a fixed schema. This class exists solely to give the section name and sub-keys stable nameof() targets — instances are never constructed at runtime. Interfaces IArcMotionDef Arc motion data written by CircularMotionSyntax. Stored under the Hi.Motion JSON section alongside IMotionEventDef properties. ICannedCycleDef Canned cycle modal state (Group 09). Captures which cycle is currently active, its return mode (G98/G99), and the resolved absolute parameter set used for modal lookback. Written by CannedCycleResolveSyntax on every block that belongs to the canned-cycle group: cycle code present (G81/G82/G83/G73/G84/G74/G85/G86/G89/G76/G87), modal repeat (cycle still active, only coordinates given), or explicit cancel (G80). Term = \"G80\" is the explicit-cancel sentinel used by FindPreviousActiveCycle(LazyLinkedListNode, string[]) to terminate modal lookback without ambiguity; regular blocks (e.g. G00 X.. Y..) simply omit the section entirely. ICompoundMotionDef Compound motion section definition for commands that produce multiple sub-operations (G28, G53.1, G81, G82, etc.). Contains a ItemsKey array resolved by Hi.NcParsers.Semantics.CompoundMotionSemanticUtil. Item types (discriminated by key presence): Hi.Motion — rapid/feed linear motion (IMotionEventDef + IMachineCoordinateStateDef) Dwell — pause (Time in seconds) SpindleControl — spindle direction change (Direction) SpindleOrientation — oriented spindle stop (OSS) (Angle_deg) ICoolantDef Coolant state (M07 mist / M08 flood / M09 off). Written by CoolantSyntax. Modal — persists until changed. IsOn is the on/off convenience flag (true for M07 and M08, false for M09). Mode carries the abstract kind (Flood / Mist / Off) for consumers that need to distinguish flood vs mist. IDwellDef Dwell/pause section definition for use inside Sequence items. Resolved by Hi.NcParsers.Semantics.CompoundMotionSemanticUtil into ActDelay. IFanucPathSmoothingDef Fanuc-specific path smoothing state written by FanucPathSmoothingSyntax. Extends IPathSmoothingDef with the Fanuc G05.1 R argument (precision / smoothness level number, R1..R10 mapping to controller-internal tuning macro variables). Q is binary in current Fanuc firmware (Q0 disable / Q1 enable), so IsEnabled covers it directly — no raw Q field is stored. JSON section key remains nameof(PathSmoothing) so generic readers (cache dumps, modal carry, UI) can cast to IPathSmoothingDef across all controller brands; brand-specific readers cast to IFanucPathSmoothingDef for the extra fields. IFeedrateDef Feedrate state written by FeedrateSyntax. Property names are used as JSON keys via nameof. ISO standard: F command + G94 (per minute) / G95 (per revolution). Supported by all major CNC brands. IFlagsDef JSON section schema describing the modal/non-modal flags that take effect on an NC block. Each entry in Flags is a brand-specific keyword recognized by the soft-NC runtime. IMachineCoordinateStateDef Modal machine-coordinate state — absolute six-axis machine position after the block has executed. Written on every block by motion-related LogicSyntaxs (McAbcSyntax, McAbcXyzFallbackSyntax, McXyzSyntax, MachineCoordSelectSyntax, G53p1RotaryPositionSyntax, ReferenceReturnSyntax); seeded on the init block by HomeMcInitializer; carried across non-motion blocks by ModalCarrySyntax. Only configured axes appear as keys (X/Y/Z/A/B/C). Non-existent axes (e.g., A/B/C on a 3-axis machine) are omitted rather than written as NaN sentinels. IMotionEventDef One-shot motion event — present on every block whose source programmed a motion command, regardless of whether the resulting displacement is non-zero. A redundant G01 X10 on a block already at X10 still gets a MotionEvent; the motion semantics (McLinearMotionSemantic, McArcMotionSemantic, ClLinearMotionSemantic) then early-return on distance <= 0 and emit no IAct. NOT carried forward across blocks. Reason for the \"programmed, not displaced\" definition: Fanuc G66 modal macro fires once per programmed motion command (per Fanuc spec — no distance gate), so FanucModalMacroSyntax.Expansion uses MotionEvent presence as its trigger. Suppressing the section on zero-distance moves would silently change G66 behaviour. The modal sibling MotionState separately latches the Group-01 mode for readers that only need to know \"what G-code is active\". Property names are used as JSON keys via nameof. IMotionStateDef Modal motion state — Group 01 G-code mode (G00 / G01 / G02 / G03 ...). Written on every block by LinearMotionSyntax / CircularMotionSyntax; carried across non-motion blocks by ModalCarrySyntax. Property names are used as JSON keys via nameof. Unlike sibling modal sections (Unit, PlaneSelect, Positioning) which carry both a brand-specific Term and a brand-neutral conventional field, MotionState intentionally keeps only Term: the brand-neutral semantic (\"what kind of motion happened\") lives on the sibling one-shot MotionEvent (Form = McLinear / McArc / ClLinear / ClArc). State here is purely the modal latch of the last Group-01 G-code so downstream FindPrevious* can resume motion-mode bookkeeping. IParsingDef JSON section schema carrying the raw, brand-specific parsing trace for an NC block. The Parsing node holds intermediate parser output used by downstream syntaxes and diagnostics. IPathSmoothingDef Path smoothing state. The base interface is brand-agnostic; controller brands extend it with their own argument fields (e.g. IFanucPathSmoothingDef for Fanuc G05.1 R precision-level). Fanuc-flavour writes are produced by FanucPathSmoothingSyntax. ISO/Fanuc G05.1 Q1 (enable) / G05.1 Q0 (disable): high-precision contour control / AICC / Nano Smoothing. Controller-internal interpolation black box — simulation records the state but does not alter the tool path. IPlaneSelectDef Active plane selection state written by PlaneSelectSyntax. Property names are used as JSON keys via nameof. ISO: G17/G18/G19. Heidenhain: implicit from L/CC syntax. Term carries the brand-specific G-code; Plane stores the conventional, brand-neutral axis-pair name (XY/ZX/YZ). IPositioningDef Modal positioning state — ISO Group 03 (G90 absolute / G91 incremental). Written by PositioningSyntax, consumed by IncrementalResolveSyntax, canned cycle syntaxes, and MachineCoordSelectSyntax. Property names are used as JSON keys via nameof. Term is the brand-specific G-code (Fanuc/ISO G90/G91); Mode is the conventional, brand-neutral name (Absolute / Incremental). IProgramEndDef Program end marker (M02/M30). Written by ProgramEndSyntax. Other syntaxes (e.g. IsoLocalCoordinateOffsetSyntax) read this section to reset modal state instead of detecting M30 directly. IProgramStopDef Program-stop marker (M00 unconditional / M01 optional). Written by ProgramStopSyntax on each block that carries an M00/M01 flag. Non-modal: the section appears only on the exact block where the stop code is present. Distinct from IProgramEndDef (M02/M30, end of program). M00 halts execution unconditionally; the operator must press Cycle Start to resume. M01 is an optional stop gated by the operator's \"Optional Stop\" panel switch — ignored when the switch is off. This parsing-layer section records the NC intent; runtime / semantic layers decide whether to actually pause. IProgramXyzDef JSON section schema carrying the program-coordinate position commanded on the current block. Written by ProgramXyzSyntax before the ProgramToMcTransform chain composes it into machine coordinates. IRadiusCompensationDef Radius compensation state written by RadiusCompensationSyntax. Property names are used as JSON keys via nameof. Managed commands (ISO): G41 (left), G42 (right), G40 (cancel). Heidenhain Klartext maps RL → G41, RR → G42, R0 → G40. When active, the tool path is offset perpendicular to the programmed path by Radius_mm; Side determines left vs right. The root ProgramXyz retains the user-programmed position; MachineCoordinate is overwritten to reflect the compensated path. ISpindleControlDef Spindle control item for use inside ItemsKey arrays. Resolved by Hi.NcParsers.Semantics.CompoundMotionSemanticUtil into ActSpindleDirection. ISpindleOrientationDef Oriented spindle stop item for use inside ItemsKey arrays. Commands the spindle to stop at a specific angular position (OSS). Resolved by Hi.NcParsers.Semantics.CompoundMotionSemanticUtil into ActSpindleOrientation. ISpindleSpeedDef Spindle speed and direction state written by SpindleSpeedSyntax. Property names are used as JSON keys via nameof. ISO: S command for speed, M03/M04/M05 for direction. Heidenhain: M3/M4/M5. Siemens: M3/M4/M5 or SPOS. Direction is stored as the conventional SpindleDirection enum name (CW/CCW/STOP), not as brand-specific M-codes. ITiltTransformDef Tilt transform state written by tilt transform syntaxes. Property names are used as JSON keys via nameof. Managed commands (ISO/Fanuc): G68 (2D rotation), G68.2 (tilted work plane), G69 (cancel). Siemens equivalent: CYCLE800, ROT/AROT (handled by separate syntax). Heidenhain equivalent: PLANE SPATIAL / PLANE RESET (handled by separate syntax). IToolHeightCompensationDef Tool height compensation state written by ToolHeightOffsetSyntax. Property names are used as JSON keys via nameof. The JSON section can be deserialized to an instance implementing this interface. Managed commands (ISO/Fanuc): G43, G44, G49. Fanuc extension: G43.4 (TCPM — parsed only in Fanuc syntax list). Siemens equivalent: TRAFOOF/TRAORI (handled by separate syntax). Heidenhain equivalent: TOOL CALL / M128/M129 (handled by separate syntax). ITransformationDef Chain of named ProgramXyz → MachineCoordinate transformation entries. Stored as a JsonArray of entries, each with “Source”, “Kind”, and “Mat4d” keys. Each contributing INcSyntax adds or replaces its own entry by source name. GetComposedTransform(JsonObject) composes entries in order: McXyz = ProgramXyz * T[0] * T[1] * ... * T[n]. Kind contour-validity classification. Each entry is either: \"Static\" — the Mat4d is valid for any point along the contour. Tilt, coord-offset, and the kinematic pivot in non-RTCP / rotary-stable blocks are all Static. \"Dynamic\" — the Mat4d is a block-endpoint snapshot of a rotary-state-dependent transform (RTCP rotary-dynamic). Composition still yields a correct endpoint MC, but the matrix is not contour-valid: intermediate CL-point positions cannot be derived by applying it to an interpolated ProgramXyz. The semantic layer (ClLinearMotionSemantic) handles per-step IK separately. Use HasDynamicEntry(JsonObject) to detect the presence of any Dynamic entry on this block. IUnitDef Unit-system state (ISO Group 06: G20 inch / G21 metric). Written by UnitModeSyntax. Modal. HiNC's NC pipeline works exclusively in millimetres. G21 is therefore a no-op confirmation of the default; G20 is reported as an Unsupported Error and callers are expected to pre-convert the NC program to metric before loading. IUnparsedTextDef JSON section schema carrying the residual block text that was not consumed by any registered syntax. Used for diagnostics and round-trip preservation." + "summary": "Namespace Hi.NcParsers.Keywords Classes BlockSkip Optional block skip marker extracted from the head of an NC block. ISO 6983 / Fanuc calls this feature Block Delete (BDT switch); Siemens / Syntec / Mazak use the same / prefix with matching behaviour. The section is only present on blocks that carry a / prefix. Whether the block's NC commands are actually skipped at runtime depends on IBlockSkipConfig: Config absent or the Layer bit OFF → the / prefix is consumed, Body is left null, and the rest of the line parses as a regular NC block (comments still take effect). Config present and the Layer bit ON → the rest of the line is moved into Body and cleared from UnparsedText, so downstream parsing syntaxes see nothing and no NC action is emitted. Comment syntaxes run before this one so comments (and any embedded CsScript) still take effect. Not a comment: a comment is static metadata, block skip is a runtime toggle that can change per machine/operator setting. CallFrame One entry in Frames. Holds the caller-side information consumers need to “unwind” or “look back” — currently only the relative file path of the caller, used by SubProgramReturnSyntax on M99 P{seq} to locate the caller's N{seq} block. CallStack JSON-section data shape representing the active call-frame stack on a block — pushed by call-and-inline syntaxes (SubProgramCallSyntax for M98/M198, FanucMacroCallSyntax for G65, and FanucModalMacroSyntax's expansion phase for G66 implicit triggers) and popped by SubProgramReturnSyntax on M99. Every block between push and pop carries the section forward via ModalCarrySyntax; the caller's blocks before push and after pop carry the surrounding stack state (typically empty when running from the main file). The section is wrapped in a JsonObject rather than exposed as a bare JsonArray so it fits ModalCarry's \"deep-clone JsonObject\" carry pattern — the array of frames lives inside Frames. CannedCycle Section key holder + concrete implementation for ICannedCycleDef. Comment Comment extracted from an NC block. Symbol identifies the comment style; Text holds the content without the symbol. Downstream syntaxes (e.g., CsScript) may further trim Text after extracting embedded markers. CompoundMotion Section key holder + concrete implementation for ICompoundMotionDef. Coolant Section key holder + concrete implementation for ICoolantDef. CoordinateOffset Work coordinate offset state written by IsoCoordinateOffsetSyntax. Property names are used as JSON keys via nameof. Managed commands (ISO): G54, G55, G56, G57, G58, G59, G59.1–G59.9. Siemens: G54–G57 + G505–G599 (extended), G500 to cancel. Heidenhain: CYCL DEF 247 (Datum Preset) / CYCL DEF 7 (Datum Shift). CsScript Section-key holder for inline C# scripts attached to an NC block. Carries BeginScript (run before the block's acts) and EndScript (run after). Resolved by CsScriptBeginSemantic and CsScriptEndSemantic. Dwell Section key holder + concrete implementation for IDwellDef. FanucGoto Fanuc Custom Macro B GOTO record. Stamped on the host block by FanucGotoSyntax after the control-flow decision has been made; produced earlier by FanucGotoParsingSyntax as a parsing-stage sub-section (Parsing.FanucGoto) carrying the raw captured fields. Two source forms map to the same shape: GOTO — unconditional jump. Condition is null. IF [] GOTO — conditional jump. Condition holds the expression text from inside the brackets. At parsing time N is a raw token from the source — it may be a literal (\"100\"), a variable reference (\"#1\"), or a bracketed expression (\"#[#2+5]\"). VariableEvaluatorSyntax substitutes a resolved literal back into the same field in the Evaluation bundle; FanucGotoSyntax then int.TryParses the final string to produce an int target. FanucIfThen Fanuc Custom Macro B IF [] THEN single-block conditional record. Stamped on the host block by FanucIfThenSyntax after the gate decision; produced earlier by FanucIfThenParsingSyntax as a parsing-stage sub-section (Parsing.FanucIfThen) carrying the raw captured fields plus an internal PendingAssignments sub-object harvested from the body text. Spec: IF [bool-expr] THEN executes only when the condition is truthy. Unlike FanucGoto's conditional form there is no jump — the body affects the current block only, no source splice, no label scan, no iteration watchdog. The most common body shape is a single Custom Macro B assignment (#nnn = ); multiple assignments in one body are also accepted and lifted together. Condition is held as a string at parsing time so VariableEvaluatorSyntax's pass-2 tree walk can substitute it to a numeric JsonValue in place; the FanucIfThenSyntax tail then reads the resolved node polymorphically via the same ReadCondition shape used by FanucGotoSyntax. FanucMacroCall One-shot custom-macro-call record written by FanucMacroCallSyntax. Lives on both the G65 host block (the caller) and every inlined block of the macro body — so a cache-dump reader can land on any block inside the macro and immediately see “this block belongs to a G65 call of FileName with these argument bindings” without back-walking to find the host. Each inlined block additionally carries the resolved Vars.Local #1-#26 bindings derived from Args (see FanucMacroArgumentMap), so LocalVariableLookup resolves macro args in a single-block lookup. Frame isolation is structural: caller blocks never have Vars.Local written, so after the macro body ends, the next caller block reads null for any #1-#26 without any explicit frame marker. FanucModalMacro Modal-macro-call record left by FanucModalMacroSyntax. Carries Fanuc G66 setup state forward block-to-block until cancelled by G67. The section is also written on the G67 block itself (with Term = “G67”) so cache dumps show the cancel edge; subsequent blocks then carry no section at all. Per-block expansion of the modal call into an actual macro inline at every positioning move is not yet implemented — a FanucModalMacro--NotExpanded warning is emitted on the setup block to flag the simulation gap. The setup state itself is captured faithfully so external tooling can detect \"this block sits inside a G66 modal\" via the carried section. FanucPathSmoothing Section data holder for IFanucPathSmoothingDef. FanucProgramNumber Fanuc-family program identifier header that follows a TapeBoundary line — e.g. O1234 or . Wrapper records the surface form so a parsed block can be emitted back to the original notation. Feedrate Section key holder + concrete implementation for IFeedrateDef. IndexNote JSON-section data shape pairing a single-character address symbol (e.g. ‘O’, ‘N’) with its numeric index, used to annotate program/sequence numbers on an NC block. IsoLocalCoordinateOffset ISO/Fanuc-family local coordinate offset state (G52) written by IsoLocalCoordinateOffsetSyntax. Property names are used as JSON keys via nameof. G52 X Y Z installs a local coordinate-system shift that stacks on top of the active G54-G59 work offset. The cancel mechanism is to write G52 X0 Y0 Z0 (or hit M30 / reset) — there is no separate G code for \"cancel\". The offset vector is therefore always modal: zero is a valid modal value, not a \"disabled\" state, so the section is recorded on every block. Brand-specific kin: Siemens TRANS/ATRANS (which can also carry rotation/scale/mirror) and Heidenhain TRANS DATUM are handled by their own syntaxes and write to their own sections — they do not share this key, because their data shapes are richer. MachineCoordinateState Section key holder for IMachineCoordinateStateDef. MacroFrame Top-level integer marker stamped onto a SyntaxPiece's JSON to identify which call frame the block belongs to. Brand-agnostic by design — written by FanucMacroCallSyntax today, reusable by any future call-inlining syntax (Fanuc G66 modal expansion, Heidenhain LBL CALL, …) that needs local-variable isolation across call boundaries. Semantics: the value is an opaque id; only equality matters. Two blocks with the same MacroFrame id share a call frame (locals visible across them via single-step carry); two blocks with different ids do not. The id 0 is reserved for the main program frame and is returned by Get(JsonObject) when the field is absent — so a plain caller block needs no stamp and yet compares distinct from any inlined frame. Stored as a top-level JSON int (not an object section) so it stays lightweight on every inlined block. Decoupled from FanucMacroCall: that section is a diagnostic record of the call (what file, what args), while MacroFrame is the purely functional marker the local-variable I/O syntaxes consult. MotionEvent Section key holder + concrete implementation for IMotionEventDef. MotionState Section key holder + concrete implementation for IMotionStateDef. PathSmoothing Section key holder for IPathSmoothingDef. PlaneSelect Section key holder for IPlaneSelectDef. Positioning Section key holder + concrete implementation for IPositioningDef. ProgramEnd Section key holder for IProgramEndDef. ProgramStop Section key holder + concrete implementation for IProgramStopDef. RadiusCompensation Section key holder + concrete implementation for IRadiusCompensationDef. SpindleControl Section key holder + concrete implementation for ISpindleControlDef. SpindleOrientation Section key holder + concrete implementation for ISpindleOrientationDef. SpindleSpeed Section key holder + concrete implementation for ISpindleSpeedDef. SubProgramCall Subprogram call record left by SubProgramCallSyntax on the M98 / M198 host block and on every inlined body block. The call itself emits no motion act; this section is bookkeeping so cache dumps and diagnostic readers can see \"this block triggered (or sits inside) an inline of program P\". M98 and M198 share the exact same section shape. The difference between them is purely environmental — which folder the resolver looks in (SubProgramFolderConfig.InternalFolder vs ExternalFolder) — and that lives on the dependency, not in this JSON record. SubProgramReturn Subprogram return record left on the M99 host block by SubProgramReturnSyntax. Return blocks produce no motion acts; this section makes the consumed M99 visible in cache dumps and surfaces the M99 P{seq} jump decision. TapeBoundary Tape leader / trailer line — the literal % that historically marked the start and end of a punched paper-tape program. ISO-style controllers (Fanuc, Mazak, Syntec, Siemens) all preserve it as a file-level boundary marker. Distinct from a comment: the controller uses it as a tape/file delimiter, not as embedded operator text. TiltTransform Concrete class for ITiltTransformDef section serialization. ToolHeightCompensation Section key holder for IToolHeightCompensationDef. Unit Section key holder + concrete implementation for IUnitDef. Vars JSON section schema for per-block variable storage. Each sub-property names a sub-section that holds a { “#nnn”: value } dictionary keyed by Fanuc-style variable id. The sub-sections partition the variable space by lifetime: Local — #1-#33, scope: macro call frame (pushed/popped by G65 / G66 / M99). Volatile — #100-#499, non-retained common; carries block-to-block, cleared by ProgramEndCleanSyntax on M02 / M30. SystemControl — #3000-#3999, controller-side system variables; offline-only round-trip record (real controller effects such as clock reset / alarm trigger / message pause are not simulated). The property types are JsonObject rather than strongly-typed dictionaries because each sub-section's keys are dynamic Fanuc variable ids (#100, #5001, …) discovered at parse time, not a fixed schema. This class exists solely to give the section name and sub-keys stable nameof() targets — instances are never constructed at runtime. Interfaces IArcMotionDef Arc motion data written by CircularMotionSyntax. Stored under the Hi.Motion JSON section alongside IMotionEventDef properties. ICannedCycleDef Canned cycle modal state (Group 09). Captures which cycle is currently active, its return mode (G98/G99), and the resolved absolute parameter set used for modal lookback. Written by CannedCycleResolveSyntax on every block that belongs to the canned-cycle group: cycle code present (G81/G82/G83/G73/G84/G74/G85/G86/G89/G76/G87), modal repeat (cycle still active, only coordinates given), or explicit cancel (G80). Term = \"G80\" is the explicit-cancel sentinel used by FindPreviousActiveCycle(LazyLinkedListNode, string[]) to terminate modal lookback without ambiguity; regular blocks (e.g. G00 X.. Y..) simply omit the section entirely. ICompoundMotionDef Compound motion section definition for commands that produce multiple sub-operations (G28, G53.1, G81, G82, etc.). Contains a ItemsKey array resolved by Hi.NcParsers.Semantics.CompoundMotionSemanticUtil. Item types (discriminated by key presence): Hi.Motion — rapid/feed linear motion (IMotionEventDef + IMachineCoordinateStateDef) Dwell — pause (Time in seconds) SpindleControl — spindle direction change (Direction) SpindleOrientation — oriented spindle stop (OSS) (Angle_deg) ICoolantDef Coolant state (M07 mist / M08 flood / M09 off). Written by CoolantSyntax. Modal — persists until changed. IsOn is the on/off convenience flag (true for M07 and M08, false for M09). Mode carries the abstract kind (Flood / Mist / Off) for consumers that need to distinguish flood vs mist. IDwellDef Dwell/pause section definition for use inside Sequence items. Resolved by Hi.NcParsers.Semantics.CompoundMotionSemanticUtil into ActDelay. IFanucPathSmoothingDef Fanuc-specific path smoothing state written by FanucPathSmoothingSyntax. Extends IPathSmoothingDef with the Fanuc G05.1 R argument (precision / smoothness level number, R1..R10 mapping to controller-internal tuning macro variables). Q is binary in current Fanuc firmware (Q0 disable / Q1 enable), so IsEnabled covers it directly — no raw Q field is stored. JSON section key remains nameof(PathSmoothing) so generic readers (cache dumps, modal carry, UI) can cast to IPathSmoothingDef across all controller brands; brand-specific readers cast to IFanucPathSmoothingDef for the extra fields. IFeedrateDef Feedrate state written by FeedrateSyntax. Property names are used as JSON keys via nameof. ISO standard: F command + G94 (per minute) / G95 (per revolution). Supported by all major CNC brands. IFlagsDef JSON section schema describing the modal/non-modal flags that take effect on an NC block. Each entry in Flags is a brand-specific keyword recognized by the soft-NC runtime. IMachineCoordinateStateDef Modal machine-coordinate state — absolute six-axis machine position after the block has executed. Written on every block by motion-related LogicSyntaxs (McAbcSyntax, McAbcXyzFallbackSyntax, McXyzSyntax, MachineCoordSelectSyntax, G53p1RotaryPositionSyntax, ReferenceReturnSyntax); seeded on the init block by HomeMcInitializer; carried across non-motion blocks by ModalCarrySyntax. Only configured axes appear as keys (X/Y/Z/A/B/C). Non-existent axes (e.g., A/B/C on a 3-axis machine) are omitted rather than written as NaN sentinels. IMotionEventDef One-shot motion event — present on every block whose source programmed a motion command, regardless of whether the resulting displacement is non-zero. A redundant G01 X10 on a block already at X10 still gets a MotionEvent; the motion semantics (McLinearMotionSemantic, McArcMotionSemantic, ClLinearMotionSemantic) then early-return on distance <= 0 and emit no IAct. NOT carried forward across blocks. Reason for the \"programmed, not displaced\" definition: Fanuc G66 modal macro fires once per programmed motion command (per Fanuc spec — no distance gate), so FanucModalMacroSyntax.Expansion uses MotionEvent presence as its trigger. Suppressing the section on zero-distance moves would silently change G66 behaviour. The modal sibling MotionState separately latches the Group-01 mode for readers that only need to know \"what G-code is active\". Property names are used as JSON keys via nameof. IMotionStateDef Modal motion state — Group 01 G-code mode (G00 / G01 / G02 / G03 ...). Written on every block by LinearMotionSyntax / CircularMotionSyntax; carried across non-motion blocks by ModalCarrySyntax. Property names are used as JSON keys via nameof. Unlike sibling modal sections (Unit, PlaneSelect, Positioning) which carry both a brand-specific Term and a brand-neutral conventional field, MotionState intentionally keeps only Term: the brand-neutral semantic (\"what kind of motion happened\") lives on the sibling one-shot MotionEvent (Form = McLinear / McArc / ClLinear / ClArc). State here is purely the modal latch of the last Group-01 G-code so downstream FindPrevious* can resume motion-mode bookkeeping. IParsingDef JSON section schema carrying the raw, brand-specific parsing trace for an NC block. The Parsing node holds intermediate parser output used by downstream syntaxes and diagnostics. IPathSmoothingDef Path smoothing state. The base interface is brand-agnostic; controller brands extend it with their own argument fields (e.g. IFanucPathSmoothingDef for Fanuc G05.1 R precision-level). Fanuc-flavour writes are produced by FanucPathSmoothingSyntax. ISO/Fanuc G05.1 Q1 (enable) / G05.1 Q0 (disable): high-precision contour control / AICC / Nano Smoothing. Controller-internal interpolation black box — simulation records the state but does not alter the tool path. IPlaneSelectDef Active plane selection state written by PlaneSelectSyntax. Property names are used as JSON keys via nameof. ISO: G17/G18/G19. Heidenhain: implicit from L/CC syntax. Term carries the brand-specific G-code; Plane stores the conventional, brand-neutral axis-pair name (XY/ZX/YZ). IPositioningDef Modal positioning state — ISO Group 03 (G90 absolute / G91 incremental). Written by PositioningSyntax, consumed by IncrementalResolveSyntax, canned cycle syntaxes, and MachineCoordSelectSyntax. Property names are used as JSON keys via nameof. Term is the brand-specific G-code (Fanuc/ISO G90/G91); Mode is the conventional, brand-neutral name (Absolute / Incremental). IProgramEndDef Program end marker (M02/M30). Written by ProgramEndSyntax. Other syntaxes (e.g. IsoLocalCoordinateOffsetSyntax) read this section to reset modal state instead of detecting M30 directly. IProgramStopDef Program-stop marker (M00 unconditional / M01 optional). Written by ProgramStopSyntax on each block that carries an M00/M01 flag. Non-modal: the section appears only on the exact block where the stop code is present. Distinct from IProgramEndDef (M02/M30, end of program). M00 halts execution unconditionally; the operator must press Cycle Start to resume. M01 is an optional stop gated by the operator's \"Optional Stop\" panel switch — ignored when the switch is off. This parsing-layer section records the NC intent; runtime / semantic layers decide whether to actually pause. IProgramXyzDef JSON section schema carrying the program-coordinate position commanded on the current block. Written by ProgramXyzSyntax before the ProgramToMcTransform chain composes it into machine coordinates. IRadiusCompensationDef Radius compensation state written by RadiusCompensationSyntax. Property names are used as JSON keys via nameof. Managed commands (ISO): G41 (left), G42 (right), G40 (cancel). Heidenhain Klartext maps RL → G41, RR → G42, R0 → G40. When active, the tool path is offset perpendicular to the programmed path by Radius_mm; Side determines left vs right. The root ProgramXyz retains the user-programmed position; MachineCoordinate is overwritten to reflect the compensated path. ISpindleControlDef Spindle control item for use inside ItemsKey arrays. Resolved by Hi.NcParsers.Semantics.CompoundMotionSemanticUtil into ActSpindleDirection. ISpindleOrientationDef Oriented spindle stop item for use inside ItemsKey arrays. Commands the spindle to stop at a specific angular position (OSS). Resolved by Hi.NcParsers.Semantics.CompoundMotionSemanticUtil into ActSpindleOrientation. ISpindleSpeedDef Spindle speed and direction state written by SpindleSpeedSyntax. Property names are used as JSON keys via nameof. ISO: S command for speed, M03/M04/M05 for direction. Heidenhain: M3/M4/M5. Siemens: M3/M4/M5 or SPOS. Direction is stored as the conventional SpindleDirection enum name (CW/CCW/STOP), not as brand-specific M-codes. ITiltTransformDef Tilt transform state written by tilt transform syntaxes. Property names are used as JSON keys via nameof. Managed commands (ISO/Fanuc): G68 (2D rotation), G68.2 (tilted work plane), G69 (cancel). Siemens equivalent: CYCLE800, ROT/AROT (handled by separate syntax). Heidenhain equivalent: PLANE SPATIAL / PLANE RESET (handled by separate syntax). IToolHeightCompensationDef Tool height compensation state written by ToolHeightOffsetSyntax. Property names are used as JSON keys via nameof. The JSON section can be deserialized to an instance implementing this interface. Managed commands (ISO/Fanuc): G43, G44, G49. Fanuc extension: G43.4 (TCPM — parsed only in Fanuc syntax list). Siemens equivalent: TRAFOOF/TRAORI (handled by separate syntax). Heidenhain equivalent: TOOL CALL / M128/M129 (handled by separate syntax). ITransformationDef Chain of named ProgramXyz → MachineCoordinate transformation entries. Stored as a JsonArray of entries, each with “Source”, “Kind”, and “Mat4d” keys. Each contributing INcSyntax adds or replaces its own entry by source name. GetComposedTransform(JsonObject) composes entries in order: McXyz = ProgramXyz * T[0] * T[1] * ... * T[n]. Kind contour-validity classification. Each entry is either: \"Static\" — the Mat4d is valid for any point along the contour. Tilt, coord-offset, and the kinematic pivot in non-RTCP / rotary-stable blocks are all Static. \"Dynamic\" — the Mat4d is a block-endpoint snapshot of a rotary-state-dependent transform (RTCP rotary-dynamic). Composition still yields a correct endpoint MC, but the matrix is not contour-valid: intermediate CL-point positions cannot be derived by applying it to an interpolated ProgramXyz. The semantic layer (ClLinearMotionSemantic) handles per-step IK separately. Use HasDynamicEntry(JsonObject) to detect the presence of any Dynamic entry on this block. IUnitDef Unit-system state (ISO Group 06: G20 inch / G21 metric). Written by UnitModeSyntax. Modal. HiNC's NC pipeline works exclusively in millimetres. G21 is therefore a no-op confirmation of the default; G20 is reported as an Unsupported Error and callers are expected to pre-convert the NC program to metric before loading. IUnparsedTextDef JSON section schema carrying the residual block text that was not consumed by any registered syntax. Used for diagnostics and round-trip preservation." }, "api/Hi.NcParsers.LogicSyntaxs.BackBoringSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.BackBoringSyntax.html", "title": "Class BackBoringSyntax | HiAPI-C# 2025", - "summary": "Class BackBoringSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll G87 back boring cycle. Supports modal repetition. Cuts upward from Z to R — used to bore the back side of a workpiece. Cycle sequence: Oriented spindle stop (OSS) at current position Rapid (shifted) to init position, then down to bottom Z — tool enters pre-drilled hole without contacting bore wall Shift back to hole center at bottom Spindle start (CW) Feed upward from Z to R-point (back boring cut) Oriented spindle stop at R Tool shift, rapid retract (shifted) to final Z Shift back to center, spindle restart Q specifies the lateral shift distance (mm). Shift direction defaults to +X (OSS angle 0°). Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax before this syntax runs. public class BackBoringSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object BackBoringSyntax Implements ISituNcSyntax INcSyntax 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 BackBoringSyntax() Initializes a new instance with default settings. public BackBoringSyntax() BackBoringSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public BackBoringSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class BackBoringSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll G87 back boring cycle. Supports modal repetition. Cuts upward from Z to R — used to bore the back side of a workpiece. Cycle sequence: Oriented spindle stop (OSS) at current position Rapid (shifted) to init position, then down to bottom Z — tool enters pre-drilled hole without contacting bore wall Shift back to hole center at bottom Spindle start (CW) Feed upward from Z to R-point (back boring cut) Oriented spindle stop at R Tool shift, rapid retract (shifted) to final Z Shift back to center, spindle restart Q specifies the lateral shift distance (mm). Shift direction defaults to +X (OSS angle 0°). Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax before this syntax runs. public class BackBoringSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object BackBoringSyntax Implements ISituNcSyntax INcSyntax 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 BackBoringSyntax() Initializes a new instance with default settings. public BackBoringSyntax() BackBoringSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public BackBoringSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.BareG28Behavior.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.BareG28Behavior.html", @@ -4387,22 +4387,22 @@ "api/Hi.NcParsers.LogicSyntaxs.BoringCycleSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.BoringCycleSyntax.html", "title": "Class BoringCycleSyntax | HiAPI-C# 2025", - "summary": "Class BoringCycleSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll G85/G86/G89 boring cycles. Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point Feed from R-point to bottom Z [G86 only] Spindle stop at bottom [G89 only] Dwell P seconds at bottom Retract: G85/G89 → feed retract, G86 → rapid retract [G86 only] Spindle restart (CW) after retract G85: feed to Z, feed retract — smooth bore finish. G86: feed to Z, spindle stop (implicit), rapid retract. G89: feed to Z, dwell P, feed retract — like G85 with bottom dwell. Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. public class BoringCycleSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object BoringCycleSyntax Implements ISituNcSyntax INcSyntax 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) Remarks G86 emits SpindleControl items for spindle stop (before retract) and spindle restart CW (after retract). The restart assumes the previous direction was CW (M03), which is the typical boring setup. Constructors BoringCycleSyntax() Initializes a new instance with default settings. public BoringCycleSyntax() BoringCycleSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public BoringCycleSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class BoringCycleSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll G85/G86/G89 boring cycles. Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point Feed from R-point to bottom Z [G86 only] Spindle stop at bottom [G89 only] Dwell P seconds at bottom Retract: G85/G89 → feed retract, G86 → rapid retract [G86 only] Spindle restart (CW) after retract G85: feed to Z, feed retract — smooth bore finish. G86: feed to Z, spindle stop (implicit), rapid retract. G89: feed to Z, dwell P, feed retract — like G85 with bottom dwell. Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. public class BoringCycleSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object BoringCycleSyntax Implements ISituNcSyntax INcSyntax 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) Remarks G86 emits SpindleControl items for spindle stop (before retract) and spindle restart CW (after retract). The restart assumes the previous direction was CW (M03), which is the typical boring setup. Constructors BoringCycleSyntax() Initializes a new instance with default settings. public BoringCycleSyntax() BoringCycleSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public BoringCycleSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html", "title": "Class CannedCycleResolveSyntax | HiAPI-C# 2025", - "summary": "Class CannedCycleResolveSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Resolves the canned-cycle Group-09 state for the current block and writes the result to the CannedCycle section. Active cycle (direct G81..G89 or modal repeat): merges Parsing overrides with previous-cycle stored params, applies G91 incremental-to-absolute conversion and missing-axis fallback, writes CannedCycle with Term, ReturnMode, and Params. The resolved cycle sub-section is left in Parsing under the cycle code for downstream cycle syntaxes (DrillingCycleSyntax, etc.) to read. Explicit cancel (G80 flag present on a non-cycle block): consumes the G80 flag and writes CannedCycle = { Term: \"G80\" }, acting as a hard sentinel for Hi.NcParsers.LogicSyntaxs.CannedCycleSyntaxUtil modal lookback. No Group-09 activity: leaves the block untouched. Must be placed after PositioningSyntax and before the individual cycle syntaxes in the chain. public class CannedCycleResolveSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object CannedCycleResolveSyntax Implements ISituNcSyntax INcSyntax 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) Properties Default Default instance with standard settings. public static CannedCycleResolveSyntax Default { get; } Property Value CannedCycleResolveSyntax Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class CannedCycleResolveSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Resolves the canned-cycle Group-09 state for the current block and writes the result to the CannedCycle section. Active cycle (direct G81..G89 or modal repeat): merges Parsing overrides with previous-cycle stored params, applies G91 incremental-to-absolute conversion and missing-axis fallback, writes CannedCycle with Term, ReturnMode, and Params. The resolved cycle sub-section is left in Parsing under the cycle code for downstream cycle syntaxes (DrillingCycleSyntax, etc.) to read. Explicit cancel (G80 flag present on a non-cycle block): consumes the G80 flag and writes CannedCycle = { Term: \"G80\" }, acting as a hard sentinel for Hi.NcParsers.LogicSyntaxs.CannedCycleSyntaxUtil modal lookback. No Group-09 activity: leaves the block untouched. Must be placed after PositioningSyntax and before the individual cycle syntaxes in the chain. public class CannedCycleResolveSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object CannedCycleResolveSyntax Implements ISituNcSyntax INcSyntax 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) Properties Default Default instance with standard settings. public static CannedCycleResolveSyntax Default { get; } Property Value CannedCycleResolveSyntax Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.html", "title": "Class CircularMotionSyntax | HiAPI-C# 2025", - "summary": "Class CircularMotionSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Writes McArc motion for circular commands (ISO G02/G03). Detects motion mode from Flags, reads I/J/K center offsets or R radius from Parsing, computes arc center in program coordinates, and writes a one-shot MotionEvent (form + arc params) plus a modal MotionState (Term). G02/G03 mode is modal (Group 01) — persists across blocks via Term. Arc parameters (I/J/K/R) are per-block and must be present in every arc block. Must be placed before LinearMotionSyntax in the syntax chain. Both share the Group 01 motion slot; whichever writes a MotionEvent first claims it. public class CircularMotionSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object CircularMotionSyntax Implements ISituNcSyntax INcSyntax 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) Examples All cases below have the current block's ProgramXyz already set (as a prior ProgramXyzSyntax would have produced) and run with no #Previous:, so GetLastProgramXyz returns Vec3d.Zero. The G17 XY plane is implicit (no PlaneSelect section means PlaneNormalDir = 2). G02 with I/J — quarter arc from (0,0,0) to (10,0,0) around (5,0,0); I=5 J=0 are incremental offsets from start to center. The G02 flag is consumed (Parsing removed once empty); MotionState + MotionEvent are written: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G02\"], \"I\": 5, \"J\": 0 }, \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 }, \"MotionState\": { \"Term\": \"G02\" }, \"MotionEvent\": { \"Form\": \"McArc\", \"ArcCenter\": { \"X\": 5, \"Y\": 0, \"Z\": 0 }, \"PlaneNormalDir\": 2, \"IsCcw\": false, \"AdditionalCircleNum\": 0 } } Modal carry of G02: no motion flag on the current block but a #Previous: MotionState.Term = \"G02\" tells us we are still in circular mode. I/J on the current block describe the arc the same way: #Previous: { \"MotionState\": { \"Term\": \"G02\" } } #BeforeBuild: { \"Parsing\": { \"I\": 5, \"J\": 0 }, \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 }, \"MotionState\": { \"Term\": \"G02\" }, \"MotionEvent\": { \"Form\": \"McArc\", \"ArcCenter\": { \"X\": 5, \"Y\": 0, \"Z\": 0 }, \"PlaneNormalDir\": 2, \"IsCcw\": false, \"AdditionalCircleNum\": 0 } } No I/J/K/R on the block — the per-block arc data is missing, so the syntax bails out early; the G02 flag stays in Parsing.Flags for some other syntax to act on (or to surface as residue if no one does): #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G02\"] }, \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"G02\"] }, \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 } } R-format degenerate (chord = 2R, semicircle): start (0,0,0) → end (10,0,0), R=5. perpDistSq resolves to 0 so the computed center collapses to the chord midpoint (5,0,0); no sqrt drift on this branch: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G02\"], \"R\": 5 }, \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 }, \"MotionState\": { \"Term\": \"G02\" }, \"MotionEvent\": { \"Form\": \"McArc\", \"ArcCenter\": { \"X\": 5, \"Y\": 0, \"Z\": 0 }, \"PlaneNormalDir\": 2, \"IsCcw\": false, \"AdditionalCircleNum\": 0 } } R-format non-trivial: G02 90° arc from (0,0,0) to (10,10,0) with R=10. The center comes from the cross-product + sqrt + normalize path inside ResolveCenterFromR(Vec3d, Vec3d, int, bool, double), but for this particular axis-aligned chord the rounding errors cancel and the center lands at exactly (10, 0, 0) — i.e. no ULP drift here, in contrast to e.g. McAbcCyclicPathSyntax's rad/deg round-trip: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G02\"], \"R\": 10 }, \"ProgramXyz\": { \"X\": 10, \"Y\": 10, \"Z\": 0 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 10, \"Z\": 0 }, \"MotionState\": { \"Term\": \"G02\" }, \"MotionEvent\": { \"Form\": \"McArc\", \"ArcCenter\": { \"X\": 10, \"Y\": 0, \"Z\": 0 }, \"PlaneNormalDir\": 2, \"IsCcw\": false, \"AdditionalCircleNum\": 0 } } G03 CCW with I/J — same geometry as case 0 (start (0,0,0), end (10,0,0), I=5 J=0 → center (5,0,0)) but the G03 flag flips IsCcw to true. Direction is the only differentiating output; arc-center math is unchanged: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G03\"], \"I\": 5, \"J\": 0 }, \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 }, \"MotionState\": { \"Term\": \"G03\" }, \"MotionEvent\": { \"Form\": \"McArc\", \"ArcCenter\": { \"X\": 5, \"Y\": 0, \"Z\": 0 }, \"PlaneNormalDir\": 2, \"IsCcw\": true, \"AdditionalCircleNum\": 0 } } Full circle G02 — start == end (both (0,0,0)), I=5 J=0 places center off-start at (5,0,0). The isFullCircle guard (chord length < 1e-6 and center-to-start > 1e-6) flips AdditionalCircleNum to 1 so a downstream motion semantic knows to draw the closed loop: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G02\"], \"I\": 5, \"J\": 0 }, \"ProgramXyz\": { \"X\": 0, \"Y\": 0, \"Z\": 0 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 0, \"Y\": 0, \"Z\": 0 }, \"MotionState\": { \"Term\": \"G02\" }, \"MotionEvent\": { \"Form\": \"McArc\", \"ArcCenter\": { \"X\": 5, \"Y\": 0, \"Z\": 0 }, \"PlaneNormalDir\": 2, \"IsCcw\": false, \"AdditionalCircleNum\": 1 } } Constructors CircularMotionSyntax() Initializes a new instance with default settings. public CircularMotionSyntax() CircularMotionSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public CircularMotionSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class CircularMotionSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Writes McArc motion for circular commands (ISO G02/G03). Detects motion mode from Flags, reads I/J/K center offsets or R radius from Parsing, computes arc center in program coordinates, and writes a one-shot MotionEvent (form + arc params) plus a modal MotionState (Term). G02/G03 mode is modal (Group 01) — persists across blocks via Term. Arc parameters (I/J/K/R) are per-block and must be present in every arc block. Must be placed before LinearMotionSyntax in the syntax chain. Both share the Group 01 motion slot; whichever writes a MotionEvent first claims it. public class CircularMotionSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object CircularMotionSyntax Implements ISituNcSyntax INcSyntax 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) Examples All cases below have the current block's ProgramXyz already set (as a prior ProgramXyzSyntax would have produced) and run with no #Previous:, so GetLastProgramXyz returns Vec3d.Zero. The G17 XY plane is implicit (no PlaneSelect section means PlaneNormalDir = 2). G02 with I/J — quarter arc from (0,0,0) to (10,0,0) around (5,0,0); I=5 J=0 are incremental offsets from start to center. The G02 flag is consumed (Parsing removed once empty); MotionState + MotionEvent are written: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G02\"], \"I\": 5, \"J\": 0 }, \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 }, \"MotionState\": { \"Term\": \"G02\" }, \"MotionEvent\": { \"Form\": \"McArc\", \"ArcCenter\": { \"X\": 5, \"Y\": 0, \"Z\": 0 }, \"PlaneNormalDir\": 2, \"IsCcw\": false, \"AdditionalCircleNum\": 0 } } Modal carry of G02: no motion flag on the current block but a #Previous: MotionState.Term = \"G02\" tells us we are still in circular mode. I/J on the current block describe the arc the same way: #Previous: { \"MotionState\": { \"Term\": \"G02\" } } #BeforeBuild: { \"Parsing\": { \"I\": 5, \"J\": 0 }, \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 }, \"MotionState\": { \"Term\": \"G02\" }, \"MotionEvent\": { \"Form\": \"McArc\", \"ArcCenter\": { \"X\": 5, \"Y\": 0, \"Z\": 0 }, \"PlaneNormalDir\": 2, \"IsCcw\": false, \"AdditionalCircleNum\": 0 } } No I/J/K/R on the block — the per-block arc data is missing, so the syntax bails out early; the G02 flag stays in Parsing.Flags for some other syntax to act on (or to surface as residue if no one does): #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G02\"] }, \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"G02\"] }, \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 } } R-format degenerate (chord = 2R, semicircle): start (0,0,0) → end (10,0,0), R=5. perpDistSq resolves to 0 so the computed center collapses to the chord midpoint (5,0,0); no sqrt drift on this branch: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G02\"], \"R\": 5 }, \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 }, \"MotionState\": { \"Term\": \"G02\" }, \"MotionEvent\": { \"Form\": \"McArc\", \"ArcCenter\": { \"X\": 5, \"Y\": 0, \"Z\": 0 }, \"PlaneNormalDir\": 2, \"IsCcw\": false, \"AdditionalCircleNum\": 0 } } R-format non-trivial: G02 90° arc from (0,0,0) to (10,10,0) with R=10. The center comes from the cross-product + sqrt + normalize path inside ResolveCenterFromR(Vec3d, Vec3d, int, bool, double), but for this particular axis-aligned chord the rounding errors cancel and the center lands at exactly (10, 0, 0) — i.e. no ULP drift here, in contrast to e.g. McAbcCyclicPathSyntax's rad/deg round-trip: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G02\"], \"R\": 10 }, \"ProgramXyz\": { \"X\": 10, \"Y\": 10, \"Z\": 0 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 10, \"Z\": 0 }, \"MotionState\": { \"Term\": \"G02\" }, \"MotionEvent\": { \"Form\": \"McArc\", \"ArcCenter\": { \"X\": 10, \"Y\": 0, \"Z\": 0 }, \"PlaneNormalDir\": 2, \"IsCcw\": false, \"AdditionalCircleNum\": 0 } } G03 CCW with I/J — same geometry as case 0 (start (0,0,0), end (10,0,0), I=5 J=0 → center (5,0,0)) but the G03 flag flips IsCcw to true. Direction is the only differentiating output; arc-center math is unchanged: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G03\"], \"I\": 5, \"J\": 0 }, \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 0, \"Z\": 0 }, \"MotionState\": { \"Term\": \"G03\" }, \"MotionEvent\": { \"Form\": \"McArc\", \"ArcCenter\": { \"X\": 5, \"Y\": 0, \"Z\": 0 }, \"PlaneNormalDir\": 2, \"IsCcw\": true, \"AdditionalCircleNum\": 0 } } Full circle G02 — start == end (both (0,0,0)), I=5 J=0 places center off-start at (5,0,0). The isFullCircle guard (chord length < 1e-6 and center-to-start > 1e-6) flips AdditionalCircleNum to 1 so a downstream motion semantic knows to draw the closed loop: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G02\"], \"I\": 5, \"J\": 0 }, \"ProgramXyz\": { \"X\": 0, \"Y\": 0, \"Z\": 0 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 0, \"Y\": 0, \"Z\": 0 }, \"MotionState\": { \"Term\": \"G02\" }, \"MotionEvent\": { \"Form\": \"McArc\", \"ArcCenter\": { \"X\": 5, \"Y\": 0, \"Z\": 0 }, \"PlaneNormalDir\": 2, \"IsCcw\": false, \"AdditionalCircleNum\": 1 } } Constructors CircularMotionSyntax() Initializes a new instance with default settings. public CircularMotionSyntax() CircularMotionSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public CircularMotionSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.CoolantSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.CoolantSyntax.html", "title": "Class CoolantSyntax | HiAPI-C# 2025", - "summary": "Class CoolantSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Consumes M07 (mist ON), M08 (flood ON), and M09 (coolant OFF) from Flags and writes the ICoolantDef section with both IsOn (convenience flag) and Mode (abstract mode name: Flood / Mist / Off). Modal — persists via backward lookback. public class CoolantSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object CoolantSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M08\"] } } #AfterBuild: { \"Coolant\": { \"IsOn\": true, \"Mode\": \"Flood\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M09\", \"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"Coolant\": { \"IsOn\": false, \"Mode\": \"Off\" } } #Previous: { \"Coolant\": { \"IsOn\": true, \"Mode\": \"Mist\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"Coolant\": { \"IsOn\": true, \"Mode\": \"Mist\" } } Constructors CoolantSyntax() Initializes a new instance with default settings. public CoolantSyntax() CoolantSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public CoolantSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class CoolantSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Consumes M07 (mist ON), M08 (flood ON), and M09 (coolant OFF) from Flags and writes the ICoolantDef section with both IsOn (convenience flag) and Mode (abstract mode name: Flood / Mist / Off). Modal — persists via backward lookback. public class CoolantSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object CoolantSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M08\"] } } #AfterBuild: { \"Coolant\": { \"IsOn\": true, \"Mode\": \"Flood\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M09\", \"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"Coolant\": { \"IsOn\": false, \"Mode\": \"Off\" } } #Previous: { \"Coolant\": { \"IsOn\": true, \"Mode\": \"Mist\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"Coolant\": { \"IsOn\": true, \"Mode\": \"Mist\" } } Constructors CoolantSyntax() Initializes a new instance with default settings. public CoolantSyntax() CoolantSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public CoolantSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.CoordinateOffsetUtil.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.CoordinateOffsetUtil.html", @@ -4412,37 +4412,37 @@ "api/Hi.NcParsers.LogicSyntaxs.DrillingCycleSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.DrillingCycleSyntax.html", "title": "Class DrillingCycleSyntax | HiAPI-C# 2025", - "summary": "Class DrillingCycleSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll G81/G82 drilling cycle (rapid retract). Supports modal repetition. G82 covers G81 — the only difference is an optional dwell (P) at the bottom. Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point Feed from R-point to bottom Z [G82 only] Dwell P seconds at bottom Rapid from bottom to final (G98 → init Z, G99 → R) Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. public class DrillingCycleSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object DrillingCycleSyntax Implements ISituNcSyntax INcSyntax 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) Remarks G85 (feed retract) and G86 (spindle-stop retract) have different retract behaviors and require separate syntax classes. Constructors DrillingCycleSyntax() Initializes a new instance with default settings. public DrillingCycleSyntax() DrillingCycleSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public DrillingCycleSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class DrillingCycleSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll G81/G82 drilling cycle (rapid retract). Supports modal repetition. G82 covers G81 — the only difference is an optional dwell (P) at the bottom. Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point Feed from R-point to bottom Z [G82 only] Dwell P seconds at bottom Rapid from bottom to final (G98 → init Z, G99 → R) Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. public class DrillingCycleSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object DrillingCycleSyntax Implements ISituNcSyntax INcSyntax 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) Remarks G85 (feed retract) and G86 (spindle-stop retract) have different retract behaviors and require separate syntax classes. Constructors DrillingCycleSyntax() Initializes a new instance with default settings. public DrillingCycleSyntax() DrillingCycleSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public DrillingCycleSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.html", "title": "Class FanucPathSmoothingSyntax | HiAPI-C# 2025", - "summary": "Class FanucPathSmoothingSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Consumes Fanuc G05.1 (high-precision contour / AICC II / Nano Smoothing) and records the modal state in the PathSmoothing JSON section using the FanucPathSmoothing schema. Q1 enables, Q0 disables; the optional R{n} precision-level is preserved as Level. The simulation does not alter the tool path — this is a controller-internal interpolation black box; the captured state exists for bidirectional NC-text reconstruction. Modal carry to subsequent blocks is handled by ModalCarrySyntax, which already tracks the PathSmoothing section key and deep-clones it forward. public class FanucPathSmoothingSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucPathSmoothingSyntax Implements ISituNcSyntax INcSyntax 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) Examples First block of the stream (no #Previous:) — stamps the default disabled section so downstream modal lookback always sees a concrete PathSmoothing: #BeforeBuild: { } #AfterBuild: { \"PathSmoothing\": { \"IsEnabled\": false, \"Term\": \"G05.1\" } } G05.1 Q1 with no R — enables, no Level emitted: #Previous: { \"PathSmoothing\": { \"IsEnabled\": false, \"Term\": \"G05.1\" } } #BeforeBuild: { \"Parsing\": { \"G05.1\": { \"Q\": 1 } } } #AfterBuild: { \"PathSmoothing\": { \"IsEnabled\": true, \"Term\": \"G05.1\" } } G05.1 Q1 R3 — enables and preserves the precision level: #Previous: { \"PathSmoothing\": { \"IsEnabled\": false, \"Term\": \"G05.1\" } } #BeforeBuild: { \"Parsing\": { \"G05.1\": { \"Q\": 1, \"R\": 3 } } } #AfterBuild: { \"PathSmoothing\": { \"IsEnabled\": true, \"Term\": \"G05.1\", \"Level\": 3 } } G05.1 Q0 — disables; any prior Level is dropped (R only meaningful when enabling): #Previous: { \"PathSmoothing\": { \"IsEnabled\": true, \"Term\": \"G05.1\", \"Level\": 3 } } #BeforeBuild: { \"Parsing\": { \"G05.1\": { \"Q\": 0 } } } #AfterBuild: { \"PathSmoothing\": { \"IsEnabled\": false, \"Term\": \"G05.1\" } } Constructors FanucPathSmoothingSyntax() Initializes a new instance with default settings. public FanucPathSmoothingSyntax() FanucPathSmoothingSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public FanucPathSmoothingSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FanucPathSmoothingSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Consumes Fanuc G05.1 (high-precision contour / AICC II / Nano Smoothing) and records the modal state in the PathSmoothing JSON section using the FanucPathSmoothing schema. Q1 enables, Q0 disables; the optional R{n} precision-level is preserved as Level. The simulation does not alter the tool path — this is a controller-internal interpolation black box; the captured state exists for bidirectional NC-text reconstruction. Modal carry to subsequent blocks is handled by ModalCarrySyntax, which already tracks the PathSmoothing section key and deep-clones it forward. public class FanucPathSmoothingSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucPathSmoothingSyntax Implements ISituNcSyntax INcSyntax 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) Examples First block of the stream (no #Previous:) — stamps the default disabled section so downstream modal lookback always sees a concrete PathSmoothing: #BeforeBuild: { } #AfterBuild: { \"PathSmoothing\": { \"IsEnabled\": false, \"Term\": \"G05.1\" } } G05.1 Q1 with no R — enables, no Level emitted: #Previous: { \"PathSmoothing\": { \"IsEnabled\": false, \"Term\": \"G05.1\" } } #BeforeBuild: { \"Parsing\": { \"G05.1\": { \"Q\": 1 } } } #AfterBuild: { \"PathSmoothing\": { \"IsEnabled\": true, \"Term\": \"G05.1\" } } G05.1 Q1 R3 — enables and preserves the precision level: #Previous: { \"PathSmoothing\": { \"IsEnabled\": false, \"Term\": \"G05.1\" } } #BeforeBuild: { \"Parsing\": { \"G05.1\": { \"Q\": 1, \"R\": 3 } } } #AfterBuild: { \"PathSmoothing\": { \"IsEnabled\": true, \"Term\": \"G05.1\", \"Level\": 3 } } G05.1 Q0 — disables; any prior Level is dropped (R only meaningful when enabling): #Previous: { \"PathSmoothing\": { \"IsEnabled\": true, \"Term\": \"G05.1\", \"Level\": 3 } } #BeforeBuild: { \"Parsing\": { \"G05.1\": { \"Q\": 0 } } } #AfterBuild: { \"PathSmoothing\": { \"IsEnabled\": false, \"Term\": \"G05.1\" } } Constructors FanucPathSmoothingSyntax() Initializes a new instance with default settings. public FanucPathSmoothingSyntax() FanucPathSmoothingSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public FanucPathSmoothingSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.FeedrateSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.FeedrateSyntax.html", "title": "Class FeedrateSyntax | HiAPI-C# 2025", - "summary": "Class FeedrateSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Consumes F (feedrate) from Parsing and G94/G95 mode from Flags. Both are modal — persist across blocks via backward node lookback. Writes resolved state to a IFeedrateDef section. public class FeedrateSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FeedrateSyntax Implements ISituNcSyntax INcSyntax 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) Examples New F value with explicit G94 mode — both consumed, Unit derived as mm/min (G94 default): #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G94\"], \"F\": 100 } } #AfterBuild: { \"Feedrate\": { \"FeedrateValue\": 100, \"Term\": \"G94\", \"Unit\": \"mm/min\" } } G95 mode flag only — feedrate value inherited from #Previous:; unit recomputed (mm/rev) from the new term: #Previous: { \"Feedrate\": { \"FeedrateValue\": 50, \"Term\": \"G94\", \"Unit\": \"mm/min\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G95\"] } } #AfterBuild: { \"Feedrate\": { \"FeedrateValue\": 50, \"Term\": \"G95\", \"Unit\": \"mm/rev\" } } F value only (no G94/G95 on this block) alongside an unrelated M03 flag — mode inherits from #Previous:; M03 stays in Parsing.Flags because CleanupParsing is only invoked on the mode-flag branch: #Previous: { \"Feedrate\": { \"FeedrateValue\": 50, \"Term\": \"G95\", \"Unit\": \"mm/rev\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"], \"F\": 200 } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"Feedrate\": { \"FeedrateValue\": 200, \"Term\": \"G95\", \"Unit\": \"mm/rev\" } } Constructors FeedrateSyntax() Initializes a new instance with default settings. public FeedrateSyntax() FeedrateSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public FeedrateSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FeedrateSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Consumes F (feedrate) from Parsing and G94/G95 mode from Flags. Both are modal — persist across blocks via backward node lookback. Writes resolved state to a IFeedrateDef section. public class FeedrateSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FeedrateSyntax Implements ISituNcSyntax INcSyntax 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) Examples New F value with explicit G94 mode — both consumed, Unit derived as mm/min (G94 default): #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G94\"], \"F\": 100 } } #AfterBuild: { \"Feedrate\": { \"FeedrateValue\": 100, \"Term\": \"G94\", \"Unit\": \"mm/min\" } } G95 mode flag only — feedrate value inherited from #Previous:; unit recomputed (mm/rev) from the new term: #Previous: { \"Feedrate\": { \"FeedrateValue\": 50, \"Term\": \"G94\", \"Unit\": \"mm/min\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G95\"] } } #AfterBuild: { \"Feedrate\": { \"FeedrateValue\": 50, \"Term\": \"G95\", \"Unit\": \"mm/rev\" } } F value only (no G94/G95 on this block) alongside an unrelated M03 flag — mode inherits from #Previous:; M03 stays in Parsing.Flags because CleanupParsing is only invoked on the mode-flag branch: #Previous: { \"Feedrate\": { \"FeedrateValue\": 50, \"Term\": \"G95\", \"Unit\": \"mm/rev\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"], \"F\": 200 } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"Feedrate\": { \"FeedrateValue\": 200, \"Term\": \"G95\", \"Unit\": \"mm/rev\" } } Constructors FeedrateSyntax() Initializes a new instance with default settings. public FeedrateSyntax() FeedrateSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public FeedrateSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.FineBoringSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.FineBoringSyntax.html", "title": "Class FineBoringSyntax | HiAPI-C# 2025", - "summary": "Class FineBoringSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll G76 fine boring cycle. Supports modal repetition. Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point Feed from R-point to bottom Z Oriented spindle stop (OSS) Tool shift by Q in +X direction (clear bore wall) Rapid retract (shifted) to final Z Tool shift back to center Spindle restart (CW) Q specifies the lateral shift distance (mm) to avoid dragging the tool across the finished bore surface during retract. Shift direction defaults to +X (OSS angle 0°). Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax before this syntax runs. public class FineBoringSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FineBoringSyntax Implements ISituNcSyntax INcSyntax 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 FineBoringSyntax() Initializes a new instance with default settings. public FineBoringSyntax() FineBoringSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public FineBoringSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FineBoringSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll G76 fine boring cycle. Supports modal repetition. Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point Feed from R-point to bottom Z Oriented spindle stop (OSS) Tool shift by Q in +X direction (clear bore wall) Rapid retract (shifted) to final Z Tool shift back to center Spindle restart (CW) Q specifies the lateral shift distance (mm) to avoid dragging the tool across the finished bore surface during retract. Shift direction defaults to +X (OSS angle 0°). Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax before this syntax runs. public class FineBoringSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FineBoringSyntax Implements ISituNcSyntax INcSyntax 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 FineBoringSyntax() Initializes a new instance with default settings. public FineBoringSyntax() FineBoringSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public FineBoringSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.html", "title": "Class G43p4RtcpSyntax | HiAPI-C# 2025", - "summary": "Class G43p4RtcpSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Handles G43.4 RTCP (Rotary Tool Center Point) activation. Writes the IToolHeightCompensationDef section and the ToolHeightCompensationSource entry in ProgramToMcTransform — a tool-normal · offset_mm translation at the block endpoint ABC. The chain entry is tagged KindDynamic when RTCP is active and ABC changes across the block, and KindStatic otherwise. The RTCP kinematic rotary part (Pn→MC rigid transform) is orthogonal to this syntax and is written by PivotTransformationSyntax on every block, because rotary state remains in effect beyond the RTCP modal (e.g. a non-RTCP G01 after G49 still inherits the last ABC from the program). The \"rotary dynamic\" distinction lives on the chain entry's KindKey alone and is read via HasDynamicEntry(JsonObject) by LinearMotionSyntax to pick ClLinear vs McLinear. G43.4 is used by Fanuc, Mazak, Syntec, and Okuma. Siemens (TRAORI) and Heidenhain (M128) are handled by separate syntaxes. Must be placed after ToolHeightOffsetSyntax (to override the ToolHeightCompensation entry when RTCP is active) and before PivotTransformationSyntax (which runs last in the chain). public class G43p4RtcpSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object G43p4RtcpSyntax Implements ISituNcSyntax INcSyntax 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 G43p4RtcpSyntax() Initializes a new instance with default settings. public G43p4RtcpSyntax() G43p4RtcpSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public G43p4RtcpSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class G43p4RtcpSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Handles G43.4 RTCP (Rotary Tool Center Point) activation. Writes the IToolHeightCompensationDef section and the ToolHeightCompensationSource entry in ProgramToMcTransform — a tool-normal · offset_mm translation at the block endpoint ABC. The chain entry is tagged KindDynamic when RTCP is active and ABC changes across the block, and KindStatic otherwise. The RTCP kinematic rotary part (Pn→MC rigid transform) is orthogonal to this syntax and is written by PivotTransformationSyntax on every block, because rotary state remains in effect beyond the RTCP modal (e.g. a non-RTCP G01 after G49 still inherits the last ABC from the program). The \"rotary dynamic\" distinction lives on the chain entry's KindKey alone and is read via HasDynamicEntry(JsonObject) by LinearMotionSyntax to pick ClLinear vs McLinear. G43.4 is used by Fanuc, Mazak, Syntec, and Okuma. Siemens (TRAORI) and Heidenhain (M128) are handled by separate syntaxes. Must be placed after ToolHeightOffsetSyntax (to override the ToolHeightCompensation entry when RTCP is active) and before PivotTransformationSyntax (which runs last in the chain). public class G43p4RtcpSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object G43p4RtcpSyntax Implements ISituNcSyntax INcSyntax 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 G43p4RtcpSyntax() Initializes a new instance with default settings. public G43p4RtcpSyntax() G43p4RtcpSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public G43p4RtcpSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.G53p1RotaryPositionSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.G53p1RotaryPositionSyntax.html", "title": "Class G53p1RotaryPositionSyntax | HiAPI-C# 2025", - "summary": "Class G53p1RotaryPositionSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll G53.1 — non-modal, one-shot rotary axis positioning. Positions the rotary axes (A/B/C) to align the physical tool axis with the active tilted work plane defined by G68.2. XYZ position is unchanged; only rotary axes move via rapid traverse. Requires IsoG68p2TiltSyntax (or equivalent) to have written the tilt transform. Uses IMachineKinematics to solve for the target A/B/C via inverse kinematics. Must be placed after IsoG68p2TiltSyntax (needs tilt data) and before ProgramXyzSyntax in the syntax chain. Writes A/B/C into MachineCoordinateState. Motion is handled by LinearMotionSyntax via modal G00/G01. public class G53p1RotaryPositionSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object G53p1RotaryPositionSyntax Implements ISituNcSyntax INcSyntax 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) Remarks When IMachineKinematics is not available (3-axis config), G53.1 is silently consumed with no positional effect. When G68.2 is not active, a validation error is reported. Optional explicit A/B/C on the G53.1 line (post-processor hints) override the IK result. These are read from Parsing via ConsumeAxis(JsonObject, string, ISentenceCarrier, NcDiagnosticProgress) and consumed to prevent McAbcSyntax from double-processing. Constructors G53p1RotaryPositionSyntax() Initializes a new instance with default settings. public G53p1RotaryPositionSyntax() G53p1RotaryPositionSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public G53p1RotaryPositionSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class G53p1RotaryPositionSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll G53.1 — non-modal, one-shot rotary axis positioning. Positions the rotary axes (A/B/C) to align the physical tool axis with the active tilted work plane defined by G68.2. XYZ position is unchanged; only rotary axes move via rapid traverse. Requires IsoG68p2TiltSyntax (or equivalent) to have written the tilt transform. Uses IMachineKinematics to solve for the target A/B/C via inverse kinematics. Must be placed after IsoG68p2TiltSyntax (needs tilt data) and before ProgramXyzSyntax in the syntax chain. Writes A/B/C into MachineCoordinateState. Motion is handled by LinearMotionSyntax via modal G00/G01. public class G53p1RotaryPositionSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object G53p1RotaryPositionSyntax Implements ISituNcSyntax INcSyntax 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) Remarks When IMachineKinematics is not available (3-axis config), G53.1 is silently consumed with no positional effect. When G68.2 is not active, a validation error is reported. Optional explicit A/B/C on the G53.1 line (post-processor hints) override the IK result. These are read from Parsing via ConsumeAxis(JsonObject, string, ISentenceCarrier, NcDiagnosticProgress) and consumed to prevent McAbcSyntax from double-processing. Constructors G53p1RotaryPositionSyntax() Initializes a new instance with default settings. public G53p1RotaryPositionSyntax() G53p1RotaryPositionSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public G53p1RotaryPositionSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCoordinateOffsetSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCoordinateOffsetSyntax.html", "title": "Class HeidenhainCoordinateOffsetSyntax | HiAPI-C# 2025", - "summary": "Class HeidenhainCoordinateOffsetSyntax Namespace Hi.NcParsers.LogicSyntaxs.Heidenhain Assembly HiMech.dll Heidenhain-specific: resolves coordinate offset from CYCL DEF 247 (Datum Preset) and CYCL DEF 7 (Datum Shift). CYCL DEF 247 Q339=N: selects datum preset table entry N. CYCL DEF 7 #N: selects datum shift table entry N. CYCL DEF 7 X/Y/Z: applies direct XYZ shift values. For DIN/ISO compatibility (G54–G59), use IsoCoordinateOffsetSyntax in addition to this syntax in the Heidenhain syntax list. Uses replace-by-source (TransformSource) so both syntaxes can coexist without double-composing. public class HeidenhainCoordinateOffsetSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainCoordinateOffsetSyntax Implements ISituNcSyntax INcSyntax 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) Examples Mat4d arrays are 16 plain doubles in column-major order; pure translation by (tx,ty,tz) is [1,0,0,0, 0,1,0,0, 0,0,1,0, tx,ty,tz,1]. The syntax does not consume from Parsing — the CYCL DEF cycle number and its parameters survive for downstream syntaxes / round-trip emission. CYCL DEF 247 Q339=+1 with a HeidenhainDatumTable populated so preset row 1 = (50, 50, 0) — the syntax looks up the row and writes a synthetic CoordinateId = \"DATUM_PRESET_1\" reflecting the resolved preset index: #BeforeBuild: { \"Parsing\": { \"CYCL DEF\": 247, \"Q339\": \"+1\" } } #AfterBuild: { \"Parsing\": { \"CYCL DEF\": 247, \"Q339\": \"+1\" }, \"CoordinateOffset\": { \"CoordinateId\": \"DATUM_PRESET_1\", \"Offset_X\": 50, \"Offset_Y\": 50, \"Offset_Z\": 0 }, \"ProgramToMcTransform\": [ { \"Source\": \"CoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 50,50,0,1] } ] } CYCL DEF 7 #5 — datum shift table lookup via the # index (here mapped to (100, 200, 0)); CoordinateId records the resolved shift row id: #BeforeBuild: { \"Parsing\": { \"CYCL DEF\": 7, \"#\": 5 } } #AfterBuild: { \"Parsing\": { \"CYCL DEF\": 7, \"#\": 5 }, \"CoordinateOffset\": { \"CoordinateId\": \"DATUM_SHIFT_5\", \"Offset_X\": 100, \"Offset_Y\": 200, \"Offset_Z\": 0 }, \"ProgramToMcTransform\": [ { \"Source\": \"CoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 100,200,0,1] } ] } CYCL DEF 7 X10 Y20 Z5 — direct X/Y/Z form (no # index) writes the values straight into the offset; no HeidenhainDatumTable dep is required. CoordinateId is the literal \"DATUM_SHIFT_DIRECT\" sentinel: #BeforeBuild: { \"Parsing\": { \"CYCL DEF\": 7, \"X\": 10, \"Y\": 20, \"Z\": 5 } } #AfterBuild: { \"Parsing\": { \"CYCL DEF\": 7, \"X\": 10, \"Y\": 20, \"Z\": 5 }, \"CoordinateOffset\": { \"CoordinateId\": \"DATUM_SHIFT_DIRECT\", \"Offset_X\": 10, \"Offset_Y\": 20, \"Offset_Z\": 5 }, \"ProgramToMcTransform\": [ { \"Source\": \"CoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 10,20,5,1] } ] } Constructors HeidenhainCoordinateOffsetSyntax() Initializes a new instance with default settings. public HeidenhainCoordinateOffsetSyntax() HeidenhainCoordinateOffsetSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainCoordinateOffsetSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class HeidenhainCoordinateOffsetSyntax Namespace Hi.NcParsers.LogicSyntaxs.Heidenhain Assembly HiMech.dll Heidenhain-specific: resolves coordinate offset from CYCL DEF 247 (Datum Preset) and CYCL DEF 7 (Datum Shift). CYCL DEF 247 Q339=N: selects datum preset table entry N. CYCL DEF 7 #N: selects datum shift table entry N. CYCL DEF 7 X/Y/Z: applies direct XYZ shift values. For DIN/ISO compatibility (G54–G59), use IsoCoordinateOffsetSyntax in addition to this syntax in the Heidenhain syntax list. Uses replace-by-source (TransformSource) so both syntaxes can coexist without double-composing. public class HeidenhainCoordinateOffsetSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainCoordinateOffsetSyntax Implements ISituNcSyntax INcSyntax 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) Examples Mat4d arrays are 16 plain doubles in column-major order; pure translation by (tx,ty,tz) is [1,0,0,0, 0,1,0,0, 0,0,1,0, tx,ty,tz,1]. The syntax does not consume from Parsing — the CYCL DEF cycle number and its parameters survive for downstream syntaxes / round-trip emission. CYCL DEF 247 Q339=+1 with a HeidenhainDatumTable populated so preset row 1 = (50, 50, 0) — the syntax looks up the row and writes a synthetic CoordinateId = \"DATUM_PRESET_1\" reflecting the resolved preset index: #BeforeBuild: { \"Parsing\": { \"CYCL DEF\": 247, \"Q339\": \"+1\" } } #AfterBuild: { \"Parsing\": { \"CYCL DEF\": 247, \"Q339\": \"+1\" }, \"CoordinateOffset\": { \"CoordinateId\": \"DATUM_PRESET_1\", \"Offset_X\": 50, \"Offset_Y\": 50, \"Offset_Z\": 0 }, \"ProgramToMcTransform\": [ { \"Source\": \"CoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 50,50,0,1] } ] } CYCL DEF 7 #5 — datum shift table lookup via the # index (here mapped to (100, 200, 0)); CoordinateId records the resolved shift row id: #BeforeBuild: { \"Parsing\": { \"CYCL DEF\": 7, \"#\": 5 } } #AfterBuild: { \"Parsing\": { \"CYCL DEF\": 7, \"#\": 5 }, \"CoordinateOffset\": { \"CoordinateId\": \"DATUM_SHIFT_5\", \"Offset_X\": 100, \"Offset_Y\": 200, \"Offset_Z\": 0 }, \"ProgramToMcTransform\": [ { \"Source\": \"CoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 100,200,0,1] } ] } CYCL DEF 7 X10 Y20 Z5 — direct X/Y/Z form (no # index) writes the values straight into the offset; no HeidenhainDatumTable dep is required. CoordinateId is the literal \"DATUM_SHIFT_DIRECT\" sentinel: #BeforeBuild: { \"Parsing\": { \"CYCL DEF\": 7, \"X\": 10, \"Y\": 20, \"Z\": 5 } } #AfterBuild: { \"Parsing\": { \"CYCL DEF\": 7, \"X\": 10, \"Y\": 20, \"Z\": 5 }, \"CoordinateOffset\": { \"CoordinateId\": \"DATUM_SHIFT_DIRECT\", \"Offset_X\": 10, \"Offset_Y\": 20, \"Offset_Z\": 5 }, \"ProgramToMcTransform\": [ { \"Source\": \"CoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 10,20,5,1] } ] } Constructors HeidenhainCoordinateOffsetSyntax() Initializes a new instance with default settings. public HeidenhainCoordinateOffsetSyntax() HeidenhainCoordinateOffsetSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainCoordinateOffsetSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.Heidenhain.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.Heidenhain.html", @@ -4452,102 +4452,102 @@ "api/Hi.NcParsers.LogicSyntaxs.HighSpeedPeckCycleSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.HighSpeedPeckCycleSyntax.html", "title": "Class HighSpeedPeckCycleSyntax | HiAPI-C# 2025", - "summary": "Class HighSpeedPeckCycleSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll G73 high-speed peck drilling cycle (chip breaking). Supports modal repetition. Drills in increments of depth Q, partially retracting by PeckRetractionDistance_mm between strokes (instead of fully back to R like PeckDrillingCycleSyntax). Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point For each stroke: feed Q deeper, rapid retract by d If remainder exists: feed to bottom Z, rapid retract by d Rapid to final (G98 → init Z, G99 → R) Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. public class HighSpeedPeckCycleSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HighSpeedPeckCycleSyntax Implements ISituNcSyntax INcSyntax 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 HighSpeedPeckCycleSyntax() Initializes a new instance with default settings. public HighSpeedPeckCycleSyntax() HighSpeedPeckCycleSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HighSpeedPeckCycleSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class HighSpeedPeckCycleSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll G73 high-speed peck drilling cycle (chip breaking). Supports modal repetition. Drills in increments of depth Q, partially retracting by PeckRetractionDistance_mm between strokes (instead of fully back to R like PeckDrillingCycleSyntax). Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point For each stroke: feed Q deeper, rapid retract by d If remainder exists: feed to bottom Z, rapid retract by d Rapid to final (G98 → init Z, G99 → R) Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. public class HighSpeedPeckCycleSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HighSpeedPeckCycleSyntax Implements ISituNcSyntax INcSyntax 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 HighSpeedPeckCycleSyntax() Initializes a new instance with default settings. public HighSpeedPeckCycleSyntax() HighSpeedPeckCycleSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HighSpeedPeckCycleSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.html", "title": "Class IncrementalResolveSyntax | HiAPI-C# 2025", - "summary": "Class IncrementalResolveSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Resolves G91 incremental axis values to absolute in-place within Parsing and its sub-sections. Reads Term written by PositioningSyntax. WorkingPathList specifies which JSON paths contain axis values that need incremental-to-absolute conversion. Default: [[\"Parsing\"], [\"Parsing\", \"G28\"]]. All matching paths are converted. Canned cycle paths (Parsing.G81, G82, G83, …) are intentionally excluded — their Z/R incremental semantics differ from normal axes (R is relative to init level, Z is relative to R-point). Resolution is handled by ResolveCycleCoordinates(JsonObject, Vec3d, double?, double?, double, double) inside each cycle syntax class, which runs before this syntax. Uses AxisNames to determine which tags are motion axes. Traces backward nodes for last known ProgramXyz to resolve incremental values. After this syntax, all axis values in the working paths are absolute — ProgramXyzSyntax can consume them without incremental logic. public class IncrementalResolveSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object IncrementalResolveSyntax Implements ISituNcSyntax INcSyntax 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) Examples G90 (absolute) on the block — the syntax early-returns without touching Parsing.X/Y/Z, even though the values look like incremental deltas: #BeforeBuild: { \"Positioning\": { \"Term\": \"G90\", \"Mode\": \"Absolute\" }, \"Parsing\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } #AfterBuild: { \"Positioning\": { \"Term\": \"G90\", \"Mode\": \"Absolute\" }, \"Parsing\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } G91 (incremental) with a #Previous: block carrying MachineCoordinateState=(100,200,300). Under the identity ProgramToMcTransform chain, GetLastProgramXyz recovers program XYZ equal to MC, so each axis in Parsing is rewritten to lastAbs + incremental: #Previous: { \"MachineCoordinateState\": { \"X\": 100, \"Y\": 200, \"Z\": 300 } } #BeforeBuild: { \"Positioning\": { \"Term\": \"G91\", \"Mode\": \"Incremental\" }, \"Parsing\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } #AfterBuild: { \"Positioning\": { \"Term\": \"G91\", \"Mode\": \"Incremental\" }, \"Parsing\": { \"X\": 110, \"Y\": 220, \"Z\": 330 } } G91 + Parsing.G28 sub-section — exercises the second entry of the default WorkingPathList; the root Parsing has no X/Y/Z so the first path no-ops, but the [“Parsing”,“G28”] path picks up the G28 intermediate axes and resolves them against the same lastProgramXyz: #Previous: { \"MachineCoordinateState\": { \"X\": 100, \"Y\": 200, \"Z\": 300 } } #BeforeBuild: { \"Positioning\": { \"Term\": \"G91\", \"Mode\": \"Incremental\" }, \"Parsing\": { \"G28\": { \"X\": 5, \"Y\": 10, \"Z\": 15 } } } #AfterBuild: { \"Positioning\": { \"Term\": \"G91\", \"Mode\": \"Incremental\" }, \"Parsing\": { \"G28\": { \"X\": 105, \"Y\": 210, \"Z\": 315 } } } Constructors IncrementalResolveSyntax(List>) Initializes a new instance with the given working path list. public IncrementalResolveSyntax(List> workingPathList) Parameters workingPathList List> JSON paths to scan for incremental axis values; see WorkingPathList. IncrementalResolveSyntax(XElement) Initializes a new instance by deserializing the working path list from the given XML element. Falls back to Default.WorkingPathList when the element has no Path children. public IncrementalResolveSyntax(XElement src) Parameters src XElement Source XML element. Properties Default Default instance with working paths covering the Parsing root and the Parsing.G28 intermediate XYZ subsection. public static IncrementalResolveSyntax Default { get; } Property Value IncrementalResolveSyntax Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string WorkingPathList JSON paths where this syntax searches for axis values (X/Y/Z) to convert from incremental to absolute when G91 is active. Each path is a list of segments navigating nested JSON objects. All matching paths are converted. public List> WorkingPathList { get; } Property Value List> Examples [[\"Parsing\"]] → Parsing root (normal XYZ) [[\"Parsing\", \"G28\"]] → Parsing.G28 (G28 intermediate XYZ) XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class IncrementalResolveSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Resolves G91 incremental axis values to absolute in-place within Parsing and its sub-sections. Reads Term written by PositioningSyntax. WorkingPathList specifies which JSON paths contain axis values that need incremental-to-absolute conversion. Default: [[\"Parsing\"], [\"Parsing\", \"G28\"]]. All matching paths are converted. Canned cycle paths (Parsing.G81, G82, G83, …) are intentionally excluded — their Z/R incremental semantics differ from normal axes (R is relative to init level, Z is relative to R-point). Resolution is handled by ResolveCycleCoordinates(JsonObject, Vec3d, double?, double?, double, double) inside each cycle syntax class, which runs before this syntax. Uses AxisNames to determine which tags are motion axes. Traces backward nodes for last known ProgramXyz to resolve incremental values. After this syntax, all axis values in the working paths are absolute — ProgramXyzSyntax can consume them without incremental logic. public class IncrementalResolveSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object IncrementalResolveSyntax Implements ISituNcSyntax INcSyntax 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) Examples G90 (absolute) on the block — the syntax early-returns without touching Parsing.X/Y/Z, even though the values look like incremental deltas: #BeforeBuild: { \"Positioning\": { \"Term\": \"G90\", \"Mode\": \"Absolute\" }, \"Parsing\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } #AfterBuild: { \"Positioning\": { \"Term\": \"G90\", \"Mode\": \"Absolute\" }, \"Parsing\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } G91 (incremental) with a #Previous: block carrying MachineCoordinateState=(100,200,300). Under the identity ProgramToMcTransform chain, GetLastProgramXyz recovers program XYZ equal to MC, so each axis in Parsing is rewritten to lastAbs + incremental: #Previous: { \"MachineCoordinateState\": { \"X\": 100, \"Y\": 200, \"Z\": 300 } } #BeforeBuild: { \"Positioning\": { \"Term\": \"G91\", \"Mode\": \"Incremental\" }, \"Parsing\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } #AfterBuild: { \"Positioning\": { \"Term\": \"G91\", \"Mode\": \"Incremental\" }, \"Parsing\": { \"X\": 110, \"Y\": 220, \"Z\": 330 } } G91 + Parsing.G28 sub-section — exercises the second entry of the default WorkingPathList; the root Parsing has no X/Y/Z so the first path no-ops, but the [“Parsing”,“G28”] path picks up the G28 intermediate axes and resolves them against the same lastProgramXyz: #Previous: { \"MachineCoordinateState\": { \"X\": 100, \"Y\": 200, \"Z\": 300 } } #BeforeBuild: { \"Positioning\": { \"Term\": \"G91\", \"Mode\": \"Incremental\" }, \"Parsing\": { \"G28\": { \"X\": 5, \"Y\": 10, \"Z\": 15 } } } #AfterBuild: { \"Positioning\": { \"Term\": \"G91\", \"Mode\": \"Incremental\" }, \"Parsing\": { \"G28\": { \"X\": 105, \"Y\": 210, \"Z\": 315 } } } Constructors IncrementalResolveSyntax(List>) Initializes a new instance with the given working path list. public IncrementalResolveSyntax(List> workingPathList) Parameters workingPathList List> JSON paths to scan for incremental axis values; see WorkingPathList. IncrementalResolveSyntax(XElement) Initializes a new instance by deserializing the working path list from the given XML element. Falls back to Default.WorkingPathList when the element has no Path children. public IncrementalResolveSyntax(XElement src) Parameters src XElement Source XML element. Properties Default Default instance with working paths covering the Parsing root and the Parsing.G28 intermediate XYZ subsection. public static IncrementalResolveSyntax Default { get; } Property Value IncrementalResolveSyntax Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string WorkingPathList JSON paths where this syntax searches for axis values (X/Y/Z) to convert from incremental to absolute when G91 is active. Each path is a list of segments navigating nested JSON objects. All matching paths are converted. public List> WorkingPathList { get; } Property Value List> Examples [[\"Parsing\"]] → Parsing root (normal XYZ) [[\"Parsing\", \"G28\"]] → Parsing.G28 (G28 intermediate XYZ) XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.html", "title": "Class IsoCoordinateOffsetSyntax | HiAPI-C# 2025", - "summary": "Class IsoCoordinateOffsetSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll ISO/Fanuc/Mazak/Okuma/Syntec: resolves G54–G59.9 work coordinate offset. Reads G54/G55/.../G59.9 from Flags, looks up offset Vec3d via IIsoCoordinateConfig dependencies (e.g. brand parameter table or IsoCoordinateTable), composes into ProgramToMcTransform. Modal — active coordinate persists via backward lookback. Default coordinate ID is set by StaticInitializer. public class IsoCoordinateOffsetSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object IsoCoordinateOffsetSyntax Implements ISituNcSyntax INcSyntax 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) Examples The Mat4d arrays below are written as 16 plain doubles in column-major order; the first 12 are the identity 3×3 rotation, the last 4 are the translation column (tx, ty, tz, 1). So a pure translation by (tx, ty, tz) is [1,0,0,0, 0,1,0,0, 0,0,1,0, tx,ty,tz,1]. G54 flag on the block but no IIsoCoordinateConfig on the dep list — the resolved offset falls back to Vec3d.Zero and the composed translation is the identity matrix: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G54\"] } } #AfterBuild: { \"CoordinateOffset\": { \"CoordinateId\": \"G54\", \"Offset_X\": 0, \"Offset_Y\": 0, \"Offset_Z\": 0 }, \"ProgramToMcTransform\": [ { \"Source\": \"CoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1] } ] } G55 flag with an IsoCoordinateTable providing G55 → (100, 50, -200) — the offset is written to the CoordinateOffset section and the same translation is composed into the transform chain: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G55\"] } } #AfterBuild: { \"CoordinateOffset\": { \"CoordinateId\": \"G55\", \"Offset_X\": 100, \"Offset_Y\": 50, \"Offset_Z\": -200 }, \"ProgramToMcTransform\": [ { \"Source\": \"CoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 100,50,-200,1] } ] } No coordinate flag on the current block (e.g. an unrelated M03) but #Previous: carried G54 — modal lookback inherits G54, the dep is re-queried (so Offset_X/Y/Z are taken from the table, not from the previous block), and the transform chain is rebuilt. The unrelated M03 flag survives in Parsing.Flags because CleanupParsing only fires on the new-coord-flag branch: #Previous: { \"CoordinateOffset\": { \"CoordinateId\": \"G54\", \"Offset_X\": 10, \"Offset_Y\": 20, \"Offset_Z\": -100 } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"CoordinateOffset\": { \"CoordinateId\": \"G54\", \"Offset_X\": 10, \"Offset_Y\": 20, \"Offset_Z\": -100 }, \"ProgramToMcTransform\": [ { \"Source\": \"CoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 10,20,-100,1] } ] } Constructors IsoCoordinateOffsetSyntax() Initializes a new instance with default settings. public IsoCoordinateOffsetSyntax() IsoCoordinateOffsetSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public IsoCoordinateOffsetSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class IsoCoordinateOffsetSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll ISO/Fanuc/Mazak/Okuma/Syntec: resolves G54–G59.9 work coordinate offset. Reads G54/G55/.../G59.9 from Flags, looks up offset Vec3d via IIsoCoordinateConfig dependencies (e.g. brand parameter table or IsoCoordinateTable), composes into ProgramToMcTransform. Modal — active coordinate persists via backward lookback. Default coordinate ID is set by StaticInitializer. public class IsoCoordinateOffsetSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object IsoCoordinateOffsetSyntax Implements ISituNcSyntax INcSyntax 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) Examples The Mat4d arrays below are written as 16 plain doubles in column-major order; the first 12 are the identity 3×3 rotation, the last 4 are the translation column (tx, ty, tz, 1). So a pure translation by (tx, ty, tz) is [1,0,0,0, 0,1,0,0, 0,0,1,0, tx,ty,tz,1]. G54 flag on the block but no IIsoCoordinateConfig on the dep list — the resolved offset falls back to Vec3d.Zero and the composed translation is the identity matrix: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G54\"] } } #AfterBuild: { \"CoordinateOffset\": { \"CoordinateId\": \"G54\", \"Offset_X\": 0, \"Offset_Y\": 0, \"Offset_Z\": 0 }, \"ProgramToMcTransform\": [ { \"Source\": \"CoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1] } ] } G55 flag with an IsoCoordinateTable providing G55 → (100, 50, -200) — the offset is written to the CoordinateOffset section and the same translation is composed into the transform chain: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G55\"] } } #AfterBuild: { \"CoordinateOffset\": { \"CoordinateId\": \"G55\", \"Offset_X\": 100, \"Offset_Y\": 50, \"Offset_Z\": -200 }, \"ProgramToMcTransform\": [ { \"Source\": \"CoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 100,50,-200,1] } ] } No coordinate flag on the current block (e.g. an unrelated M03) but #Previous: carried G54 — modal lookback inherits G54, the dep is re-queried (so Offset_X/Y/Z are taken from the table, not from the previous block), and the transform chain is rebuilt. The unrelated M03 flag survives in Parsing.Flags because CleanupParsing only fires on the new-coord-flag branch: #Previous: { \"CoordinateOffset\": { \"CoordinateId\": \"G54\", \"Offset_X\": 10, \"Offset_Y\": 20, \"Offset_Z\": -100 } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"CoordinateOffset\": { \"CoordinateId\": \"G54\", \"Offset_X\": 10, \"Offset_Y\": 20, \"Offset_Z\": -100 }, \"ProgramToMcTransform\": [ { \"Source\": \"CoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 10,20,-100,1] } ] } Constructors IsoCoordinateOffsetSyntax() Initializes a new instance with default settings. public IsoCoordinateOffsetSyntax() IsoCoordinateOffsetSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public IsoCoordinateOffsetSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.html", "title": "Class IsoG68RotationSyntax | HiAPI-C# 2025", - "summary": "Class IsoG68RotationSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll ISO/Fanuc: resolves G68 (2D coordinate rotation) and G69 (cancel). Computes a rotation Mat4d around the active plane normal and composes it into ProgramToMcTransform. No IMachineKinematics dependency needed — G68 is pure geometric rotation. Managed commands: G68, G69 (idempotent with IsoG68p2TiltSyntax). public class IsoG68RotationSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object IsoG68RotationSyntax Implements ISituNcSyntax INcSyntax 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) Examples All cases below avoid the cos/sin rotation math by using either G69 cancel (identity), the first-block default (no transform composed), or modal carry of an identity Mat4d. Mat4d arrays are 16 plain doubles in column-major order — see IsoCoordinateOffsetSyntax for the template. A future round can add a non-trivial G68 case by dumping the actual output and pasting the 16 doubles back into the marker. First block of the stream (no #Previous:, no G68/G69 on the block) — CarryForwardFromPrevious stamps a default TiltTransform.Term = \"G69\" so downstream lookback always sees a concrete state; no transform chain entry is composed: #BeforeBuild: { } #AfterBuild: { \"TiltTransform\": { \"Term\": \"G69\" } } G69 flag on the block — TryHandleG69 consumes it, writes the G69 section, and composes the identity Mat4d into the chain so any previously composed tilt rotation is overridden: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G69\"] } } #AfterBuild: { \"TiltTransform\": { \"Term\": \"G69\" }, \"ProgramToMcTransform\": [ { \"Source\": \"TiltTransform\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1] } ] } Modal carry: no G68/G69 on the current block, but #Previous: carries an active G68 with identity tilt Mat4d in its chain. The current block inherits TiltTransform.Term = \"G68\" and re-composes the same Mat4d into its own chain; unrelated M03 flag survives because this syntax does not touch Parsing during the carry path: #Previous: { \"TiltTransform\": { \"Term\": \"G68\" }, \"ProgramToMcTransform\": [ { \"Source\": \"TiltTransform\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1] } ] } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"TiltTransform\": { \"Term\": \"G68\" }, \"ProgramToMcTransform\": [ { \"Source\": \"TiltTransform\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1] } ] } Non-trivial G68 rotation: 90° around the Z axis (no I/J/K → plane normal of the default G17 plane) at the origin (no X/Y/Z → all 0). The Mat4d column-major layout is rotation 90° about Z (no translation since pivot is the origin); cos(π/2) is not exactly 0 in IEEE-754 so the diagonal carries the 6.123233995736766E-17 drift produced by Math.Cos(Math.PI / 2) — preserved verbatim per the no-shorthand marker convention: #BeforeBuild: { \"Parsing\": { \"G68\": { \"R\": 90 } } } #AfterBuild: { \"TiltTransform\": { \"Term\": \"G68\" }, \"ProgramToMcTransform\": [ { \"Source\": \"TiltTransform\", \"Kind\": \"Static\", \"Mat4d\": [6.123233995736766E-17, 1, 0, 0, -1, 6.123233995736766E-17, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] } ] } Remarks Input: Parsing.G68 → {X,Y,Z,I,J,K,R} from ParameterizedFlagSyntax. If I/J/K not specified, rotation axis is determined by active plane: G17→Z, G18→Y, G19→X. Constructors IsoG68RotationSyntax() Initializes a new instance with default settings. public IsoG68RotationSyntax() IsoG68RotationSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public IsoG68RotationSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class IsoG68RotationSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll ISO/Fanuc: resolves G68 (2D coordinate rotation) and G69 (cancel). Computes a rotation Mat4d around the active plane normal and composes it into ProgramToMcTransform. No IMachineKinematics dependency needed — G68 is pure geometric rotation. Managed commands: G68, G69 (idempotent with IsoG68p2TiltSyntax). public class IsoG68RotationSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object IsoG68RotationSyntax Implements ISituNcSyntax INcSyntax 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) Examples All cases below avoid the cos/sin rotation math by using either G69 cancel (identity), the first-block default (no transform composed), or modal carry of an identity Mat4d. Mat4d arrays are 16 plain doubles in column-major order — see IsoCoordinateOffsetSyntax for the template. A future round can add a non-trivial G68 case by dumping the actual output and pasting the 16 doubles back into the marker. First block of the stream (no #Previous:, no G68/G69 on the block) — CarryForwardFromPrevious stamps a default TiltTransform.Term = \"G69\" so downstream lookback always sees a concrete state; no transform chain entry is composed: #BeforeBuild: { } #AfterBuild: { \"TiltTransform\": { \"Term\": \"G69\" } } G69 flag on the block — TryHandleG69 consumes it, writes the G69 section, and composes the identity Mat4d into the chain so any previously composed tilt rotation is overridden: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G69\"] } } #AfterBuild: { \"TiltTransform\": { \"Term\": \"G69\" }, \"ProgramToMcTransform\": [ { \"Source\": \"TiltTransform\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1] } ] } Modal carry: no G68/G69 on the current block, but #Previous: carries an active G68 with identity tilt Mat4d in its chain. The current block inherits TiltTransform.Term = \"G68\" and re-composes the same Mat4d into its own chain; unrelated M03 flag survives because this syntax does not touch Parsing during the carry path: #Previous: { \"TiltTransform\": { \"Term\": \"G68\" }, \"ProgramToMcTransform\": [ { \"Source\": \"TiltTransform\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1] } ] } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"TiltTransform\": { \"Term\": \"G68\" }, \"ProgramToMcTransform\": [ { \"Source\": \"TiltTransform\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1] } ] } Non-trivial G68 rotation: 90° around the Z axis (no I/J/K → plane normal of the default G17 plane) at the origin (no X/Y/Z → all 0). The Mat4d column-major layout is rotation 90° about Z (no translation since pivot is the origin); cos(π/2) is not exactly 0 in IEEE-754 so the diagonal carries the 6.123233995736766E-17 drift produced by Math.Cos(Math.PI / 2) — preserved verbatim per the no-shorthand marker convention: #BeforeBuild: { \"Parsing\": { \"G68\": { \"R\": 90 } } } #AfterBuild: { \"TiltTransform\": { \"Term\": \"G68\" }, \"ProgramToMcTransform\": [ { \"Source\": \"TiltTransform\", \"Kind\": \"Static\", \"Mat4d\": [6.123233995736766E-17, 1, 0, 0, -1, 6.123233995736766E-17, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] } ] } Remarks Input: Parsing.G68 → {X,Y,Z,I,J,K,R} from ParameterizedFlagSyntax. If I/J/K not specified, rotation axis is determined by active plane: G17→Z, G18→Y, G19→X. Constructors IsoG68RotationSyntax() Initializes a new instance with default settings. public IsoG68RotationSyntax() IsoG68RotationSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public IsoG68RotationSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.html", "title": "Class IsoG68p2TiltSyntax | HiAPI-C# 2025", - "summary": "Class IsoG68p2TiltSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll ISO/Fanuc: resolves G68.2 (tilted work plane) and G69 (cancel). Computes a tilt Mat4d from I/J/K euler angles (Fanuc ZXZ convention) and composes it into ProgramToMcTransform. Managed commands: G68.2, G69 (idempotent with IsoG68RotationSyntax). Siemens equivalent: CYCLE800 (separate syntax). Heidenhain equivalent: PLANE SPATIAL (separate syntax). public class IsoG68p2TiltSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object IsoG68p2TiltSyntax Implements ISituNcSyntax INcSyntax 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) Remarks G68.2 optionally uses IMachineKinematics dependency for IK refinement. The ZXZ euler convention is Fanuc-specific: Rz(K) * Rx(J) * Rz(I) * Translate(origin). Optional A/B/C parameters are post-processor rotary axis hints. When present and IMachineKinematics is available, the tilt is computed as: kinematicRotation(postAbc) * orientationDelta * Translate(origin) where orientationDelta = kinematicRotation(ijkAbc).Inverse * ijkRotation preserves the exact IJK orientation while aligning with the post-processor's solution. Constructors IsoG68p2TiltSyntax() Initializes a new instance with default settings. public IsoG68p2TiltSyntax() IsoG68p2TiltSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public IsoG68p2TiltSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class IsoG68p2TiltSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll ISO/Fanuc: resolves G68.2 (tilted work plane) and G69 (cancel). Computes a tilt Mat4d from I/J/K euler angles (Fanuc ZXZ convention) and composes it into ProgramToMcTransform. Managed commands: G68.2, G69 (idempotent with IsoG68RotationSyntax). Siemens equivalent: CYCLE800 (separate syntax). Heidenhain equivalent: PLANE SPATIAL (separate syntax). public class IsoG68p2TiltSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object IsoG68p2TiltSyntax Implements ISituNcSyntax INcSyntax 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) Remarks G68.2 optionally uses IMachineKinematics dependency for IK refinement. The ZXZ euler convention is Fanuc-specific: Rz(K) * Rx(J) * Rz(I) * Translate(origin). Optional A/B/C parameters are post-processor rotary axis hints. When present and IMachineKinematics is available, the tilt is computed as: kinematicRotation(postAbc) * orientationDelta * Translate(origin) where orientationDelta = kinematicRotation(ijkAbc).Inverse * ijkRotation preserves the exact IJK orientation while aligning with the post-processor's solution. Constructors IsoG68p2TiltSyntax() Initializes a new instance with default settings. public IsoG68p2TiltSyntax() IsoG68p2TiltSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public IsoG68p2TiltSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.IsoLocalCoordinateOffsetSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.IsoLocalCoordinateOffsetSyntax.html", "title": "Class IsoLocalCoordinateOffsetSyntax | HiAPI-C# 2025", - "summary": "Class IsoLocalCoordinateOffsetSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll ISO G52: Local coordinate system offset (additive to G54-series). G52 X10 Y20 Z5 → sets local offset. G52 X0 Y0 Z0 → cancels (resets to zero). M30 (program end) → also cancels. Reads Parsing.G52 (from G52Syntax), writes IsoLocalCoordinateOffset section, and adds an \"IsoLocalCoordinateOffset\" entry to the transformation chain. Modal — persists via backward lookback until changed or cancelled. public class IsoLocalCoordinateOffsetSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object IsoLocalCoordinateOffsetSyntax Implements ISituNcSyntax INcSyntax 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) Examples Mat4d arrays are 16 plain doubles in column-major order; pure translation by (tx,ty,tz) is [1,0,0,0, 0,1,0,0, 0,0,1,0, tx,ty,tz,1] — see IsoCoordinateOffsetSyntax for the column-major template. First block of the stream (no #Previous:) — the syntax stamps a zero-offset section and an identity translation in the chain so downstream lookback always sees a concrete state: #BeforeBuild: { } #AfterBuild: { \"IsoLocalCoordinateOffset\": { \"Offset_X\": 0, \"Offset_Y\": 0, \"Offset_Z\": 0 }, \"ProgramToMcTransform\": [ { \"Source\": \"IsoLocalCoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1] } ] } G52 X10 Y20 Z5 on a non-first block alongside an unrelated M03 flag — the G52 sub-section is consumed (removed from Parsing) and the translation is composed into the chain; the unrelated flag stays because this syntax does not call CleanupParsing: #Previous: { \"IsoLocalCoordinateOffset\": { \"Offset_X\": 0, \"Offset_Y\": 0, \"Offset_Z\": 0 } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"], \"G52\": { \"X\": 10, \"Y\": 20, \"Z\": 5 } } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"IsoLocalCoordinateOffset\": { \"Offset_X\": 10, \"Offset_Y\": 20, \"Offset_Z\": 5 }, \"ProgramToMcTransform\": [ { \"Source\": \"IsoLocalCoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 10,20,5,1] } ] } No G52 on the current block but #Previous: had a non-zero offset — modal lookback inherits it (with the translation re-composed into this block's chain): #Previous: { \"IsoLocalCoordinateOffset\": { \"Offset_X\": 10, \"Offset_Y\": 20, \"Offset_Z\": 5 } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"IsoLocalCoordinateOffset\": { \"Offset_X\": 10, \"Offset_Y\": 20, \"Offset_Z\": 5 }, \"ProgramToMcTransform\": [ { \"Source\": \"IsoLocalCoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 10,20,5,1] } ] } Constructors IsoLocalCoordinateOffsetSyntax() Initializes a new instance with default settings. public IsoLocalCoordinateOffsetSyntax() IsoLocalCoordinateOffsetSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public IsoLocalCoordinateOffsetSyntax(XElement src) Parameters src XElement Source XML element. Fields TransformSource Identifier used as the transform source key when composing the local coordinate offset translation into the transform chain. public const string TransformSource = \"IsoLocalCoordinateOffset\" Field Value string Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class IsoLocalCoordinateOffsetSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll ISO G52: Local coordinate system offset (additive to G54-series). G52 X10 Y20 Z5 → sets local offset. G52 X0 Y0 Z0 → cancels (resets to zero). M30 (program end) → also cancels. Reads Parsing.G52 (from G52Syntax), writes IsoLocalCoordinateOffset section, and adds an \"IsoLocalCoordinateOffset\" entry to the transformation chain. Modal — persists via backward lookback until changed or cancelled. public class IsoLocalCoordinateOffsetSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object IsoLocalCoordinateOffsetSyntax Implements ISituNcSyntax INcSyntax 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) Examples Mat4d arrays are 16 plain doubles in column-major order; pure translation by (tx,ty,tz) is [1,0,0,0, 0,1,0,0, 0,0,1,0, tx,ty,tz,1] — see IsoCoordinateOffsetSyntax for the column-major template. First block of the stream (no #Previous:) — the syntax stamps a zero-offset section and an identity translation in the chain so downstream lookback always sees a concrete state: #BeforeBuild: { } #AfterBuild: { \"IsoLocalCoordinateOffset\": { \"Offset_X\": 0, \"Offset_Y\": 0, \"Offset_Z\": 0 }, \"ProgramToMcTransform\": [ { \"Source\": \"IsoLocalCoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1] } ] } G52 X10 Y20 Z5 on a non-first block alongside an unrelated M03 flag — the G52 sub-section is consumed (removed from Parsing) and the translation is composed into the chain; the unrelated flag stays because this syntax does not call CleanupParsing: #Previous: { \"IsoLocalCoordinateOffset\": { \"Offset_X\": 0, \"Offset_Y\": 0, \"Offset_Z\": 0 } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"], \"G52\": { \"X\": 10, \"Y\": 20, \"Z\": 5 } } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"IsoLocalCoordinateOffset\": { \"Offset_X\": 10, \"Offset_Y\": 20, \"Offset_Z\": 5 }, \"ProgramToMcTransform\": [ { \"Source\": \"IsoLocalCoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 10,20,5,1] } ] } No G52 on the current block but #Previous: had a non-zero offset — modal lookback inherits it (with the translation re-composed into this block's chain): #Previous: { \"IsoLocalCoordinateOffset\": { \"Offset_X\": 10, \"Offset_Y\": 20, \"Offset_Z\": 5 } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"IsoLocalCoordinateOffset\": { \"Offset_X\": 10, \"Offset_Y\": 20, \"Offset_Z\": 5 }, \"ProgramToMcTransform\": [ { \"Source\": \"IsoLocalCoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 10,20,5,1] } ] } Constructors IsoLocalCoordinateOffsetSyntax() Initializes a new instance with default settings. public IsoLocalCoordinateOffsetSyntax() IsoLocalCoordinateOffsetSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public IsoLocalCoordinateOffsetSyntax(XElement src) Parameters src XElement Source XML element. Fields TransformSource Identifier used as the transform source key when composing the local coordinate offset translation into the transform chain. public const string TransformSource = \"IsoLocalCoordinateOffset\" Field Value string Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html", "title": "Class LinearMotionSyntax | HiAPI-C# 2025", - "summary": "Class LinearMotionSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Writes McLinear motion for linear commands (ISO G00/G01, Heidenhain L/LN). Detects motion mode from Flags, writes a one-shot MotionEvent section (form + isRapid) plus a modal MotionState section (Term) when MachineCoordinateState exists on the block. McLinearMotionSemantic discriminates between XYZ-only and XYZABC motion by checking whether rotary axis values are present in MachineCoordinateState. Must be placed after McAbcSyntax in the syntax chain. public class LinearMotionSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object LinearMotionSyntax Implements ISituNcSyntax INcSyntax 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) Examples G00 explicit + MachineCoordinateState on the block — both the modal MotionState and the one-shot MotionEvent are written; IsRapid is set only on rapid (G00); the parsing flag is consumed and Parsing is cleaned up: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G00\"] }, \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } #AfterBuild: { \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 }, \"MotionState\": { \"Term\": \"G00\" }, \"MotionEvent\": { \"Form\": \"McLinear\", \"IsRapid\": true } } G01 explicit + MC — same shape but IsRapid is omitted on the event section (only written when true): #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G01\"] }, \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } #AfterBuild: { \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 }, \"MotionState\": { \"Term\": \"G01\" }, \"MotionEvent\": { \"Form\": \"McLinear\" } } No motion flag on the current block but MachineCoordinateState is present (e.g. a downstream syntax already wrote the endpoint) — the previous block's MotionState.Term is the only way to know G00 vs G01, so the modal carry path fires: #Previous: { \"MotionState\": { \"Term\": \"G01\" } } #BeforeBuild: { \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } #AfterBuild: { \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 }, \"MotionState\": { \"Term\": \"G01\" }, \"MotionEvent\": { \"Form\": \"McLinear\" } } Constructors LinearMotionSyntax() Initializes a new instance with default settings. public LinearMotionSyntax() LinearMotionSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public LinearMotionSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class LinearMotionSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Writes McLinear motion for linear commands (ISO G00/G01, Heidenhain L/LN). Detects motion mode from Flags, writes a one-shot MotionEvent section (form + isRapid) plus a modal MotionState section (Term) when MachineCoordinateState exists on the block. McLinearMotionSemantic discriminates between XYZ-only and XYZABC motion by checking whether rotary axis values are present in MachineCoordinateState. Must be placed after McAbcSyntax in the syntax chain. public class LinearMotionSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object LinearMotionSyntax Implements ISituNcSyntax INcSyntax 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) Examples G00 explicit + MachineCoordinateState on the block — both the modal MotionState and the one-shot MotionEvent are written; IsRapid is set only on rapid (G00); the parsing flag is consumed and Parsing is cleaned up: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G00\"] }, \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } #AfterBuild: { \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 }, \"MotionState\": { \"Term\": \"G00\" }, \"MotionEvent\": { \"Form\": \"McLinear\", \"IsRapid\": true } } G01 explicit + MC — same shape but IsRapid is omitted on the event section (only written when true): #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G01\"] }, \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } #AfterBuild: { \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 }, \"MotionState\": { \"Term\": \"G01\" }, \"MotionEvent\": { \"Form\": \"McLinear\" } } No motion flag on the current block but MachineCoordinateState is present (e.g. a downstream syntax already wrote the endpoint) — the previous block's MotionState.Term is the only way to know G00 vs G01, so the modal carry path fires: #Previous: { \"MotionState\": { \"Term\": \"G01\" } } #BeforeBuild: { \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } #AfterBuild: { \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 }, \"MotionState\": { \"Term\": \"G01\" }, \"MotionEvent\": { \"Form\": \"McLinear\" } } Constructors LinearMotionSyntax() Initializes a new instance with default settings. public LinearMotionSyntax() LinearMotionSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public LinearMotionSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.html", "title": "Class MachineCoordSelectSyntax | HiAPI-C# 2025", - "summary": "Class MachineCoordSelectSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Handles G53 (machine coordinate selection) — non-modal, one-shot. The axis values (X/Y/Z) in the block are interpreted as machine coordinates, bypassing all work offsets, local coordinates, tool height compensation, and coordinate rotations. If G91 (incremental) is active, G53 is ignored per ISO standard. Must be placed before ProgramXyzSyntax in the syntax chain. When G53 is active, this syntax consumes X/Y/Z from Parsing and writes MachineCoordinateState directly, preventing ProgramXyzSyntax from processing them as program coordinates. public class MachineCoordSelectSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object MachineCoordSelectSyntax Implements ISituNcSyntax INcSyntax 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) Examples G53 with full XYZ on a first block (no #Previous:) — FindPreviousMc falls back to Vec3d.Zero, transform defaults to identity, so ProgramXyz equals MachineCoordinateState: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G53\"], \"X\": 10, \"Y\": 20, \"Z\": 30 } } #AfterBuild: { \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 }, \"ProgramXyz\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } G53 with only Z specified — FindPreviousMc picks up X/Y from the previous block's MachineCoordinateState; Z is overwritten: #Previous: { \"MachineCoordinateState\": { \"X\": 100, \"Y\": 50, \"Z\": -200 } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G53\"], \"Z\": 0 } } #AfterBuild: { \"MachineCoordinateState\": { \"X\": 100, \"Y\": 50, \"Z\": 0 }, \"ProgramXyz\": { \"X\": 100, \"Y\": 50, \"Z\": 0 } } G91 active on the same block → G53 is ignored per ISO standard; nothing is consumed and no machine-state section is written: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G53\"], \"X\": 10 }, \"Positioning\": { \"Term\": \"G91\" } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"G53\"], \"X\": 10 }, \"Positioning\": { \"Term\": \"G91\" } } Constructors MachineCoordSelectSyntax() Initializes a new instance with default settings. public MachineCoordSelectSyntax() MachineCoordSelectSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public MachineCoordSelectSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class MachineCoordSelectSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Handles G53 (machine coordinate selection) — non-modal, one-shot. The axis values (X/Y/Z) in the block are interpreted as machine coordinates, bypassing all work offsets, local coordinates, tool height compensation, and coordinate rotations. If G91 (incremental) is active, G53 is ignored per ISO standard. Must be placed before ProgramXyzSyntax in the syntax chain. When G53 is active, this syntax consumes X/Y/Z from Parsing and writes MachineCoordinateState directly, preventing ProgramXyzSyntax from processing them as program coordinates. public class MachineCoordSelectSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object MachineCoordSelectSyntax Implements ISituNcSyntax INcSyntax 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) Examples G53 with full XYZ on a first block (no #Previous:) — FindPreviousMc falls back to Vec3d.Zero, transform defaults to identity, so ProgramXyz equals MachineCoordinateState: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G53\"], \"X\": 10, \"Y\": 20, \"Z\": 30 } } #AfterBuild: { \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 }, \"ProgramXyz\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } G53 with only Z specified — FindPreviousMc picks up X/Y from the previous block's MachineCoordinateState; Z is overwritten: #Previous: { \"MachineCoordinateState\": { \"X\": 100, \"Y\": 50, \"Z\": -200 } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G53\"], \"Z\": 0 } } #AfterBuild: { \"MachineCoordinateState\": { \"X\": 100, \"Y\": 50, \"Z\": 0 }, \"ProgramXyz\": { \"X\": 100, \"Y\": 50, \"Z\": 0 } } G91 active on the same block → G53 is ignored per ISO standard; nothing is consumed and no machine-state section is written: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G53\"], \"X\": 10 }, \"Positioning\": { \"Term\": \"G91\" } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"G53\"], \"X\": 10 }, \"Positioning\": { \"Term\": \"G91\" } } Constructors MachineCoordSelectSyntax() Initializes a new instance with default settings. public MachineCoordSelectSyntax() MachineCoordSelectSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public MachineCoordSelectSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.html", "title": "Class McAbcCyclicPathSyntax | HiAPI-C# 2025", - "summary": "Class McAbcCyclicPathSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Resolve modular rotary axes to the shortest cyclic path relative to the previous node. Uses IsModularRotary(string) to determine which axes within MachineCoordinateState need cyclic resolution. Falls back to hardcoded A/B/C if no IMachineAxisConfig is available. Must be placed after ProgramXyzSyntax in NcSyntaxList. Two stages, mirroring McXyzSyntax: Root MachineCoordinateState — anchored at the previous block's modal rotary state. CompoundMotion.ItemsKey[*] — sequential walk through items, anchoring item 0 at the previous block's modal state and item i > 0 at item i-1's post-cycle value (per-axis chain). Items without a rotary MachineCoordinateState are skipped. The items pass enables rotary motion (e.g. G28 ABC intermediate / home stages) to surface as motion IAct segments rather than a single root-MC stamp. public class McAbcCyclicPathSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object McAbcCyclicPathSyntax Implements ISituNcSyntax INcSyntax 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) Examples Cases below run with no IMachineAxisConfig on the dep list, so the syntax uses the A/B/C fallback (a configuration warning is emitted but does not affect the JSON). The syntax is the tail-pass rotary-wrap centraliser — upstream rotary writers (McAbcSyntax, G28, G53.1, ...) store raw degrees and let this pass resolve to the shortest cyclic path. Current B is within ±180° of the previous B — no wrap needed; the value is rewritten in place but equals the input: #Previous: { \"MachineCoordinateState\": { \"B\": 0 } } #BeforeBuild: { \"MachineCoordinateState\": { \"B\": 10 } } #AfterBuild: { \"MachineCoordinateState\": { \"B\": 10 } } Current B is 270° but previous B is 0° — the shortest path is the other way around, so the value is rewritten as -90° (mathematically equivalent, geometrically the same orientation, but signalling the shorter rotation to a downstream motion consumer). 270/0 round-trips through ToRad→Cycle→ToDeg with no rounding noise (1.5π → -0.5π → -90 exactly); other angle pairs (e.g. 350° → -10°) emit a trailing ULP-scale drift instead: #Previous: { \"MachineCoordinateState\": { \"B\": 0 } } #BeforeBuild: { \"MachineCoordinateState\": { \"B\": 270 } } #AfterBuild: { \"MachineCoordinateState\": { \"B\": -90 } } First block of the stream (no #Previous:) — no anchor to resolve against, so the syntax early-returns and the raw value is preserved verbatim: #BeforeBuild: { \"MachineCoordinateState\": { \"B\": 350 } } #AfterBuild: { \"MachineCoordinateState\": { \"B\": 350 } } CompoundMotion.Items walk — two items chain: item 0 cycles against the previous block's modal B = 0° (270° → -90°), and item 1 cycles against item 0's post-cycle -90° (170° → -190°, since the shorter path from -90° to 170° wraps backward through -180°). If item 1 had used the previous-block anchor instead of the chained anchor, 170° would have stayed at 170° (already in the ±180° window around 0°), so the test discriminates between chain and no-chain: #Previous: { \"MachineCoordinateState\": { \"B\": 0 } } #BeforeBuild: { \"CompoundMotion\": { \"Items\": [ { \"MachineCoordinateState\": { \"B\": 270 } }, { \"MachineCoordinateState\": { \"B\": 170 } } ] } } #AfterBuild: { \"CompoundMotion\": { \"Items\": [ { \"MachineCoordinateState\": { \"B\": -90 } }, { \"MachineCoordinateState\": { \"B\": -190 } } ] } } Constructors McAbcCyclicPathSyntax() Initializes a new instance with default settings. public McAbcCyclicPathSyntax() McAbcCyclicPathSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public McAbcCyclicPathSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class McAbcCyclicPathSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Resolve modular rotary axes to the shortest cyclic path relative to the previous node. Uses IsModularRotary(string) to determine which axes within MachineCoordinateState need cyclic resolution. Falls back to hardcoded A/B/C if no IMachineAxisConfig is available. Must be placed after ProgramXyzSyntax in NcSyntaxList. Two stages, mirroring McXyzSyntax: Root MachineCoordinateState — anchored at the previous block's modal rotary state. CompoundMotion.ItemsKey[*] — sequential walk through items, anchoring item 0 at the previous block's modal state and item i > 0 at item i-1's post-cycle value (per-axis chain). Items without a rotary MachineCoordinateState are skipped. The items pass enables rotary motion (e.g. G28 ABC intermediate / home stages) to surface as motion IAct segments rather than a single root-MC stamp. public class McAbcCyclicPathSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object McAbcCyclicPathSyntax Implements ISituNcSyntax INcSyntax 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) Examples Cases below run with no IMachineAxisConfig on the dep list, so the syntax uses the A/B/C fallback (a configuration warning is emitted but does not affect the JSON). The syntax is the tail-pass rotary-wrap centraliser — upstream rotary writers (McAbcSyntax, G28, G53.1, ...) store raw degrees and let this pass resolve to the shortest cyclic path. Current B is within ±180° of the previous B — no wrap needed; the value is rewritten in place but equals the input: #Previous: { \"MachineCoordinateState\": { \"B\": 0 } } #BeforeBuild: { \"MachineCoordinateState\": { \"B\": 10 } } #AfterBuild: { \"MachineCoordinateState\": { \"B\": 10 } } Current B is 270° but previous B is 0° — the shortest path is the other way around, so the value is rewritten as -90° (mathematically equivalent, geometrically the same orientation, but signalling the shorter rotation to a downstream motion consumer). 270/0 round-trips through ToRad→Cycle→ToDeg with no rounding noise (1.5π → -0.5π → -90 exactly); other angle pairs (e.g. 350° → -10°) emit a trailing ULP-scale drift instead: #Previous: { \"MachineCoordinateState\": { \"B\": 0 } } #BeforeBuild: { \"MachineCoordinateState\": { \"B\": 270 } } #AfterBuild: { \"MachineCoordinateState\": { \"B\": -90 } } First block of the stream (no #Previous:) — no anchor to resolve against, so the syntax early-returns and the raw value is preserved verbatim: #BeforeBuild: { \"MachineCoordinateState\": { \"B\": 350 } } #AfterBuild: { \"MachineCoordinateState\": { \"B\": 350 } } CompoundMotion.Items walk — two items chain: item 0 cycles against the previous block's modal B = 0° (270° → -90°), and item 1 cycles against item 0's post-cycle -90° (170° → -190°, since the shorter path from -90° to 170° wraps backward through -180°). If item 1 had used the previous-block anchor instead of the chained anchor, 170° would have stayed at 170° (already in the ±180° window around 0°), so the test discriminates between chain and no-chain: #Previous: { \"MachineCoordinateState\": { \"B\": 0 } } #BeforeBuild: { \"CompoundMotion\": { \"Items\": [ { \"MachineCoordinateState\": { \"B\": 270 } }, { \"MachineCoordinateState\": { \"B\": 170 } } ] } } #AfterBuild: { \"CompoundMotion\": { \"Items\": [ { \"MachineCoordinateState\": { \"B\": -90 } }, { \"MachineCoordinateState\": { \"B\": -190 } } ] } } Constructors McAbcCyclicPathSyntax() Initializes a new instance with default settings. public McAbcCyclicPathSyntax() McAbcCyclicPathSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public McAbcCyclicPathSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html", "title": "Class McAbcSyntax | HiAPI-C# 2025", - "summary": "Class McAbcSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Writes rotary axis values (A/B/C) into MachineCoordinateState from Parsing and modal lookback. Only active when IMachineAxisConfig declares rotary axes. Works for both 3+2-axis (no IMachineKinematics) and simultaneous 5-axis configurations. This syntax is intentionally ABC-only. When the block is rotary-only (no ProgramXyz, e.g. G00 A30.) the section is created with ABC but without X/Y/Z. McAbcXyzFallbackSyntax — placed after McXyzSyntax — copies X/Y/Z from the previous block's MachineCoordinateState to finish the section. Splitting the XYZ fill out lets this syntax run before McXyzSyntax (and before G43p4RtcpSyntax) without accidentally filling X/Y/Z from prev and thereby short-circuiting DeriveMcXyz(JsonObject, Mat4d). Missing rotary axes are filled from previous MachineCoordinateState lookback, unless the current section already has the value (e.g., from HomeMcInitializer). Values are stored in degrees (matching McAbcCyclicPathSyntax). Must be placed before McXyzSyntax so syntaxes that need the current-block ABC to compute transforms (e.g. G43p4RtcpSyntax) can see it; and before McAbcCyclicPathSyntax and LinearMotionSyntax. public class McAbcSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object McAbcSyntax Implements ISituNcSyntax INcSyntax 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) Examples Cases 1 and 2 inject a TestDeps.AxisConfig declaring B and C as Rotary. Values are stored as raw degrees; shortest-cyclic resolution is a downstream pass via McAbcCyclicPathSyntax. No IMachineAxisConfig dep on the list — early-return no-op (the syntax only fires when rotary axes are declared): #BeforeBuild: { \"Parsing\": { \"B\": 45, \"C\": 90 } } #AfterBuild: { \"Parsing\": { \"B\": 45, \"C\": 90 } } AxisConfig declares B+C rotary; Parsing.B/C are consumed into a freshly created MachineCoordinateState section (X/Y/Z are deliberately left out so McXyzSyntax can still derive XYZ later — see class summary): #BeforeBuild: { \"Parsing\": { \"B\": 45, \"C\": 90 } } #AfterBuild: { \"MachineCoordinateState\": { \"B\": 45, \"C\": 90 } } Only Parsing.B on the current block; #Previous: carries a full MC including C=0. The missing C is filled from the per-axis backward lookback (FindPreviousMcAxis(LazyLinkedListNode, string)): #Previous: { \"MachineCoordinateState\": { \"B\": 0, \"C\": 0 } } #BeforeBuild: { \"Parsing\": { \"B\": 30 } } #AfterBuild: { \"MachineCoordinateState\": { \"B\": 30, \"C\": 0 } } Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class McAbcSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Writes rotary axis values (A/B/C) into MachineCoordinateState from Parsing and modal lookback. Only active when IMachineAxisConfig declares rotary axes. Works for both 3+2-axis (no IMachineKinematics) and simultaneous 5-axis configurations. This syntax is intentionally ABC-only. When the block is rotary-only (no ProgramXyz, e.g. G00 A30.) the section is created with ABC but without X/Y/Z. McAbcXyzFallbackSyntax — placed after McXyzSyntax — copies X/Y/Z from the previous block's MachineCoordinateState to finish the section. Splitting the XYZ fill out lets this syntax run before McXyzSyntax (and before G43p4RtcpSyntax) without accidentally filling X/Y/Z from prev and thereby short-circuiting DeriveMcXyz(JsonObject, Mat4d). Missing rotary axes are filled from previous MachineCoordinateState lookback, unless the current section already has the value (e.g., from HomeMcInitializer). Values are stored in degrees (matching McAbcCyclicPathSyntax). Must be placed before McXyzSyntax so syntaxes that need the current-block ABC to compute transforms (e.g. G43p4RtcpSyntax) can see it; and before McAbcCyclicPathSyntax and LinearMotionSyntax. public class McAbcSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object McAbcSyntax Implements ISituNcSyntax INcSyntax 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) Examples Cases 1 and 2 inject a TestDeps.AxisConfig declaring B and C as Rotary. Values are stored as raw degrees; shortest-cyclic resolution is a downstream pass via McAbcCyclicPathSyntax. No IMachineAxisConfig dep on the list — early-return no-op (the syntax only fires when rotary axes are declared): #BeforeBuild: { \"Parsing\": { \"B\": 45, \"C\": 90 } } #AfterBuild: { \"Parsing\": { \"B\": 45, \"C\": 90 } } AxisConfig declares B+C rotary; Parsing.B/C are consumed into a freshly created MachineCoordinateState section (X/Y/Z are deliberately left out so McXyzSyntax can still derive XYZ later — see class summary): #BeforeBuild: { \"Parsing\": { \"B\": 45, \"C\": 90 } } #AfterBuild: { \"MachineCoordinateState\": { \"B\": 45, \"C\": 90 } } Only Parsing.B on the current block; #Previous: carries a full MC including C=0. The missing C is filled from the per-axis backward lookback (FindPreviousMcAxis(LazyLinkedListNode, string)): #Previous: { \"MachineCoordinateState\": { \"B\": 0, \"C\": 0 } } #BeforeBuild: { \"Parsing\": { \"B\": 30 } } #AfterBuild: { \"MachineCoordinateState\": { \"B\": 30, \"C\": 0 } } Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.McAbcXyzFallbackSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.McAbcXyzFallbackSyntax.html", "title": "Class McAbcXyzFallbackSyntax | HiAPI-C# 2025", - "summary": "Class McAbcXyzFallbackSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Fills missing X/Y/Z on an ABC-only MachineCoordinateState section. Behaviour depends on whether the block is under RTCP with rotary motion, as indicated by HasDynamicEntry(JsonObject): Non-dynamic (no RTCP or RTCP with ABC stable) — the programmed tool tip stays put in MC while rotary axes (if any) are unchanged, so we simply copy X/Y/Z from the previous block's MachineCoordinateState. This matches NC modal XYZ carry-forward for rotary-only blocks such as G00 A30. (non-RTCP pivoting). Dynamic (RTCP active + ABC changing) — the programmed tool tip must stay fixed in program coordinates while MC XYZ shifts to compensate the new rotary state. Looks up the last ProgramXyz and re-derives MC = inheritedProgramXyz × composedTransform, where the composed transform is the block's endpoint chain (now including PivotTransformSource as a full rotation+translation Mat4d, so the chain already encodes the kinematic IK). The carried ProgramXyz is also stamped onto the current block so downstream consumers see a consistent ProgramXyz + MC pair. Pair with McAbcSyntax, which runs early to write ABC but deliberately leaves X/Y/Z empty so McXyzSyntax can still derive MC XYZ from ProgramXyz via the transform chain when the block carries linear motion. If McXyzSyntax has nothing to derive (no ProgramXyz), this syntax completes the MC section as described above. Does nothing when the section already carries all three of X/Y/Z (normal linear-motion blocks), or when there is no section at all (pure parse-only block that introduces no MC). Must be placed after McXyzSyntax and before McAbcCyclicPathSyntax / LinearMotionSyntax. public class McAbcXyzFallbackSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object McAbcXyzFallbackSyntax Implements ISituNcSyntax INcSyntax 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) Examples All cases below stay on the non-dynamic branch (no PivotTransformSource entry in the chain) so the RTCP re-derivation path is skipped. Block has no MachineCoordinateState section at all (pure parse-only) — the syntax early-returns and the block is unchanged: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G00\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"G00\"] } } MC already complete (all three of X/Y/Z present) — the second guard fires and the section is preserved verbatim (no overwrite even if a #Previous: MC differed): #BeforeBuild: { \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } #AfterBuild: { \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } Rotary-only MC on a rotary-only block (e.g. a 5-axis B+C trunnion machine running G00 B45. C90.) — missing X/Y/Z are copied from the #Previous: block's MC; the rotary keys keep their existing positions (insertion order) and X/Y/Z are appended. The previous block's MC carries the modal rotary state alongside X/Y/Z, but the fallback only reads X/Y/Z from it: #Previous: { \"MachineCoordinateState\": { \"X\": 100, \"Y\": 200, \"Z\": 300, \"B\": 0, \"C\": 0 } } #BeforeBuild: { \"MachineCoordinateState\": { \"B\": 45, \"C\": 90 } } #AfterBuild: { \"MachineCoordinateState\": { \"B\": 45, \"C\": 90, \"X\": 100, \"Y\": 200, \"Z\": 300 } } Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class McAbcXyzFallbackSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Fills missing X/Y/Z on an ABC-only MachineCoordinateState section. Behaviour depends on whether the block is under RTCP with rotary motion, as indicated by HasDynamicEntry(JsonObject): Non-dynamic (no RTCP or RTCP with ABC stable) — the programmed tool tip stays put in MC while rotary axes (if any) are unchanged, so we simply copy X/Y/Z from the previous block's MachineCoordinateState. This matches NC modal XYZ carry-forward for rotary-only blocks such as G00 A30. (non-RTCP pivoting). Dynamic (RTCP active + ABC changing) — the programmed tool tip must stay fixed in program coordinates while MC XYZ shifts to compensate the new rotary state. Looks up the last ProgramXyz and re-derives MC = inheritedProgramXyz × composedTransform, where the composed transform is the block's endpoint chain (now including PivotTransformSource as a full rotation+translation Mat4d, so the chain already encodes the kinematic IK). The carried ProgramXyz is also stamped onto the current block so downstream consumers see a consistent ProgramXyz + MC pair. Pair with McAbcSyntax, which runs early to write ABC but deliberately leaves X/Y/Z empty so McXyzSyntax can still derive MC XYZ from ProgramXyz via the transform chain when the block carries linear motion. If McXyzSyntax has nothing to derive (no ProgramXyz), this syntax completes the MC section as described above. Does nothing when the section already carries all three of X/Y/Z (normal linear-motion blocks), or when there is no section at all (pure parse-only block that introduces no MC). Must be placed after McXyzSyntax and before McAbcCyclicPathSyntax / LinearMotionSyntax. public class McAbcXyzFallbackSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object McAbcXyzFallbackSyntax Implements ISituNcSyntax INcSyntax 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) Examples All cases below stay on the non-dynamic branch (no PivotTransformSource entry in the chain) so the RTCP re-derivation path is skipped. Block has no MachineCoordinateState section at all (pure parse-only) — the syntax early-returns and the block is unchanged: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G00\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"G00\"] } } MC already complete (all three of X/Y/Z present) — the second guard fires and the section is preserved verbatim (no overwrite even if a #Previous: MC differed): #BeforeBuild: { \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } #AfterBuild: { \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } Rotary-only MC on a rotary-only block (e.g. a 5-axis B+C trunnion machine running G00 B45. C90.) — missing X/Y/Z are copied from the #Previous: block's MC; the rotary keys keep their existing positions (insertion order) and X/Y/Z are appended. The previous block's MC carries the modal rotary state alongside X/Y/Z, but the fallback only reads X/Y/Z from it: #Previous: { \"MachineCoordinateState\": { \"X\": 100, \"Y\": 200, \"Z\": 300, \"B\": 0, \"C\": 0 } } #BeforeBuild: { \"MachineCoordinateState\": { \"B\": 45, \"C\": 90 } } #AfterBuild: { \"MachineCoordinateState\": { \"B\": 45, \"C\": 90, \"X\": 100, \"Y\": 200, \"Z\": 300 } } Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.McXyzSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.McXyzSyntax.html", "title": "Class McXyzSyntax | HiAPI-C# 2025", - "summary": "Class McXyzSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Derives MachineCoordinateState from ProgramXyz by applying the composed ProgramToMcTransform. Processes two stages: Root ProgramXyz → root MachineCoordinate CompoundMotion.ItemsKey[*] — derives MachineCoordinate from ProgramXyz for items that have ProgramXyz but no MachineCoordinate Must be placed after syntaxes that write ProgramXyz (e.g., ReferenceReturnSyntax) and before syntaxes that read MachineCoordinate (e.g., LinearMotionSyntax). public class McXyzSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object McXyzSyntax Implements ISituNcSyntax INcSyntax 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) Examples Root ProgramXyz only, no ProgramToMcTransform chain — composed transform is identity, so MC equals ProgramXyz: #BeforeBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 20, \"Z\": 30 }, \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } Root MachineCoordinateState already present — guarded by the non-null check, so an upstream syntax's explicit MC is preserved verbatim (the derivation from ProgramXyz is skipped): #BeforeBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 20, \"Z\": 30 }, \"MachineCoordinateState\": { \"X\": 100, \"Y\": 200, \"Z\": 300 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 20, \"Z\": 30 }, \"MachineCoordinateState\": { \"X\": 100, \"Y\": 200, \"Z\": 300 } } CompoundMotion.Items[*] with ProgramXyz but no MachineCoordinateState — each item receives its own derived MC; items that already had MC (or had no ProgramXyz) are left alone: #BeforeBuild: { \"CompoundMotion\": { \"Items\": [ { \"ProgramXyz\": { \"X\": 1, \"Y\": 2, \"Z\": 3 } }, { \"MachineCoordinateState\": { \"X\": 9, \"Y\": 9, \"Z\": 9 } } ] } } #AfterBuild: { \"CompoundMotion\": { \"Items\": [ { \"ProgramXyz\": { \"X\": 1, \"Y\": 2, \"Z\": 3 }, \"MachineCoordinateState\": { \"X\": 1, \"Y\": 2, \"Z\": 3 } }, { \"MachineCoordinateState\": { \"X\": 9, \"Y\": 9, \"Z\": 9 } } ] } } Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class McXyzSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Derives MachineCoordinateState from ProgramXyz by applying the composed ProgramToMcTransform. Processes two stages: Root ProgramXyz → root MachineCoordinate CompoundMotion.ItemsKey[*] — derives MachineCoordinate from ProgramXyz for items that have ProgramXyz but no MachineCoordinate Must be placed after syntaxes that write ProgramXyz (e.g., ReferenceReturnSyntax) and before syntaxes that read MachineCoordinate (e.g., LinearMotionSyntax). public class McXyzSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object McXyzSyntax Implements ISituNcSyntax INcSyntax 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) Examples Root ProgramXyz only, no ProgramToMcTransform chain — composed transform is identity, so MC equals ProgramXyz: #BeforeBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 20, \"Z\": 30 }, \"MachineCoordinateState\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } Root MachineCoordinateState already present — guarded by the non-null check, so an upstream syntax's explicit MC is preserved verbatim (the derivation from ProgramXyz is skipped): #BeforeBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 20, \"Z\": 30 }, \"MachineCoordinateState\": { \"X\": 100, \"Y\": 200, \"Z\": 300 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 20, \"Z\": 30 }, \"MachineCoordinateState\": { \"X\": 100, \"Y\": 200, \"Z\": 300 } } CompoundMotion.Items[*] with ProgramXyz but no MachineCoordinateState — each item receives its own derived MC; items that already had MC (or had no ProgramXyz) are left alone: #BeforeBuild: { \"CompoundMotion\": { \"Items\": [ { \"ProgramXyz\": { \"X\": 1, \"Y\": 2, \"Z\": 3 } }, { \"MachineCoordinateState\": { \"X\": 9, \"Y\": 9, \"Z\": 9 } } ] } } #AfterBuild: { \"CompoundMotion\": { \"Items\": [ { \"ProgramXyz\": { \"X\": 1, \"Y\": 2, \"Z\": 3 }, \"MachineCoordinateState\": { \"X\": 1, \"Y\": 2, \"Z\": 3 } }, { \"MachineCoordinateState\": { \"X\": 9, \"Y\": 9, \"Z\": 9 } } ] } } Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.html", "title": "Class PeckDrillingCycleSyntax | HiAPI-C# 2025", - "summary": "Class PeckDrillingCycleSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll G83 peck drilling cycle. Supports modal repetition. Drills in increments of depth Q, fully retracting to R between strokes. Cycle sequence (per stroke): Rapid to init position (target XY, previous Z) Rapid from init to R-point For each stroke: rapid to clearance above previous depth, feed Q deeper, rapid back to R If remainder exists: feed to bottom Z, rapid to R Rapid from R/bottom to final (G98 → init Z, G99 → R) Retraction distance is read from ICannedCycleConfig (Fanuc #4002 / Syntec Pr4002, or FallbackConfig fallback). Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. public class PeckDrillingCycleSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object PeckDrillingCycleSyntax Implements ISituNcSyntax INcSyntax 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) Remarks G73 (high-speed peck) retracts only a small distance instead of fully back to R — see HighSpeedPeckCycleSyntax. Constructors PeckDrillingCycleSyntax() Initializes a new instance with default settings. public PeckDrillingCycleSyntax() PeckDrillingCycleSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public PeckDrillingCycleSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class PeckDrillingCycleSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll G83 peck drilling cycle. Supports modal repetition. Drills in increments of depth Q, fully retracting to R between strokes. Cycle sequence (per stroke): Rapid to init position (target XY, previous Z) Rapid from init to R-point For each stroke: rapid to clearance above previous depth, feed Q deeper, rapid back to R If remainder exists: feed to bottom Z, rapid to R Rapid from R/bottom to final (G98 → init Z, G99 → R) Retraction distance is read from ICannedCycleConfig (Fanuc #4002 / Syntec Pr4002, or FallbackConfig fallback). Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. public class PeckDrillingCycleSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object PeckDrillingCycleSyntax Implements ISituNcSyntax INcSyntax 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) Remarks G73 (high-speed peck) retracts only a small distance instead of fully back to R — see HighSpeedPeckCycleSyntax. Constructors PeckDrillingCycleSyntax() Initializes a new instance with default settings. public PeckDrillingCycleSyntax() PeckDrillingCycleSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public PeckDrillingCycleSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.PivotTransformationSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.PivotTransformationSyntax.html", "title": "Class PivotTransformationSyntax | HiAPI-C# 2025", - "summary": "Class PivotTransformationSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Writes the PivotTransformSource entry into ProgramToMcTransform on every block, capturing the Pn→MC kinematic rigid transform for the block's endpoint rotary state. Mirrors legacy HardNcLine.GetProgramXyz's use of McToPn(DVec3d) — without this entry, the transform chain would miss the rotary rotation on any block whose MachineCoordinate.ABC is non-zero, and McXyzSyntax (and ProgramXyzSyntax's inverse lookback) would silently drift. Scope is not limited to RTCP modal: as long as rotary axes are physically at a non-zero position (e.g. after a non-RTCP G00 B90 plus any subsequent motion), the kinematic chain still contributes a non-identity rigid transform that must appear in the endpoint chain. G43p4RtcpSyntax is orthogonal and only governs the dynamic-rotary KindKey tagging used by LinearMotionSyntax to pick the motion form. Chain position: must run after all Pn-frame writers (IsoG68p2TiltSyntax, ToolHeightOffsetSyntax, G43p4RtcpSyntax, IsoCoordinateOffsetSyntax, brand-specific coord offset syntaxes) so the PivotTransform entry naturally lands as the last chain element. Must run before McXyzSyntax / ProgramXyzSyntax so they see the completed chain. Silently no-ops when IMachineKinematics is absent (3-axis configurations without rotary kinematics). public class PivotTransformationSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object PivotTransformationSyntax Implements ISituNcSyntax INcSyntax 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 PivotTransformationSyntax() Initializes a new instance with default settings. public PivotTransformationSyntax() PivotTransformationSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public PivotTransformationSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class PivotTransformationSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Writes the PivotTransformSource entry into ProgramToMcTransform on every block, capturing the Pn→MC kinematic rigid transform for the block's endpoint rotary state. Mirrors legacy HardNcLine.GetProgramXyz's use of McToPn(DVec3d) — without this entry, the transform chain would miss the rotary rotation on any block whose MachineCoordinate.ABC is non-zero, and McXyzSyntax (and ProgramXyzSyntax's inverse lookback) would silently drift. Scope is not limited to RTCP modal: as long as rotary axes are physically at a non-zero position (e.g. after a non-RTCP G00 B90 plus any subsequent motion), the kinematic chain still contributes a non-identity rigid transform that must appear in the endpoint chain. G43p4RtcpSyntax is orthogonal and only governs the dynamic-rotary KindKey tagging used by LinearMotionSyntax to pick the motion form. Chain position: must run after all Pn-frame writers (IsoG68p2TiltSyntax, ToolHeightOffsetSyntax, G43p4RtcpSyntax, IsoCoordinateOffsetSyntax, brand-specific coord offset syntaxes) so the PivotTransform entry naturally lands as the last chain element. Must run before McXyzSyntax / ProgramXyzSyntax so they see the completed chain. Silently no-ops when IMachineKinematics is absent (3-axis configurations without rotary kinematics). public class PivotTransformationSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object PivotTransformationSyntax Implements ISituNcSyntax INcSyntax 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 PivotTransformationSyntax() Initializes a new instance with default settings. public PivotTransformationSyntax() PivotTransformationSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public PivotTransformationSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.html", "title": "Class PlaneSelectSyntax | HiAPI-C# 2025", - "summary": "Class PlaneSelectSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Consumes G17/G18/G19 plane selection from Flags and writes IPlaneSelectDef section using conventional axis-pair names (XY/ZX/YZ). Modal — persists via backward lookback. Default is XY (G17). Downstream consumers (CircularMotionSyntax, IsoG68RotationSyntax) call GetPlaneNormalDir(JsonObject) to read the resolved plane. public class PlaneSelectSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object PlaneSelectSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G17\"] } } #AfterBuild: { \"PlaneSelect\": { \"Term\": \"G17\", \"Plane\": \"XY\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G18\", \"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"PlaneSelect\": { \"Term\": \"G18\", \"Plane\": \"ZX\" } } #Previous: { \"PlaneSelect\": { \"Term\": \"G19\", \"Plane\": \"YZ\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"PlaneSelect\": { \"Term\": \"G19\", \"Plane\": \"YZ\" } } Properties Default Default instance with standard settings. public static PlaneSelectSyntax Default { get; } Property Value PlaneSelectSyntax Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress GetPlaneNormalDir(JsonObject) Reads the PlaneSelect section and returns the perpendicular (normal) axis index: XY→2(Z), ZX→1(Y), YZ→0(X). public static int GetPlaneNormalDir(JsonObject json) Parameters json JsonObject Returns int MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class PlaneSelectSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Consumes G17/G18/G19 plane selection from Flags and writes IPlaneSelectDef section using conventional axis-pair names (XY/ZX/YZ). Modal — persists via backward lookback. Default is XY (G17). Downstream consumers (CircularMotionSyntax, IsoG68RotationSyntax) call GetPlaneNormalDir(JsonObject) to read the resolved plane. public class PlaneSelectSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object PlaneSelectSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G17\"] } } #AfterBuild: { \"PlaneSelect\": { \"Term\": \"G17\", \"Plane\": \"XY\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G18\", \"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"PlaneSelect\": { \"Term\": \"G18\", \"Plane\": \"ZX\" } } #Previous: { \"PlaneSelect\": { \"Term\": \"G19\", \"Plane\": \"YZ\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"PlaneSelect\": { \"Term\": \"G19\", \"Plane\": \"YZ\" } } Properties Default Default instance with standard settings. public static PlaneSelectSyntax Default { get; } Property Value PlaneSelectSyntax Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress GetPlaneNormalDir(JsonObject) Reads the PlaneSelect section and returns the perpendicular (normal) axis index: XY→2(Z), ZX→1(Y), YZ→0(X). public static int GetPlaneNormalDir(JsonObject json) Parameters json JsonObject Returns int 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.PositioningSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.PositioningSyntax.html", "title": "Class PositioningSyntax | HiAPI-C# 2025", - "summary": "Class PositioningSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Detects G90/G91 positioning mode from Flags (or by modal lookback) and writes a Positioning section (Term, Mode) to the block JSON. Fanuc/ISO: reads G90/G91 from Flags (global modal). Heidenhain: would need a separate implementation reading I-prefix per axis. Siemens: would extend with AC()/IC() per-axis override. Does NOT convert incremental values — that is handled by IncrementalResolveSyntax which can be placed later in the syntax chain, after canned cycle syntaxes have consumed their parameters with cycle-specific G91 semantics. public class PositioningSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object PositioningSyntax Implements ISituNcSyntax INcSyntax 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) Examples G90 explicit — flag consumed, Positioning written with Mode=“Absolute”: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G90\"] } } #AfterBuild: { \"Positioning\": { \"Term\": \"G90\", \"Mode\": \"Absolute\" } } G91 explicit — flag consumed, Mode=“Incremental”: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G91\"] } } #AfterBuild: { \"Positioning\": { \"Term\": \"G91\", \"Mode\": \"Incremental\" } } No positioning flag on the block but #Previous: carried G91 — modal lookback inherits G91; the unrelated M03 flag is left alone: #Previous: { \"Positioning\": { \"Term\": \"G91\", \"Mode\": \"Incremental\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"Positioning\": { \"Term\": \"G91\", \"Mode\": \"Incremental\" } } Properties Default Default instance with standard settings. public static PositioningSyntax Default { get; } Property Value PositioningSyntax Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class PositioningSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Detects G90/G91 positioning mode from Flags (or by modal lookback) and writes a Positioning section (Term, Mode) to the block JSON. Fanuc/ISO: reads G90/G91 from Flags (global modal). Heidenhain: would need a separate implementation reading I-prefix per axis. Siemens: would extend with AC()/IC() per-axis override. Does NOT convert incremental values — that is handled by IncrementalResolveSyntax which can be placed later in the syntax chain, after canned cycle syntaxes have consumed their parameters with cycle-specific G91 semantics. public class PositioningSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object PositioningSyntax Implements ISituNcSyntax INcSyntax 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) Examples G90 explicit — flag consumed, Positioning written with Mode=“Absolute”: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G90\"] } } #AfterBuild: { \"Positioning\": { \"Term\": \"G90\", \"Mode\": \"Absolute\" } } G91 explicit — flag consumed, Mode=“Incremental”: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G91\"] } } #AfterBuild: { \"Positioning\": { \"Term\": \"G91\", \"Mode\": \"Incremental\" } } No positioning flag on the block but #Previous: carried G91 — modal lookback inherits G91; the unrelated M03 flag is left alone: #Previous: { \"Positioning\": { \"Term\": \"G91\", \"Mode\": \"Incremental\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"Positioning\": { \"Term\": \"G91\", \"Mode\": \"Incremental\" } } Properties Default Default instance with standard settings. public static PositioningSyntax Default { get; } Property Value PositioningSyntax Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.ProgramEndCleanSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.ProgramEndCleanSyntax.html", "title": "Class ProgramEndCleanSyntax | HiAPI-C# 2025", - "summary": "Class ProgramEndCleanSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Clears the per-block Vars.Volatile dictionary on blocks that triggered program end (M02 / M30, identified by the ProgramEnd section written by ProgramEndSyntax). Real Fanuc clears non-retained common variables (#100-#499) on program end + reset; this syntax models that behaviour at the simulator level. The clear happens on the same block that carried M02/M30 — the next block's VolatileVariableReadingSyntax carry then sees an empty dictionary on the predecessor and starts fresh. Pipeline placement: must run after both ProgramEndSyntax (which writes the ProgramEnd section this syntax checks) and VolatileVariableReadingSyntax (so the carry has already happened on this block; this syntax overwrites the result). Retained common variables (#500-#999, owned by RetainedCommonVariableTable) are untouched — they survive program end on real hardware (NV-RAM). Local variables (#1-#33, scope: macro call frame) are also untouched here; their lifecycle belongs to G65/G66/M99 push/pop, not program end. Also clears any active FanucModalMacro on the same edge: a G66 modal that was still active when M02/M30 hit is implicitly cancelled, matching real Fanuc reset behaviour. The section is overwritten with a G67-shaped cancel marker so the carry mechanism in FanucModalMacroSyntax sees the boundary and does not propagate the modal past the program-end edge. public class ProgramEndCleanSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ProgramEndCleanSyntax Implements ISituNcSyntax INcSyntax 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) Examples M30 with a populated Vars.Volatile — the dictionary is wiped to an empty JsonObject in place (assignment, not removal, so downstream snapshots can distinguish “cleared on program end” from “block never had volatile data”): #BeforeBuild: { \"ProgramEnd\": { \"Term\": \"M30\" }, \"Vars\": { \"Volatile\": { \"#100\": 1.5, \"#101\": 2.5 } } } #AfterBuild: { \"ProgramEnd\": { \"Term\": \"M30\" }, \"Vars\": { \"Volatile\": {} } } M02 with an active G66 FanucModalMacro and no pre-existing Vars — the modal is overwritten with a G67-shaped cancel marker (P/L dropped), and a fresh Vars.Volatile dictionary is created: #BeforeBuild: { \"ProgramEnd\": { \"Term\": \"M02\" }, \"FanucModalMacro\": { \"Term\": \"G66\", \"P\": 1234, \"L\": 1 } } #AfterBuild: { \"ProgramEnd\": { \"Term\": \"M02\" }, \"FanucModalMacro\": { \"Term\": \"G67\" }, \"Vars\": { \"Volatile\": {} } } No ProgramEnd on the block (regular machining line) — the guard rejects the block; Vars.Volatile is left intact for downstream blocks to inherit via carry: #BeforeBuild: { \"Vars\": { \"Volatile\": { \"#100\": 1.5 } } } #AfterBuild: { \"Vars\": { \"Volatile\": { \"#100\": 1.5 } } } Constructors ProgramEndCleanSyntax() Default constructor. public ProgramEndCleanSyntax() ProgramEndCleanSyntax(XElement) Loads from XML produced by MakeXmlSource(string, string, bool); no state. public ProgramEndCleanSyntax(XElement src) Parameters src XElement Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class ProgramEndCleanSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Clears the per-block Vars.Volatile dictionary on blocks that triggered program end (M02 / M30, identified by the ProgramEnd section written by ProgramEndSyntax). Real Fanuc clears non-retained common variables (#100-#499) on program end + reset; this syntax models that behaviour at the simulator level. The clear happens on the same block that carried M02/M30 — the next block's VolatileVariableReadingSyntax carry then sees an empty dictionary on the predecessor and starts fresh. Pipeline placement: must run after both ProgramEndSyntax (which writes the ProgramEnd section this syntax checks) and VolatileVariableReadingSyntax (so the carry has already happened on this block; this syntax overwrites the result). Retained common variables (#500-#999, owned by RetainedCommonVariableTable) are untouched — they survive program end on real hardware (NV-RAM). Local variables (#1-#33, scope: macro call frame) are also untouched here; their lifecycle belongs to G65/G66/M99 push/pop, not program end. Also clears any active FanucModalMacro on the same edge: a G66 modal that was still active when M02/M30 hit is implicitly cancelled, matching real Fanuc reset behaviour. The section is overwritten with a G67-shaped cancel marker so the carry mechanism in FanucModalMacroSyntax sees the boundary and does not propagate the modal past the program-end edge. public class ProgramEndCleanSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ProgramEndCleanSyntax Implements ISituNcSyntax INcSyntax 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) Examples M30 with a populated Vars.Volatile — the dictionary is wiped to an empty JsonObject in place (assignment, not removal, so downstream snapshots can distinguish “cleared on program end” from “block never had volatile data”): #BeforeBuild: { \"ProgramEnd\": { \"Term\": \"M30\" }, \"Vars\": { \"Volatile\": { \"#100\": 1.5, \"#101\": 2.5 } } } #AfterBuild: { \"ProgramEnd\": { \"Term\": \"M30\" }, \"Vars\": { \"Volatile\": {} } } M02 with an active G66 FanucModalMacro and no pre-existing Vars — the modal is overwritten with a G67-shaped cancel marker (P/L dropped), and a fresh Vars.Volatile dictionary is created: #BeforeBuild: { \"ProgramEnd\": { \"Term\": \"M02\" }, \"FanucModalMacro\": { \"Term\": \"G66\", \"P\": 1234, \"L\": 1 } } #AfterBuild: { \"ProgramEnd\": { \"Term\": \"M02\" }, \"FanucModalMacro\": { \"Term\": \"G67\" }, \"Vars\": { \"Volatile\": {} } } No ProgramEnd on the block (regular machining line) — the guard rejects the block; Vars.Volatile is left intact for downstream blocks to inherit via carry: #BeforeBuild: { \"Vars\": { \"Volatile\": { \"#100\": 1.5 } } } #AfterBuild: { \"Vars\": { \"Volatile\": { \"#100\": 1.5 } } } Constructors ProgramEndCleanSyntax() Default constructor. public ProgramEndCleanSyntax() ProgramEndCleanSyntax(XElement) Loads from XML produced by MakeXmlSource(string, string, bool); no state. public ProgramEndCleanSyntax(XElement src) Parameters src XElement Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.html", "title": "Class ProgramEndSyntax | HiAPI-C# 2025", - "summary": "Class ProgramEndSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Consumes M02/M30 (program end) from Flags and writes IProgramEndDef section. Downstream syntaxes that need to reset modal state on program end (e.g. IsoLocalCoordinateOffsetSyntax for G52 reset) should read the ProgramEnd section rather than scanning for M30 in Flags directly. Must be placed before syntaxes that depend on the ProgramEnd section. public class ProgramEndSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ProgramEndSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M30\"] } } #AfterBuild: { \"ProgramEnd\": { \"Term\": \"M30\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M02\"] } } #AfterBuild: { \"ProgramEnd\": { \"Term\": \"M02\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } Constructors ProgramEndSyntax() Initializes a new instance with default settings. public ProgramEndSyntax() ProgramEndSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public ProgramEndSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class ProgramEndSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Consumes M02/M30 (program end) from Flags and writes IProgramEndDef section. Downstream syntaxes that need to reset modal state on program end (e.g. IsoLocalCoordinateOffsetSyntax for G52 reset) should read the ProgramEnd section rather than scanning for M30 in Flags directly. Must be placed before syntaxes that depend on the ProgramEnd section. public class ProgramEndSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ProgramEndSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M30\"] } } #AfterBuild: { \"ProgramEnd\": { \"Term\": \"M30\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M02\"] } } #AfterBuild: { \"ProgramEnd\": { \"Term\": \"M02\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } Constructors ProgramEndSyntax() Initializes a new instance with default settings. public ProgramEndSyntax() ProgramEndSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public ProgramEndSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.ProgramStopSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.ProgramStopSyntax.html", "title": "Class ProgramStopSyntax | HiAPI-C# 2025", - "summary": "Class ProgramStopSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Consumes M00 (unconditional stop) and M01 (optional stop) from Flags and writes a IProgramStopDef section on the block that carried the flag. Non-modal: the section is written only on the exact block where the stop code appears. Siblings with ProgramEndSyntax (M02/M30) which handles end-of-program, not in-program stops. The parsing layer only records NC intent. Whether M01 actually pauses the run is a runtime/semantic decision gated by the operator's \"Optional Stop\" switch (analogous to IBlockSkipConfig for block skip). public class ProgramStopSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ProgramStopSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M00\"] } } #AfterBuild: { \"ProgramStop\": { \"Term\": \"M00\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M01\", \"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"ProgramStop\": { \"Term\": \"M01\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M01\", \"M00\"] } } #AfterBuild: { \"ProgramStop\": { \"Term\": \"M00\" } } Constructors ProgramStopSyntax() Initializes a new instance with default settings. public ProgramStopSyntax() ProgramStopSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public ProgramStopSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class ProgramStopSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Consumes M00 (unconditional stop) and M01 (optional stop) from Flags and writes a IProgramStopDef section on the block that carried the flag. Non-modal: the section is written only on the exact block where the stop code appears. Siblings with ProgramEndSyntax (M02/M30) which handles end-of-program, not in-program stops. The parsing layer only records NC intent. Whether M01 actually pauses the run is a runtime/semantic decision gated by the operator's \"Optional Stop\" switch (analogous to IBlockSkipConfig for block skip). public class ProgramStopSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ProgramStopSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M00\"] } } #AfterBuild: { \"ProgramStop\": { \"Term\": \"M00\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M01\", \"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"ProgramStop\": { \"Term\": \"M01\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M01\", \"M00\"] } } #AfterBuild: { \"ProgramStop\": { \"Term\": \"M00\" } } Constructors ProgramStopSyntax() Initializes a new instance with default settings. public ProgramStopSyntax() ProgramStopSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public ProgramStopSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.html", "title": "Class ProgramXyzSyntax | HiAPI-C# 2025", - "summary": "Class ProgramXyzSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Resolves ProgramXyz (leaf coordinate) from syntax XYZ tags. Writes ProgramXyz sub-object to SyntaxPiece.JsonObject. Must be placed after BundleSyntax since it uses cross-node lookback for last position. McXyzSyntax (placed after this in the chain) reads ProgramXyz and writes MachineCoordinateState. public class ProgramXyzSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ProgramXyzSyntax Implements ISituNcSyntax INcSyntax 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) Examples SUT uses Default so the default WorkingPathList points at the Parsing root. All cases stay on the identity-transform path so GetLastProgramXyz simply returns the previous block's MC. Full X/Y/Z in Parsing — values are read directly (no lookback), Parsing.X/Y/Z are consumed, ProgramXyz section is written; CleanupParsing removes the now-empty Parsing: #BeforeBuild: { \"Parsing\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } Only Z in Parsing with a #Previous: block carrying MachineCoordinateState=(50,60,70) — under the identity transform GetLastProgramXyz equals previous MC, so X/Y are inherited from prev and Z is taken from the parsed literal: #Previous: { \"MachineCoordinateState\": { \"X\": 50, \"Y\": 60, \"Z\": 70 } } #BeforeBuild: { \"Parsing\": { \"Z\": 0 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 50, \"Y\": 60, \"Z\": 0 } } Parsing present but with no X/Y/Z (e.g. an unrelated M03 flag) — ResolveProgramXyz returns null and the syntax early-returns; the block is unchanged: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } Remarks The term “Program” is absolute positioning coordinate that can be end-user editing. The coordinate is usually the final node from the chain of coordinate transformation. Constructors ProgramXyzSyntax(List>) Initializes a new instance with the given working path list. public ProgramXyzSyntax(List> workingPathList) Parameters workingPathList List> JSON paths to scan for axis values; see WorkingPathList. ProgramXyzSyntax(XElement) Initializes a new instance by deserializing the working path list from the given XML element. Falls back to Default.WorkingPathList when the element has no Path children. public ProgramXyzSyntax(XElement src) Parameters src XElement Source XML element. Properties Default Default instance with the working path resolving to the Parsing root. public static ProgramXyzSyntax Default { get; } Property Value ProgramXyzSyntax Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string WorkingPathList JSON paths where this syntax searches for axis values (X/Y/Z). Each path is a list of segments navigating nested JSON objects. First match is used. Empty list means root level. public List> WorkingPathList { get; } Property Value List> Examples [[\"L\"]] → fullJsonSrc[\"L\"] [[]] → fullJsonSrc (root) [[\"L\"], []] → try fullJsonSrc[\"L\"], fallback to root XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class ProgramXyzSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Resolves ProgramXyz (leaf coordinate) from syntax XYZ tags. Writes ProgramXyz sub-object to SyntaxPiece.JsonObject. Must be placed after BundleSyntax since it uses cross-node lookback for last position. McXyzSyntax (placed after this in the chain) reads ProgramXyz and writes MachineCoordinateState. public class ProgramXyzSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ProgramXyzSyntax Implements ISituNcSyntax INcSyntax 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) Examples SUT uses Default so the default WorkingPathList points at the Parsing root. All cases stay on the identity-transform path so GetLastProgramXyz simply returns the previous block's MC. Full X/Y/Z in Parsing — values are read directly (no lookback), Parsing.X/Y/Z are consumed, ProgramXyz section is written; CleanupParsing removes the now-empty Parsing: #BeforeBuild: { \"Parsing\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 10, \"Y\": 20, \"Z\": 30 } } Only Z in Parsing with a #Previous: block carrying MachineCoordinateState=(50,60,70) — under the identity transform GetLastProgramXyz equals previous MC, so X/Y are inherited from prev and Z is taken from the parsed literal: #Previous: { \"MachineCoordinateState\": { \"X\": 50, \"Y\": 60, \"Z\": 70 } } #BeforeBuild: { \"Parsing\": { \"Z\": 0 } } #AfterBuild: { \"ProgramXyz\": { \"X\": 50, \"Y\": 60, \"Z\": 0 } } Parsing present but with no X/Y/Z (e.g. an unrelated M03 flag) — ResolveProgramXyz returns null and the syntax early-returns; the block is unchanged: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } Remarks The term “Program” is absolute positioning coordinate that can be end-user editing. The coordinate is usually the final node from the chain of coordinate transformation. Constructors ProgramXyzSyntax(List>) Initializes a new instance with the given working path list. public ProgramXyzSyntax(List> workingPathList) Parameters workingPathList List> JSON paths to scan for axis values; see WorkingPathList. ProgramXyzSyntax(XElement) Initializes a new instance by deserializing the working path list from the given XML element. Falls back to Default.WorkingPathList when the element has no Path children. public ProgramXyzSyntax(XElement src) Parameters src XElement Source XML element. Properties Default Default instance with the working path resolving to the Parsing root. public static ProgramXyzSyntax Default { get; } Property Value ProgramXyzSyntax Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string WorkingPathList JSON paths where this syntax searches for axis values (X/Y/Z). Each path is a list of segments navigating nested JSON objects. First match is used. Empty list means root level. public List> WorkingPathList { get; } Property Value List> Examples [[\"L\"]] → fullJsonSrc[\"L\"] [[]] → fullJsonSrc (root) [[\"L\"], []] → try fullJsonSrc[\"L\"], fallback to root XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.ProgramXyzUtil.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.ProgramXyzUtil.html", @@ -4557,7 +4557,7 @@ "api/Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html", "title": "Class ReferenceReturnSyntax | HiAPI-C# 2025", - "summary": "Class ReferenceReturnSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll public class ReferenceReturnSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ReferenceReturnSyntax Implements ISituNcSyntax INcSyntax 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 ReferenceReturnSyntax() Initializes a new instance with default settings (BareG28 = Alarm). public ReferenceReturnSyntax() ReferenceReturnSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public ReferenceReturnSyntax(XElement src) Parameters src XElement Source XML element. Properties BareG28 Behaviour for a G28 block with no axis specifiers. Defaults to Alarm. public BareG28Behavior BareG28 { get; set; } Property Value BareG28Behavior Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class ReferenceReturnSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll G28 reference point return syntax. Behaviour is documented in detail on the example attached to BareG28Behavior; this class is the ISituNcSyntax implementation that the BareG28 property configures. public class ReferenceReturnSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ReferenceReturnSyntax Implements ISituNcSyntax INcSyntax 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 ReferenceReturnSyntax() Initializes a new instance with default settings (BareG28 = Alarm). public ReferenceReturnSyntax() ReferenceReturnSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public ReferenceReturnSyntax(XElement src) Parameters src XElement Source XML element. Properties BareG28 Behaviour for a G28 block with no axis specifiers. Defaults to Alarm. public BareG28Behavior BareG28 { get; set; } Property Value BareG28Behavior Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.RotaryAxisUtil.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.RotaryAxisUtil.html", @@ -4567,7 +4567,7 @@ "api/Hi.NcParsers.LogicSyntaxs.Siemens.SiemensCoordinateOffsetSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.Siemens.SiemensCoordinateOffsetSyntax.html", "title": "Class SiemensCoordinateOffsetSyntax | HiAPI-C# 2025", - "summary": "Class SiemensCoordinateOffsetSyntax Namespace Hi.NcParsers.LogicSyntaxs.Siemens Assembly HiMech.dll Siemens Sinumerik: resolves work coordinate offset from G54–G57 (ISO-compatible), G505–G599 (extended Siemens), and G500 (cancel — machine coordinate mode). Reads from Flags, looks up IsoCoordinateTable dependency, composes into ProgramToMcTransform. public class SiemensCoordinateOffsetSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object SiemensCoordinateOffsetSyntax Implements ISituNcSyntax INcSyntax 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) Examples Unlike IsoCoordinateOffsetSyntax (Fanuc/ISO), this Siemens variant does not consume the coordinate flag from Parsing.Flags — the flag stays for downstream syntaxes / reconstruction. Mat4d arrays are 16 plain doubles in column-major order; pure translation by (tx,ty,tz) is [1,0,0,0, 0,1,0,0, 0,0,1,0, tx,ty,tz,1]. G54 with an IsoCoordinateTable providing G54 → (10, 20, -100) — same shape as IsoCoordinateOffsetSyntax but the G54 flag survives: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G54\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"G54\"] }, \"CoordinateOffset\": { \"CoordinateId\": \"G54\", \"Offset_X\": 10, \"Offset_Y\": 20, \"Offset_Z\": -100 }, \"ProgramToMcTransform\": [ { \"Source\": \"CoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 10,20,-100,1] } ] } Siemens-extended G505 with a table entry for the same id — proves the syntax recognises the extended series, not only the ISO-compat G54–G57 subset: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G505\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"G505\"] }, \"CoordinateOffset\": { \"CoordinateId\": \"G505\", \"Offset_X\": 100, \"Offset_Y\": 50, \"Offset_Z\": -200 }, \"ProgramToMcTransform\": [ { \"Source\": \"CoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 100,50,-200,1] } ] } G500 cancel with no IIsoCoordinateConfig on the dep list — falls back to Vec3d.Zero; the resolved offset is zero and the composed translation is identity (matching the special case inside GetCoordinateOffset(string) for G500): #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G500\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"G500\"] }, \"CoordinateOffset\": { \"CoordinateId\": \"G500\", \"Offset_X\": 0, \"Offset_Y\": 0, \"Offset_Z\": 0 }, \"ProgramToMcTransform\": [ { \"Source\": \"CoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1] } ] } Constructors SiemensCoordinateOffsetSyntax() Initializes a new instance with default settings. public SiemensCoordinateOffsetSyntax() SiemensCoordinateOffsetSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public SiemensCoordinateOffsetSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class SiemensCoordinateOffsetSyntax Namespace Hi.NcParsers.LogicSyntaxs.Siemens Assembly HiMech.dll Siemens Sinumerik: resolves work coordinate offset from G54–G57 (ISO-compatible), G505–G599 (extended Siemens), and G500 (cancel — machine coordinate mode). Reads from Flags, looks up IsoCoordinateTable dependency, composes into ProgramToMcTransform. public class SiemensCoordinateOffsetSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object SiemensCoordinateOffsetSyntax Implements ISituNcSyntax INcSyntax 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) Examples Unlike IsoCoordinateOffsetSyntax (Fanuc/ISO), this Siemens variant does not consume the coordinate flag from Parsing.Flags — the flag stays for downstream syntaxes / reconstruction. Mat4d arrays are 16 plain doubles in column-major order; pure translation by (tx,ty,tz) is [1,0,0,0, 0,1,0,0, 0,0,1,0, tx,ty,tz,1]. G54 with an IsoCoordinateTable providing G54 → (10, 20, -100) — same shape as IsoCoordinateOffsetSyntax but the G54 flag survives: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G54\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"G54\"] }, \"CoordinateOffset\": { \"CoordinateId\": \"G54\", \"Offset_X\": 10, \"Offset_Y\": 20, \"Offset_Z\": -100 }, \"ProgramToMcTransform\": [ { \"Source\": \"CoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 10,20,-100,1] } ] } Siemens-extended G505 with a table entry for the same id — proves the syntax recognises the extended series, not only the ISO-compat G54–G57 subset: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G505\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"G505\"] }, \"CoordinateOffset\": { \"CoordinateId\": \"G505\", \"Offset_X\": 100, \"Offset_Y\": 50, \"Offset_Z\": -200 }, \"ProgramToMcTransform\": [ { \"Source\": \"CoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 100,50,-200,1] } ] } G500 cancel with no IIsoCoordinateConfig on the dep list — falls back to Vec3d.Zero; the resolved offset is zero and the composed translation is identity (matching the special case inside GetCoordinateOffset(string) for G500): #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G500\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"G500\"] }, \"CoordinateOffset\": { \"CoordinateId\": \"G500\", \"Offset_X\": 0, \"Offset_Y\": 0, \"Offset_Z\": 0 }, \"ProgramToMcTransform\": [ { \"Source\": \"CoordinateOffset\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1] } ] } Constructors SiemensCoordinateOffsetSyntax() Initializes a new instance with default settings. public SiemensCoordinateOffsetSyntax() SiemensCoordinateOffsetSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public SiemensCoordinateOffsetSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.Siemens.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.Siemens.html", @@ -4577,12 +4577,12 @@ "api/Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.html", "title": "Class SpindleSpeedSyntax | HiAPI-C# 2025", - "summary": "Class SpindleSpeedSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Consumes S (spindle speed) and M03/M04/M05 (spindle direction) from Parsing. Both are modal — persist across blocks via backward node lookback. Writes resolved state to a ISpindleSpeedDef section. Direction is converted from ISO M-codes to the conventional SpindleDirection enum at this layer. public class SpindleSpeedSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object SpindleSpeedSyntax Implements ISituNcSyntax INcSyntax 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) Examples New S + M03 (CW) — both consumed; SpindleSpeed section written with the converted direction enum string: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"], \"S\": 2000 } } #AfterBuild: { \"SpindleSpeed\": { \"SpindleSpeed_rpm\": 2000, \"Direction\": \"CW\" } } M04 (CCW) only — RPM inherited from #Previous:; direction updated to the new CCW state: #Previous: { \"SpindleSpeed\": { \"SpindleSpeed_rpm\": 1500, \"Direction\": \"CW\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M04\"] } } #AfterBuild: { \"SpindleSpeed\": { \"SpindleSpeed_rpm\": 1500, \"Direction\": \"CCW\" } } M05 (STOP) only — RPM still carried from #Previous: for bidirectional round-tripping; downstream consumers gate on Direction == STOP rather than RPM == 0: #Previous: { \"SpindleSpeed\": { \"SpindleSpeed_rpm\": 1500, \"Direction\": \"CW\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M05\"] } } #AfterBuild: { \"SpindleSpeed\": { \"SpindleSpeed_rpm\": 1500, \"Direction\": \"STOP\" } } Constructors SpindleSpeedSyntax() Initializes a new instance with default settings. public SpindleSpeedSyntax() SpindleSpeedSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public SpindleSpeedSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class SpindleSpeedSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Consumes S (spindle speed) and M03/M04/M05 (spindle direction) from Parsing. Both are modal — persist across blocks via backward node lookback. Writes resolved state to a ISpindleSpeedDef section. Direction is converted from ISO M-codes to the conventional SpindleDirection enum at this layer. public class SpindleSpeedSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object SpindleSpeedSyntax Implements ISituNcSyntax INcSyntax 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) Examples New S + M03 (CW) — both consumed; SpindleSpeed section written with the converted direction enum string: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"], \"S\": 2000 } } #AfterBuild: { \"SpindleSpeed\": { \"SpindleSpeed_rpm\": 2000, \"Direction\": \"CW\" } } M04 (CCW) only — RPM inherited from #Previous:; direction updated to the new CCW state: #Previous: { \"SpindleSpeed\": { \"SpindleSpeed_rpm\": 1500, \"Direction\": \"CW\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M04\"] } } #AfterBuild: { \"SpindleSpeed\": { \"SpindleSpeed_rpm\": 1500, \"Direction\": \"CCW\" } } M05 (STOP) only — RPM still carried from #Previous: for bidirectional round-tripping; downstream consumers gate on Direction == STOP rather than RPM == 0: #Previous: { \"SpindleSpeed\": { \"SpindleSpeed_rpm\": 1500, \"Direction\": \"CW\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M05\"] } } #AfterBuild: { \"SpindleSpeed\": { \"SpindleSpeed_rpm\": 1500, \"Direction\": \"STOP\" } } Constructors SpindleSpeedSyntax() Initializes a new instance with default settings. public SpindleSpeedSyntax() SpindleSpeedSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public SpindleSpeedSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.TappingCycleSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.TappingCycleSyntax.html", "title": "Class TappingCycleSyntax | HiAPI-C# 2025", - "summary": "Class TappingCycleSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll G84 (right-hand) / G74 (left-hand) tapping cycles. Supports modal repetition. Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point Feed from R-point to bottom Z Spindle reverse at bottom Feed retract to final Z (G98 → init Z, G99 → R) Spindle restore to forward direction G84: forward = CW (M03), reverse = CCW (M04). G74: forward = CCW (M04), reverse = CW (M03). Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. public class TappingCycleSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object TappingCycleSyntax Implements ISituNcSyntax INcSyntax 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 TappingCycleSyntax() Initializes a new instance with default settings. public TappingCycleSyntax() TappingCycleSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public TappingCycleSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class TappingCycleSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll G84 (right-hand) / G74 (left-hand) tapping cycles. Supports modal repetition. Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point Feed from R-point to bottom Z Spindle reverse at bottom Feed retract to final Z (G98 → init Z, G99 → R) Spindle restore to forward direction G84: forward = CW (M03), reverse = CCW (M04). G74: forward = CCW (M04), reverse = CW (M03). Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. public class TappingCycleSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object TappingCycleSyntax Implements ISituNcSyntax INcSyntax 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 TappingCycleSyntax() Initializes a new instance with default settings. public TappingCycleSyntax() TappingCycleSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public TappingCycleSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.TiltTransformUtil.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.TiltTransformUtil.html", @@ -4592,22 +4592,22 @@ "api/Hi.NcParsers.LogicSyntaxs.ToolChangeSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.ToolChangeSyntax.html", "title": "Class ToolChangeSyntax | HiAPI-C# 2025", - "summary": "Class ToolChangeSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Consumes T (tool number) and M06 (tool change) from Parsing. T is modal — persists across blocks. M06 triggers the change. Writes resolved state to a ToolChange section: { “ToolId”: 1, “IsChange”: true, “Term”: “M06” }. TermKey records the trigger command and is only written when IsChangeKey is true (i.e. the block actually carried the tool-change M code); modal-only blocks omit it. public class ToolChangeSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ToolChangeSyntax Implements ISituNcSyntax INcSyntax 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) Examples T5 + M06 — full tool change on one block; both T and M06 flag consumed, Term written: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M06\"], \"T\": 5 } } #AfterBuild: { \"ToolChange\": { \"ToolId\": 5, \"IsChange\": true, \"Term\": \"M06\" } } T5 alone alongside an unrelated flag — modal arming only, no actual change; IsChange=false and Term omitted. M03 is left in place because CleanupParsing only runs on the M06 branch: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"], \"T\": 7 } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"ToolChange\": { \"ToolId\": 7, \"IsChange\": false } } M06 alone — T comes from #Previous: modal lookback; IsChange=true, Term=“M06”: #Previous: { \"ToolChange\": { \"ToolId\": 5, \"IsChange\": false } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M06\"] } } #AfterBuild: { \"ToolChange\": { \"ToolId\": 5, \"IsChange\": true, \"Term\": \"M06\" } } Fields IsChangeKey Section key indicating whether the current block actually triggers a tool change. public const string IsChangeKey = \"IsChange\" Field Value string SectionName JSON section name where the resolved tool-change state is written. public const string SectionName = \"ToolChange\" Field Value string TermKey Section key recording the trigger command (e.g., M06) when IsChangeKey is true. public const string TermKey = \"Term\" Field Value string ToolIdKey Section key holding the active tool number (modal). public const string ToolIdKey = \"ToolId\" Field Value string Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class ToolChangeSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Consumes T (tool number) and M06 (tool change) from Parsing. T is modal — persists across blocks. M06 triggers the change. Writes resolved state to a ToolChange section: { “ToolId”: 1, “IsChange”: true, “Term”: “M06” }. TermKey records the trigger command and is only written when IsChangeKey is true (i.e. the block actually carried the tool-change M code); modal-only blocks omit it. public class ToolChangeSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ToolChangeSyntax Implements ISituNcSyntax INcSyntax 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) Examples T5 + M06 — full tool change on one block; both T and M06 flag consumed, Term written: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M06\"], \"T\": 5 } } #AfterBuild: { \"ToolChange\": { \"ToolId\": 5, \"IsChange\": true, \"Term\": \"M06\" } } T5 alone alongside an unrelated flag — modal arming only, no actual change; IsChange=false and Term omitted. M03 is left in place because CleanupParsing only runs on the M06 branch: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"], \"T\": 7 } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"ToolChange\": { \"ToolId\": 7, \"IsChange\": false } } M06 alone — T comes from #Previous: modal lookback; IsChange=true, Term=“M06”: #Previous: { \"ToolChange\": { \"ToolId\": 5, \"IsChange\": false } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M06\"] } } #AfterBuild: { \"ToolChange\": { \"ToolId\": 5, \"IsChange\": true, \"Term\": \"M06\" } } Fields IsChangeKey Section key indicating whether the current block actually triggers a tool change. public const string IsChangeKey = \"IsChange\" Field Value string SectionName JSON section name where the resolved tool-change state is written. public const string SectionName = \"ToolChange\" Field Value string TermKey Section key recording the trigger command (e.g., M06) when IsChangeKey is true. public const string TermKey = \"Term\" Field Value string ToolIdKey Section key holding the active tool number (modal). public const string ToolIdKey = \"ToolId\" Field Value string Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.ToolHeightOffsetSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.ToolHeightOffsetSyntax.html", "title": "Class ToolHeightOffsetSyntax | HiAPI-C# 2025", - "summary": "Class ToolHeightOffsetSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Resolves ISO tool height offset (G43/G44/G49) to the effective offset value (mm) and composes the offset as a translation into the accumulated ProgramToMcTransform matrix. RTCP modes (G43.4, TRAORI, M128) are handled by separate brand-specific syntaxes (e.g., G43p4RtcpSyntax). public class ToolHeightOffsetSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ToolHeightOffsetSyntax Implements ISituNcSyntax INcSyntax 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) Examples All cases below have no ToolOrientation section and no TiltTransform entry in the chain — the composed translation therefore lies along UnitZ (the identity tilt's AxialNormal), so Mat4d.Trans = (0, 0, height_mm). G43 H1 with a TestDeps.ToolOffset mapping offset 1 to 99.98 mm — full consume from Parsing.G43, positive sign on G43: #BeforeBuild: { \"Parsing\": { \"G43\": { \"H\": \"1\" } } } #AfterBuild: { \"ToolHeightCompensation\": { \"Offset_mm\": 99.98, \"Term\": \"G43\", \"OffsetId\": 1 }, \"ProgramToMcTransform\": [ { \"Source\": \"ToolHeightCompensation\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,99.98,1] } ] } G49 cancel flag — writes a sentinel G49 section with Offset_mm = 0, OffsetId = 0, and composes an identity Mat4d so any previously composed tool-height translation is reset: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G49\"] } } #AfterBuild: { \"ToolHeightCompensation\": { \"Offset_mm\": 0, \"Term\": \"G49\", \"OffsetId\": 0 }, \"ProgramToMcTransform\": [ { \"Source\": \"ToolHeightCompensation\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1] } ] } No G43/G44/G49 on the current block but #Previous: carries an active G43 H1 — modal lookback inherits the term + offset id, re-queries the tool table, and re-composes the translation. The unrelated M03 flag survives because the consume path only triggers when an ISO term is on the current block: #Previous: { \"ToolHeightCompensation\": { \"Offset_mm\": 99.98, \"Term\": \"G43\", \"OffsetId\": 1 } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"ToolHeightCompensation\": { \"Offset_mm\": 99.98, \"Term\": \"G43\", \"OffsetId\": 1 }, \"ProgramToMcTransform\": [ { \"Source\": \"ToolHeightCompensation\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,99.98,1] } ] } G44 H1 with the same TestDeps.ToolOffset offset-1 → 99.98 mm — G44 negates the table value, so Offset_mm = -99.98 and the composed translation lies along -UnitZ. The X/Y components of toolOrientation * -99.98 land on IEEE-754 negative zero (0 * -99.98 = -0.0), which System.Text.Json emits literally as -0: #BeforeBuild: { \"Parsing\": { \"G44\": { \"H\": \"1\" } } } #AfterBuild: { \"ToolHeightCompensation\": { \"Offset_mm\": -99.98, \"Term\": \"G44\", \"OffsetId\": 1 }, \"ProgramToMcTransform\": [ { \"Source\": \"ToolHeightCompensation\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, -0,-0,-99.98,1] } ] } Remarks Input data locations in JsonObject: Parsing.G43 / Parsing.G44 → from ParameterizedFlagSyntax, {\"H\": \"5\"} Parsing.H → from IntegerTagSetupSyntax, standalone modal H (int) Parsing.Flags → from NumberedFlagSyntax, \"G49\" for cancellation ToolOrientation → from a prior syntax (optional, default = Transformation.AxialNormal or UnitZ) Modal state is persisted in the IToolHeightCompensationDef section (not syntax fields) and recovered from backward node traversal. Constructors ToolHeightOffsetSyntax() Initializes a new instance with default settings. public ToolHeightOffsetSyntax() ToolHeightOffsetSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public ToolHeightOffsetSyntax(XElement src) Parameters src XElement Source XML element. Fields ToolOrientationKey JSON key under which the upstream tool orientation vector is read. public const string ToolOrientationKey = \"ToolOrientation\" Field Value string TransformSource Identifier used as the transform source key when composing the tool-height translation into ProgramToMcTransform. public const string TransformSource = \"ToolHeightCompensation\" Field Value string Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class ToolHeightOffsetSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Resolves ISO tool height offset (G43/G44/G49) to the effective offset value (mm) and composes the offset as a translation into the accumulated ProgramToMcTransform matrix. RTCP modes (G43.4, TRAORI, M128) are handled by separate brand-specific syntaxes (e.g., G43p4RtcpSyntax). public class ToolHeightOffsetSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ToolHeightOffsetSyntax Implements ISituNcSyntax INcSyntax 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) Examples All cases below have no ToolOrientation section and no TiltTransform entry in the chain — the composed translation therefore lies along UnitZ (the identity tilt's AxialNormal), so Mat4d.Trans = (0, 0, height_mm). G43 H1 with a TestDeps.ToolOffset mapping offset 1 to 99.98 mm — full consume from Parsing.G43, positive sign on G43: #BeforeBuild: { \"Parsing\": { \"G43\": { \"H\": \"1\" } } } #AfterBuild: { \"ToolHeightCompensation\": { \"Offset_mm\": 99.98, \"Term\": \"G43\", \"OffsetId\": 1 }, \"ProgramToMcTransform\": [ { \"Source\": \"ToolHeightCompensation\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,99.98,1] } ] } G49 cancel flag — writes a sentinel G49 section with Offset_mm = 0, OffsetId = 0, and composes an identity Mat4d so any previously composed tool-height translation is reset: #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G49\"] } } #AfterBuild: { \"ToolHeightCompensation\": { \"Offset_mm\": 0, \"Term\": \"G49\", \"OffsetId\": 0 }, \"ProgramToMcTransform\": [ { \"Source\": \"ToolHeightCompensation\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1] } ] } No G43/G44/G49 on the current block but #Previous: carries an active G43 H1 — modal lookback inherits the term + offset id, re-queries the tool table, and re-composes the translation. The unrelated M03 flag survives because the consume path only triggers when an ISO term is on the current block: #Previous: { \"ToolHeightCompensation\": { \"Offset_mm\": 99.98, \"Term\": \"G43\", \"OffsetId\": 1 } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"ToolHeightCompensation\": { \"Offset_mm\": 99.98, \"Term\": \"G43\", \"OffsetId\": 1 }, \"ProgramToMcTransform\": [ { \"Source\": \"ToolHeightCompensation\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,99.98,1] } ] } G44 H1 with the same TestDeps.ToolOffset offset-1 → 99.98 mm — G44 negates the table value, so Offset_mm = -99.98 and the composed translation lies along -UnitZ. The X/Y components of toolOrientation * -99.98 land on IEEE-754 negative zero (0 * -99.98 = -0.0), which System.Text.Json emits literally as -0: #BeforeBuild: { \"Parsing\": { \"G44\": { \"H\": \"1\" } } } #AfterBuild: { \"ToolHeightCompensation\": { \"Offset_mm\": -99.98, \"Term\": \"G44\", \"OffsetId\": 1 }, \"ProgramToMcTransform\": [ { \"Source\": \"ToolHeightCompensation\", \"Kind\": \"Static\", \"Mat4d\": [1,0,0,0, 0,1,0,0, 0,0,1,0, -0,-0,-99.98,1] } ] } Remarks Input data locations in JsonObject: Parsing.G43 / Parsing.G44 → from ParameterizedFlagSyntax, {\"H\": \"5\"} Parsing.H → from IntegerTagSetupSyntax, standalone modal H (int) Parsing.Flags → from NumberedFlagSyntax, \"G49\" for cancellation ToolOrientation → from a prior syntax (optional, default = Transformation.AxialNormal or UnitZ) Modal state is persisted in the IToolHeightCompensationDef section (not syntax fields) and recovered from backward node traversal. Constructors ToolHeightOffsetSyntax() Initializes a new instance with default settings. public ToolHeightOffsetSyntax() ToolHeightOffsetSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public ToolHeightOffsetSyntax(XElement src) Parameters src XElement Source XML element. Fields ToolOrientationKey JSON key under which the upstream tool orientation vector is read. public const string ToolOrientationKey = \"ToolOrientation\" Field Value string TransformSource Identifier used as the transform source key when composing the tool-height translation into ProgramToMcTransform. public const string TransformSource = \"ToolHeightCompensation\" Field Value string Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.html", "title": "Class UnitModeSyntax | HiAPI-C# 2025", - "summary": "Class UnitModeSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Detects the unit-system code (ISO Group 06: G20 inch / G21 metric) from Flags and writes a Unit section (Term, System). Modal — absence of an explicit flag inherits the previous block's unit, defaulting to Metric at program start. The HiNC pipeline works exclusively in millimetres. When G20 is detected this syntax emits an Unit--InchNotSupported Unsupported Error so upstream callers are forced to pre-convert the NC program to metric. G21 is accepted as a no-op confirmation of the default. public class UnitModeSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object UnitModeSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G21\"] } } #AfterBuild: { \"Unit\": { \"Term\": \"G21\", \"System\": \"Metric\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G20\"] } } #AfterBuild: { \"Unit\": { \"Term\": \"G20\", \"System\": \"Inch\" } } #Previous: { \"Unit\": { \"Term\": \"G21\", \"System\": \"Metric\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"Unit\": { \"Term\": \"G21\", \"System\": \"Metric\" } } Constructors UnitModeSyntax() Initializes a new instance with default settings. public UnitModeSyntax() UnitModeSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public UnitModeSyntax(XElement src) Parameters src XElement Source XML element. Properties Default Default instance with standard settings. public static UnitModeSyntax Default { get; } Property Value UnitModeSyntax Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class UnitModeSyntax Namespace Hi.NcParsers.LogicSyntaxs Assembly HiMech.dll Detects the unit-system code (ISO Group 06: G20 inch / G21 metric) from Flags and writes a Unit section (Term, System). Modal — absence of an explicit flag inherits the previous block's unit, defaulting to Metric at program start. The HiNC pipeline works exclusively in millimetres. When G20 is detected this syntax emits an Unit--InchNotSupported Unsupported Error so upstream callers are forced to pre-convert the NC program to metric. G21 is accepted as a no-op confirmation of the default. public class UnitModeSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object UnitModeSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G21\"] } } #AfterBuild: { \"Unit\": { \"Term\": \"G21\", \"System\": \"Metric\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"G20\"] } } #AfterBuild: { \"Unit\": { \"Term\": \"G20\", \"System\": \"Inch\" } } #Previous: { \"Unit\": { \"Term\": \"G21\", \"System\": \"Metric\" } } #BeforeBuild: { \"Parsing\": { \"Flags\": [\"M03\"] } } #AfterBuild: { \"Parsing\": { \"Flags\": [\"M03\"] }, \"Unit\": { \"Term\": \"G21\", \"System\": \"Metric\" } } Constructors UnitModeSyntax() Initializes a new instance with default settings. public UnitModeSyntax() UnitModeSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public UnitModeSyntax(XElement src) Parameters src XElement Source XML element. Properties Default Default instance with standard settings. public static UnitModeSyntax Default { get; } Property Value UnitModeSyntax Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.LogicSyntaxs.html": { "href": "api/Hi.NcParsers.LogicSyntaxs.html", "title": "Namespace Hi.NcParsers.LogicSyntaxs | HiAPI-C# 2025", - "summary": "Namespace Hi.NcParsers.LogicSyntaxs Classes BackBoringSyntax G87 back boring cycle. Supports modal repetition. Cuts upward from Z to R — used to bore the back side of a workpiece. Cycle sequence: Oriented spindle stop (OSS) at current position Rapid (shifted) to init position, then down to bottom Z — tool enters pre-drilled hole without contacting bore wall Shift back to hole center at bottom Spindle start (CW) Feed upward from Z to R-point (back boring cut) Oriented spindle stop at R Tool shift, rapid retract (shifted) to final Z Shift back to center, spindle restart Q specifies the lateral shift distance (mm). Shift direction defaults to +X (OSS angle 0°). Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax before this syntax runs. BoringCycleSyntax G85/G86/G89 boring cycles. Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point Feed from R-point to bottom Z [G86 only] Spindle stop at bottom [G89 only] Dwell P seconds at bottom Retract: G85/G89 → feed retract, G86 → rapid retract [G86 only] Spindle restart (CW) after retract G85: feed to Z, feed retract — smooth bore finish. G86: feed to Z, spindle stop (implicit), rapid retract. G89: feed to Z, dwell P, feed retract — like G85 with bottom dwell. Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. CannedCycleResolveSyntax Resolves the canned-cycle Group-09 state for the current block and writes the result to the CannedCycle section. Active cycle (direct G81..G89 or modal repeat): merges Parsing overrides with previous-cycle stored params, applies G91 incremental-to-absolute conversion and missing-axis fallback, writes CannedCycle with Term, ReturnMode, and Params. The resolved cycle sub-section is left in Parsing under the cycle code for downstream cycle syntaxes (DrillingCycleSyntax, etc.) to read. Explicit cancel (G80 flag present on a non-cycle block): consumes the G80 flag and writes CannedCycle = { Term: \"G80\" }, acting as a hard sentinel for Hi.NcParsers.LogicSyntaxs.CannedCycleSyntaxUtil modal lookback. No Group-09 activity: leaves the block untouched. Must be placed after PositioningSyntax and before the individual cycle syntaxes in the chain. CircularMotionSyntax Writes McArc motion for circular commands (ISO G02/G03). Detects motion mode from Flags, reads I/J/K center offsets or R radius from Parsing, computes arc center in program coordinates, and writes a one-shot MotionEvent (form + arc params) plus a modal MotionState (Term). G02/G03 mode is modal (Group 01) — persists across blocks via Term. Arc parameters (I/J/K/R) are per-block and must be present in every arc block. Must be placed before LinearMotionSyntax in the syntax chain. Both share the Group 01 motion slot; whichever writes a MotionEvent first claims it. CoolantSyntax Consumes M07 (mist ON), M08 (flood ON), and M09 (coolant OFF) from Flags and writes the ICoolantDef section with both IsOn (convenience flag) and Mode (abstract mode name: Flood / Mist / Off). Modal — persists via backward lookback. CoordinateOffsetUtil Shared utilities for all coordinate offset syntaxes (ISO, Siemens, Heidenhain). Handles section IO, backward lookback, and ProgramToMcTransform composition. DrillingCycleSyntax G81/G82 drilling cycle (rapid retract). Supports modal repetition. G82 covers G81 — the only difference is an optional dwell (P) at the bottom. Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point Feed from R-point to bottom Z [G82 only] Dwell P seconds at bottom Rapid from bottom to final (G98 → init Z, G99 → R) Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. FanucPathSmoothingSyntax Consumes Fanuc G05.1 (high-precision contour / AICC II / Nano Smoothing) and records the modal state in the PathSmoothing JSON section using the FanucPathSmoothing schema. Q1 enables, Q0 disables; the optional R{n} precision-level is preserved as Level. The simulation does not alter the tool path — this is a controller-internal interpolation black box; the captured state exists for bidirectional NC-text reconstruction. Modal carry to subsequent blocks is handled by ModalCarrySyntax, which already tracks the PathSmoothing section key and deep-clones it forward. FeedrateSyntax Consumes F (feedrate) from Parsing and G94/G95 mode from Flags. Both are modal — persist across blocks via backward node lookback. Writes resolved state to a IFeedrateDef section. FineBoringSyntax G76 fine boring cycle. Supports modal repetition. Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point Feed from R-point to bottom Z Oriented spindle stop (OSS) Tool shift by Q in +X direction (clear bore wall) Rapid retract (shifted) to final Z Tool shift back to center Spindle restart (CW) Q specifies the lateral shift distance (mm) to avoid dragging the tool across the finished bore surface during retract. Shift direction defaults to +X (OSS angle 0°). Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax before this syntax runs. G43p4RtcpSyntax Handles G43.4 RTCP (Rotary Tool Center Point) activation. Writes the IToolHeightCompensationDef section and the ToolHeightCompensationSource entry in ProgramToMcTransform — a tool-normal · offset_mm translation at the block endpoint ABC. The chain entry is tagged KindDynamic when RTCP is active and ABC changes across the block, and KindStatic otherwise. The RTCP kinematic rotary part (Pn→MC rigid transform) is orthogonal to this syntax and is written by PivotTransformationSyntax on every block, because rotary state remains in effect beyond the RTCP modal (e.g. a non-RTCP G01 after G49 still inherits the last ABC from the program). The \"rotary dynamic\" distinction lives on the chain entry's KindKey alone and is read via HasDynamicEntry(JsonObject) by LinearMotionSyntax to pick ClLinear vs McLinear. G43.4 is used by Fanuc, Mazak, Syntec, and Okuma. Siemens (TRAORI) and Heidenhain (M128) are handled by separate syntaxes. Must be placed after ToolHeightOffsetSyntax (to override the ToolHeightCompensation entry when RTCP is active) and before PivotTransformationSyntax (which runs last in the chain). G53p1RotaryPositionSyntax G53.1 — non-modal, one-shot rotary axis positioning. Positions the rotary axes (A/B/C) to align the physical tool axis with the active tilted work plane defined by G68.2. XYZ position is unchanged; only rotary axes move via rapid traverse. Requires IsoG68p2TiltSyntax (or equivalent) to have written the tilt transform. Uses IMachineKinematics to solve for the target A/B/C via inverse kinematics. Must be placed after IsoG68p2TiltSyntax (needs tilt data) and before ProgramXyzSyntax in the syntax chain. Writes A/B/C into MachineCoordinateState. Motion is handled by LinearMotionSyntax via modal G00/G01. HighSpeedPeckCycleSyntax G73 high-speed peck drilling cycle (chip breaking). Supports modal repetition. Drills in increments of depth Q, partially retracting by PeckRetractionDistance_mm between strokes (instead of fully back to R like PeckDrillingCycleSyntax). Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point For each stroke: feed Q deeper, rapid retract by d If remainder exists: feed to bottom Z, rapid retract by d Rapid to final (G98 → init Z, G99 → R) Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. IncrementalResolveSyntax Resolves G91 incremental axis values to absolute in-place within Parsing and its sub-sections. Reads Term written by PositioningSyntax. WorkingPathList specifies which JSON paths contain axis values that need incremental-to-absolute conversion. Default: [[\"Parsing\"], [\"Parsing\", \"G28\"]]. All matching paths are converted. Canned cycle paths (Parsing.G81, G82, G83, …) are intentionally excluded — their Z/R incremental semantics differ from normal axes (R is relative to init level, Z is relative to R-point). Resolution is handled by ResolveCycleCoordinates(JsonObject, Vec3d, double?, double?, double, double) inside each cycle syntax class, which runs before this syntax. Uses AxisNames to determine which tags are motion axes. Traces backward nodes for last known ProgramXyz to resolve incremental values. After this syntax, all axis values in the working paths are absolute — ProgramXyzSyntax can consume them without incremental logic. IsoCoordinateOffsetSyntax ISO/Fanuc/Mazak/Okuma/Syntec: resolves G54–G59.9 work coordinate offset. Reads G54/G55/.../G59.9 from Flags, looks up offset Vec3d via IIsoCoordinateConfig dependencies (e.g. brand parameter table or IsoCoordinateTable), composes into ProgramToMcTransform. Modal — active coordinate persists via backward lookback. Default coordinate ID is set by StaticInitializer. IsoG68RotationSyntax ISO/Fanuc: resolves G68 (2D coordinate rotation) and G69 (cancel). Computes a rotation Mat4d around the active plane normal and composes it into ProgramToMcTransform. No IMachineKinematics dependency needed — G68 is pure geometric rotation. Managed commands: G68, G69 (idempotent with IsoG68p2TiltSyntax). IsoG68p2TiltSyntax ISO/Fanuc: resolves G68.2 (tilted work plane) and G69 (cancel). Computes a tilt Mat4d from I/J/K euler angles (Fanuc ZXZ convention) and composes it into ProgramToMcTransform. Managed commands: G68.2, G69 (idempotent with IsoG68RotationSyntax). Siemens equivalent: CYCLE800 (separate syntax). Heidenhain equivalent: PLANE SPATIAL (separate syntax). IsoLocalCoordinateOffsetSyntax ISO G52: Local coordinate system offset (additive to G54-series). G52 X10 Y20 Z5 → sets local offset. G52 X0 Y0 Z0 → cancels (resets to zero). M30 (program end) → also cancels. Reads Parsing.G52 (from G52Syntax), writes IsoLocalCoordinateOffset section, and adds an \"IsoLocalCoordinateOffset\" entry to the transformation chain. Modal — persists via backward lookback until changed or cancelled. LinearMotionSyntax Writes McLinear motion for linear commands (ISO G00/G01, Heidenhain L/LN). Detects motion mode from Flags, writes a one-shot MotionEvent section (form + isRapid) plus a modal MotionState section (Term) when MachineCoordinateState exists on the block. McLinearMotionSemantic discriminates between XYZ-only and XYZABC motion by checking whether rotary axis values are present in MachineCoordinateState. Must be placed after McAbcSyntax in the syntax chain. MachineCoordSelectSyntax Handles G53 (machine coordinate selection) — non-modal, one-shot. The axis values (X/Y/Z) in the block are interpreted as machine coordinates, bypassing all work offsets, local coordinates, tool height compensation, and coordinate rotations. If G91 (incremental) is active, G53 is ignored per ISO standard. Must be placed before ProgramXyzSyntax in the syntax chain. When G53 is active, this syntax consumes X/Y/Z from Parsing and writes MachineCoordinateState directly, preventing ProgramXyzSyntax from processing them as program coordinates. McAbcCyclicPathSyntax Resolve modular rotary axes to the shortest cyclic path relative to the previous node. Uses IsModularRotary(string) to determine which axes within MachineCoordinateState need cyclic resolution. Falls back to hardcoded A/B/C if no IMachineAxisConfig is available. Must be placed after ProgramXyzSyntax in NcSyntaxList. Two stages, mirroring McXyzSyntax: Root MachineCoordinateState — anchored at the previous block's modal rotary state. CompoundMotion.ItemsKey[*] — sequential walk through items, anchoring item 0 at the previous block's modal state and item i > 0 at item i-1's post-cycle value (per-axis chain). Items without a rotary MachineCoordinateState are skipped. The items pass enables rotary motion (e.g. G28 ABC intermediate / home stages) to surface as motion IAct segments rather than a single root-MC stamp. McAbcSyntax Writes rotary axis values (A/B/C) into MachineCoordinateState from Parsing and modal lookback. Only active when IMachineAxisConfig declares rotary axes. Works for both 3+2-axis (no IMachineKinematics) and simultaneous 5-axis configurations. This syntax is intentionally ABC-only. When the block is rotary-only (no ProgramXyz, e.g. G00 A30.) the section is created with ABC but without X/Y/Z. McAbcXyzFallbackSyntax — placed after McXyzSyntax — copies X/Y/Z from the previous block's MachineCoordinateState to finish the section. Splitting the XYZ fill out lets this syntax run before McXyzSyntax (and before G43p4RtcpSyntax) without accidentally filling X/Y/Z from prev and thereby short-circuiting DeriveMcXyz(JsonObject, Mat4d). Missing rotary axes are filled from previous MachineCoordinateState lookback, unless the current section already has the value (e.g., from HomeMcInitializer). Values are stored in degrees (matching McAbcCyclicPathSyntax). Must be placed before McXyzSyntax so syntaxes that need the current-block ABC to compute transforms (e.g. G43p4RtcpSyntax) can see it; and before McAbcCyclicPathSyntax and LinearMotionSyntax. McAbcXyzFallbackSyntax Fills missing X/Y/Z on an ABC-only MachineCoordinateState section. Behaviour depends on whether the block is under RTCP with rotary motion, as indicated by HasDynamicEntry(JsonObject): Non-dynamic (no RTCP or RTCP with ABC stable) — the programmed tool tip stays put in MC while rotary axes (if any) are unchanged, so we simply copy X/Y/Z from the previous block's MachineCoordinateState. This matches NC modal XYZ carry-forward for rotary-only blocks such as G00 A30. (non-RTCP pivoting). Dynamic (RTCP active + ABC changing) — the programmed tool tip must stay fixed in program coordinates while MC XYZ shifts to compensate the new rotary state. Looks up the last ProgramXyz and re-derives MC = inheritedProgramXyz × composedTransform, where the composed transform is the block's endpoint chain (now including PivotTransformSource as a full rotation+translation Mat4d, so the chain already encodes the kinematic IK). The carried ProgramXyz is also stamped onto the current block so downstream consumers see a consistent ProgramXyz + MC pair. Pair with McAbcSyntax, which runs early to write ABC but deliberately leaves X/Y/Z empty so McXyzSyntax can still derive MC XYZ from ProgramXyz via the transform chain when the block carries linear motion. If McXyzSyntax has nothing to derive (no ProgramXyz), this syntax completes the MC section as described above. Does nothing when the section already carries all three of X/Y/Z (normal linear-motion blocks), or when there is no section at all (pure parse-only block that introduces no MC). Must be placed after McXyzSyntax and before McAbcCyclicPathSyntax / LinearMotionSyntax. McXyzSyntax Derives MachineCoordinateState from ProgramXyz by applying the composed ProgramToMcTransform. Processes two stages: Root ProgramXyz → root MachineCoordinate CompoundMotion.ItemsKey[*] — derives MachineCoordinate from ProgramXyz for items that have ProgramXyz but no MachineCoordinate Must be placed after syntaxes that write ProgramXyz (e.g., ReferenceReturnSyntax) and before syntaxes that read MachineCoordinate (e.g., LinearMotionSyntax). PeckDrillingCycleSyntax G83 peck drilling cycle. Supports modal repetition. Drills in increments of depth Q, fully retracting to R between strokes. Cycle sequence (per stroke): Rapid to init position (target XY, previous Z) Rapid from init to R-point For each stroke: rapid to clearance above previous depth, feed Q deeper, rapid back to R If remainder exists: feed to bottom Z, rapid to R Rapid from R/bottom to final (G98 → init Z, G99 → R) Retraction distance is read from ICannedCycleConfig (Fanuc #4002 / Syntec Pr4002, or FallbackConfig fallback). Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. PivotTransformationSyntax Writes the PivotTransformSource entry into ProgramToMcTransform on every block, capturing the Pn→MC kinematic rigid transform for the block's endpoint rotary state. Mirrors legacy HardNcLine.GetProgramXyz's use of McToPn(DVec3d) — without this entry, the transform chain would miss the rotary rotation on any block whose MachineCoordinate.ABC is non-zero, and McXyzSyntax (and ProgramXyzSyntax's inverse lookback) would silently drift. Scope is not limited to RTCP modal: as long as rotary axes are physically at a non-zero position (e.g. after a non-RTCP G00 B90 plus any subsequent motion), the kinematic chain still contributes a non-identity rigid transform that must appear in the endpoint chain. G43p4RtcpSyntax is orthogonal and only governs the dynamic-rotary KindKey tagging used by LinearMotionSyntax to pick the motion form. Chain position: must run after all Pn-frame writers (IsoG68p2TiltSyntax, ToolHeightOffsetSyntax, G43p4RtcpSyntax, IsoCoordinateOffsetSyntax, brand-specific coord offset syntaxes) so the PivotTransform entry naturally lands as the last chain element. Must run before McXyzSyntax / ProgramXyzSyntax so they see the completed chain. Silently no-ops when IMachineKinematics is absent (3-axis configurations without rotary kinematics). PlaneSelectSyntax Consumes G17/G18/G19 plane selection from Flags and writes IPlaneSelectDef section using conventional axis-pair names (XY/ZX/YZ). Modal — persists via backward lookback. Default is XY (G17). Downstream consumers (CircularMotionSyntax, IsoG68RotationSyntax) call GetPlaneNormalDir(JsonObject) to read the resolved plane. PositioningSyntax Detects G90/G91 positioning mode from Flags (or by modal lookback) and writes a Positioning section (Term, Mode) to the block JSON. Fanuc/ISO: reads G90/G91 from Flags (global modal). Heidenhain: would need a separate implementation reading I-prefix per axis. Siemens: would extend with AC()/IC() per-axis override. Does NOT convert incremental values — that is handled by IncrementalResolveSyntax which can be placed later in the syntax chain, after canned cycle syntaxes have consumed their parameters with cycle-specific G91 semantics. ProgramEndCleanSyntax Clears the per-block Vars.Volatile dictionary on blocks that triggered program end (M02 / M30, identified by the ProgramEnd section written by ProgramEndSyntax). Real Fanuc clears non-retained common variables (#100-#499) on program end + reset; this syntax models that behaviour at the simulator level. The clear happens on the same block that carried M02/M30 — the next block's VolatileVariableReadingSyntax carry then sees an empty dictionary on the predecessor and starts fresh. Pipeline placement: must run after both ProgramEndSyntax (which writes the ProgramEnd section this syntax checks) and VolatileVariableReadingSyntax (so the carry has already happened on this block; this syntax overwrites the result). Retained common variables (#500-#999, owned by RetainedCommonVariableTable) are untouched — they survive program end on real hardware (NV-RAM). Local variables (#1-#33, scope: macro call frame) are also untouched here; their lifecycle belongs to G65/G66/M99 push/pop, not program end. Also clears any active FanucModalMacro on the same edge: a G66 modal that was still active when M02/M30 hit is implicitly cancelled, matching real Fanuc reset behaviour. The section is overwritten with a G67-shaped cancel marker so the carry mechanism in FanucModalMacroSyntax sees the boundary and does not propagate the modal past the program-end edge. ProgramEndSyntax Consumes M02/M30 (program end) from Flags and writes IProgramEndDef section. Downstream syntaxes that need to reset modal state on program end (e.g. IsoLocalCoordinateOffsetSyntax for G52 reset) should read the ProgramEnd section rather than scanning for M30 in Flags directly. Must be placed before syntaxes that depend on the ProgramEnd section. ProgramStopSyntax Consumes M00 (unconditional stop) and M01 (optional stop) from Flags and writes a IProgramStopDef section on the block that carried the flag. Non-modal: the section is written only on the exact block where the stop code appears. Siblings with ProgramEndSyntax (M02/M30) which handles end-of-program, not in-program stops. The parsing layer only records NC intent. Whether M01 actually pauses the run is a runtime/semantic decision gated by the operator's \"Optional Stop\" switch (analogous to IBlockSkipConfig for block skip). ProgramXyzSyntax Resolves ProgramXyz (leaf coordinate) from syntax XYZ tags. Writes ProgramXyz sub-object to SyntaxPiece.JsonObject. Must be placed after BundleSyntax since it uses cross-node lookback for last position. McXyzSyntax (placed after this in the chain) reads ProgramXyz and writes MachineCoordinateState. ProgramXyzUtil Shared utilities for ProgramXyz and MachineCoordinateState lookback and resolution. Used by ProgramXyzSyntax, ReferenceReturnSyntax, and semantic resolvers that need position lookback. Two strategies for \"what's the program coordinate at a block's endpoint?\" — both invert an MC value through an ProgramToMcTransform chain, but they pick the chain from different nodes: By current-state transform (ComputeProgramXyzByCurrentTransform(LazyLinkedListNode, Vec3d)) — modal anchor is MachineCoordinateState. Re-expresses an MC value (typically a predecessor's modal MC) into the current block's program frame using the current block's chain. Suitable for chain-change blocks where the spindle physically stays put while the chain (G54 swap, G68.2 activation, G43.4 toggle, tool-height change, ...) re-anchors the program frame; mirrors legacy HardNcLine.RebuildProgramXyzByMc. By corresponding-state transform (ComputeProgramXyzByCorrespondingTransform(LazyLinkedListNode)) — modal anchor is ProgramXyz. Recovers the program coordinate that nodeCarryingMc was originally commanded at, by inverting that same node's own transform on its own MC. Suitable for RTCP rotary-dynamic inheritance, where the modal invariant is \"tool tip in workpiece frame stays put while rotary axes turn\" — the recovered Vec3d carries forward as the next rotary block's modal ProgramXyz unchanged, regardless of how its PivotTransform differs. Both strategies yield the same Vec3d when prev and current share the same chain modal state; they only diverge across chain boundaries (RTCP toggle, coord-system swap, tilt activation) and at rotary motion (PivotTransform difference). Pick the wrong one and the result lands in a stale frame: Non-RTCP using \"corresponding\" — leaves the pre-chain-change values, so a block emitted right after G43.4 H03 would inherit ProgramXyz still in the G49 frame and the next motion's MC.Z drifts by the introduced tool-height offset. (This was the 2026-04-25 SoftNc / HardNc divergence on DemoPmcAirPlane/NC/02-ED6L20.NC.) RTCP using \"current\" — double-counts the rotary PivotTransform difference, so the inherited workpiece anchor rotates by the C delta on every rotary block. Direct callers of the two strategy helpers are rare — typically you call the dispatcher ResolveBlockProgramXyz(LazyLinkedListNode, Vec3d) (block's own MC vs predecessor lookback, picks strategy from HasDynamicEntry(JsonObject)) or GetLastProgramXyz(LazyLinkedListNode) (pure predecessor lookback). ReferenceReturnSyntax RotaryAxisUtil Shared utilities for rotary axis (A/B/C) resolution. Used by G53p1RotaryPositionSyntax, McAbcSyntax, IsoG68p2TiltSyntax, and other syntaxes that read or write rotary axis values. SpindleSpeedSyntax Consumes S (spindle speed) and M03/M04/M05 (spindle direction) from Parsing. Both are modal — persist across blocks via backward node lookback. Writes resolved state to a ISpindleSpeedDef section. Direction is converted from ISO M-codes to the conventional SpindleDirection enum at this layer. TappingCycleSyntax G84 (right-hand) / G74 (left-hand) tapping cycles. Supports modal repetition. Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point Feed from R-point to bottom Z Spindle reverse at bottom Feed retract to final Z (G98 → init Z, G99 → R) Spindle restore to forward direction G84: forward = CW (M03), reverse = CCW (M04). G74: forward = CCW (M04), reverse = CW (M03). Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. TiltTransformUtil Shared utilities for all tilt transform syntaxes (ISO, Siemens, Heidenhain). Handles section IO, backward lookback, and ProgramToMcTransform composition. ToolChangeSyntax Consumes T (tool number) and M06 (tool change) from Parsing. T is modal — persists across blocks. M06 triggers the change. Writes resolved state to a ToolChange section: { “ToolId”: 1, “IsChange”: true, “Term”: “M06” }. TermKey records the trigger command and is only written when IsChangeKey is true (i.e. the block actually carried the tool-change M code); modal-only blocks omit it. ToolHeightOffsetSyntax Resolves ISO tool height offset (G43/G44/G49) to the effective offset value (mm) and composes the offset as a translation into the accumulated ProgramToMcTransform matrix. RTCP modes (G43.4, TRAORI, M128) are handled by separate brand-specific syntaxes (e.g., G43p4RtcpSyntax). UnitModeSyntax Detects the unit-system code (ISO Group 06: G20 inch / G21 metric) from Flags and writes a Unit section (Term, System). Modal — absence of an explicit flag inherits the previous block's unit, defaulting to Metric at program start. The HiNC pipeline works exclusively in millimetres. When G20 is detected this syntax emits an Unit--InchNotSupported Unsupported Error so upstream callers are forced to pre-convert the NC program to metric. G21 is accepted as a no-op confirmation of the default. Enums BareG28Behavior Writes ICompoundMotionDef section for G28 reference point return. Reads intermediate XYZ from Parsing.G28 (written by G28Syntax) and converts to machine coordinates via ResolveProgramXyz(JsonNode, LazyLinkedListNode, ISentenceCarrier, NcDiagnosticProgress). Must be placed after LinearMotionSyntax in the syntax chain. Removes the IMotionEventDef section written by LinearMotionSyntax (G28 handles its own motion). Overwrites root MachineCoordinateState and ProgramXyz with reference position for subsequent block lookback." + "summary": "Namespace Hi.NcParsers.LogicSyntaxs Classes BackBoringSyntax G87 back boring cycle. Supports modal repetition. Cuts upward from Z to R — used to bore the back side of a workpiece. Cycle sequence: Oriented spindle stop (OSS) at current position Rapid (shifted) to init position, then down to bottom Z — tool enters pre-drilled hole without contacting bore wall Shift back to hole center at bottom Spindle start (CW) Feed upward from Z to R-point (back boring cut) Oriented spindle stop at R Tool shift, rapid retract (shifted) to final Z Shift back to center, spindle restart Q specifies the lateral shift distance (mm). Shift direction defaults to +X (OSS angle 0°). Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax before this syntax runs. BoringCycleSyntax G85/G86/G89 boring cycles. Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point Feed from R-point to bottom Z [G86 only] Spindle stop at bottom [G89 only] Dwell P seconds at bottom Retract: G85/G89 → feed retract, G86 → rapid retract [G86 only] Spindle restart (CW) after retract G85: feed to Z, feed retract — smooth bore finish. G86: feed to Z, spindle stop (implicit), rapid retract. G89: feed to Z, dwell P, feed retract — like G85 with bottom dwell. Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. CannedCycleResolveSyntax Resolves the canned-cycle Group-09 state for the current block and writes the result to the CannedCycle section. Active cycle (direct G81..G89 or modal repeat): merges Parsing overrides with previous-cycle stored params, applies G91 incremental-to-absolute conversion and missing-axis fallback, writes CannedCycle with Term, ReturnMode, and Params. The resolved cycle sub-section is left in Parsing under the cycle code for downstream cycle syntaxes (DrillingCycleSyntax, etc.) to read. Explicit cancel (G80 flag present on a non-cycle block): consumes the G80 flag and writes CannedCycle = { Term: \"G80\" }, acting as a hard sentinel for Hi.NcParsers.LogicSyntaxs.CannedCycleSyntaxUtil modal lookback. No Group-09 activity: leaves the block untouched. Must be placed after PositioningSyntax and before the individual cycle syntaxes in the chain. CircularMotionSyntax Writes McArc motion for circular commands (ISO G02/G03). Detects motion mode from Flags, reads I/J/K center offsets or R radius from Parsing, computes arc center in program coordinates, and writes a one-shot MotionEvent (form + arc params) plus a modal MotionState (Term). G02/G03 mode is modal (Group 01) — persists across blocks via Term. Arc parameters (I/J/K/R) are per-block and must be present in every arc block. Must be placed before LinearMotionSyntax in the syntax chain. Both share the Group 01 motion slot; whichever writes a MotionEvent first claims it. CoolantSyntax Consumes M07 (mist ON), M08 (flood ON), and M09 (coolant OFF) from Flags and writes the ICoolantDef section with both IsOn (convenience flag) and Mode (abstract mode name: Flood / Mist / Off). Modal — persists via backward lookback. CoordinateOffsetUtil Shared utilities for all coordinate offset syntaxes (ISO, Siemens, Heidenhain). Handles section IO, backward lookback, and ProgramToMcTransform composition. DrillingCycleSyntax G81/G82 drilling cycle (rapid retract). Supports modal repetition. G82 covers G81 — the only difference is an optional dwell (P) at the bottom. Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point Feed from R-point to bottom Z [G82 only] Dwell P seconds at bottom Rapid from bottom to final (G98 → init Z, G99 → R) Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. FanucPathSmoothingSyntax Consumes Fanuc G05.1 (high-precision contour / AICC II / Nano Smoothing) and records the modal state in the PathSmoothing JSON section using the FanucPathSmoothing schema. Q1 enables, Q0 disables; the optional R{n} precision-level is preserved as Level. The simulation does not alter the tool path — this is a controller-internal interpolation black box; the captured state exists for bidirectional NC-text reconstruction. Modal carry to subsequent blocks is handled by ModalCarrySyntax, which already tracks the PathSmoothing section key and deep-clones it forward. FeedrateSyntax Consumes F (feedrate) from Parsing and G94/G95 mode from Flags. Both are modal — persist across blocks via backward node lookback. Writes resolved state to a IFeedrateDef section. FineBoringSyntax G76 fine boring cycle. Supports modal repetition. Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point Feed from R-point to bottom Z Oriented spindle stop (OSS) Tool shift by Q in +X direction (clear bore wall) Rapid retract (shifted) to final Z Tool shift back to center Spindle restart (CW) Q specifies the lateral shift distance (mm) to avoid dragging the tool across the finished bore surface during retract. Shift direction defaults to +X (OSS angle 0°). Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax before this syntax runs. G43p4RtcpSyntax Handles G43.4 RTCP (Rotary Tool Center Point) activation. Writes the IToolHeightCompensationDef section and the ToolHeightCompensationSource entry in ProgramToMcTransform — a tool-normal · offset_mm translation at the block endpoint ABC. The chain entry is tagged KindDynamic when RTCP is active and ABC changes across the block, and KindStatic otherwise. The RTCP kinematic rotary part (Pn→MC rigid transform) is orthogonal to this syntax and is written by PivotTransformationSyntax on every block, because rotary state remains in effect beyond the RTCP modal (e.g. a non-RTCP G01 after G49 still inherits the last ABC from the program). The \"rotary dynamic\" distinction lives on the chain entry's KindKey alone and is read via HasDynamicEntry(JsonObject) by LinearMotionSyntax to pick ClLinear vs McLinear. G43.4 is used by Fanuc, Mazak, Syntec, and Okuma. Siemens (TRAORI) and Heidenhain (M128) are handled by separate syntaxes. Must be placed after ToolHeightOffsetSyntax (to override the ToolHeightCompensation entry when RTCP is active) and before PivotTransformationSyntax (which runs last in the chain). G53p1RotaryPositionSyntax G53.1 — non-modal, one-shot rotary axis positioning. Positions the rotary axes (A/B/C) to align the physical tool axis with the active tilted work plane defined by G68.2. XYZ position is unchanged; only rotary axes move via rapid traverse. Requires IsoG68p2TiltSyntax (or equivalent) to have written the tilt transform. Uses IMachineKinematics to solve for the target A/B/C via inverse kinematics. Must be placed after IsoG68p2TiltSyntax (needs tilt data) and before ProgramXyzSyntax in the syntax chain. Writes A/B/C into MachineCoordinateState. Motion is handled by LinearMotionSyntax via modal G00/G01. HighSpeedPeckCycleSyntax G73 high-speed peck drilling cycle (chip breaking). Supports modal repetition. Drills in increments of depth Q, partially retracting by PeckRetractionDistance_mm between strokes (instead of fully back to R like PeckDrillingCycleSyntax). Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point For each stroke: feed Q deeper, rapid retract by d If remainder exists: feed to bottom Z, rapid retract by d Rapid to final (G98 → init Z, G99 → R) Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. IncrementalResolveSyntax Resolves G91 incremental axis values to absolute in-place within Parsing and its sub-sections. Reads Term written by PositioningSyntax. WorkingPathList specifies which JSON paths contain axis values that need incremental-to-absolute conversion. Default: [[\"Parsing\"], [\"Parsing\", \"G28\"]]. All matching paths are converted. Canned cycle paths (Parsing.G81, G82, G83, …) are intentionally excluded — their Z/R incremental semantics differ from normal axes (R is relative to init level, Z is relative to R-point). Resolution is handled by ResolveCycleCoordinates(JsonObject, Vec3d, double?, double?, double, double) inside each cycle syntax class, which runs before this syntax. Uses AxisNames to determine which tags are motion axes. Traces backward nodes for last known ProgramXyz to resolve incremental values. After this syntax, all axis values in the working paths are absolute — ProgramXyzSyntax can consume them without incremental logic. IsoCoordinateOffsetSyntax ISO/Fanuc/Mazak/Okuma/Syntec: resolves G54–G59.9 work coordinate offset. Reads G54/G55/.../G59.9 from Flags, looks up offset Vec3d via IIsoCoordinateConfig dependencies (e.g. brand parameter table or IsoCoordinateTable), composes into ProgramToMcTransform. Modal — active coordinate persists via backward lookback. Default coordinate ID is set by StaticInitializer. IsoG68RotationSyntax ISO/Fanuc: resolves G68 (2D coordinate rotation) and G69 (cancel). Computes a rotation Mat4d around the active plane normal and composes it into ProgramToMcTransform. No IMachineKinematics dependency needed — G68 is pure geometric rotation. Managed commands: G68, G69 (idempotent with IsoG68p2TiltSyntax). IsoG68p2TiltSyntax ISO/Fanuc: resolves G68.2 (tilted work plane) and G69 (cancel). Computes a tilt Mat4d from I/J/K euler angles (Fanuc ZXZ convention) and composes it into ProgramToMcTransform. Managed commands: G68.2, G69 (idempotent with IsoG68RotationSyntax). Siemens equivalent: CYCLE800 (separate syntax). Heidenhain equivalent: PLANE SPATIAL (separate syntax). IsoLocalCoordinateOffsetSyntax ISO G52: Local coordinate system offset (additive to G54-series). G52 X10 Y20 Z5 → sets local offset. G52 X0 Y0 Z0 → cancels (resets to zero). M30 (program end) → also cancels. Reads Parsing.G52 (from G52Syntax), writes IsoLocalCoordinateOffset section, and adds an \"IsoLocalCoordinateOffset\" entry to the transformation chain. Modal — persists via backward lookback until changed or cancelled. LinearMotionSyntax Writes McLinear motion for linear commands (ISO G00/G01, Heidenhain L/LN). Detects motion mode from Flags, writes a one-shot MotionEvent section (form + isRapid) plus a modal MotionState section (Term) when MachineCoordinateState exists on the block. McLinearMotionSemantic discriminates between XYZ-only and XYZABC motion by checking whether rotary axis values are present in MachineCoordinateState. Must be placed after McAbcSyntax in the syntax chain. MachineCoordSelectSyntax Handles G53 (machine coordinate selection) — non-modal, one-shot. The axis values (X/Y/Z) in the block are interpreted as machine coordinates, bypassing all work offsets, local coordinates, tool height compensation, and coordinate rotations. If G91 (incremental) is active, G53 is ignored per ISO standard. Must be placed before ProgramXyzSyntax in the syntax chain. When G53 is active, this syntax consumes X/Y/Z from Parsing and writes MachineCoordinateState directly, preventing ProgramXyzSyntax from processing them as program coordinates. McAbcCyclicPathSyntax Resolve modular rotary axes to the shortest cyclic path relative to the previous node. Uses IsModularRotary(string) to determine which axes within MachineCoordinateState need cyclic resolution. Falls back to hardcoded A/B/C if no IMachineAxisConfig is available. Must be placed after ProgramXyzSyntax in NcSyntaxList. Two stages, mirroring McXyzSyntax: Root MachineCoordinateState — anchored at the previous block's modal rotary state. CompoundMotion.ItemsKey[*] — sequential walk through items, anchoring item 0 at the previous block's modal state and item i > 0 at item i-1's post-cycle value (per-axis chain). Items without a rotary MachineCoordinateState are skipped. The items pass enables rotary motion (e.g. G28 ABC intermediate / home stages) to surface as motion IAct segments rather than a single root-MC stamp. McAbcSyntax Writes rotary axis values (A/B/C) into MachineCoordinateState from Parsing and modal lookback. Only active when IMachineAxisConfig declares rotary axes. Works for both 3+2-axis (no IMachineKinematics) and simultaneous 5-axis configurations. This syntax is intentionally ABC-only. When the block is rotary-only (no ProgramXyz, e.g. G00 A30.) the section is created with ABC but without X/Y/Z. McAbcXyzFallbackSyntax — placed after McXyzSyntax — copies X/Y/Z from the previous block's MachineCoordinateState to finish the section. Splitting the XYZ fill out lets this syntax run before McXyzSyntax (and before G43p4RtcpSyntax) without accidentally filling X/Y/Z from prev and thereby short-circuiting DeriveMcXyz(JsonObject, Mat4d). Missing rotary axes are filled from previous MachineCoordinateState lookback, unless the current section already has the value (e.g., from HomeMcInitializer). Values are stored in degrees (matching McAbcCyclicPathSyntax). Must be placed before McXyzSyntax so syntaxes that need the current-block ABC to compute transforms (e.g. G43p4RtcpSyntax) can see it; and before McAbcCyclicPathSyntax and LinearMotionSyntax. McAbcXyzFallbackSyntax Fills missing X/Y/Z on an ABC-only MachineCoordinateState section. Behaviour depends on whether the block is under RTCP with rotary motion, as indicated by HasDynamicEntry(JsonObject): Non-dynamic (no RTCP or RTCP with ABC stable) — the programmed tool tip stays put in MC while rotary axes (if any) are unchanged, so we simply copy X/Y/Z from the previous block's MachineCoordinateState. This matches NC modal XYZ carry-forward for rotary-only blocks such as G00 A30. (non-RTCP pivoting). Dynamic (RTCP active + ABC changing) — the programmed tool tip must stay fixed in program coordinates while MC XYZ shifts to compensate the new rotary state. Looks up the last ProgramXyz and re-derives MC = inheritedProgramXyz × composedTransform, where the composed transform is the block's endpoint chain (now including PivotTransformSource as a full rotation+translation Mat4d, so the chain already encodes the kinematic IK). The carried ProgramXyz is also stamped onto the current block so downstream consumers see a consistent ProgramXyz + MC pair. Pair with McAbcSyntax, which runs early to write ABC but deliberately leaves X/Y/Z empty so McXyzSyntax can still derive MC XYZ from ProgramXyz via the transform chain when the block carries linear motion. If McXyzSyntax has nothing to derive (no ProgramXyz), this syntax completes the MC section as described above. Does nothing when the section already carries all three of X/Y/Z (normal linear-motion blocks), or when there is no section at all (pure parse-only block that introduces no MC). Must be placed after McXyzSyntax and before McAbcCyclicPathSyntax / LinearMotionSyntax. McXyzSyntax Derives MachineCoordinateState from ProgramXyz by applying the composed ProgramToMcTransform. Processes two stages: Root ProgramXyz → root MachineCoordinate CompoundMotion.ItemsKey[*] — derives MachineCoordinate from ProgramXyz for items that have ProgramXyz but no MachineCoordinate Must be placed after syntaxes that write ProgramXyz (e.g., ReferenceReturnSyntax) and before syntaxes that read MachineCoordinate (e.g., LinearMotionSyntax). PeckDrillingCycleSyntax G83 peck drilling cycle. Supports modal repetition. Drills in increments of depth Q, fully retracting to R between strokes. Cycle sequence (per stroke): Rapid to init position (target XY, previous Z) Rapid from init to R-point For each stroke: rapid to clearance above previous depth, feed Q deeper, rapid back to R If remainder exists: feed to bottom Z, rapid to R Rapid from R/bottom to final (G98 → init Z, G99 → R) Retraction distance is read from ICannedCycleConfig (Fanuc #4002 / Syntec Pr4002, or FallbackConfig fallback). Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. PivotTransformationSyntax Writes the PivotTransformSource entry into ProgramToMcTransform on every block, capturing the Pn→MC kinematic rigid transform for the block's endpoint rotary state. Mirrors legacy HardNcLine.GetProgramXyz's use of McToPn(DVec3d) — without this entry, the transform chain would miss the rotary rotation on any block whose MachineCoordinate.ABC is non-zero, and McXyzSyntax (and ProgramXyzSyntax's inverse lookback) would silently drift. Scope is not limited to RTCP modal: as long as rotary axes are physically at a non-zero position (e.g. after a non-RTCP G00 B90 plus any subsequent motion), the kinematic chain still contributes a non-identity rigid transform that must appear in the endpoint chain. G43p4RtcpSyntax is orthogonal and only governs the dynamic-rotary KindKey tagging used by LinearMotionSyntax to pick the motion form. Chain position: must run after all Pn-frame writers (IsoG68p2TiltSyntax, ToolHeightOffsetSyntax, G43p4RtcpSyntax, IsoCoordinateOffsetSyntax, brand-specific coord offset syntaxes) so the PivotTransform entry naturally lands as the last chain element. Must run before McXyzSyntax / ProgramXyzSyntax so they see the completed chain. Silently no-ops when IMachineKinematics is absent (3-axis configurations without rotary kinematics). PlaneSelectSyntax Consumes G17/G18/G19 plane selection from Flags and writes IPlaneSelectDef section using conventional axis-pair names (XY/ZX/YZ). Modal — persists via backward lookback. Default is XY (G17). Downstream consumers (CircularMotionSyntax, IsoG68RotationSyntax) call GetPlaneNormalDir(JsonObject) to read the resolved plane. PositioningSyntax Detects G90/G91 positioning mode from Flags (or by modal lookback) and writes a Positioning section (Term, Mode) to the block JSON. Fanuc/ISO: reads G90/G91 from Flags (global modal). Heidenhain: would need a separate implementation reading I-prefix per axis. Siemens: would extend with AC()/IC() per-axis override. Does NOT convert incremental values — that is handled by IncrementalResolveSyntax which can be placed later in the syntax chain, after canned cycle syntaxes have consumed their parameters with cycle-specific G91 semantics. ProgramEndCleanSyntax Clears the per-block Vars.Volatile dictionary on blocks that triggered program end (M02 / M30, identified by the ProgramEnd section written by ProgramEndSyntax). Real Fanuc clears non-retained common variables (#100-#499) on program end + reset; this syntax models that behaviour at the simulator level. The clear happens on the same block that carried M02/M30 — the next block's VolatileVariableReadingSyntax carry then sees an empty dictionary on the predecessor and starts fresh. Pipeline placement: must run after both ProgramEndSyntax (which writes the ProgramEnd section this syntax checks) and VolatileVariableReadingSyntax (so the carry has already happened on this block; this syntax overwrites the result). Retained common variables (#500-#999, owned by RetainedCommonVariableTable) are untouched — they survive program end on real hardware (NV-RAM). Local variables (#1-#33, scope: macro call frame) are also untouched here; their lifecycle belongs to G65/G66/M99 push/pop, not program end. Also clears any active FanucModalMacro on the same edge: a G66 modal that was still active when M02/M30 hit is implicitly cancelled, matching real Fanuc reset behaviour. The section is overwritten with a G67-shaped cancel marker so the carry mechanism in FanucModalMacroSyntax sees the boundary and does not propagate the modal past the program-end edge. ProgramEndSyntax Consumes M02/M30 (program end) from Flags and writes IProgramEndDef section. Downstream syntaxes that need to reset modal state on program end (e.g. IsoLocalCoordinateOffsetSyntax for G52 reset) should read the ProgramEnd section rather than scanning for M30 in Flags directly. Must be placed before syntaxes that depend on the ProgramEnd section. ProgramStopSyntax Consumes M00 (unconditional stop) and M01 (optional stop) from Flags and writes a IProgramStopDef section on the block that carried the flag. Non-modal: the section is written only on the exact block where the stop code appears. Siblings with ProgramEndSyntax (M02/M30) which handles end-of-program, not in-program stops. The parsing layer only records NC intent. Whether M01 actually pauses the run is a runtime/semantic decision gated by the operator's \"Optional Stop\" switch (analogous to IBlockSkipConfig for block skip). ProgramXyzSyntax Resolves ProgramXyz (leaf coordinate) from syntax XYZ tags. Writes ProgramXyz sub-object to SyntaxPiece.JsonObject. Must be placed after BundleSyntax since it uses cross-node lookback for last position. McXyzSyntax (placed after this in the chain) reads ProgramXyz and writes MachineCoordinateState. ProgramXyzUtil Shared utilities for ProgramXyz and MachineCoordinateState lookback and resolution. Used by ProgramXyzSyntax, ReferenceReturnSyntax, and semantic resolvers that need position lookback. Two strategies for \"what's the program coordinate at a block's endpoint?\" — both invert an MC value through an ProgramToMcTransform chain, but they pick the chain from different nodes: By current-state transform (ComputeProgramXyzByCurrentTransform(LazyLinkedListNode, Vec3d)) — modal anchor is MachineCoordinateState. Re-expresses an MC value (typically a predecessor's modal MC) into the current block's program frame using the current block's chain. Suitable for chain-change blocks where the spindle physically stays put while the chain (G54 swap, G68.2 activation, G43.4 toggle, tool-height change, ...) re-anchors the program frame; mirrors legacy HardNcLine.RebuildProgramXyzByMc. By corresponding-state transform (ComputeProgramXyzByCorrespondingTransform(LazyLinkedListNode)) — modal anchor is ProgramXyz. Recovers the program coordinate that nodeCarryingMc was originally commanded at, by inverting that same node's own transform on its own MC. Suitable for RTCP rotary-dynamic inheritance, where the modal invariant is \"tool tip in workpiece frame stays put while rotary axes turn\" — the recovered Vec3d carries forward as the next rotary block's modal ProgramXyz unchanged, regardless of how its PivotTransform differs. Both strategies yield the same Vec3d when prev and current share the same chain modal state; they only diverge across chain boundaries (RTCP toggle, coord-system swap, tilt activation) and at rotary motion (PivotTransform difference). Pick the wrong one and the result lands in a stale frame: Non-RTCP using \"corresponding\" — leaves the pre-chain-change values, so a block emitted right after G43.4 H03 would inherit ProgramXyz still in the G49 frame and the next motion's MC.Z drifts by the introduced tool-height offset. (This was the 2026-04-25 SoftNc / HardNc divergence on DemoPmcAirPlane/NC/02-ED6L20.NC.) RTCP using \"current\" — double-counts the rotary PivotTransform difference, so the inherited workpiece anchor rotates by the C delta on every rotary block. Direct callers of the two strategy helpers are rare — typically you call the dispatcher ResolveBlockProgramXyz(LazyLinkedListNode, Vec3d) (block's own MC vs predecessor lookback, picks strategy from HasDynamicEntry(JsonObject)) or GetLastProgramXyz(LazyLinkedListNode) (pure predecessor lookback). ReferenceReturnSyntax G28 reference point return syntax. Behaviour is documented in detail on the example attached to BareG28Behavior; this class is the ISituNcSyntax implementation that the BareG28 property configures. RotaryAxisUtil Shared utilities for rotary axis (A/B/C) resolution. Used by G53p1RotaryPositionSyntax, McAbcSyntax, IsoG68p2TiltSyntax, and other syntaxes that read or write rotary axis values. SpindleSpeedSyntax Consumes S (spindle speed) and M03/M04/M05 (spindle direction) from Parsing. Both are modal — persist across blocks via backward node lookback. Writes resolved state to a ISpindleSpeedDef section. Direction is converted from ISO M-codes to the conventional SpindleDirection enum at this layer. TappingCycleSyntax G84 (right-hand) / G74 (left-hand) tapping cycles. Supports modal repetition. Cycle sequence: Rapid to init position (target XY, previous Z) Rapid from init to R-point Feed from R-point to bottom Z Spindle reverse at bottom Feed retract to final Z (G98 → init Z, G99 → R) Spindle restore to forward direction G84: forward = CW (M03), reverse = CCW (M04). G74: forward = CCW (M04), reverse = CW (M03). Reads absolute coordinates from the cycle section, which is resolved by CannedCycleResolveSyntax (modal repetition, G91 conversion, missing-axis fallback) before this syntax runs. Must be placed after CannedCycleResolveSyntax and before IncrementalResolveSyntax in the syntax chain. TiltTransformUtil Shared utilities for all tilt transform syntaxes (ISO, Siemens, Heidenhain). Handles section IO, backward lookback, and ProgramToMcTransform composition. ToolChangeSyntax Consumes T (tool number) and M06 (tool change) from Parsing. T is modal — persists across blocks. M06 triggers the change. Writes resolved state to a ToolChange section: { “ToolId”: 1, “IsChange”: true, “Term”: “M06” }. TermKey records the trigger command and is only written when IsChangeKey is true (i.e. the block actually carried the tool-change M code); modal-only blocks omit it. ToolHeightOffsetSyntax Resolves ISO tool height offset (G43/G44/G49) to the effective offset value (mm) and composes the offset as a translation into the accumulated ProgramToMcTransform matrix. RTCP modes (G43.4, TRAORI, M128) are handled by separate brand-specific syntaxes (e.g., G43p4RtcpSyntax). UnitModeSyntax Detects the unit-system code (ISO Group 06: G20 inch / G21 metric) from Flags and writes a Unit section (Term, System). Modal — absence of an explicit flag inherits the previous block's unit, defaulting to Metric at program start. The HiNC pipeline works exclusively in millimetres. When G20 is detected this syntax emits an Unit--InchNotSupported Unsupported Error so upstream callers are forced to pre-convert the NC program to metric. G21 is accepted as a no-op confirmation of the default. Enums BareG28Behavior Writes ICompoundMotionDef section for G28 reference point return. Reads intermediate XYZ from Parsing.G28 (written by G28Syntax) and converts to machine coordinates via ResolveProgramXyz(JsonNode, LazyLinkedListNode, ISentenceCarrier, NcDiagnosticProgress). Must be placed after LinearMotionSyntax in the syntax chain. Removes the IMotionEventDef section written by LinearMotionSyntax (G28 handles its own motion). Overwrites root MachineCoordinateState and ProgramXyz with reference position for subsequent block lookback." }, "api/Hi.NcParsers.NcDiagnostic.html": { "href": "api/Hi.NcParsers.NcDiagnostic.html", @@ -4632,17 +4632,17 @@ "api/Hi.NcParsers.ParsingSyntaxs.BlockSkipSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.BlockSkipSyntax.html", "title": "Class BlockSkipSyntax | HiAPI-C# 2025", - "summary": "Class BlockSkipSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Parses the ISO 6983 / Fanuc Block Delete (a.k.a. Block Skip) prefix / or /N (N = 1..9) at the head of an NC block. Behaviour: No leading / → no-op, no BlockSkip section is written. / with IBlockSkipConfig layer OFF (or the dependency absent) → prefix is consumed, BlockSkip Symbol/Layer recorded for audit, Body stays null; the rest of the block stays in UnparsedText and parses normally. / with layer ON → the remaining block text is moved from UnparsedText into Body and UnparsedText is cleared. Downstream parsing syntaxes see no NC text so they emit nothing; semantics therefore produce no act. Must run after comment / CsScript syntaxes so that comments (and CsScript embedded in comments) continue to take effect regardless of the skip switch. public class BlockSkipSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object BlockSkipSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: /X100 Y200 #AfterBuild: { \"UnparsedText\": \"X100 Y200\", \"BlockSkip\": { \"Symbol\": \"/\", \"Layer\": 1 } } #BeforeBuild.UnparsedText: /3 G01 X0 #AfterBuild: { \"UnparsedText\": \"G01 X0\", \"BlockSkip\": { \"Symbol\": \"/\", \"Layer\": 3 } } Constructors BlockSkipSyntax() Initializes a new instance with default settings. public BlockSkipSyntax() BlockSkipSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public BlockSkipSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class BlockSkipSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Parses the ISO 6983 / Fanuc Block Delete (a.k.a. Block Skip) prefix / or /N (N = 1..9) at the head of an NC block. Behaviour: No leading / → no-op, no BlockSkip section is written. / with IBlockSkipConfig layer OFF (or the dependency absent) → prefix is consumed, BlockSkip Symbol/Layer recorded for audit, Body stays null; the rest of the block stays in UnparsedText and parses normally. / with layer ON → the remaining block text is moved from UnparsedText into Body and UnparsedText is cleared. Downstream parsing syntaxes see no NC text so they emit nothing; semantics therefore produce no act. Must run after comment / CsScript syntaxes so that comments (and CsScript embedded in comments) continue to take effect regardless of the skip switch. public class BlockSkipSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object BlockSkipSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: /X100 Y200 #AfterBuild: { \"UnparsedText\": \"X100 Y200\", \"BlockSkip\": { \"Symbol\": \"/\", \"Layer\": 1 } } #BeforeBuild.UnparsedText: /3 G01 X0 #AfterBuild: { \"UnparsedText\": \"G01 X0\", \"BlockSkip\": { \"Symbol\": \"/\", \"Layer\": 3 } } Constructors BlockSkipSyntax() Initializes a new instance with default settings. public BlockSkipSyntax() BlockSkipSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public BlockSkipSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.html", "title": "Class QuoteCommentSyntax | HiAPI-C# 2025", - "summary": "Class QuoteCommentSyntax Namespace Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs Assembly HiMech.dll Parses parenthesized comments such as (comment text) from the remaining unparsed text and emits a Comment section with the () symbol. public class QuoteCommentSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object QuoteCommentSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: (only a comment) #AfterBuild: { \"Comment\": { \"Symbol\": \"()\", \"Text\": \"only a comment\" } } #BeforeBuild.UnparsedText: G01 X100 (mid-line comment) #AfterBuild: { \"UnparsedText\": \"G01 X100\", \"Comment\": { \"Symbol\": \"()\", \"Text\": \"mid-line comment\" } } Constructors QuoteCommentSyntax() Initializes a new instance with default settings. public QuoteCommentSyntax() QuoteCommentSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public QuoteCommentSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class QuoteCommentSyntax Namespace Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs Assembly HiMech.dll Parses parenthesized comments such as (comment text) from the remaining unparsed text and emits a Comment section with the () symbol. public class QuoteCommentSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object QuoteCommentSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: (only a comment) #AfterBuild: { \"Comment\": { \"Symbol\": \"()\", \"Text\": \"only a comment\" } } #BeforeBuild.UnparsedText: G01 X100 (mid-line comment) #AfterBuild: { \"UnparsedText\": \"G01 X100\", \"Comment\": { \"Symbol\": \"()\", \"Text\": \"mid-line comment\" } } Constructors QuoteCommentSyntax() Initializes a new instance with default settings. public QuoteCommentSyntax() QuoteCommentSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public QuoteCommentSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.TailCommentSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.TailCommentSyntax.html", "title": "Class TailCommentSyntax | HiAPI-C# 2025", - "summary": "Class TailCommentSyntax Namespace Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs Assembly HiMech.dll In-situ syntax that strips a trailing comment from the NC line: text from a configured TailSymbol to end-of-line is moved into Comment on the block JSON. public class TailCommentSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object TailCommentSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: ;header comment (with TailSymbol=\";\") #AfterBuild: { \"Comment\": { \"Symbol\": \";\", \"Text\": \"header comment\" } } #BeforeBuild.UnparsedText: G01 X100 ;mid comment (with TailSymbol=\";\") #AfterBuild: { \"UnparsedText\": \"G01 X100\", \"Comment\": { \"Symbol\": \";\", \"Text\": \"mid comment\" } } Constructors TailCommentSyntax(string) Creates syntax with the given tail marker; used from code or tests without XML. public TailCommentSyntax(string tailSymbol) Parameters tailSymbol string Marker that starts the tail comment segment. TailCommentSyntax(XElement) Loads TailSymbol from persisted XML. public TailCommentSyntax(XElement src) Parameters src XElement Serialized syntax element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string TailSymbol First character(s) of the tail comment marker (e.g. ; or //). public string TailSymbol { get; set; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class TailCommentSyntax Namespace Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs Assembly HiMech.dll In-situ syntax that strips a trailing comment from the NC line: text from a configured TailSymbol to end-of-line is moved into Comment on the block JSON. public class TailCommentSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object TailCommentSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: ;header comment (with TailSymbol=\";\") #AfterBuild: { \"Comment\": { \"Symbol\": \";\", \"Text\": \"header comment\" } } #BeforeBuild.UnparsedText: G01 X100 ;mid comment (with TailSymbol=\";\") #AfterBuild: { \"UnparsedText\": \"G01 X100\", \"Comment\": { \"Symbol\": \";\", \"Text\": \"mid comment\" } } Constructors TailCommentSyntax(string) Creates syntax with the given tail marker; used from code or tests without XML. public TailCommentSyntax(string tailSymbol) Parameters tailSymbol string Marker that starts the tail comment segment. TailCommentSyntax(XElement) Loads TailSymbol from persisted XML. public TailCommentSyntax(XElement src) Parameters src XElement Serialized syntax element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string TailSymbol First character(s) of the tail comment marker (e.g. ; or //). public string TailSymbol { get; set; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.html", @@ -4652,22 +4652,22 @@ "api/Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.html", "title": "Class CsScriptSyntax | HiAPI-C# 2025", - "summary": "Class CsScriptSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Extracts C# script markers from the oral content of a comment. PreMarker marks a script that runs before the NC block; PostMarker marks a script that runs after. The symbols are configurable and serialized to XML. public class CsScriptSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object CsScriptSyntax Implements ISituNcSyntax INcSyntax 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 CsScriptSyntax() Creates syntax with DefaultPreMarker and DefaultPostMarker. public CsScriptSyntax() CsScriptSyntax(XElement) Loads pre/post script markers from persisted XML. public CsScriptSyntax(XElement src) Parameters src XElement Root element named XName. Fields DefaultPostMarker Default end-of-block script delimiter when none is configured in XML. public const string DefaultPostMarker = \"@@^\" Field Value string DefaultPreMarker Default begin-of-block script delimiter when none is configured in XML. public const string DefaultPreMarker = \"@@\" Field Value string Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string PostMarker Marker prefix for end-of-block script (runs after the NC block). public string PostMarker { get; set; } Property Value string PreMarker Marker prefix for begin-of-block script (runs before the NC block). public string PreMarker { get; set; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class CsScriptSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Extracts C# script markers from the oral content of a comment. PreMarker marks a script that runs before the NC block; PostMarker marks a script that runs after. The symbols are configurable and serialized to XML. public class CsScriptSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object CsScriptSyntax Implements ISituNcSyntax INcSyntax 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 CsScriptSyntax() Creates syntax with DefaultPreMarker and DefaultPostMarker. public CsScriptSyntax() CsScriptSyntax(XElement) Loads pre/post script markers from persisted XML. public CsScriptSyntax(XElement src) Parameters src XElement Root element named XName. Fields DefaultPostMarker Default end-of-block script delimiter when none is configured in XML. public const string DefaultPostMarker = \"@@^\" Field Value string DefaultPreMarker Default begin-of-block script delimiter when none is configured in XML. public const string DefaultPreMarker = \"@@\" Field Value string Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string PostMarker Marker prefix for end-of-block script (runs after the NC block). public string PostMarker { get; set; } Property Value string PreMarker Marker prefix for begin-of-block script (runs before the NC block). public string PreMarker { get; set; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucGotoParsingSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucGotoParsingSyntax.html", "title": "Class FanucGotoParsingSyntax | HiAPI-C# 2025", - "summary": "Class FanucGotoParsingSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Fanuc Assembly HiMech.dll Parses Fanuc Custom Macro B GOTO phrases out of the remaining UnparsedText into a Parsing.FanucGoto sub-object. Two forms are recognised: GOTO — unconditional jump. IF [] GOTO — conditional jump. IF [...] GOTO is matched as a single phrase, not as an IF syntax composed with a GOTO syntax — Fanuc only permits the two fixed forms (the other being IF [...] THEN , out of scope here), so a phrase-level parser is more faithful and avoids parsing-ambiguity rabbit holes. is captured as a raw token (literal like \"100\", variable like \"#1\", or bracketed expression like \"#[#2+5]\"). VariableEvaluatorSyntax substitutes the resolved literal back into the same field downstream; FanucGotoSyntax then parses the final string as an int. Storing as a string at parsing time mirrors how axis tags and canned-cycle params accept #N references and the evaluator rewrites them in place. Pipeline placement: after HeadIndexSyntax (so the leading N{seq} on a block like N50 GOTO 100 has already been consumed) and after QuoteCommentSyntax (so a parenthesised (GOTO 100) inside a comment never matches). The phrase consumes the entire remaining text on the block — Fanuc allows only the GOTO / IF-GOTO phrase after any preceding head index, no other instructions on the same block. public class FanucGotoParsingSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucGotoParsingSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: GOTO 100 #AfterBuild: { \"Parsing\": { \"FanucGoto\": { \"Term\": \"GOTO\", \"N\": \"100\" } } } #BeforeBuild.UnparsedText: GOTO #1 #AfterBuild: { \"Parsing\": { \"FanucGoto\": { \"Term\": \"GOTO\", \"N\": \"#1\" } } } #BeforeBuild.UnparsedText: IF [#1 GT 0] GOTO 100 #AfterBuild: { \"Parsing\": { \"FanucGoto\": { \"Term\": \"IF...GOTO\", \"N\": \"100\", \"Condition\": \"#1 GT 0\" } } } Constructors FanucGotoParsingSyntax() Parameterless instance for bundle composition (no XML state). public FanucGotoParsingSyntax() FanucGotoParsingSyntax(XElement) XML ctor (no child elements; reserved for forward compatibility). public FanucGotoParsingSyntax(XElement src) Parameters src XElement Root element named XName. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FanucGotoParsingSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Fanuc Assembly HiMech.dll Parses Fanuc Custom Macro B GOTO phrases out of the remaining UnparsedText into a Parsing.FanucGoto sub-object. Two forms are recognised: GOTO — unconditional jump. IF [] GOTO — conditional jump. IF [...] GOTO is matched as a single phrase, not as an IF syntax composed with a GOTO syntax — Fanuc only permits the two fixed forms (the other being IF [...] THEN , out of scope here), so a phrase-level parser is more faithful and avoids parsing-ambiguity rabbit holes. is captured as a raw token (literal like \"100\", variable like \"#1\", or bracketed expression like \"#[#2+5]\"). VariableEvaluatorSyntax substitutes the resolved literal back into the same field downstream; FanucGotoSyntax then parses the final string as an int. Storing as a string at parsing time mirrors how axis tags and canned-cycle params accept #N references and the evaluator rewrites them in place. Pipeline placement: after HeadIndexSyntax (so the leading N{seq} on a block like N50 GOTO 100 has already been consumed) and after QuoteCommentSyntax (so a parenthesised (GOTO 100) inside a comment never matches). The phrase consumes the entire remaining text on the block — Fanuc allows only the GOTO / IF-GOTO phrase after any preceding head index, no other instructions on the same block. public class FanucGotoParsingSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucGotoParsingSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: GOTO 100 #AfterBuild: { \"Parsing\": { \"FanucGoto\": { \"Term\": \"GOTO\", \"N\": \"100\" } } } #BeforeBuild.UnparsedText: GOTO #1 #AfterBuild: { \"Parsing\": { \"FanucGoto\": { \"Term\": \"GOTO\", \"N\": \"#1\" } } } #BeforeBuild.UnparsedText: IF [#1 GT 0] GOTO 100 #AfterBuild: { \"Parsing\": { \"FanucGoto\": { \"Term\": \"IF...GOTO\", \"N\": \"100\", \"Condition\": \"#1 GT 0\" } } } Constructors FanucGotoParsingSyntax() Parameterless instance for bundle composition (no XML state). public FanucGotoParsingSyntax() FanucGotoParsingSyntax(XElement) XML ctor (no child elements; reserved for forward compatibility). public FanucGotoParsingSyntax(XElement src) Parameters src XElement Root element named XName. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.html", "title": "Class FanucIfThenParsingSyntax | HiAPI-C# 2025", - "summary": "Class FanucIfThenParsingSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Fanuc Assembly HiMech.dll Parses the Fanuc Custom Macro B IF [] THEN single-block conditional phrase out of UnparsedText into a Parsing.FanucIfThen sub-object. Sibling to FanucGotoParsingSyntax — Fanuc spec only permits two IF-led control phrases (IF [...] GOTO handled there, IF [...] THEN handled here) so each form is matched phrase-level rather than composed from a generic IF combinator. Body shape. The body after THEN is conceptually a single statement that affects the current block only — no jump, no label scan. Almost always a Custom Macro B assignment (#nnn = ); multiple assignments in the same body (#100 = 5. #101 = #100 + 1) are also accepted. The parsing syntax pre-extracts these via GrabTagAssignment(ref string, IEnumerable, string, IEnumerable) into Parsing.FanucIfThen.PendingAssignments as {tag: rhs-string} entries — that shape lets VariableEvaluatorSyntax's pass-2 tree walk substitute each RHS to a numeric in place, and lets FanucIfThenSyntax lift the resolved entries into Parsing.Assignments only when the gate condition fires (so unfired bodies leave no trace in the readers). Pipeline placement. This syntax must run before FanucGotoParsingSyntax — the bare IF-GOTO regex over there (^IF[..]GOTO n$) is anchored, but consuming IF-THEN here first keeps the two phrases textually disjoint and avoids any future regression if either regex is loosened. Also placed before TagAssignmentSyntax so a bare IF [...] THEN #100 = 5. is not first half-eaten as a plain assignment. Raw BodyText is retained verbatim on the parsing section regardless of whether the body parsed as assignments — it carries the round-trip view and lets the evaluation syntax warn (FanucIfThen--UnsupportedBody) if no PendingAssignments were produced on a truthy condition. public class FanucIfThenParsingSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucIfThenParsingSyntax Implements ISituNcSyntax INcSyntax 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) Examples #Input: IF [#1 GT 0] THEN #100 = #500 + 1 #Output: { \"Parsing\": { \"FanucIfThen\": { \"Condition\": \"#1 GT 0\", \"BodyText\": \"#100 = #500 + 1\", \"PendingAssignments\": { \"#100\": \"#500 + 1\" } } } } Constructors FanucIfThenParsingSyntax() Parameterless instance for bundle composition (no XML state). public FanucIfThenParsingSyntax() FanucIfThenParsingSyntax(XElement) XML ctor (no child elements; reserved for forward compatibility). public FanucIfThenParsingSyntax(XElement src) Parameters src XElement Root element named XName. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FanucIfThenParsingSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Fanuc Assembly HiMech.dll Parses the Fanuc Custom Macro B IF [] THEN single-block conditional phrase out of UnparsedText into a Parsing.FanucIfThen sub-object. Sibling to FanucGotoParsingSyntax — Fanuc spec only permits two IF-led control phrases (IF [...] GOTO handled there, IF [...] THEN handled here) so each form is matched phrase-level rather than composed from a generic IF combinator. Body shape. The body after THEN is conceptually a single statement that affects the current block only — no jump, no label scan. Almost always a Custom Macro B assignment (#nnn = ); multiple assignments in the same body (#100 = 5. #101 = #100 + 1) are also accepted. The parsing syntax pre-extracts these via GrabTagAssignment(ref string, IEnumerable, string, IEnumerable) into Parsing.FanucIfThen.PendingAssignments as {tag: rhs-string} entries — that shape lets VariableEvaluatorSyntax's pass-2 tree walk substitute each RHS to a numeric in place, and lets FanucIfThenSyntax lift the resolved entries into Parsing.Assignments only when the gate condition fires (so unfired bodies leave no trace in the readers). Pipeline placement. This syntax must run before FanucGotoParsingSyntax — the bare IF-GOTO regex over there (^IF[..]GOTO n$) is anchored, but consuming IF-THEN here first keeps the two phrases textually disjoint and avoids any future regression if either regex is loosened. Also placed before TagAssignmentSyntax so a bare IF [...] THEN #100 = 5. is not first half-eaten as a plain assignment. Raw BodyText is retained verbatim on the parsing section regardless of whether the body parsed as assignments — it carries the round-trip view and lets the evaluation syntax warn (FanucIfThen--UnsupportedBody) if no PendingAssignments were produced on a truthy condition. public class FanucIfThenParsingSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucIfThenParsingSyntax Implements ISituNcSyntax INcSyntax 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) Examples #Input: IF [#1 GT 0] THEN #100 = #500 + 1 #Output: { \"Parsing\": { \"FanucIfThen\": { \"Condition\": \"#1 GT 0\", \"BodyText\": \"#100 = #500 + 1\", \"PendingAssignments\": { \"#100\": \"#500 + 1\" } } } } Constructors FanucIfThenParsingSyntax() Parameterless instance for bundle composition (no XML state). public FanucIfThenParsingSyntax() FanucIfThenParsingSyntax(XElement) XML ctor (no child elements; reserved for forward compatibility). public FanucIfThenParsingSyntax(XElement src) Parameters src XElement Root element named XName. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucProgramNumberSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucProgramNumberSyntax.html", "title": "Class FanucProgramNumberSyntax | HiAPI-C# 2025", - "summary": "Class FanucProgramNumberSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Fanuc Assembly HiMech.dll Detects a Fanuc-family program identifier header — O1234 or — that follows a TapeBoundary line, and records it under FanucProgramNumber on the block JSON. The wrapping form (bare vs angle-bracketed) is preserved in Wrapper so the block can be emitted back to its original notation. public class FanucProgramNumberSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucProgramNumberSyntax Implements ISituNcSyntax INcSyntax 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) Examples Bare O1234 on the first block of the stream (no #Previous:) — start-of-stream is itself a tape boundary per IsPreviousNodeTapeBoundary(LazyLinkedListNode), so the syntax fires; the consumed text leaves nothing behind: #BeforeBuild.UnparsedText: O1234 #AfterBuild: { \"FanucProgramNumber\": { \"Number\": \"1234\", \"Wrapper\": \"None\" } } Angle-bracketed after an explicit TapeBoundary block (% on the prior line) — Wrapper records the surface form: #Previous: { \"TapeBoundary\": { \"Text\": \"\" } } #BeforeBuild.UnparsedText: #AfterBuild: { \"FanucProgramNumber\": { \"Number\": \"5678\", \"Wrapper\": \"Angle\" } } O1234 followed by trailing text (e.g. an inline comment) — only the program-number header is consumed; the rest stays on UnparsedText for downstream syntaxes to handle: #Previous: { \"TapeBoundary\": { \"Text\": \"\" } } #BeforeBuild.UnparsedText: O1234 (PART-A) #AfterBuild: { \"UnparsedText\": \"(PART-A)\", \"FanucProgramNumber\": { \"Number\": \"1234\", \"Wrapper\": \"None\" } } Previous block is not a tape boundary (e.g. ordinary FanucProgramNumber already in the stream) — the guard rejects the block, leaving UnparsedText intact: #Previous: { \"FanucProgramNumber\": { \"Number\": \"1000\", \"Wrapper\": \"None\" } } #BeforeBuild.UnparsedText: O9999 #AfterBuild: { \"UnparsedText\": \"O9999\" } Constructors FanucProgramNumberSyntax() Parameterless instance for bundle composition (no XML state). public FanucProgramNumberSyntax() FanucProgramNumberSyntax(XElement) XML ctor (no child elements; reserved for forward compatibility). public FanucProgramNumberSyntax(XElement src) Parameters src XElement Root element named XName. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FanucProgramNumberSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Fanuc Assembly HiMech.dll Detects a Fanuc-family program identifier header — O1234 or — that follows a TapeBoundary line, and records it under FanucProgramNumber on the block JSON. The wrapping form (bare vs angle-bracketed) is preserved in Wrapper so the block can be emitted back to its original notation. public class FanucProgramNumberSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FanucProgramNumberSyntax Implements ISituNcSyntax INcSyntax 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) Examples Bare O1234 on the first block of the stream (no #Previous:) — start-of-stream is itself a tape boundary per IsPreviousNodeTapeBoundary(LazyLinkedListNode), so the syntax fires; the consumed text leaves nothing behind: #BeforeBuild.UnparsedText: O1234 #AfterBuild: { \"FanucProgramNumber\": { \"Number\": \"1234\", \"Wrapper\": \"None\" } } Angle-bracketed after an explicit TapeBoundary block (% on the prior line) — Wrapper records the surface form: #Previous: { \"TapeBoundary\": { \"Text\": \"\" } } #BeforeBuild.UnparsedText: #AfterBuild: { \"FanucProgramNumber\": { \"Number\": \"5678\", \"Wrapper\": \"Angle\" } } O1234 followed by trailing text (e.g. an inline comment) — only the program-number header is consumed; the rest stays on UnparsedText for downstream syntaxes to handle: #Previous: { \"TapeBoundary\": { \"Text\": \"\" } } #BeforeBuild.UnparsedText: O1234 (PART-A) #AfterBuild: { \"UnparsedText\": \"(PART-A)\", \"FanucProgramNumber\": { \"Number\": \"1234\", \"Wrapper\": \"None\" } } Previous block is not a tape boundary (e.g. ordinary FanucProgramNumber already in the stream) — the guard rejects the block, leaving UnparsedText intact: #Previous: { \"FanucProgramNumber\": { \"Number\": \"1000\", \"Wrapper\": \"None\" } } #BeforeBuild.UnparsedText: O9999 #AfterBuild: { \"UnparsedText\": \"O9999\" } Constructors FanucProgramNumberSyntax() Parameterless instance for bundle composition (no XML state). public FanucProgramNumberSyntax() FanucProgramNumberSyntax(XElement) XML ctor (no child elements; reserved for forward compatibility). public FanucProgramNumberSyntax(XElement src) Parameters src XElement Root element named XName. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.Fanuc.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.Fanuc.html", @@ -4677,27 +4677,27 @@ "api/Hi.NcParsers.ParsingSyntaxs.FlagSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.FlagSyntax.html", "title": "Class FlagSyntax | HiAPI-C# 2025", - "summary": "Class FlagSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Syntax of fully Match flag. public class FlagSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FlagSyntax Implements ISituNcSyntax INcSyntax 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) Remarks The term Flag generally not accomanys with variable value. The term Tag generally accomanys with variable value. Constructors FlagSyntax(IEnumerable, IEnumerable) Creates syntax from in-memory path and flag lists (tests or programmatic setup). public FlagSyntax(IEnumerable categoryPath, IEnumerable flags) Parameters categoryPath IEnumerable flags IEnumerable FlagSyntax(XElement) Loads category path and flag list items from XML. public FlagSyntax(XElement src) Parameters src XElement Root element named XName. Properties CategoryPath JSON path segments (each Item) under which matched flags are stored. public List CategoryPath { get; set; } Property Value List FlagList NC tokens to detect and record as flags (exact match). public List FlagList { get; set; } Property Value List Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class FlagSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Syntax of fully Match flag. public class FlagSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object FlagSyntax Implements ISituNcSyntax INcSyntax 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) Remarks The term Flag generally not accomanys with variable value. The term Tag generally accomanys with variable value. Constructors FlagSyntax(IEnumerable, IEnumerable) Creates syntax from in-memory path and flag lists (tests or programmatic setup). public FlagSyntax(IEnumerable categoryPath, IEnumerable flags) Parameters categoryPath IEnumerable flags IEnumerable FlagSyntax(XElement) Loads category path and flag list items from XML. public FlagSyntax(XElement src) Parameters src XElement Root element named XName. Properties CategoryPath JSON path segments (each Item) under which matched flags are stored. public List CategoryPath { get; set; } Property Value List FlagList NC tokens to detect and record as flags (exact match). public List FlagList { get; set; } Property Value List Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.html", "title": "Class FloatTagValueSyntax | HiAPI-C# 2025", - "summary": "Class FloatTagValueSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll TagValueSyntax that parses numeric literal values to double. Variable text (e.g. Q2, #1, [#1+#2]) remains as string. public class FloatTagValueSyntax : TagValueSyntax, ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object TagValueSyntax FloatTagValueSyntax Implements ISituNcSyntax INcSyntax IMakeXmlSource Inherited Members TagValueSyntax.MakeXmlSource(string, string, bool) TagValueSyntax.VariableTag TagValueSyntax.CategoryPath TagValueSyntax.TagList TagValueSyntax.Name TagValueSyntax.Build(LazyLinkedListNode, List, NcDiagnosticProgress) 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 FloatTagValueSyntax(IEnumerable, IEnumerable, string) Initializes a new instance with the given category path, tag list, and variable-tag pattern. public FloatTagValueSyntax(IEnumerable categoryPath, IEnumerable tags, string variableTag) Parameters categoryPath IEnumerable JSON path under Parsing where matches are written. tags IEnumerable Single-letter tag names whose values are grabbed. variableTag string Regex/literal recognizing a variable reference as a value. FloatTagValueSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public FloatTagValueSyntax(XElement src) Parameters src XElement Source XML element. Properties XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods ToFloat(string) Parses a numeric literal to double; returns the original string for variable text. public static JsonNode ToFloat(string setup) Parameters setup string Returns JsonNode ToValueJsonNode(string) Converts a tag setup string value to a JsonNode. Override in derived classes for typed parsing (int, double). Variable text (e.g. Q2, #1, [#1+#2]) is kept as string. protected override JsonNode ToValueJsonNode(string setup) Parameters setup string Returns JsonNode" + "summary": "Class FloatTagValueSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll TagValueSyntax that parses numeric literal values to double. Variable text (e.g. Q2, #1, [#1+#2]) remains as string. public class FloatTagValueSyntax : TagValueSyntax, ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object TagValueSyntax FloatTagValueSyntax Implements ISituNcSyntax INcSyntax IMakeXmlSource Inherited Members TagValueSyntax.MakeXmlSource(string, string, bool) TagValueSyntax.VariableTag TagValueSyntax.CategoryPath TagValueSyntax.TagList TagValueSyntax.Name TagValueSyntax.Build(LazyLinkedListNode, List, NcDiagnosticProgress) 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 FloatTagValueSyntax(IEnumerable, IEnumerable, string) Initializes a new instance with the given category path, tag list, and variable-tag pattern. public FloatTagValueSyntax(IEnumerable categoryPath, IEnumerable tags, string variableTag) Parameters categoryPath IEnumerable JSON path under Parsing where matches are written. tags IEnumerable Single-letter tag names whose values are grabbed. variableTag string Regex/literal recognizing a variable reference as a value. FloatTagValueSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public FloatTagValueSyntax(XElement src) Parameters src XElement Source XML element. Properties XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToFloat(string) Parses a numeric literal to double; returns the original string for variable text. public static JsonNode ToFloat(string setup) Parameters setup string Returns JsonNode ToValueJsonNode(string) Converts a tag setup string value to a JsonNode. Override in derived classes for typed parsing (int, double). Variable text (e.g. Q2, #1, [#1+#2]) is kept as string. protected override JsonNode ToValueJsonNode(string setup) Parameters setup string Returns JsonNode" }, "api/Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.html", "title": "Class HeadIndexSyntax | HiAPI-C# 2025", - "summary": "Class HeadIndexSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Parses a leading block index (e.g. Heidenhain line numbers) after an optional HeadSymbol prefix. public class HeadIndexSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeadIndexSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: N100 X0 (with HeadSymbol=“N”) #AfterBuild: { \"UnparsedText\": \"X0\", \"IndexNote\": { \"Symbol\": \"N\", \"Number\": 100 } } #BeforeBuild.UnparsedText: N42 (lone head index, no trailing tokens; with HeadSymbol=“N”) #AfterBuild: { \"IndexNote\": { \"Symbol\": \"N\", \"Number\": 42 } } Constructors HeadIndexSyntax(string) Creates syntax with the given head symbol prefix (may be empty). public HeadIndexSyntax(string headSymbol) Parameters headSymbol string HeadIndexSyntax(XElement) Loads HeadSymbol from persisted XML. public HeadIndexSyntax(XElement src) Parameters src XElement Root element named XName. Properties HeadSymbol public string HeadSymbol { get; set; } Property Value string Remarks The Head Symbol can be not null empty string. NC Index from Heidenhain may have no head symbol. Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class HeadIndexSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Parses a leading block index (e.g. Heidenhain line numbers) after an optional HeadSymbol prefix. public class HeadIndexSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeadIndexSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: N100 X0 (with HeadSymbol=“N”) #AfterBuild: { \"UnparsedText\": \"X0\", \"IndexNote\": { \"Symbol\": \"N\", \"Number\": 100 } } #BeforeBuild.UnparsedText: N42 (lone head index, no trailing tokens; with HeadSymbol=“N”) #AfterBuild: { \"IndexNote\": { \"Symbol\": \"N\", \"Number\": 42 } } Constructors HeadIndexSyntax(string) Creates syntax with the given head symbol prefix (may be empty). public HeadIndexSyntax(string headSymbol) Parameters headSymbol string HeadIndexSyntax(XElement) Loads HeadSymbol from persisted XML. public HeadIndexSyntax(XElement src) Parameters src XElement Root element named XName. Properties HeadSymbol public string HeadSymbol { get; set; } Property Value string Remarks The Head Symbol can be not null empty string. NC Index from Heidenhain may have no head symbol. Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumSettingSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumSettingSyntax.html", "title": "Class HeidenhainDatumSettingSyntax | HiAPI-C# 2025", - "summary": "Class HeidenhainDatumSettingSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs Assembly HiMech.dll Heidenhain syntax of CYCL DEF 247 DATUM SETTING . public class HeidenhainDatumSettingSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainDatumSettingSyntax Implements ISituNcSyntax INcSyntax 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 HeidenhainDatumSettingSyntax() Initializes a new instance with default settings. public HeidenhainDatumSettingSyntax() HeidenhainDatumSettingSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainDatumSettingSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string TagList Tags to grab as float-valued coordinates within the cycle body. public List TagList { get; set; } Property Value List XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class HeidenhainDatumSettingSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs Assembly HiMech.dll Heidenhain syntax of CYCL DEF 247 DATUM SETTING . public class HeidenhainDatumSettingSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainDatumSettingSyntax Implements ISituNcSyntax INcSyntax 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 HeidenhainDatumSettingSyntax() Initializes a new instance with default settings. public HeidenhainDatumSettingSyntax() HeidenhainDatumSettingSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainDatumSettingSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string TagList Tags to grab as float-valued coordinates within the cycle body. public List TagList { get; set; } Property Value List XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.html", "title": "Class HeidenhainDatumShiftSyntax | HiAPI-C# 2025", - "summary": "Class HeidenhainDatumShiftSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs Assembly HiMech.dll Heidenhain syntax of CYCL DEF 7 DATUM SHIFT . public class HeidenhainDatumShiftSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainDatumShiftSyntax Implements ISituNcSyntax INcSyntax 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 HeidenhainDatumShiftSyntax() Initializes a new instance with default settings. public HeidenhainDatumShiftSyntax() HeidenhainDatumShiftSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainDatumShiftSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string TagList Tags to grab as float-valued coordinates within the cycle body. public List TagList { get; set; } Property Value List XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class HeidenhainDatumShiftSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs Assembly HiMech.dll Heidenhain syntax of CYCL DEF 7 DATUM SHIFT . public class HeidenhainDatumShiftSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainDatumShiftSyntax Implements ISituNcSyntax INcSyntax 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 HeidenhainDatumShiftSyntax() Initializes a new instance with default settings. public HeidenhainDatumShiftSyntax() HeidenhainDatumShiftSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainDatumShiftSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string TagList Tags to grab as float-valued coordinates within the cycle body. public List TagList { get; set; } Property Value List XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.html", @@ -4707,47 +4707,47 @@ "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainBlkFormSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainBlkFormSyntax.html", "title": "Class HeidenhainBlkFormSyntax | HiAPI-C# 2025", - "summary": "Class HeidenhainBlkFormSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain Assembly HiMech.dll Syntax for Heidenhain BLK FORM command (workpiece blank definition). public class HeidenhainBlkFormSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainBlkFormSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: BLK FORM 0.1 Z X+0 Y+0 Z-40 #AfterBuild: { \"Parsing\": { \"BLK FORM\": { \"Type\": \"0.1\", \"Axis\": \"Z\", \"X\": 0, \"Y\": 0, \"Z\": -40 } } } #BeforeBuild.UnparsedText: BLK FORM 0.2 X+100 Y+100 Z+0 #AfterBuild: { \"Parsing\": { \"BLK FORM\": { \"Type\": \"0.2\", \"X\": 100, \"Y\": 100, \"Z\": 0 } } } #BeforeBuild.UnparsedText: BLK FORM CYLINDER Z R50 L105 #AfterBuild: { \"Parsing\": { \"BLK FORM\": { \"Type\": \"CYLINDER\", \"Axis\": \"Z\", \"R\": 50, \"L\": 105 } } } Constructors HeidenhainBlkFormSyntax() Initializes a new instance with default settings. public HeidenhainBlkFormSyntax() HeidenhainBlkFormSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainBlkFormSyntax(XElement src) Parameters src XElement Source XML element. Fields BlkFormTagList Tags for BLK FORM coordinate/dimension values. public static readonly string[] BlkFormTagList Field Value string[] Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class HeidenhainBlkFormSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain Assembly HiMech.dll Syntax for Heidenhain BLK FORM command (workpiece blank definition). public class HeidenhainBlkFormSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainBlkFormSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: BLK FORM 0.1 Z X+0 Y+0 Z-40 #AfterBuild: { \"Parsing\": { \"BLK FORM\": { \"Type\": \"0.1\", \"Axis\": \"Z\", \"X\": 0, \"Y\": 0, \"Z\": -40 } } } #BeforeBuild.UnparsedText: BLK FORM 0.2 X+100 Y+100 Z+0 #AfterBuild: { \"Parsing\": { \"BLK FORM\": { \"Type\": \"0.2\", \"X\": 100, \"Y\": 100, \"Z\": 0 } } } #BeforeBuild.UnparsedText: BLK FORM CYLINDER Z R50 L105 #AfterBuild: { \"Parsing\": { \"BLK FORM\": { \"Type\": \"CYLINDER\", \"Axis\": \"Z\", \"R\": 50, \"L\": 105 } } } Constructors HeidenhainBlkFormSyntax() Initializes a new instance with default settings. public HeidenhainBlkFormSyntax() HeidenhainBlkFormSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainBlkFormSyntax(XElement src) Parameters src XElement Source XML element. Fields BlkFormTagList Tags for BLK FORM coordinate/dimension values. public static readonly string[] BlkFormTagList Field Value string[] Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCallSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCallSyntax.html", "title": "Class HeidenhainCallSyntax | HiAPI-C# 2025", - "summary": "Class HeidenhainCallSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain Assembly HiMech.dll Syntax for Heidenhain CALL commands (CALL PGM and CALL LBL). public class HeidenhainCallSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainCallSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: CALL PGM SubProg #AfterBuild: { \"Parsing\": { \"CALL\": { \"Target\": \"PGM\", \"Name\": \"SubProg\" } } } #BeforeBuild.UnparsedText: CALL LBL 5 #AfterBuild: { \"Parsing\": { \"CALL\": { \"Target\": \"LBL\", \"Name\": \"5\" } } } #BeforeBuild.UnparsedText: CALL LBL MyLabel REP 3 #AfterBuild: { \"Parsing\": { \"CALL\": { \"Target\": \"LBL\", \"Name\": \"MyLabel\", \"REP\": \"3\" } } } Constructors HeidenhainCallSyntax() Initializes a new instance with default settings. public HeidenhainCallSyntax() HeidenhainCallSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainCallSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class HeidenhainCallSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain Assembly HiMech.dll Syntax for Heidenhain CALL commands (CALL PGM and CALL LBL). public class HeidenhainCallSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainCallSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: CALL PGM SubProg #AfterBuild: { \"Parsing\": { \"CALL\": { \"Target\": \"PGM\", \"Name\": \"SubProg\" } } } #BeforeBuild.UnparsedText: CALL LBL 5 #AfterBuild: { \"Parsing\": { \"CALL\": { \"Target\": \"LBL\", \"Name\": \"5\" } } } #BeforeBuild.UnparsedText: CALL LBL MyLabel REP 3 #AfterBuild: { \"Parsing\": { \"CALL\": { \"Target\": \"LBL\", \"Name\": \"MyLabel\", \"REP\": \"3\" } } } Constructors HeidenhainCallSyntax() Initializes a new instance with default settings. public HeidenhainCallSyntax() HeidenhainCallSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainCallSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCyclDefSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCyclDefSyntax.html", "title": "Class HeidenhainCyclDefSyntax | HiAPI-C# 2025", - "summary": "Class HeidenhainCyclDefSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain Assembly HiMech.dll Initialization Syntax of Heidenhain fixed head block for CYCL DEF . public class HeidenhainCyclDefSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainCyclDefSyntax Implements ISituNcSyntax INcSyntax 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 HeidenhainCyclDefSyntax() Initializes a new instance with default settings. public HeidenhainCyclDefSyntax() HeidenhainCyclDefSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainCyclDefSyntax(XElement src) Parameters src XElement Source XML element. Fields CyclDefConst JSON key under Parsing that holds the parsed cycle number (e.g. 247 for CYCL DEF 247). public const string CyclDefConst = \"CYCL DEF\" Field Value string Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class HeidenhainCyclDefSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain Assembly HiMech.dll Initialization Syntax of Heidenhain fixed head block for CYCL DEF . public class HeidenhainCyclDefSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainCyclDefSyntax Implements ISituNcSyntax INcSyntax 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 HeidenhainCyclDefSyntax() Initializes a new instance with default settings. public HeidenhainCyclDefSyntax() HeidenhainCyclDefSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainCyclDefSyntax(XElement src) Parameters src XElement Source XML element. Fields CyclDefConst JSON key under Parsing that holds the parsed cycle number (e.g. 247 for CYCL DEF 247). public const string CyclDefConst = \"CYCL DEF\" Field Value string Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.html", "title": "Class HeidenhainFnAssignmentSyntax | HiAPI-C# 2025", - "summary": "Class HeidenhainFnAssignmentSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain Assembly HiMech.dll Heidenhain FN variable assignment syntax. Extends TagAssignmentSyntax with FN opcode prefix. public class HeidenhainFnAssignmentSyntax : TagAssignmentSyntax, ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object TagAssignmentSyntax HeidenhainFnAssignmentSyntax Implements ISituNcSyntax INcSyntax IMakeXmlSource Inherited Members TagAssignmentSyntax.DefaultCategoryPath TagAssignmentSyntax.MakeXmlSource(string, string, bool) TagAssignmentSyntax.CategoryPath TagAssignmentSyntax.TagList TagAssignmentSyntax.VarPrefix TagAssignmentSyntax.TerminateWords TagAssignmentSyntax.Name TagAssignmentSyntax.ToAssignmentJsonNode(string) TagAssignmentSyntax.Build(LazyLinkedListNode, List, NcDiagnosticProgress) 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) Remarks FN 0: Q5 = +60 (assignment) FN 1: Q1 = -Q2 + -5 (addition) FN 2: Q1 = Q2 - Q3 (subtraction) FN 3: Q1 = Q2 * Q3 (multiplication) FN 4: Q1 = Q2 / Q3 (division) Constructors HeidenhainFnAssignmentSyntax() Initializes a new instance with default settings. public HeidenhainFnAssignmentSyntax() HeidenhainFnAssignmentSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainFnAssignmentSyntax(XElement src) Parameters src XElement Source XML element. Properties XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods TryStripPrefix(ref string) Strips a brand-specific prefix from unparsedText before assignment parsing. Returns false to signal no match (skip this syntax). Base implementation does nothing (no prefix required). protected override bool TryStripPrefix(ref string unparsedText) Parameters unparsedText string Returns bool" + "summary": "Class HeidenhainFnAssignmentSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain Assembly HiMech.dll Heidenhain FN variable assignment syntax. Extends TagAssignmentSyntax with FN opcode prefix. public class HeidenhainFnAssignmentSyntax : TagAssignmentSyntax, ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object TagAssignmentSyntax HeidenhainFnAssignmentSyntax Implements ISituNcSyntax INcSyntax IMakeXmlSource Inherited Members TagAssignmentSyntax.DefaultCategoryPath TagAssignmentSyntax.MakeXmlSource(string, string, bool) TagAssignmentSyntax.CategoryPath TagAssignmentSyntax.TagList TagAssignmentSyntax.VarPrefix TagAssignmentSyntax.TerminateWords TagAssignmentSyntax.Name TagAssignmentSyntax.ToAssignmentJsonNode(string) TagAssignmentSyntax.Build(LazyLinkedListNode, List, NcDiagnosticProgress) 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) Remarks FN 0: Q5 = +60 (assignment) FN 1: Q1 = -Q2 + -5 (addition) FN 2: Q1 = Q2 - Q3 (subtraction) FN 3: Q1 = Q2 * Q3 (multiplication) FN 4: Q1 = Q2 / Q3 (division) Constructors HeidenhainFnAssignmentSyntax() Initializes a new instance with default settings. public HeidenhainFnAssignmentSyntax() HeidenhainFnAssignmentSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainFnAssignmentSyntax(XElement src) Parameters src XElement Source XML element. Properties XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory TryStripPrefix(ref string) Strips a brand-specific prefix from unparsedText before assignment parsing. Returns false to signal no match (skip this syntax). Base implementation does nothing (no prefix required). protected override bool TryStripPrefix(ref string unparsedText) Parameters unparsedText string Returns bool" }, "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLSyntax.html", "title": "Class HeidenhainLSyntax | HiAPI-C# 2025", - "summary": "Class HeidenhainLSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain Assembly HiMech.dll Heidenhain linear movement (the leading L) syntax. Strips the leading L and grabs axis-tag values for any of AxisTagList (X, Y, Z, U, V, W, A, B, C) that appear afterwards as {axis}{signed-value} pairs; values are parsed as floats via ToFloat(string). public class HeidenhainLSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainLSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: L X+10 Y+20 Z-5 #AfterBuild: { \"Parsing\": { \"L\": { \"X\": 10, \"Y\": 20, \"Z\": -5 } } } #BeforeBuild.UnparsedText: L A+45 B-15 #AfterBuild: { \"Parsing\": { \"L\": { \"A\": 45, \"B\": -15 } } } Constructors HeidenhainLSyntax() Initializes a new instance with default settings. public HeidenhainLSyntax() HeidenhainLSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainLSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string TagList Axis tags grabbed as float-valued coordinates after the leading L. public List TagList { get; set; } Property Value List XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class HeidenhainLSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain Assembly HiMech.dll Heidenhain linear movement (the leading L) syntax. Strips the leading L and grabs axis-tag values for any of AxisTagList (X, Y, Z, U, V, W, A, B, C) that appear afterwards as {axis}{signed-value} pairs; values are parsed as floats via ToFloat(string). public class HeidenhainLSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainLSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: L X+10 Y+20 Z-5 #AfterBuild: { \"Parsing\": { \"L\": { \"X\": 10, \"Y\": 20, \"Z\": -5 } } } #BeforeBuild.UnparsedText: L A+45 B-15 #AfterBuild: { \"Parsing\": { \"L\": { \"A\": 45, \"B\": -15 } } } Constructors HeidenhainLSyntax() Initializes a new instance with default settings. public HeidenhainLSyntax() HeidenhainLSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainLSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string TagList Axis tags grabbed as float-valued coordinates after the leading L. public List TagList { get; set; } Property Value List XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLblSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLblSyntax.html", "title": "Class HeidenhainLblSyntax | HiAPI-C# 2025", - "summary": "Class HeidenhainLblSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain Assembly HiMech.dll Syntax for Heidenhain LBL command (label definition). Label can be a number (1-65535) or a text name (e.g., “MyLabel”). LBL 0 is reserved for end of subprogram. public class HeidenhainLblSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainLblSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: LBL 1 #AfterBuild: { \"Parsing\": { \"LBL\": { \"Name\": \"1\" } } } #BeforeBuild.UnparsedText: LBL MyLabel #AfterBuild: { \"Parsing\": { \"LBL\": { \"Name\": \"MyLabel\" } } } #BeforeBuild.UnparsedText: LBL 0 (LBL 0 is the end-of-subprogram sentinel) #AfterBuild: { \"Parsing\": { \"LBL\": { \"Name\": \"0\" } } } Constructors HeidenhainLblSyntax() Initializes a new instance with default settings. public HeidenhainLblSyntax() HeidenhainLblSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainLblSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class HeidenhainLblSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain Assembly HiMech.dll Syntax for Heidenhain LBL command (label definition). Label can be a number (1-65535) or a text name (e.g., “MyLabel”). LBL 0 is reserved for end of subprogram. public class HeidenhainLblSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainLblSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: LBL 1 #AfterBuild: { \"Parsing\": { \"LBL\": { \"Name\": \"1\" } } } #BeforeBuild.UnparsedText: LBL MyLabel #AfterBuild: { \"Parsing\": { \"LBL\": { \"Name\": \"MyLabel\" } } } #BeforeBuild.UnparsedText: LBL 0 (LBL 0 is the end-of-subprogram sentinel) #AfterBuild: { \"Parsing\": { \"LBL\": { \"Name\": \"0\" } } } Constructors HeidenhainLblSyntax() Initializes a new instance with default settings. public HeidenhainLblSyntax() HeidenhainLblSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainLblSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainPlaneSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainPlaneSyntax.html", "title": "Class HeidenhainPlaneSyntax | HiAPI-C# 2025", - "summary": "Class HeidenhainPlaneSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain Assembly HiMech.dll Syntax for Heidenhain PLANE command. Handles: PLANE RESET PLANE SPATIAL SPA SPB SPC SEQ+/- [COORD ROT|TABLE ROT] [MOVE|TURN|STAY] PLANE PROJECTED PROPR PROMIN ROT SEQ+/- [COORD ROT|TABLE ROT] [MOVE|TURN|STAY] public class HeidenhainPlaneSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainPlaneSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: PLANE SPATIAL SPA+30 SPB+0 SPC-10 SEQ+ COORD ROT TURN #AfterBuild: { \"Parsing\": { \"PLANE\": { \"Mode\": \"SPATIAL\", \"SPA\": 30, \"SPB\": 0, \"SPC\": -10, \"SEQ\": \"+\", \"Rot\": \"COORD\", \"Positioning\": \"TURN\" } } } #BeforeBuild.UnparsedText: PLANE PROJECTED PROPR+30 PROMIN+0 ROT+45 SEQ- TABLE ROT MOVE #AfterBuild: { \"Parsing\": { \"PLANE\": { \"Mode\": \"PROJECTED\", \"PROPR\": 30, \"PROMIN\": 0, \"ROT\": 45, \"SEQ\": \"-\", \"Rot\": \"TABLE\", \"Positioning\": \"MOVE\" } } } #BeforeBuild.UnparsedText: PLANE RESET #AfterBuild: { \"Parsing\": { \"PLANE\": { \"Mode\": \"RESET\" } } } Constructors HeidenhainPlaneSyntax() Initializes a new instance with default settings. public HeidenhainPlaneSyntax() HeidenhainPlaneSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainPlaneSyntax(XElement src) Parameters src XElement Source XML element. Fields ProjectedTagList Projected tags for PLANE PROJECTED command. PROPR: projection angle, PROMIN: minimum angle, ROT: rotation of tilted plane. public static readonly string[] ProjectedTagList Field Value string[] SpatialTagList Spatial axis tags for PLANE SPATIAL command. public static readonly string[] SpatialTagList Field Value string[] Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class HeidenhainPlaneSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain Assembly HiMech.dll Syntax for Heidenhain PLANE command. Handles: PLANE RESET PLANE SPATIAL SPA SPB SPC SEQ+/- [COORD ROT|TABLE ROT] [MOVE|TURN|STAY] PLANE PROJECTED PROPR PROMIN ROT SEQ+/- [COORD ROT|TABLE ROT] [MOVE|TURN|STAY] public class HeidenhainPlaneSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainPlaneSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: PLANE SPATIAL SPA+30 SPB+0 SPC-10 SEQ+ COORD ROT TURN #AfterBuild: { \"Parsing\": { \"PLANE\": { \"Mode\": \"SPATIAL\", \"SPA\": 30, \"SPB\": 0, \"SPC\": -10, \"SEQ\": \"+\", \"Rot\": \"COORD\", \"Positioning\": \"TURN\" } } } #BeforeBuild.UnparsedText: PLANE PROJECTED PROPR+30 PROMIN+0 ROT+45 SEQ- TABLE ROT MOVE #AfterBuild: { \"Parsing\": { \"PLANE\": { \"Mode\": \"PROJECTED\", \"PROPR\": 30, \"PROMIN\": 0, \"ROT\": 45, \"SEQ\": \"-\", \"Rot\": \"TABLE\", \"Positioning\": \"MOVE\" } } } #BeforeBuild.UnparsedText: PLANE RESET #AfterBuild: { \"Parsing\": { \"PLANE\": { \"Mode\": \"RESET\" } } } Constructors HeidenhainPlaneSyntax() Initializes a new instance with default settings. public HeidenhainPlaneSyntax() HeidenhainPlaneSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainPlaneSyntax(XElement src) Parameters src XElement Source XML element. Fields ProjectedTagList Projected tags for PLANE PROJECTED command. PROPR: projection angle, PROMIN: minimum angle, ROT: rotation of tilted plane. public static readonly string[] ProjectedTagList Field Value string[] SpatialTagList Spatial axis tags for PLANE SPATIAL command. public static readonly string[] SpatialTagList Field Value string[] Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.html", "title": "Class HeidenhainProgramSyntax | HiAPI-C# 2025", - "summary": "Class HeidenhainProgramSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain Assembly HiMech.dll Syntax for Heidenhain BEGIN PGM and END PGM commands. public class HeidenhainProgramSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainProgramSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: BEGIN PGM DEMO MM #AfterBuild: { \"Parsing\": { \"PGM\": { \"Command\": \"BEGIN\", \"Name\": \"DEMO\", \"Unit\": \"MM\" } } } #BeforeBuild.UnparsedText: END PGM DEMO MM #AfterBuild: { \"Parsing\": { \"PGM\": { \"Command\": \"END\", \"Name\": \"DEMO\", \"Unit\": \"MM\" } } } Constructors HeidenhainProgramSyntax() Initializes a new instance with default settings. public HeidenhainProgramSyntax() HeidenhainProgramSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainProgramSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class HeidenhainProgramSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain Assembly HiMech.dll Syntax for Heidenhain BEGIN PGM and END PGM commands. public class HeidenhainProgramSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainProgramSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: BEGIN PGM DEMO MM #AfterBuild: { \"Parsing\": { \"PGM\": { \"Command\": \"BEGIN\", \"Name\": \"DEMO\", \"Unit\": \"MM\" } } } #BeforeBuild.UnparsedText: END PGM DEMO MM #AfterBuild: { \"Parsing\": { \"PGM\": { \"Command\": \"END\", \"Name\": \"DEMO\", \"Unit\": \"MM\" } } } Constructors HeidenhainProgramSyntax() Initializes a new instance with default settings. public HeidenhainProgramSyntax() HeidenhainProgramSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainProgramSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainToolCallSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainToolCallSyntax.html", "title": "Class HeidenhainToolCallSyntax | HiAPI-C# 2025", - "summary": "Class HeidenhainToolCallSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain Assembly HiMech.dll Syntax for Heidenhain TOOL CALL command. Handles: TOOL CALL [ToolId|“ToolName”] [X|Y|Z] [S…] [DL…] [DR…] public class HeidenhainToolCallSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainToolCallSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: TOOL CALL 1 Z S5000 #AfterBuild: { \"Parsing\": { \"TOOL CALL\": { \"Axis\": \"Z\", \"S\": \"5000\", \"T\": \"1\" } } } #BeforeBuild.UnparsedText: TOOL CALL “MyTool” Z S3000 DL+0.5 DR-0.1 #AfterBuild: { \"Parsing\": { \"TOOL CALL\": { \"Axis\": \"Z\", \"S\": \"3000\", \"DL\": \"+0.5\", \"DR\": \"-0.1\", \"T\": \"MyTool\" } } } Constructors HeidenhainToolCallSyntax() Initializes a new instance with default settings. public HeidenhainToolCallSyntax() HeidenhainToolCallSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainToolCallSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class HeidenhainToolCallSyntax Namespace Hi.NcParsers.ParsingSyntaxs.Heidenhain Assembly HiMech.dll Syntax for Heidenhain TOOL CALL command. Handles: TOOL CALL [ToolId|“ToolName”] [X|Y|Z] [S…] [DL…] [DR…] public class HeidenhainToolCallSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object HeidenhainToolCallSyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: TOOL CALL 1 Z S5000 #AfterBuild: { \"Parsing\": { \"TOOL CALL\": { \"Axis\": \"Z\", \"S\": \"5000\", \"T\": \"1\" } } } #BeforeBuild.UnparsedText: TOOL CALL “MyTool” Z S3000 DL+0.5 DR-0.1 #AfterBuild: { \"Parsing\": { \"TOOL CALL\": { \"Axis\": \"Z\", \"S\": \"3000\", \"DL\": \"+0.5\", \"DR\": \"-0.1\", \"T\": \"MyTool\" } } } Constructors HeidenhainToolCallSyntax() Initializes a new instance with default settings. public HeidenhainToolCallSyntax() HeidenhainToolCallSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public HeidenhainToolCallSyntax(XElement src) Parameters src XElement Source XML element. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.html", @@ -4757,42 +4757,42 @@ "api/Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.html", "title": "Class IntegerTagValueSyntax | HiAPI-C# 2025", - "summary": "Class IntegerTagValueSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll TagValueSyntax that parses numeric literal values to int. Variable text (e.g. Q2, #1, [#1+#2]) remains as string. public class IntegerTagValueSyntax : TagValueSyntax, ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object TagValueSyntax IntegerTagValueSyntax Implements ISituNcSyntax INcSyntax IMakeXmlSource Inherited Members TagValueSyntax.MakeXmlSource(string, string, bool) TagValueSyntax.VariableTag TagValueSyntax.CategoryPath TagValueSyntax.TagList TagValueSyntax.Name TagValueSyntax.Build(LazyLinkedListNode, List, NcDiagnosticProgress) 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 IntegerTagValueSyntax(IEnumerable, IEnumerable, string) Initializes a new instance with the given category path, tag list, and variable-tag pattern. public IntegerTagValueSyntax(IEnumerable categoryPath, IEnumerable tags, string variableTag) Parameters categoryPath IEnumerable JSON path under Parsing where matches are written. tags IEnumerable Single-letter tag names whose values are grabbed. variableTag string Regex/literal recognizing a variable reference as a value. IntegerTagValueSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public IntegerTagValueSyntax(XElement src) Parameters src XElement Source XML element. Properties XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods ToInteger(string) Parses a numeric literal to int; returns the original string for variable text. public static JsonNode ToInteger(string setup) Parameters setup string Returns JsonNode ToValueJsonNode(string) Converts a tag setup string value to a JsonNode. Override in derived classes for typed parsing (int, double). Variable text (e.g. Q2, #1, [#1+#2]) is kept as string. protected override JsonNode ToValueJsonNode(string setup) Parameters setup string Returns JsonNode" + "summary": "Class IntegerTagValueSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll TagValueSyntax that parses numeric literal values to int. Variable text (e.g. Q2, #1, [#1+#2]) remains as string. public class IntegerTagValueSyntax : TagValueSyntax, ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object TagValueSyntax IntegerTagValueSyntax Implements ISituNcSyntax INcSyntax IMakeXmlSource Inherited Members TagValueSyntax.MakeXmlSource(string, string, bool) TagValueSyntax.VariableTag TagValueSyntax.CategoryPath TagValueSyntax.TagList TagValueSyntax.Name TagValueSyntax.Build(LazyLinkedListNode, List, NcDiagnosticProgress) 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 IntegerTagValueSyntax(IEnumerable, IEnumerable, string) Initializes a new instance with the given category path, tag list, and variable-tag pattern. public IntegerTagValueSyntax(IEnumerable categoryPath, IEnumerable tags, string variableTag) Parameters categoryPath IEnumerable JSON path under Parsing where matches are written. tags IEnumerable Single-letter tag names whose values are grabbed. variableTag string Regex/literal recognizing a variable reference as a value. IntegerTagValueSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public IntegerTagValueSyntax(XElement src) Parameters src XElement Source XML element. Properties XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToInteger(string) Parses a numeric literal to int; returns the original string for variable text. public static JsonNode ToInteger(string setup) Parameters setup string Returns JsonNode ToValueJsonNode(string) Converts a tag setup string value to a JsonNode. Override in derived classes for typed parsing (int, double). Variable text (e.g. Q2, #1, [#1+#2]) is kept as string. protected override JsonNode ToValueJsonNode(string setup) Parameters setup string Returns JsonNode" }, "api/Hi.NcParsers.ParsingSyntaxs.NamedVarAssignmentSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.NamedVarAssignmentSyntax.html", "title": "Class NamedVarAssignmentSyntax | HiAPI-C# 2025", - "summary": "Class NamedVarAssignmentSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Assignment syntax for named (identifier-style) variables with = sign. Handles variables that are multi-character identifiers rather than {prefix}{digits}. public class NamedVarAssignmentSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object NamedVarAssignmentSyntax Implements ISituNcSyntax INcSyntax 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) Remarks Siemens GUD: _X_HOME = 100, _MY_VAR = R1 + R2 Siemens LUD: DEF REAL MY_LOCAL; MY_LOCAL = 50 Unlike TagAssignmentSyntax which handles {prefix}{digits} variables (e.g., #1, R1, Q5), this class handles multi-character identifier variables. Identifiers must be at least 2 characters to avoid overlap with single-letter axis tags (X, Y, Z, etc.). Ordering: Must be placed before TagAssignmentSyntax in syntax lists so that multi-char identifiers (e.g., _X_HOME) are consumed before {prefix}{digits} patterns (e.g., R1) attempt to match. Constructors NamedVarAssignmentSyntax(IEnumerable, IEnumerable, string) Initializes a new instance with the given category path, optional terminator keywords, and an identifier regex pattern. public NamedVarAssignmentSyntax(IEnumerable categoryPath, IEnumerable terminateWords = null, string identPattern = \"[A-Za-z_]\\\\w+\") Parameters categoryPath IEnumerable JSON path under Parsing where assignments are written. terminateWords IEnumerable Optional keywords that end the right-hand expression. identPattern string Regex matching the variable identifier; defaults to DefaultIdentPattern. NamedVarAssignmentSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public NamedVarAssignmentSyntax(XElement src) Parameters src XElement Source XML element. Fields DefaultIdentPattern Default identifier regex (at least 2 characters; first char letter or underscore). Used when IdentPattern is not overridden. public const string DefaultIdentPattern = \"[A-Za-z_]\\\\w+\" Field Value string Properties CategoryPath JSON path under Parsing where matched assignments are written. public List CategoryPath { get; set; } Property Value List IdentPattern Regex pattern for matching variable identifiers. Default: [A-Za-z_]\\w+ (at least 2 characters). public string IdentPattern { get; set; } Property Value string Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string TerminateWords Optional words (e.g. block-end keywords) that terminate the right-hand expression so the remainder is left in UnparsedText. public List TerminateWords { get; set; } Property Value List XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. ToAssignmentJsonNode(string) Converts an assignment expression string to a JsonNode. Override in derived classes for typed parsing. protected virtual JsonNode ToAssignmentJsonNode(string setup) Parameters setup string Returns JsonNode" + "summary": "Class NamedVarAssignmentSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Assignment syntax for named (identifier-style) variables with = sign. Handles variables that are multi-character identifiers rather than {prefix}{digits}. public class NamedVarAssignmentSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object NamedVarAssignmentSyntax Implements ISituNcSyntax INcSyntax 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) Remarks Siemens GUD: _X_HOME = 100, _MY_VAR = R1 + R2 Siemens LUD: DEF REAL MY_LOCAL; MY_LOCAL = 50 Unlike TagAssignmentSyntax which handles {prefix}{digits} variables (e.g., #1, R1, Q5), this class handles multi-character identifier variables. Identifiers must be at least 2 characters to avoid overlap with single-letter axis tags (X, Y, Z, etc.). Ordering: Must be placed before TagAssignmentSyntax in syntax lists so that multi-char identifiers (e.g., _X_HOME) are consumed before {prefix}{digits} patterns (e.g., R1) attempt to match. Constructors NamedVarAssignmentSyntax(IEnumerable, IEnumerable, string) Initializes a new instance with the given category path, optional terminator keywords, and an identifier regex pattern. public NamedVarAssignmentSyntax(IEnumerable categoryPath, IEnumerable terminateWords = null, string identPattern = \"[A-Za-z_]\\\\w+\") Parameters categoryPath IEnumerable JSON path under Parsing where assignments are written. terminateWords IEnumerable Optional keywords that end the right-hand expression. identPattern string Regex matching the variable identifier; defaults to DefaultIdentPattern. NamedVarAssignmentSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public NamedVarAssignmentSyntax(XElement src) Parameters src XElement Source XML element. Fields DefaultIdentPattern Default identifier regex (at least 2 characters; first char letter or underscore). Used when IdentPattern is not overridden. public const string DefaultIdentPattern = \"[A-Za-z_]\\\\w+\" Field Value string Properties CategoryPath JSON path under Parsing where matched assignments are written. public List CategoryPath { get; set; } Property Value List IdentPattern Regex pattern for matching variable identifiers. Default: [A-Za-z_]\\w+ (at least 2 characters). public string IdentPattern { get; set; } Property Value string Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string TerminateWords Optional words (e.g. block-end keywords) that terminate the right-hand expression so the remainder is left in UnparsedText. public List TerminateWords { get; set; } Property Value List XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToAssignmentJsonNode(string) Converts an assignment expression string to a JsonNode. Override in derived classes for typed parsing. protected virtual JsonNode ToAssignmentJsonNode(string setup) Parameters setup string Returns JsonNode" }, "api/Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.html", "title": "Class NumberedFlagSyntax | HiAPI-C# 2025", - "summary": "Class NumberedFlagSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Syntax for numbered flags (prefix + number) with optional decimal support. NumberedFlagSyntax often should place after something like ParameterizedFlagSyntax. Since NumberedFlagSyntax is easy to eat those kind of flags. Single-digit integer codes are zero-padded to canonical 2-digit form (e.g. M6 → M06, G0 → G00, M3 → M03) so that downstream logic syntaxes comparing against IsoKeywords constants (which are always 2-digit form like M06) can match Fanuc-style omitted-leading-zero codes. Two-digit and decimal codes are kept as-is. public class NumberedFlagSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object NumberedFlagSyntax Implements ISituNcSyntax INcSyntax 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) Remarks Examples of stored canonical flags: Single-digit integer codes, padded: G0 → G00, M3 → M03 Two-digit or longer integer codes, unchanged: G54, M30 Decimal codes, unchanged: G54.1 (Fanuc extended work coordinates) Note: Parameters like P2 in G54.1P2 should be handled by TagSetupSyntax separately. Constructors NumberedFlagSyntax(IEnumerable, IEnumerable, bool) Creates a new NumberedFlagSyntax instance. public NumberedFlagSyntax(IEnumerable categoryPath, IEnumerable codePrefixes, bool allowDecimal = true) Parameters categoryPath IEnumerable JSON path for storing matched codes. codePrefixes IEnumerable Code prefixes to match (e.g., [“G”, “M”]). allowDecimal bool Whether to allow decimal numbers. NumberedFlagSyntax(XElement) Loads category path, code prefixes, and decimal policy from XML. public NumberedFlagSyntax(XElement src) Parameters src XElement Root element named XName. Properties AllowDecimal Whether to allow decimal numbers (e.g., G54.1). public bool AllowDecimal { get; set; } Property Value bool CategoryPath Category path for storing matched codes in JSON. public List CategoryPath { get; set; } Property Value List CodePrefixes Code prefixes to match (e.g., [“G”, “M”]). public List CodePrefixes { get; set; } Property Value List Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class NumberedFlagSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Syntax for numbered flags (prefix + number) with optional decimal support. NumberedFlagSyntax often should place after something like ParameterizedFlagSyntax. Since NumberedFlagSyntax is easy to eat those kind of flags. Single-digit integer codes are zero-padded to canonical 2-digit form (e.g. M6 → M06, G0 → G00, M3 → M03) so that downstream logic syntaxes comparing against IsoKeywords constants (which are always 2-digit form like M06) can match Fanuc-style omitted-leading-zero codes. Two-digit and decimal codes are kept as-is. public class NumberedFlagSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object NumberedFlagSyntax Implements ISituNcSyntax INcSyntax 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) Remarks Examples of stored canonical flags: Single-digit integer codes, padded: G0 → G00, M3 → M03 Two-digit or longer integer codes, unchanged: G54, M30 Decimal codes, unchanged: G54.1 (Fanuc extended work coordinates) Note: Parameters like P2 in G54.1P2 should be handled by TagSetupSyntax separately. Constructors NumberedFlagSyntax(IEnumerable, IEnumerable, bool) Creates a new NumberedFlagSyntax instance. public NumberedFlagSyntax(IEnumerable categoryPath, IEnumerable codePrefixes, bool allowDecimal = true) Parameters categoryPath IEnumerable JSON path for storing matched codes. codePrefixes IEnumerable Code prefixes to match (e.g., [“G”, “M”]). allowDecimal bool Whether to allow decimal numbers. NumberedFlagSyntax(XElement) Loads category path, code prefixes, and decimal policy from XML. public NumberedFlagSyntax(XElement src) Parameters src XElement Root element named XName. Properties AllowDecimal Whether to allow decimal numbers (e.g., G54.1). public bool AllowDecimal { get; set; } Property Value bool CategoryPath Category path for storing matched codes in JSON. public List CategoryPath { get; set; } Property Value List CodePrefixes Code prefixes to match (e.g., [“G”, “M”]). public List CodePrefixes { get; set; } Property Value List Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html", "title": "Class ParameterizedFlagSyntax | HiAPI-C# 2025", - "summary": "Class ParameterizedFlagSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Syntax for flags with attached parameters (e.g., G54.1P1, G10L2P1). This is essentially a combination of main flag matching (like NumberedFlagSyntax) plus scoped TagValueSyntax for the parameters after the main flag. Note that the ParameterizedFlagSyntax often should be applied before NumberedFlagSyntax since NumberedFlagSyntax may eat the text that ParameterizedFlagSyntax should handle. public class ParameterizedFlagSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ParameterizedFlagSyntax Implements ISituNcSyntax INcSyntax 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) Remarks Parameters can be stored as typed values via FloatParamPrefixes and IntParamPrefixes (set via property initializer): ParamPrefixes — stored as string (text, for variables like #1, Q2) FloatParamPrefixes — stored as double when parseable, string otherwise IntParamPrefixes — stored as int when parseable, string otherwise Examples: G54.1P1 → {\"G54.1\": {\"P\": \"1\"}} (text) G68.2 X0 I180 → {\"G68.2\": {\"X\": 0.0, \"I\": 180.0}} (float via property initializer) G54.1P#1 → {\"G54.1\": {\"P\": \"#1\"}} (Fanuc variable, kept as string) G54.1PQ1 → {\"G54.1\": {\"P\": \"Q1\"}} (Heidenhain variable) Constructors ParameterizedFlagSyntax(IEnumerable, IEnumerable, IEnumerable, string, IEnumerable) Creates a new ParameterizedFlagSyntax instance. Use property initializers for FloatParamPrefixes and IntParamPrefixes to enable typed parameter storage. public ParameterizedFlagSyntax(IEnumerable categoryPath, IEnumerable codePrefixes, IEnumerable paramPrefixes, string varPrefix, IEnumerable terminateWords = null) Parameters categoryPath IEnumerable JSON path for storing matched codes. codePrefixes IEnumerable Full code prefixes to match (e.g., [“G54.1”, “G10”]). paramPrefixes IEnumerable Parameter prefixes to extract (e.g., [“P”, “L”]). varPrefix string Variable prefix (e.g., “#” for Fanuc, “Q” for Heidenhain). terminateWords IEnumerable Words that stop parameter extraction. ParameterizedFlagSyntax(XElement) Loads all prefix lists, variable prefix, and terminator words from XML. public ParameterizedFlagSyntax(XElement src) Parameters src XElement Root element named XName. Properties CategoryPath Category path for storing matched codes in JSON. public List CategoryPath { get; set; } Property Value List CodePrefixes Full code prefixes to match (e.g., [“G54.1”, “G10”]). public List CodePrefixes { get; set; } Property Value List FloatParamPrefixes Parameter prefixes stored as double when parseable, string otherwise (for variable references). Set via property initializer for typed G-code parameters. public List FloatParamPrefixes { get; set; } Property Value List IntParamPrefixes Parameter prefixes stored as int when parseable, string otherwise (for variable references). Set via property initializer for typed G-code parameters. public List IntParamPrefixes { get; set; } Property Value List Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string ParamPrefixes Parameter prefixes to extract as text string (e.g., [“P”, “L”, “H”]). Multiple parameters can be attached to one code. public List ParamPrefixes { get; set; } Property Value List TerminateWords Words that terminate parameter extraction (e.g., [“G”, “M”, “X”, “Y”, “Z”]). Extraction stops when encountering these prefixes followed by a number. public List TerminateWords { get; set; } Property Value List VarPrefix Variable prefix for macro variables (e.g., “#” for Fanuc, “Q” for Heidenhain). public string VarPrefix { get; set; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class ParameterizedFlagSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Syntax for flags with attached parameters (e.g., G54.1P1, G10L2P1). This is essentially a combination of main flag matching (like NumberedFlagSyntax) plus scoped TagValueSyntax for the parameters after the main flag. Note that the ParameterizedFlagSyntax often should be applied before NumberedFlagSyntax since NumberedFlagSyntax may eat the text that ParameterizedFlagSyntax should handle. public class ParameterizedFlagSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ParameterizedFlagSyntax Implements ISituNcSyntax INcSyntax 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) Remarks Parameters can be stored as typed values via FloatParamPrefixes and IntParamPrefixes (set via property initializer): ParamPrefixes — stored as string (text, for variables like #1, Q2) FloatParamPrefixes — stored as double when parseable, string otherwise IntParamPrefixes — stored as int when parseable, string otherwise Examples: G54.1P1 → {\"G54.1\": {\"P\": \"1\"}} (text) G68.2 X0 I180 → {\"G68.2\": {\"X\": 0.0, \"I\": 180.0}} (float via property initializer) G54.1P#1 → {\"G54.1\": {\"P\": \"#1\"}} (Fanuc variable, kept as string) G54.1PQ1 → {\"G54.1\": {\"P\": \"Q1\"}} (Heidenhain variable) Constructors ParameterizedFlagSyntax(IEnumerable, IEnumerable, IEnumerable, string, IEnumerable) Creates a new ParameterizedFlagSyntax instance. Use property initializers for FloatParamPrefixes and IntParamPrefixes to enable typed parameter storage. public ParameterizedFlagSyntax(IEnumerable categoryPath, IEnumerable codePrefixes, IEnumerable paramPrefixes, string varPrefix, IEnumerable terminateWords = null) Parameters categoryPath IEnumerable JSON path for storing matched codes. codePrefixes IEnumerable Full code prefixes to match (e.g., [“G54.1”, “G10”]). paramPrefixes IEnumerable Parameter prefixes to extract (e.g., [“P”, “L”]). varPrefix string Variable prefix (e.g., “#” for Fanuc, “Q” for Heidenhain). terminateWords IEnumerable Words that stop parameter extraction. ParameterizedFlagSyntax(XElement) Loads all prefix lists, variable prefix, and terminator words from XML. public ParameterizedFlagSyntax(XElement src) Parameters src XElement Root element named XName. Properties CategoryPath Category path for storing matched codes in JSON. public List CategoryPath { get; set; } Property Value List CodePrefixes Full code prefixes to match (e.g., [“G54.1”, “G10”]). public List CodePrefixes { get; set; } Property Value List FloatParamPrefixes Parameter prefixes stored as double when parseable, string otherwise (for variable references). Set via property initializer for typed G-code parameters. public List FloatParamPrefixes { get; set; } Property Value List IntParamPrefixes Parameter prefixes stored as int when parseable, string otherwise (for variable references). Set via property initializer for typed G-code parameters. public List IntParamPrefixes { get; set; } Property Value List Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string ParamPrefixes Parameter prefixes to extract as text string (e.g., [“P”, “L”, “H”]). Multiple parameters can be attached to one code. public List ParamPrefixes { get; set; } Property Value List TerminateWords Words that terminate parameter extraction (e.g., [“G”, “M”, “X”, “Y”, “Z”]). Extraction stops when encountering these prefixes followed by a number. public List TerminateWords { get; set; } Property Value List VarPrefix Variable prefix for macro variables (e.g., “#” for Fanuc, “Q” for Heidenhain). public string VarPrefix { get; set; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.ShrinkIfNoDecimalPointSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.ShrinkIfNoDecimalPointSyntax.html", "title": "Class ShrinkIfNoDecimalPointSyntax | HiAPI-C# 2025", - "summary": "Class ShrinkIfNoDecimalPointSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Applies the “conventional type” decimal-point interpretation to coordinate values in UnparsedText. When a tag value has no decimal point (e.g. Y20), it is shrunk by the implied decimal places: Y20 → Y0.020 (3 decimal places). Values that already contain a decimal point are left unchanged. Place inside BundleSyntax before FloatTagValueSyntax so the modified text is parsed correctly by subsequent syntaxes. public class ShrinkIfNoDecimalPointSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ShrinkIfNoDecimalPointSyntax Implements ISituNcSyntax INcSyntax 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) Remarks Modern CNC controllers default to “calculator type” where Y20 = Y20.0. This syntax is only needed for legacy “conventional type” configurations where Y20 = Y0.020 (Fanuc DPI=0, etc.). Properties ImpliedDecimalPlaces Number of implied decimal places when no decimal point is present. 3 → 0.001 (mm), 4 → 0.0001 (inch). public int ImpliedDecimalPlaces { get; set; } Property Value int Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string Tags Tags to check for missing decimal points. Default: X, Y, Z. public List Tags { get; set; } Property Value List XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class ShrinkIfNoDecimalPointSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Applies the “conventional type” decimal-point interpretation to coordinate values in UnparsedText. When a tag value has no decimal point (e.g. Y20), it is shrunk by the implied decimal places: Y20 → Y0.020 (3 decimal places). Values that already contain a decimal point are left unchanged. Place inside BundleSyntax before FloatTagValueSyntax so the modified text is parsed correctly by subsequent syntaxes. public class ShrinkIfNoDecimalPointSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ShrinkIfNoDecimalPointSyntax Implements ISituNcSyntax INcSyntax 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) Remarks Modern CNC controllers default to “calculator type” where Y20 = Y20.0. This syntax is only needed for legacy “conventional type” configurations where Y20 = Y0.020 (Fanuc DPI=0, etc.). Properties ImpliedDecimalPlaces Number of implied decimal places when no decimal point is present. 3 → 0.001 (mm), 4 → 0.0001 (inch). public int ImpliedDecimalPlaces { get; set; } Property Value int Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string Tags Tags to check for missing decimal points. Default: X, Y, Z. public List Tags { get; set; } Property Value List XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.html", "title": "Class TagAssignmentSyntax | HiAPI-C# 2025", - "summary": "Class TagAssignmentSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Assignment syntax with = sign. Unlike TagValueSyntax which handles concatenated tag-value pairs (no = sign), this class handles explicit assignment statements. public class TagAssignmentSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object TagAssignmentSyntax Implements ISituNcSyntax INcSyntax IMakeXmlSource Derived HeidenhainFnAssignmentSyntax 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) Remarks Fanuc: #1 = 100, #100 = [#1 + #2] Siemens: R1 = 100, R1 = R2 + R3 Heidenhain: via derived HeidenhainFnAssignmentSyntax which adds FN prefix handling Wraps GrabTagAssignment(ref string, IEnumerable, string, IEnumerable) as an INcSyntax. Constructors TagAssignmentSyntax(IEnumerable, IEnumerable, string, IEnumerable) Creates an assignment syntax. Pass null for categoryPath to use DefaultCategoryPath (Parsing.Assignments). Pass an empty collection only if assignments should land at the Parsing root. public TagAssignmentSyntax(IEnumerable categoryPath, IEnumerable tags, string varPrefix, IEnumerable terminateWords = null) Parameters categoryPath IEnumerable tags IEnumerable varPrefix string terminateWords IEnumerable TagAssignmentSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public TagAssignmentSyntax(XElement src) Parameters src XElement Source XML element. Properties CategoryPath JSON path under Parsing where matched assignments are written. public List CategoryPath { get; set; } Property Value List DefaultCategoryPath Default CategoryPath assigned when the caller passes null (or omits the element in saved XML). Routes assignment outputs into Parsing.Assignments so that variable-reading syntaxes can target a single well-defined subtree. public static IReadOnlyList DefaultCategoryPath { get; } Property Value IReadOnlyList Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string TagList Numeric tag suffixes accepted (e.g. 1, 100) when paired with VarPrefix. public List TagList { get; set; } Property Value List TerminateWords Optional keywords that terminate the right-hand expression so the remainder is left in UnparsedText. public List TerminateWords { get; set; } Property Value List VarPrefix Variable prefix (e.g. #, R, Q) preceding the numeric tag. public string VarPrefix { get; set; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. ToAssignmentJsonNode(string) Converts an assignment expression string to a JsonNode. Override in derived classes for typed parsing. protected virtual JsonNode ToAssignmentJsonNode(string setup) Parameters setup string Returns JsonNode TryStripPrefix(ref string) Strips a brand-specific prefix from unparsedText before assignment parsing. Returns false to signal no match (skip this syntax). Base implementation does nothing (no prefix required). protected virtual bool TryStripPrefix(ref string unparsedText) Parameters unparsedText string Returns bool" + "summary": "Class TagAssignmentSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Assignment syntax with = sign. Unlike TagValueSyntax which handles concatenated tag-value pairs (no = sign), this class handles explicit assignment statements. public class TagAssignmentSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object TagAssignmentSyntax Implements ISituNcSyntax INcSyntax IMakeXmlSource Derived HeidenhainFnAssignmentSyntax 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) Remarks Fanuc: #1 = 100, #100 = [#1 + #2] Siemens: R1 = 100, R1 = R2 + R3 Heidenhain: via derived HeidenhainFnAssignmentSyntax which adds FN prefix handling Wraps GrabTagAssignment(ref string, IEnumerable, string, IEnumerable) as an INcSyntax. Constructors TagAssignmentSyntax(IEnumerable, IEnumerable, string, IEnumerable) Creates an assignment syntax. Pass null for categoryPath to use DefaultCategoryPath (Parsing.Assignments). Pass an empty collection only if assignments should land at the Parsing root. public TagAssignmentSyntax(IEnumerable categoryPath, IEnumerable tags, string varPrefix, IEnumerable terminateWords = null) Parameters categoryPath IEnumerable tags IEnumerable varPrefix string terminateWords IEnumerable TagAssignmentSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public TagAssignmentSyntax(XElement src) Parameters src XElement Source XML element. Properties CategoryPath JSON path under Parsing where matched assignments are written. public List CategoryPath { get; set; } Property Value List DefaultCategoryPath Default CategoryPath assigned when the caller passes null (or omits the element in saved XML). Routes assignment outputs into Parsing.Assignments so that variable-reading syntaxes can target a single well-defined subtree. public static IReadOnlyList DefaultCategoryPath { get; } Property Value IReadOnlyList Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string TagList Numeric tag suffixes accepted (e.g. 1, 100) when paired with VarPrefix. public List TagList { get; set; } Property Value List TerminateWords Optional keywords that terminate the right-hand expression so the remainder is left in UnparsedText. public List TerminateWords { get; set; } Property Value List VarPrefix Variable prefix (e.g. #, R, Q) preceding the numeric tag. public string VarPrefix { get; set; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToAssignmentJsonNode(string) Converts an assignment expression string to a JsonNode. Override in derived classes for typed parsing. protected virtual JsonNode ToAssignmentJsonNode(string setup) Parameters setup string Returns JsonNode TryStripPrefix(ref string) Strips a brand-specific prefix from unparsedText before assignment parsing. Returns false to signal no match (skip this syntax). Base implementation does nothing (no prefix required). protected virtual bool TryStripPrefix(ref string unparsedText) Parameters unparsedText string Returns bool" }, "api/Hi.NcParsers.ParsingSyntaxs.TagValueSyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.TagValueSyntax.html", "title": "Class TagValueSyntax | HiAPI-C# 2025", - "summary": "Class TagValueSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Concatenated tag-value syntax (no = sign). ex. Heidenhain: L X Q2 Y33.4 FQ1 ISO: X100.3Y3.3 public class TagValueSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object TagValueSyntax Implements ISituNcSyntax INcSyntax IMakeXmlSource Derived FloatTagValueSyntax IntegerTagValueSyntax 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 TagValueSyntax(IEnumerable, IEnumerable, string) Initializes a new instance with the given category path, tag list, and variable-tag pattern. public TagValueSyntax(IEnumerable categoryPath, IEnumerable tags, string variableTag) Parameters categoryPath IEnumerable JSON path under Parsing where matches are written. tags IEnumerable Single-letter tag names whose values are grabbed. variableTag string Regex/literal recognizing a variable reference as a value. TagValueSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public TagValueSyntax(XElement src) Parameters src XElement Source XML element. Properties CategoryPath JSON path under Parsing where matched tag-values are written. public List CategoryPath { get; set; } Property Value List Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string TagList Single-letter tag names whose values are grabbed (e.g. X, Y, Z, F). public List TagList { get; set; } Property Value List VariableTag Regex (or literal) that recognizes a variable reference token (e.g. Q2, #1, [#1+#2]) as the value of a tag. public string VariableTag { get; set; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. ToValueJsonNode(string) Converts a tag setup string value to a JsonNode. Override in derived classes for typed parsing (int, double). Variable text (e.g. Q2, #1, [#1+#2]) is kept as string. protected virtual JsonNode ToValueJsonNode(string setup) Parameters setup string Returns JsonNode" + "summary": "Class TagValueSyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Concatenated tag-value syntax (no = sign). ex. Heidenhain: L X Q2 Y33.4 FQ1 ISO: X100.3Y3.3 public class TagValueSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object TagValueSyntax Implements ISituNcSyntax INcSyntax IMakeXmlSource Derived FloatTagValueSyntax IntegerTagValueSyntax 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 TagValueSyntax(IEnumerable, IEnumerable, string) Initializes a new instance with the given category path, tag list, and variable-tag pattern. public TagValueSyntax(IEnumerable categoryPath, IEnumerable tags, string variableTag) Parameters categoryPath IEnumerable JSON path under Parsing where matches are written. tags IEnumerable Single-letter tag names whose values are grabbed. variableTag string Regex/literal recognizing a variable reference as a value. TagValueSyntax(XElement) Initializes a new instance by deserializing from the given XML element. public TagValueSyntax(XElement src) Parameters src XElement Source XML element. Properties CategoryPath JSON path under Parsing where matched tag-values are written. public List CategoryPath { get; set; } Property Value List Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string TagList Single-letter tag names whose values are grabbed (e.g. X, Y, Z, F). public List TagList { get; set; } Property Value List VariableTag Regex (or literal) that recognizes a variable reference token (e.g. Q2, #1, [#1+#2]) as the value of a tag. public string VariableTag { get; set; } Property Value string XName XML element name used to register this syntax with XFactory. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToValueJsonNode(string) Converts a tag setup string value to a JsonNode. Override in derived classes for typed parsing (int, double). Variable text (e.g. Q2, #1, [#1+#2]) is kept as string. protected virtual JsonNode ToValueJsonNode(string setup) Parameters setup string Returns JsonNode" }, "api/Hi.NcParsers.ParsingSyntaxs.TapeBoundarySyntax.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.TapeBoundarySyntax.html", "title": "Class TapeBoundarySyntax | HiAPI-C# 2025", - "summary": "Class TapeBoundarySyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Detects the % tape leader / trailer at the start of a block and records it under TapeBoundary on the block JSON. Universal across ISO controllers (Fanuc, Mazak, Syntec, Siemens) — a brand's program-identifier header (e.g. Fanuc O1234) is a separate concern handled by its own brand-specific syntax. public class TapeBoundarySyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object TapeBoundarySyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: % #AfterBuild: { \"TapeBoundary\": { \"Text\": \"\" } } #BeforeBuild.UnparsedText: %foo #AfterBuild: { \"TapeBoundary\": { \"Text\": \"foo\" } } #BeforeBuild.UnparsedText: % header text #AfterBuild: { \"TapeBoundary\": { \"Text\": \"header text\" } } Constructors TapeBoundarySyntax() Parameterless instance for bundle composition (no XML state). public TapeBoundarySyntax() TapeBoundarySyntax(XElement) XML ctor (no child elements; reserved for forward compatibility). public TapeBoundarySyntax(XElement src) Parameters src XElement Root element named XName. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress IsPreviousNodeTapeBoundary(LazyLinkedListNode) Returns true if the previous block carries a TapeBoundary section, or if there is no previous block at all (start-of-stream is itself a tape boundary). Brand-specific program-identifier syntaxes use this to decide whether the current block can host a program-number header. public static bool IsPreviousNodeTapeBoundary(LazyLinkedListNode node) Parameters node LazyLinkedListNode Returns bool MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class TapeBoundarySyntax Namespace Hi.NcParsers.ParsingSyntaxs Assembly HiMech.dll Detects the % tape leader / trailer at the start of a block and records it under TapeBoundary on the block JSON. Universal across ISO controllers (Fanuc, Mazak, Syntec, Siemens) — a brand's program-identifier header (e.g. Fanuc O1234) is a separate concern handled by its own brand-specific syntax. public class TapeBoundarySyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object TapeBoundarySyntax Implements ISituNcSyntax INcSyntax 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) Examples #BeforeBuild.UnparsedText: % #AfterBuild: { \"TapeBoundary\": { \"Text\": \"\" } } #BeforeBuild.UnparsedText: %foo #AfterBuild: { \"TapeBoundary\": { \"Text\": \"foo\" } } #BeforeBuild.UnparsedText: % header text #AfterBuild: { \"TapeBoundary\": { \"Text\": \"header text\" } } Constructors TapeBoundarySyntax() Parameterless instance for bundle composition (no XML state). public TapeBoundarySyntax() TapeBoundarySyntax(XElement) XML ctor (no child elements; reserved for forward compatibility). public TapeBoundarySyntax(XElement src) Parameters src XElement Root element named XName. Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress IsPreviousNodeTapeBoundary(LazyLinkedListNode) Returns true if the previous block carries a TapeBoundary section, or if there is no previous block at all (start-of-stream is itself a tape boundary). Brand-specific program-identifier syntaxes use this to decide whether the current block can host a program-number header. public static bool IsPreviousNodeTapeBoundary(LazyLinkedListNode node) Parameters node LazyLinkedListNode Returns bool 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.ParsingSyntaxs.html": { "href": "api/Hi.NcParsers.ParsingSyntaxs.html", @@ -4802,12 +4802,12 @@ "api/Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html": { "href": "api/Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html", "title": "Class ModalCarrySyntax | HiAPI-C# 2025", - "summary": "Class ModalCarrySyntax Namespace Hi.NcParsers.PostLogicSyntaxs Assembly HiMech.dll Per-block modal-section carry. For each key in TrackedKeys, if the current block has no section for that key, deep-clone the same section from the immediately previous block (which is itself guaranteed to carry it because every block is processed by this syntax) and set AddedByKey = AddedByValue inside the cloned section. Lets every block stand alone with its full modal context, so downstream readers (cache-file dumps, semantics, UI jumping to a single block) do not need EnumerateBack() to resolve modal state. A JSON section is a candidate for TrackedKeys when ALL four criteria hold: Writers concentrated — one or two syntaxes own the section (e.g. LinearMotionSyntax / CircularMotionSyntax own MotionState; the call/return pair own SubProgramCall-derived state). Readers distributed — multiple downstream consumers each need the value, and none of them should walk back to find it. Single-reader sections do not benefit from blanket carry. Every block must see the section — cache-dump readers landing randomly, single-block UI views, and look-ahead syntaxes all require the section to be present on every block. Carry is unconditional — no frame-gating or other per-block veto. Sections that need conditional carry (e.g. FanucLocalVariableReadingSyntax's frame-aware Vars.Local dict-merge — carry only when MacroFrame matches) belong in the owning syntax's own carry logic, not here. A section failing any criterion should be carried through its owning syntax's own logic (single-step node.Previous read, or no carry at all if absence is meaningful — e.g. MacroFrame absent = main frame). This replaces the earlier CacheSyntax design (which sampled every Pace blocks). The legacy CacheSyntax XName is still recognised on load for backward compatibility with previously-saved project files. public class ModalCarrySyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ModalCarrySyntax Implements ISituNcSyntax INcSyntax 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 ModalCarrySyntax() Creates an empty ModalCarrySyntax; populate TrackedKeys before use. public ModalCarrySyntax() ModalCarrySyntax(XElement) Reconstructs a ModalCarrySyntax from a project XML element previously produced by MakeXmlSource(string, string, bool). public ModalCarrySyntax(XElement src) Parameters src XElement XML element carrying a TrackedKeys child with one Key per entry; null is treated as defaults. Fields AddedByValue Value written under AddedByKey on each section this syntax deep-clones from the previous block. Mirrors AddedByValue's role for its own synthesis — both let cache-file readers distinguish post-Logic / Inspection stage injections from LogicSyntaxs-stage authored values (the latter have no AddedByKey). public const string AddedByValue = \"ModalCarry\" Field Value string Properties Default Full-set carrier (Logic ∪ PostLogic) — retained for the legacy backstop in SoftNcRunner that appends a single ModalCarry to pre-3.1.168 project syntax lists. New brand syntax kits should split into Logic + PostLogic instead. public static ModalCarrySyntax Default { get; } Property Value ModalCarrySyntax Logic Logic-stage carrier — modal sections that are written in the Logic bundle and never mutated by PostLogic. Carrying these at the end of each block's Logic bundle keeps single-step node.Previous modal lookups from Logic syntaxes correct, even when a PostLogic syntax (e.g. RadiusCompensationSyntax) does node.Next look-forward and drags subsequent blocks' Logic builds forward before the intermediate block's PostLogic ModalCarry has run. public static ModalCarrySyntax Logic { get; } Property Value ModalCarrySyntax Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string PostLogic PostLogic-stage carrier — modal sections that may still be mutated by PostLogic syntaxes after Logic completes. Today only MachineCoordinateState qualifies (overwritten by RadiusCompensationSyntax with the radius-compensated position). Carrying these at the end of PostLogic ensures the modal value reflects the final, post-compensation state. public static ModalCarrySyntax PostLogic { get; } Property Value ModalCarrySyntax TrackedKeys Section keys to carry. Order-insensitive; duplicates ignored. public List TrackedKeys { get; set; } Property Value List XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode node, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters node LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class ModalCarrySyntax Namespace Hi.NcParsers.PostLogicSyntaxs Assembly HiMech.dll Per-block modal-section carry. For each key in TrackedKeys, if the current block has no section for that key, deep-clone the same section from the immediately previous block (which is itself guaranteed to carry it because every block is processed by this syntax) and set AddedByKey = AddedByValue inside the cloned section. Lets every block stand alone with its full modal context, so downstream readers (cache-file dumps, semantics, UI jumping to a single block) do not need EnumerateBack() to resolve modal state. A JSON section is a candidate for TrackedKeys when ALL four criteria hold: Writers concentrated — one or two syntaxes own the section (e.g. LinearMotionSyntax / CircularMotionSyntax own MotionState; the call/return pair own SubProgramCall-derived state). Readers distributed — multiple downstream consumers each need the value, and none of them should walk back to find it. Single-reader sections do not benefit from blanket carry. Every block must see the section — cache-dump readers landing randomly, single-block UI views, and look-ahead syntaxes all require the section to be present on every block. Carry is unconditional — no frame-gating or other per-block veto. Sections that need conditional carry (e.g. FanucLocalVariableReadingSyntax's frame-aware Vars.Local dict-merge — carry only when MacroFrame matches) belong in the owning syntax's own carry logic, not here. A section failing any criterion should be carried through its owning syntax's own logic (single-step node.Previous read, or no carry at all if absence is meaningful — e.g. MacroFrame absent = main frame). This replaces the earlier CacheSyntax design (which sampled every Pace blocks). The legacy CacheSyntax XName is still recognised on load for backward compatibility with previously-saved project files. public class ModalCarrySyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object ModalCarrySyntax Implements ISituNcSyntax INcSyntax 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 ModalCarrySyntax() Creates an empty ModalCarrySyntax; populate TrackedKeys before use. public ModalCarrySyntax() ModalCarrySyntax(XElement) Reconstructs a ModalCarrySyntax from a project XML element previously produced by MakeXmlSource(string, string, bool). public ModalCarrySyntax(XElement src) Parameters src XElement XML element carrying a TrackedKeys child with one Key per entry; null is treated as defaults. Fields AddedByValue Value written under AddedByKey on each section this syntax deep-clones from the previous block. Mirrors AddedByValue's role for its own synthesis — both let cache-file readers distinguish post-Logic / Inspection stage injections from LogicSyntaxs-stage authored values (the latter have no AddedByKey). public const string AddedByValue = \"ModalCarry\" Field Value string Properties Default Full-set carrier (Logic ∪ PostLogic) — retained for the legacy backstop in SoftNcRunner that appends a single ModalCarry to pre-3.1.168 project syntax lists. New brand syntax kits should split into Logic + PostLogic instead. public static ModalCarrySyntax Default { get; } Property Value ModalCarrySyntax Logic Logic-stage carrier — modal sections that are written in the Logic bundle and never mutated by PostLogic. Carrying these at the end of each block's Logic bundle keeps single-step node.Previous modal lookups from Logic syntaxes correct, even when a PostLogic syntax (e.g. RadiusCompensationSyntax) does node.Next look-forward and drags subsequent blocks' Logic builds forward before the intermediate block's PostLogic ModalCarry has run. public static ModalCarrySyntax Logic { get; } Property Value ModalCarrySyntax Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string PostLogic PostLogic-stage carrier — modal sections that may still be mutated by PostLogic syntaxes after Logic completes. Today only MachineCoordinateState qualifies (overwritten by RadiusCompensationSyntax with the radius-compensated position). Carrying these at the end of PostLogic ensures the modal value reflects the final, post-compensation state. public static ModalCarrySyntax PostLogic { get; } Property Value ModalCarrySyntax TrackedKeys Section keys to carry. Order-insensitive; duplicates ignored. public List TrackedKeys { get; set; } Property Value List XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode node, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters node LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.PostLogicSyntaxs.RadiusCompensationSyntax.html": { "href": "api/Hi.NcParsers.PostLogicSyntaxs.RadiusCompensationSyntax.html", "title": "Class RadiusCompensationSyntax | HiAPI-C# 2025", - "summary": "Class RadiusCompensationSyntax Namespace Hi.NcParsers.PostLogicSyntaxs Assembly HiMech.dll Resolves cutter radius compensation (G41/G42/G40) by offsetting the tool path perpendicular to the programmed direction. Must be placed after motion syntaxes (CircularMotionSyntax, LinearMotionSyntax) because it reads the Hi.Motion section. Must NOT be placed inside BundleSyntax because it requires look-forward (Next). For simple cases (line-line, no transient), the syntax overwrites MachineCoordinate with the offset position. For arc blocks that need transient bridging segments, the Motion section is replaced with a CompoundMotion containing sub-items. public class RadiusCompensationSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object RadiusCompensationSyntax Implements ISituNcSyntax INcSyntax 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 RadiusCompensationSyntax() Creates a default RadiusCompensationSyntax. public RadiusCompensationSyntax() RadiusCompensationSyntax(XElement) Reconstructs a RadiusCompensationSyntax from a project XML element previously produced by MakeXmlSource(string, string, bool). The element carries no fields, so src is used only for factory dispatch. public RadiusCompensationSyntax(XElement src) Parameters src XElement XML element previously produced by MakeXmlSource(string, string, bool). Fields ArcBeginProgramXyzKey JSON key for the arc begin program position inside CompoundMotion arc items. public const string ArcBeginProgramXyzKey = \"ArcBeginProgramXyz\" Field Value string MotionProgramXyzKey JSON key for the compensated program position inside Motion sections and CompoundMotion arc items. public const string MotionProgramXyzKey = \"MotionProgramXyz\" Field Value string Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class RadiusCompensationSyntax Namespace Hi.NcParsers.PostLogicSyntaxs Assembly HiMech.dll Resolves cutter radius compensation (G41/G42/G40) by offsetting the tool path perpendicular to the programmed direction. Must be placed after motion syntaxes (CircularMotionSyntax, LinearMotionSyntax) because it reads the Hi.Motion section. Must NOT be placed inside BundleSyntax because it requires look-forward (Next). For simple cases (line-line, no transient), the syntax overwrites MachineCoordinate with the offset position. For arc blocks that need transient bridging segments, the Motion section is replaced with a CompoundMotion containing sub-items. public class RadiusCompensationSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object RadiusCompensationSyntax Implements ISituNcSyntax INcSyntax 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 RadiusCompensationSyntax() Creates a default RadiusCompensationSyntax. public RadiusCompensationSyntax() RadiusCompensationSyntax(XElement) Reconstructs a RadiusCompensationSyntax from a project XML element previously produced by MakeXmlSource(string, string, bool). The element carries no fields, so src is used only for factory dispatch. public RadiusCompensationSyntax(XElement src) Parameters src XElement XML element previously produced by MakeXmlSource(string, string, bool). Fields ArcBeginProgramXyzKey JSON key for the arc begin program position inside CompoundMotion arc items. public const string ArcBeginProgramXyzKey = \"ArcBeginProgramXyz\" Field Value string MotionProgramXyzKey JSON key for the compensated program position inside Motion sections and CompoundMotion arc items. public const string MotionProgramXyzKey = \"MotionProgramXyz\" Field Value string Properties Name Syntax kind name (typically the concrete type name). public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.PostLogicSyntaxs.html": { "href": "api/Hi.NcParsers.PostLogicSyntaxs.html", @@ -4817,7 +4817,7 @@ "api/Hi.NcParsers.Segmenters.HeidenhainSegmenter.html": { "href": "api/Hi.NcParsers.Segmenters.HeidenhainSegmenter.html", "title": "Class HeidenhainSegmenter | HiAPI-C# 2025", - "summary": "Class HeidenhainSegmenter Namespace Hi.NcParsers.Segmenters Assembly HiMech.dll Heidenhain NC block builder. Also support single line NC block. public class HeidenhainSegmenter : ISegmenter, IToXElement Inheritance object HeidenhainSegmenter Implements ISegmenter IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors HeidenhainSegmenter() Creates a HeidenhainSegmenter with the default block-keyword list. public HeidenhainSegmenter() Properties Name Display name of this segmenter. public string Name { get; } Property Value string XName XML element name used to register and serialize this segmenter. public static string XName { get; } Property Value string Methods GetSentences(LazyLinkedList, NcDiagnosticProgress) Segments the indexed file lines into Sentences. public IEnumerable GetSentences(LazyLinkedList indexedFileLines, NcDiagnosticProgress ncDiagnosticProgress) Parameters indexedFileLines LazyLinkedList The lazy linked list of indexed file lines. ncDiagnosticProgress NcDiagnosticProgress Diagnostic progress reporter. Returns IEnumerable A sequence of Sentences. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class HeidenhainSegmenter Namespace Hi.NcParsers.Segmenters Assembly HiMech.dll Heidenhain NC block builder. Also support single line NC block. public class HeidenhainSegmenter : ISegmenter, IToXElement Inheritance object HeidenhainSegmenter Implements ISegmenter IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors HeidenhainSegmenter() Creates a HeidenhainSegmenter with the default block-keyword list. public HeidenhainSegmenter() Properties Name Display name of this segmenter. public string Name { get; } Property Value string XName XML element name used to register and serialize this segmenter. public static string XName { get; } Property Value string Methods GetSentences(LazyLinkedList, NcDiagnosticProgress) Segments the indexed file lines into Sentences. public IEnumerable GetSentences(LazyLinkedList indexedFileLines, NcDiagnosticProgress ncDiagnosticProgress) Parameters indexedFileLines LazyLinkedList The lazy linked list of indexed file lines. ncDiagnosticProgress NcDiagnosticProgress Diagnostic progress reporter. Returns IEnumerable A sequence of Sentences. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.NcParsers.Segmenters.ISegmenter.html": { "href": "api/Hi.NcParsers.Segmenters.ISegmenter.html", @@ -4827,12 +4827,12 @@ "api/Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.html": { "href": "api/Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.html", "title": "Class InlineDelimiterSegmenter | HiAPI-C# 2025", - "summary": "Class InlineDelimiterSegmenter Namespace Hi.NcParsers.Segmenters Assembly HiMech.dll Segments NC lines by an inline delimiter (e.g. ';'). A line containing the delimiter produces multiple Sentences, each with a precise FileLineCharIndexSegment. Lines without the delimiter produce a single Sentence. public class InlineDelimiterSegmenter : ISegmenter, IToXElement Inheritance object InlineDelimiterSegmenter Implements ISegmenter IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors InlineDelimiterSegmenter() Creates an InlineDelimiterSegmenter using DefaultDelimiter. public InlineDelimiterSegmenter() InlineDelimiterSegmenter(char) Creates an InlineDelimiterSegmenter with a custom delimiter character. public InlineDelimiterSegmenter(char delimiter) Parameters delimiter char Fields DefaultDelimiter Default delimiter: ';'. public static readonly char DefaultDelimiter Field Value char Properties Delimiter The inline delimiter character. public char Delimiter { get; } Property Value char Name Display name of this segmenter. public string Name { get; } Property Value string XName XML element name used to register and serialize this segmenter. public static string XName { get; } Property Value string Methods GetSentences(LazyLinkedList, NcDiagnosticProgress) Segments the indexed file lines into Sentences. public IEnumerable GetSentences(LazyLinkedList indexedFileLines, NcDiagnosticProgress ncDiagnosticProgress) Parameters indexedFileLines LazyLinkedList The lazy linked list of indexed file lines. ncDiagnosticProgress NcDiagnosticProgress Diagnostic progress reporter. Returns IEnumerable A sequence of Sentences. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class InlineDelimiterSegmenter Namespace Hi.NcParsers.Segmenters Assembly HiMech.dll Segments NC lines by an inline delimiter (e.g. ';'). A line containing the delimiter produces multiple Sentences, each with a precise FileLineCharIndexSegment. Lines without the delimiter produce a single Sentence. public class InlineDelimiterSegmenter : ISegmenter, IToXElement Inheritance object InlineDelimiterSegmenter Implements ISegmenter IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors InlineDelimiterSegmenter() Creates an InlineDelimiterSegmenter using DefaultDelimiter. public InlineDelimiterSegmenter() InlineDelimiterSegmenter(char) Creates an InlineDelimiterSegmenter with a custom delimiter character. public InlineDelimiterSegmenter(char delimiter) Parameters delimiter char Fields DefaultDelimiter Default delimiter: ';'. public static readonly char DefaultDelimiter Field Value char Properties Delimiter The inline delimiter character. public char Delimiter { get; } Property Value char Name Display name of this segmenter. public string Name { get; } Property Value string XName XML element name used to register and serialize this segmenter. public static string XName { get; } Property Value string Methods GetSentences(LazyLinkedList, NcDiagnosticProgress) Segments the indexed file lines into Sentences. public IEnumerable GetSentences(LazyLinkedList indexedFileLines, NcDiagnosticProgress ncDiagnosticProgress) Parameters indexedFileLines LazyLinkedList The lazy linked list of indexed file lines. ncDiagnosticProgress NcDiagnosticProgress Diagnostic progress reporter. Returns IEnumerable A sequence of Sentences. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.NcParsers.Segmenters.SingleLineSegmenter.html": { "href": "api/Hi.NcParsers.Segmenters.SingleLineSegmenter.html", "title": "Class SingleLineSegmenter | HiAPI-C# 2025", - "summary": "Class SingleLineSegmenter Namespace Hi.NcParsers.Segmenters Assembly HiMech.dll Maps each physical source line to one Sentence (no multi-line merging). public class SingleLineSegmenter : ISegmenter, IToXElement Inheritance object SingleLineSegmenter Implements ISegmenter IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Properties Name Display name of this segmenter. public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods GetSentences(LazyLinkedList, NcDiagnosticProgress) Segments the indexed file lines into Sentences. public IEnumerable GetSentences(LazyLinkedList indexedFileLines, NcDiagnosticProgress ncDiagnosticProgress) Parameters indexedFileLines LazyLinkedList The lazy linked list of indexed file lines. ncDiagnosticProgress NcDiagnosticProgress Diagnostic progress reporter. Returns IEnumerable A sequence of Sentences. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class SingleLineSegmenter Namespace Hi.NcParsers.Segmenters Assembly HiMech.dll Maps each physical source line to one Sentence (no multi-line merging). public class SingleLineSegmenter : ISegmenter, IToXElement Inheritance object SingleLineSegmenter Implements ISegmenter IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Properties Name Display name of this segmenter. public string Name { get; } Property Value string XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods GetSentences(LazyLinkedList, NcDiagnosticProgress) Segments the indexed file lines into Sentences. public IEnumerable GetSentences(LazyLinkedList indexedFileLines, NcDiagnosticProgress ncDiagnosticProgress) Parameters indexedFileLines LazyLinkedList The lazy linked list of indexed file lines. ncDiagnosticProgress NcDiagnosticProgress Diagnostic progress reporter. Returns IEnumerable A sequence of Sentences. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.NcParsers.Segmenters.html": { "href": "api/Hi.NcParsers.Segmenters.html", @@ -4842,27 +4842,27 @@ "api/Hi.NcParsers.Semantics.ClLinearMotionSemantic.html": { "href": "api/Hi.NcParsers.Semantics.ClLinearMotionSemantic.html", "title": "Class ClLinearMotionSemantic | HiAPI-C# 2025", - "summary": "Class ClLinearMotionSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Resolves ClLinear motion into CL-level linear interpolation with per-step inverse kinematics. Used when RTCP (G43.4/TRAORI/M128) is active and rotary axes change, producing ActClDerivedMcXyzabcContour. The CL (cutter location) endpoints are derived from MC endpoints via forward kinematics, then interpolated linearly. The MC path is non-linear because the tool orientation changes during the move. public class ClLinearMotionSemantic : INcSemantic, IMakeXmlSource Inheritance object ClLinearMotionSemantic Implements INcSemantic 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) Properties DisplayName The process name shown on UI. public string DisplayName { get; } Property Value string XName XML element name used to register and serialize this semantic. 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. Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) Resolve the syntaxPieceNode into a sequence of IAct. May also mutate SyntaxPiece.JsonObject for downstream semantics. public IEnumerable Resolve(LazyLinkedListNode syntaxPieceNode, List dependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode dependencyList List ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable" + "summary": "Class ClLinearMotionSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Resolves ClLinear motion into CL-level linear interpolation with per-step inverse kinematics. Used when RTCP (G43.4/TRAORI/M128) is active and rotary axes change, producing ActClDerivedMcXyzabcContour. The CL (cutter location) endpoints are derived from MC endpoints via forward kinematics, then interpolated linearly. The MC path is non-linear because the tool orientation changes during the move. public class ClLinearMotionSemantic : INcSemantic, IMakeXmlSource Inheritance object ClLinearMotionSemantic Implements INcSemantic 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) Properties DisplayName The process name shown on UI. public string DisplayName { get; } Property Value string XName XML element name used to register and serialize this semantic. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) Resolve the syntaxPieceNode into a sequence of IAct. May also mutate SyntaxPiece.JsonObject for downstream semantics. public IEnumerable Resolve(LazyLinkedListNode syntaxPieceNode, List dependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode dependencyList List ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable" }, "api/Hi.NcParsers.Semantics.CompoundMotionSemantic.html": { "href": "api/Hi.NcParsers.Semantics.CompoundMotionSemantic.html", "title": "Class CompoundMotionSemantic | HiAPI-C# 2025", - "summary": "Class CompoundMotionSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Resolves ICompoundMotionDef into acts by delegating ItemsKey to ResolveItems(JsonArray, LazyLinkedListNode, DVec3d, IRapidFeedrateConfig, NcDiagnosticProgress, IMachineAxisConfig, IMachineKinematics). public class CompoundMotionSemantic : INcSemantic, IMakeXmlSource Inheritance object CompoundMotionSemantic Implements INcSemantic 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) Properties DisplayName The process name shown on UI. public string DisplayName { get; } Property Value string XName XML element name used to register and serialize this semantic. 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. Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) Resolve the syntaxPieceNode into a sequence of IAct. May also mutate SyntaxPiece.JsonObject for downstream semantics. public IEnumerable Resolve(LazyLinkedListNode syntaxPieceNode, List dependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode dependencyList List ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable" + "summary": "Class CompoundMotionSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Resolves ICompoundMotionDef into acts by delegating ItemsKey to ResolveItems(JsonArray, LazyLinkedListNode, DVec3d, IRapidFeedrateConfig, NcDiagnosticProgress, IMachineAxisConfig, IMachineKinematics). public class CompoundMotionSemantic : INcSemantic, IMakeXmlSource Inheritance object CompoundMotionSemantic Implements INcSemantic 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) Properties DisplayName The process name shown on UI. public string DisplayName { get; } Property Value string XName XML element name used to register and serialize this semantic. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) Resolve the syntaxPieceNode into a sequence of IAct. May also mutate SyntaxPiece.JsonObject for downstream semantics. public IEnumerable Resolve(LazyLinkedListNode syntaxPieceNode, List dependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode dependencyList List ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable" }, "api/Hi.NcParsers.Semantics.CoolantSemantic.html": { "href": "api/Hi.NcParsers.Semantics.CoolantSemantic.html", "title": "Class CoolantSemantic | HiAPI-C# 2025", - "summary": "Class CoolantSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Resolves the ICoolantDef JSON section (written by CoolantSyntax from M07/M08/M09) into an ActCooling act. Only emits when the coolant mode changes from the previous block — modal state is suppressed so downstream consumers (e.g. StateActRunner) see one act per real transition rather than one per block. public class CoolantSemantic : INcSemantic, IMakeXmlSource Inheritance object CoolantSemantic Implements INcSemantic 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) Properties DisplayName The process name shown on UI. public string DisplayName { get; } Property Value string XName XML element name used to register and serialize this semantic. 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. Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) Resolve the syntaxPieceNode into a sequence of IAct. May also mutate SyntaxPiece.JsonObject for downstream semantics. public IEnumerable Resolve(LazyLinkedListNode syntaxPieceNode, List dependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode dependencyList List ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable" + "summary": "Class CoolantSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Resolves the ICoolantDef JSON section (written by CoolantSyntax from M07/M08/M09) into an ActCooling act. Only emits when the coolant mode changes from the previous block — modal state is suppressed so downstream consumers (e.g. StateActRunner) see one act per real transition rather than one per block. public class CoolantSemantic : INcSemantic, IMakeXmlSource Inheritance object CoolantSemantic Implements INcSemantic 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) Properties DisplayName The process name shown on UI. public string DisplayName { get; } Property Value string XName XML element name used to register and serialize this semantic. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) Resolve the syntaxPieceNode into a sequence of IAct. May also mutate SyntaxPiece.JsonObject for downstream semantics. public IEnumerable Resolve(LazyLinkedListNode syntaxPieceNode, List dependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode dependencyList List ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable" }, "api/Hi.NcParsers.Semantics.CsScriptBeginSemantic.html": { "href": "api/Hi.NcParsers.Semantics.CsScriptBeginSemantic.html", "title": "Class CsScriptBeginSemantic | HiAPI-C# 2025", - "summary": "Class CsScriptBeginSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Resolves BeginScript into ActLineCsScript. Must be placed at the beginning of NcSemanticList so that the script runs before motion and other acts. public class CsScriptBeginSemantic : CsScriptSemantic, INcSemantic, IMakeXmlSource Inheritance object CsScriptSemantic CsScriptBeginSemantic Implements INcSemantic IMakeXmlSource Inherited Members CsScriptSemantic.ExternalScripts CsScriptSemantic.Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) 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 DisplayName The process name shown on UI. public override string DisplayName { get; } Property Value string ScriptKey JSON property key on the CsScript section to read for this semantic (typically BeginScript or EndScript). protected override string ScriptKey { get; } Property Value string XName XML element name used to register and serialize this semantic. 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 override XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class CsScriptBeginSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Resolves BeginScript into ActLineCsScript. Must be placed at the beginning of NcSemanticList so that the script runs before motion and other acts. public class CsScriptBeginSemantic : CsScriptSemantic, INcSemantic, IMakeXmlSource Inheritance object CsScriptSemantic CsScriptBeginSemantic Implements INcSemantic IMakeXmlSource Inherited Members CsScriptSemantic.ExternalScripts CsScriptSemantic.Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) 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 DisplayName The process name shown on UI. public override string DisplayName { get; } Property Value string ScriptKey JSON property key on the CsScript section to read for this semantic (typically BeginScript or EndScript). protected override string ScriptKey { get; } Property Value string XName XML element name used to register and serialize this semantic. 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 override 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.Semantics.CsScriptEndSemantic.html": { "href": "api/Hi.NcParsers.Semantics.CsScriptEndSemantic.html", "title": "Class CsScriptEndSemantic | HiAPI-C# 2025", - "summary": "Class CsScriptEndSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Resolves EndScript into ActLineCsScript. Must be placed at the end of NcSemanticList so that the script runs after motion and other acts. public class CsScriptEndSemantic : CsScriptSemantic, INcSemantic, IMakeXmlSource Inheritance object CsScriptSemantic CsScriptEndSemantic Implements INcSemantic IMakeXmlSource Inherited Members CsScriptSemantic.ExternalScripts CsScriptSemantic.Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) 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 DisplayName The process name shown on UI. public override string DisplayName { get; } Property Value string ScriptKey JSON property key on the CsScript section to read for this semantic (typically BeginScript or EndScript). protected override string ScriptKey { get; } Property Value string XName XML element name used to register and serialize this semantic. 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 override XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class CsScriptEndSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Resolves EndScript into ActLineCsScript. Must be placed at the end of NcSemanticList so that the script runs after motion and other acts. public class CsScriptEndSemantic : CsScriptSemantic, INcSemantic, IMakeXmlSource Inheritance object CsScriptSemantic CsScriptEndSemantic Implements INcSemantic IMakeXmlSource Inherited Members CsScriptSemantic.ExternalScripts CsScriptSemantic.Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) 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 DisplayName The process name shown on UI. public override string DisplayName { get; } Property Value string ScriptKey JSON property key on the CsScript section to read for this semantic (typically BeginScript or EndScript). protected override string ScriptKey { get; } Property Value string XName XML element name used to register and serialize this semantic. 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 override 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.Semantics.CsScriptSemantic.html": { "href": "api/Hi.NcParsers.Semantics.CsScriptSemantic.html", @@ -4877,32 +4877,32 @@ "api/Hi.NcParsers.Semantics.MachineCoordinateStepSemantic.html": { "href": "api/Hi.NcParsers.Semantics.MachineCoordinateStepSemantic.html", "title": "Class MachineCoordinateStepSemantic | HiAPI-C# 2025", - "summary": "Class MachineCoordinateStepSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Read MachineCoordinate from MachineCoordinateState in JsonObject and produce ActMcXyzStep. Requires ProgramXyzSyntax to have computed McXyz first. public class MachineCoordinateStepSemantic : INcSemantic, IMakeXmlSource Inheritance object MachineCoordinateStepSemantic Implements INcSemantic 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) Properties DisplayName The process name shown on UI. public string DisplayName { get; } Property Value string XName XML element name used to register and serialize this semantic. 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. Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) Resolve the syntaxPieceNode into a sequence of IAct. May also mutate SyntaxPiece.JsonObject for downstream semantics. public IEnumerable Resolve(LazyLinkedListNode syntaxPieceNode, List dependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode dependencyList List ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable" + "summary": "Class MachineCoordinateStepSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Read MachineCoordinate from MachineCoordinateState in JsonObject and produce ActMcXyzStep. Requires ProgramXyzSyntax to have computed McXyz first. public class MachineCoordinateStepSemantic : INcSemantic, IMakeXmlSource Inheritance object MachineCoordinateStepSemantic Implements INcSemantic 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) Properties DisplayName The process name shown on UI. public string DisplayName { get; } Property Value string XName XML element name used to register and serialize this semantic. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) Resolve the syntaxPieceNode into a sequence of IAct. May also mutate SyntaxPiece.JsonObject for downstream semantics. public IEnumerable Resolve(LazyLinkedListNode syntaxPieceNode, List dependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode dependencyList List ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable" }, "api/Hi.NcParsers.Semantics.McArcMotionSemantic.html": { "href": "api/Hi.NcParsers.Semantics.McArcMotionSemantic.html", "title": "Class McArcMotionSemantic | HiAPI-C# 2025", - "summary": "Class McArcMotionSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Resolves McArc motion into ActFeedrate + ActMcXyzSpiralContour. Reads arc center, plane normal, and direction from the Hi.Motion section written by CircularMotionSyntax. public class McArcMotionSemantic : INcSemantic, IMakeXmlSource Inheritance object McArcMotionSemantic Implements INcSemantic 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) Properties DisplayName The process name shown on UI. public string DisplayName { get; } Property Value string XName XML element name used to register and serialize this semantic. 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. Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) Resolve the syntaxPieceNode into a sequence of IAct. May also mutate SyntaxPiece.JsonObject for downstream semantics. public IEnumerable Resolve(LazyLinkedListNode syntaxPieceNode, List dependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode dependencyList List ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable" + "summary": "Class McArcMotionSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Resolves McArc motion into ActFeedrate + ActMcXyzSpiralContour. Reads arc center, plane normal, and direction from the Hi.Motion section written by CircularMotionSyntax. public class McArcMotionSemantic : INcSemantic, IMakeXmlSource Inheritance object McArcMotionSemantic Implements INcSemantic 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) Properties DisplayName The process name shown on UI. public string DisplayName { get; } Property Value string XName XML element name used to register and serialize this semantic. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) Resolve the syntaxPieceNode into a sequence of IAct. May also mutate SyntaxPiece.JsonObject for downstream semantics. public IEnumerable Resolve(LazyLinkedListNode syntaxPieceNode, List dependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode dependencyList List ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable" }, "api/Hi.NcParsers.Semantics.McLinearMotionSemantic.html": { "href": "api/Hi.NcParsers.Semantics.McLinearMotionSemantic.html", "title": "Class McLinearMotionSemantic | HiAPI-C# 2025", - "summary": "Class McLinearMotionSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Resolves McLinear motion into ActFeedrate/ActRapid + ActMcXyzLinearContour or ActMcXyzabcLinearContour. Discriminates by checking whether rotary axis values (A/B/C) are present in MachineCoordinateState: XYZ only → ActMcXyzLinearContour XYZABC → ActMcXyzabcLinearContour with Fanuc composite feedrate: d = √(ΔX² + ΔY² + ΔZ² + ΔA_deg² + ΔB_deg² + ΔC_deg²) public class McLinearMotionSemantic : INcSemantic, IMakeXmlSource Inheritance object McLinearMotionSemantic Implements INcSemantic 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) Properties DisplayName The process name shown on UI. public string DisplayName { get; } Property Value string XName XML element name used to register and serialize this semantic. 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. Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) Resolve the syntaxPieceNode into a sequence of IAct. May also mutate SyntaxPiece.JsonObject for downstream semantics. public IEnumerable Resolve(LazyLinkedListNode syntaxPieceNode, List dependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode dependencyList List ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable" + "summary": "Class McLinearMotionSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Resolves McLinear motion into ActFeedrate/ActRapid + ActMcXyzLinearContour or ActMcXyzabcLinearContour. Discriminates by checking whether rotary axis values (A/B/C) are present in MachineCoordinateState: XYZ only → ActMcXyzLinearContour XYZABC → ActMcXyzabcLinearContour with Fanuc composite feedrate: d = √(ΔX² + ΔY² + ΔZ² + ΔA_deg² + ΔB_deg² + ΔC_deg²) public class McLinearMotionSemantic : INcSemantic, IMakeXmlSource Inheritance object McLinearMotionSemantic Implements INcSemantic 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) Properties DisplayName The process name shown on UI. public string DisplayName { get; } Property Value string XName XML element name used to register and serialize this semantic. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) Resolve the syntaxPieceNode into a sequence of IAct. May also mutate SyntaxPiece.JsonObject for downstream semantics. public IEnumerable Resolve(LazyLinkedListNode syntaxPieceNode, List dependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode dependencyList List ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable" }, "api/Hi.NcParsers.Semantics.SpindleSpeedSemantic.html": { "href": "api/Hi.NcParsers.Semantics.SpindleSpeedSemantic.html", "title": "Class SpindleSpeedSemantic | HiAPI-C# 2025", - "summary": "Class SpindleSpeedSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Resolves ISpindleSpeedDef section into ActSpindleSpeed and ActSpindleDirection. Only emits when spindle speed or direction actually changes from the previous block. public class SpindleSpeedSemantic : INcSemantic, IMakeXmlSource Inheritance object SpindleSpeedSemantic Implements INcSemantic 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) Properties DisplayName The process name shown on UI. public string DisplayName { get; } Property Value string XName XML element name used to register and serialize this semantic. 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. Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) Resolve the syntaxPieceNode into a sequence of IAct. May also mutate SyntaxPiece.JsonObject for downstream semantics. public IEnumerable Resolve(LazyLinkedListNode syntaxPieceNode, List dependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode dependencyList List ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable" + "summary": "Class SpindleSpeedSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Resolves ISpindleSpeedDef section into ActSpindleSpeed and ActSpindleDirection. Only emits when spindle speed or direction actually changes from the previous block. public class SpindleSpeedSemantic : INcSemantic, IMakeXmlSource Inheritance object SpindleSpeedSemantic Implements INcSemantic 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) Properties DisplayName The process name shown on UI. public string DisplayName { get; } Property Value string XName XML element name used to register and serialize this semantic. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) Resolve the syntaxPieceNode into a sequence of IAct. May also mutate SyntaxPiece.JsonObject for downstream semantics. public IEnumerable Resolve(LazyLinkedListNode syntaxPieceNode, List dependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode dependencyList List ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable" }, "api/Hi.NcParsers.Semantics.StrokeLimitCheckSemantic.html": { "href": "api/Hi.NcParsers.Semantics.StrokeLimitCheckSemantic.html", "title": "Class StrokeLimitCheckSemantic | HiAPI-C# 2025", - "summary": "Class StrokeLimitCheckSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Reports a diagnostic error when MachineCoordinateState exceeds the stroke limits defined in IStrokeLimitConfig. Does not emit any IAct; only produces diagnostics. public class StrokeLimitCheckSemantic : INcSemantic, IMakeXmlSource Inheritance object StrokeLimitCheckSemantic Implements INcSemantic 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) Properties DisplayName The process name shown on UI. public string DisplayName { get; } Property Value string XName XML element name used to register and serialize this semantic. 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. Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) Resolve the syntaxPieceNode into a sequence of IAct. May also mutate SyntaxPiece.JsonObject for downstream semantics. public IEnumerable Resolve(LazyLinkedListNode syntaxPieceNode, List dependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode dependencyList List ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable" + "summary": "Class StrokeLimitCheckSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Reports a diagnostic error when MachineCoordinateState exceeds the stroke limits defined in IStrokeLimitConfig. Does not emit any IAct; only produces diagnostics. public class StrokeLimitCheckSemantic : INcSemantic, IMakeXmlSource Inheritance object StrokeLimitCheckSemantic Implements INcSemantic 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) Properties DisplayName The process name shown on UI. public string DisplayName { get; } Property Value string XName XML element name used to register and serialize this semantic. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) Resolve the syntaxPieceNode into a sequence of IAct. May also mutate SyntaxPiece.JsonObject for downstream semantics. public IEnumerable Resolve(LazyLinkedListNode syntaxPieceNode, List dependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode dependencyList List ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable" }, "api/Hi.NcParsers.Semantics.ToolChangeSemantic.html": { "href": "api/Hi.NcParsers.Semantics.ToolChangeSemantic.html", "title": "Class ToolChangeSemantic | HiAPI-C# 2025", - "summary": "Class ToolChangeSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Resolves SectionName section into ActToolingStep (when M06 is present) or ActToolingTeleport (T-code only, no M06). Reads ToolingTime for the change duration. public class ToolChangeSemantic : INcSemantic, IMakeXmlSource Inheritance object ToolChangeSemantic Implements INcSemantic 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) Properties DisplayName The process name shown on UI. public string DisplayName { get; } Property Value string XName XML element name used to register and serialize this semantic. 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. Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) Resolve the syntaxPieceNode into a sequence of IAct. May also mutate SyntaxPiece.JsonObject for downstream semantics. public IEnumerable Resolve(LazyLinkedListNode syntaxPieceNode, List dependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode dependencyList List ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable" + "summary": "Class ToolChangeSemantic Namespace Hi.NcParsers.Semantics Assembly HiMech.dll Resolves SectionName section into ActToolingStep (when M06 is present) or ActToolingTeleport (T-code only, no M06). Reads ToolingTime for the change duration. public class ToolChangeSemantic : INcSemantic, IMakeXmlSource Inheritance object ToolChangeSemantic Implements INcSemantic 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) Properties DisplayName The process name shown on UI. public string DisplayName { get; } Property Value string XName XML element name used to register and serialize this semantic. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) Resolve the syntaxPieceNode into a sequence of IAct. May also mutate SyntaxPiece.JsonObject for downstream semantics. public IEnumerable Resolve(LazyLinkedListNode syntaxPieceNode, List dependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode dependencyList List ncDiagnosticProgress NcDiagnosticProgress Returns IEnumerable" }, "api/Hi.NcParsers.Semantics.html": { "href": "api/Hi.NcParsers.Semantics.html", @@ -4917,7 +4917,7 @@ "api/Hi.NcParsers.SoftNcRunner.html": { "href": "api/Hi.NcParsers.SoftNcRunner.html", "title": "Class SoftNcRunner | HiAPI-C# 2025", - "summary": "Class SoftNcRunner Namespace Hi.NcParsers Assembly HiMech.dll Configurable NC Runner. public class SoftNcRunner : IControlRunner, IMakeXmlSource Inheritance object SoftNcRunner Implements IControlRunner 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 SoftNcRunner() Creates an empty runner; populate the pipeline lists before use. public SoftNcRunner() SoftNcRunner(XElement, string, string, IProgress, object[]) Reconstructs a SoftNcRunner from a project XML element. Each pipeline list (NcDependencyList, Segmenter, NcInitializationList, NcSyntaxList, NcSemanticList) is rehydrated via XFactory. public SoftNcRunner(XElement src, string baseDirectory, string relFile, IProgress progress, object[] res = null) Parameters src XElement XML element previously produced by MakeXmlSource(string, string, bool). baseDirectory string Project base directory for resolving relative paths. relFile string Project file path relative to baseDirectory. progress IProgress Diagnostic sink propagated to nested factories. res object[] Optional ambient resources (e.g. ProjectApiVersion for legacy patches). Properties FanucNcRunner Brand preset for Fanuc — composes a SoftNcRunner whose NcSyntaxList comes from DefaultSyntaxList. public static SoftNcRunner FanucNcRunner { get; } Property Value SoftNcRunner HeidenhainNcRunner Brand preset for Heidenhain — composes a SoftNcRunner whose NcSyntaxList comes from DefaultSyntaxList. public static SoftNcRunner HeidenhainNcRunner { get; } Property Value SoftNcRunner MazakNcRunner Brand preset for Mazak — composes a SoftNcRunner whose NcSyntaxList comes from DefaultSyntaxList. public static SoftNcRunner MazakNcRunner { get; } Property Value SoftNcRunner NcDependencyList External configuration providers consumed by syntaxes/semantics (machine axes, tool offsets, coordinate tables, block-skip flags, etc.). public List NcDependencyList { get; set; } Property Value List NcInitializationList Seeds the initial SyntaxPiece JSON state (e.g. home position, defaults). public List NcInitializationList { get; set; } Property Value List NcSemanticList Final-stage semantics that turn the last syntax layer into SourcedActEntry records consumed by the runtime. public List NcSemanticList { get; set; } Property Value List NcSyntaxList Ordered syntax pipeline. Each entry consumes the previous layer's SyntaxPiece stream and emits the next layer. public List NcSyntaxList { get; set; } Property Value List Segmenter Splits raw NC text into Sentence blocks. public ISegmenter Segmenter { get; set; } Property Value ISegmenter SiemensNcRunner Brand preset for Siemens — composes a SoftNcRunner whose NcSyntaxList comes from DefaultSyntaxList. public static SoftNcRunner SiemensNcRunner { get; } Property Value SoftNcRunner SyntecNcRunner Brand preset for Syntec — composes a SoftNcRunner whose NcSyntaxList comes from DefaultSyntaxList. public static SoftNcRunner SyntecNcRunner { get; } Property Value SoftNcRunner XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods ConfigureByMachiningChain(IMachiningChain) Configures this SoftNcRunner to match the kinematic chain of a machine tool. Registers every axis present on the chain into the IMachineAxisConfig in NcDependencyList (linear or rotary, derived from whether the chain's transformer implements IDynamicRotation). When the chain carries any rotary axis, a NcKinematicsDependency is appended so that downstream syntaxes / semantics (e.g. G53.1, G68.2, McLinearMotionSemantic) can resolve orientation; its KinematicsProvider is intentionally left null — the owning project service wires it up after the solver instance is available (see LocalProjectService.BuildCoordinateConverter). public void ConfigureByMachiningChain(IMachiningChain chain) Parameters chain IMachiningChain The machining chain whose axes and kinematics the runner should match. No-op when null. EnumerateSnapshotSyntaxs() Enumerates every SnapshotSyntax reachable from NcSyntaxList, including those nested inside any top-level BundleSyntax's inner list. Yields in pipeline-execution order: each top-level slot in turn, and within a bundle slot the bundle's SyntaxList order. public IEnumerable EnumerateSnapshotSyntaxs() Returns IEnumerable FromLegacyNcEnvXml(XElement, IMachiningChain) Creates a SoftNcRunner from legacy HardNcEnv XML. Picks the brand-specific runner by the CncBrand element and populates dependencies from the legacy XML values. When a chain is provided, also calls ConfigureByMachiningChain(IMachiningChain) so the runner's axis configuration and kinematics dependency reflect the machine tool loaded alongside the legacy project. Remove this region when HardNcEnv is fully replaced. public static SoftNcRunner FromLegacyNcEnvXml(XElement ncEnvXml, IMachiningChain chain = null) Parameters ncEnvXml XElement The inner XML element of the legacy HardNcEnv. chain IMachiningChain Optional machining chain for axis/kinematics configuration. Returns SoftNcRunner A configured SoftNcRunner. GetSourcedActEntrysFromNode(LazyLinkedListNode, NcDiagnosticProgress, CancellationToken) Drives the NcSemanticList over the post-syntax SyntaxPiece stream starting at startNode, yielding a SourcedActEntry for each emitted IAct (or a single null-act entry when a semantic produces no acts but still updates the source SyntaxPiece). public IEnumerable GetSourcedActEntrysFromNode(LazyLinkedListNode startNode, NcDiagnosticProgress ncDiagnosticProgress, CancellationToken cancellationToken) Parameters startNode LazyLinkedListNode First node to evaluate; iteration walks Next. ncDiagnosticProgress NcDiagnosticProgress Sink for semantic exceptions. cancellationToken CancellationToken Cancellation token (checked between blocks). Returns IEnumerable 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. RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken) Runs raw Control lines and yields source sentence and Act pairs. public IEnumerable RunControlLines(string relFilePath, IEnumerable lines, MachiningSession machiningSession, SessionProgress sessionProgress, CancellationToken cancellationToken) Parameters relFilePath string The relative path of the control file lines IEnumerable The enumerable collection of command (control code) lines machiningSession MachiningSession Session-scoped state shared across multiple RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken) calls (e.g. lazy-initialized pipeline state, file-index counter). sessionProgress SessionProgress cancellationToken CancellationToken Cancellation token to cancel the operation Returns IEnumerable Enumerable of source sentence and Act pairs SetAllSnapshotSyntaxEnabled(bool) Sets IsEnabled on every SnapshotSyntax reachable from NcSyntaxList (including those nested inside top-level BundleSyntax) to isEnabled. Callers that need finer control (per-section toggling, instance inspection) should iterate EnumerateSnapshotSyntaxs() directly. public void SetAllSnapshotSyntaxEnabled(bool isEnabled) Parameters isEnabled bool" + "summary": "Class SoftNcRunner Namespace Hi.NcParsers Assembly HiMech.dll Configurable NC Runner. public class SoftNcRunner : IControlRunner, IMakeXmlSource Inheritance object SoftNcRunner Implements IControlRunner 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 SoftNcRunner() Creates an empty runner; populate the pipeline lists before use. public SoftNcRunner() SoftNcRunner(XElement, string, string, IProgress, object[]) Reconstructs a SoftNcRunner from a project XML element. Each pipeline list (NcDependencyList, Segmenter, NcInitializationList, NcSyntaxList, NcSemanticList) is rehydrated via XFactory. public SoftNcRunner(XElement src, string baseDirectory, string relFile, IProgress progress, object[] res = null) Parameters src XElement XML element previously produced by MakeXmlSource(string, string, bool). baseDirectory string Project base directory for resolving relative paths. relFile string Project file path relative to baseDirectory. progress IProgress Diagnostic sink propagated to nested factories. res object[] Optional ambient resources (e.g. ProjectApiVersion for legacy patches). Properties FanucNcRunner Brand preset for Fanuc — composes a SoftNcRunner whose NcSyntaxList comes from DefaultSyntaxList. public static SoftNcRunner FanucNcRunner { get; } Property Value SoftNcRunner HeidenhainNcRunner Brand preset for Heidenhain — composes a SoftNcRunner whose NcSyntaxList comes from DefaultSyntaxList. public static SoftNcRunner HeidenhainNcRunner { get; } Property Value SoftNcRunner MazakNcRunner Brand preset for Mazak — composes a SoftNcRunner whose NcSyntaxList comes from DefaultSyntaxList. public static SoftNcRunner MazakNcRunner { get; } Property Value SoftNcRunner NcDependencyList External configuration providers consumed by syntaxes/semantics (machine axes, tool offsets, coordinate tables, block-skip flags, etc.). public List NcDependencyList { get; set; } Property Value List NcInitializationList Seeds the initial SyntaxPiece JSON state (e.g. home position, defaults). public List NcInitializationList { get; set; } Property Value List NcSemanticList Final-stage semantics that turn the last syntax layer into SourcedActEntry records consumed by the runtime. public List NcSemanticList { get; set; } Property Value List NcSyntaxList Ordered syntax pipeline. Each entry consumes the previous layer's SyntaxPiece stream and emits the next layer. public List NcSyntaxList { get; set; } Property Value List Segmenter Splits raw NC text into Sentence blocks. public ISegmenter Segmenter { get; set; } Property Value ISegmenter SiemensNcRunner Brand preset for Siemens — composes a SoftNcRunner whose NcSyntaxList comes from DefaultSyntaxList. public static SoftNcRunner SiemensNcRunner { get; } Property Value SoftNcRunner SyntecNcRunner Brand preset for Syntec — composes a SoftNcRunner whose NcSyntaxList comes from DefaultSyntaxList. public static SoftNcRunner SyntecNcRunner { get; } Property Value SoftNcRunner XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods ConfigureByMachiningChain(IMachiningChain) Configures this SoftNcRunner to match the kinematic chain of a machine tool. Registers every axis present on the chain into the IMachineAxisConfig in NcDependencyList (linear or rotary, derived from whether the chain's transformer implements IDynamicRotation). When the chain carries any rotary axis, a NcKinematicsDependency is appended so that downstream syntaxes / semantics (e.g. G53.1, G68.2, McLinearMotionSemantic) can resolve orientation; its KinematicsProvider is intentionally left null — the owning project service wires it up after the solver instance is available (see LocalProjectService.BuildCoordinateConverter). public void ConfigureByMachiningChain(IMachiningChain chain) Parameters chain IMachiningChain The machining chain whose axes and kinematics the runner should match. No-op when null. EnumerateSnapshotSyntaxs() Enumerates every SnapshotSyntax reachable from NcSyntaxList, including those nested inside any top-level BundleSyntax's inner list. Yields in pipeline-execution order: each top-level slot in turn, and within a bundle slot the bundle's SyntaxList order. public IEnumerable EnumerateSnapshotSyntaxs() Returns IEnumerable FromLegacyNcEnvXml(XElement, IMachiningChain) Creates a SoftNcRunner from legacy HardNcEnv XML. Picks the brand-specific runner by the CncBrand element and populates dependencies from the legacy XML values. When a chain is provided, also calls ConfigureByMachiningChain(IMachiningChain) so the runner's axis configuration and kinematics dependency reflect the machine tool loaded alongside the legacy project. Remove this region when HardNcEnv is fully replaced. public static SoftNcRunner FromLegacyNcEnvXml(XElement ncEnvXml, IMachiningChain chain = null) Parameters ncEnvXml XElement The inner XML element of the legacy HardNcEnv. chain IMachiningChain Optional machining chain for axis/kinematics configuration. Returns SoftNcRunner A configured SoftNcRunner. GetSourcedActEntrysFromNode(LazyLinkedListNode, NcDiagnosticProgress, CancellationToken) Drives the NcSemanticList over the post-syntax SyntaxPiece stream starting at startNode, yielding a SourcedActEntry for each emitted IAct (or a single null-act entry when a semantic produces no acts but still updates the source SyntaxPiece). public IEnumerable GetSourcedActEntrysFromNode(LazyLinkedListNode startNode, NcDiagnosticProgress ncDiagnosticProgress, CancellationToken cancellationToken) Parameters startNode LazyLinkedListNode First node to evaluate; iteration walks Next. ncDiagnosticProgress NcDiagnosticProgress Sink for semantic exceptions. cancellationToken CancellationToken Cancellation token (checked between blocks). Returns IEnumerable 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. Reg(XFactory) Registers SoftNcRunner and chains Reg() on every pipeline component the runner may deserialize from XML — dependencies, initializers, segmenters, parsing/logic/evaluation/post-logic/inspection syntaxes, and semantics. Idempotent; safe to call from any number of boot paths. public static void Reg(XFactory factory = null) Parameters factory XFactory RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken) Runs raw Control lines and yields source sentence and Act pairs. public IEnumerable RunControlLines(string relFilePath, IEnumerable lines, MachiningSession machiningSession, SessionProgress sessionProgress, CancellationToken cancellationToken) Parameters relFilePath string The relative path of the control file lines IEnumerable The enumerable collection of command (control code) lines machiningSession MachiningSession Session-scoped state shared across multiple RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken) calls (e.g. lazy-initialized pipeline state, file-index counter). sessionProgress SessionProgress cancellationToken CancellationToken Cancellation token to cancel the operation Returns IEnumerable Enumerable of source sentence and Act pairs SetAllSnapshotSyntaxEnabled(bool) Sets IsEnabled on every SnapshotSyntax reachable from NcSyntaxList (including those nested inside top-level BundleSyntax) to isEnabled. Callers that need finer control (per-section toggling, instance inspection) should iterate EnumerateSnapshotSyntaxs() directly. public void SetAllSnapshotSyntaxEnabled(bool isEnabled) Parameters isEnabled bool" }, "api/Hi.NcParsers.SoftNcUtil.html": { "href": "api/Hi.NcParsers.SoftNcUtil.html", @@ -4927,7 +4927,7 @@ "api/Hi.NcParsers.Syntaxs.BundleSyntax.html": { "href": "api/Hi.NcParsers.Syntaxs.BundleSyntax.html", "title": "Class BundleSyntax | HiAPI-C# 2025", - "summary": "Class BundleSyntax Namespace Hi.NcParsers.Syntaxs Assembly HiMech.dll Depth-First Sequential Syntaxes management. It saves space by save the LazyLinkedLists from each syntax to only one LazyLinkedLists in SoftNcRunner to get better performance. If the INcSyntax only edit the current node itself, those self-editing INcSyntax without looks-forward is suitable to put into the BundleSyntax. public class BundleSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object BundleSyntax Implements ISituNcSyntax INcSyntax 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 BundleSyntax() Creates an empty bundle (name defaults to the type name BundleSyntax). public BundleSyntax() BundleSyntax(IEnumerable) Creates a bundle with default Name from an ordered syntax list. public BundleSyntax(IEnumerable syntaxes) Parameters syntaxes IEnumerable BundleSyntax(string, IEnumerable) Creates a named bundle wrapping the given syntax list. public BundleSyntax(string name, IEnumerable syntaxes) Parameters name string syntaxes IEnumerable BundleSyntax(XElement, string, string, IProgress) Loads nested in-situ syntax elements from XML under Name. public BundleSyntax(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement baseDirectory string relFile string progress IProgress Properties Name Syntax kind name (typically the concrete type name). public string Name { get; set; } Property Value string SyntaxList Child syntaxes executed in registration order within this bundle. public List SyntaxList { get; } Property Value List XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class BundleSyntax Namespace Hi.NcParsers.Syntaxs Assembly HiMech.dll Depth-First Sequential Syntaxes management. It saves space by save the LazyLinkedLists from each syntax to only one LazyLinkedLists in SoftNcRunner to get better performance. If the INcSyntax only edit the current node itself, those self-editing INcSyntax without looks-forward is suitable to put into the BundleSyntax. public class BundleSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource Inheritance object BundleSyntax Implements ISituNcSyntax INcSyntax 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 BundleSyntax() Creates an empty bundle (name defaults to the type name BundleSyntax). public BundleSyntax() BundleSyntax(IEnumerable) Creates a bundle with default Name from an ordered syntax list. public BundleSyntax(IEnumerable syntaxes) Parameters syntaxes IEnumerable BundleSyntax(string, IEnumerable) Creates a named bundle wrapping the given syntax list. public BundleSyntax(string name, IEnumerable syntaxes) Parameters name string syntaxes IEnumerable BundleSyntax(XElement, string, string, IProgress) Loads nested in-situ syntax elements from XML under Name. public BundleSyntax(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement baseDirectory string relFile string progress IProgress Properties Name Syntax kind name (typically the concrete type name). public string Name { get; set; } Property Value string SyntaxList Child syntaxes executed in registration order within this bundle. public List SyntaxList { get; } Property Value List XName XML element name for Generators registration. public static string XName { get; } Property Value string Methods Build(LazyLinkedListNode, List, NcDiagnosticProgress) Build syntax arrangement into the syntaxPieceNode in-place. public void Build(LazyLinkedListNode syntaxPieceNode, List ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress) Parameters syntaxPieceNode LazyLinkedListNode ncDependencyList List ncDiagnosticProgress NcDiagnosticProgress 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.NcParsers.Syntaxs.FanucSyntaxUtil.html": { "href": "api/Hi.NcParsers.Syntaxs.FanucSyntaxUtil.html", @@ -5262,7 +5262,7 @@ "api/Hi.Numerical.FilePlayers.CsvRunnerConfig.html": { "href": "api/Hi.Numerical.FilePlayers.CsvRunnerConfig.html", "title": "Class CsvRunnerConfig | HiAPI-C# 2025", - "summary": "Class CsvRunnerConfig Namespace Hi.Numerical.FilePlayers Assembly HiNc.dll Configuration class for CSV Runner. public class CsvRunnerConfig : IMakeXmlSource Inheritance object CsvRunnerConfig Implements IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CsvRunnerConfig() Default constructor. public CsvRunnerConfig() CsvRunnerConfig(XElement) Constructor from XML. public CsvRunnerConfig(XElement src) Parameters src XElement XML element Properties ActualTimeTag Actual time tag for CSV parsing. public string ActualTimeTag { get; set; } Property Value string CutterLocationPrefix Cutter Location Prefix Tag for CSV Parsing. public string CutterLocationPrefix { get; set; } Property Value string DurationTag Duration tag for CSV parsing. public string DurationTag { get; set; } Property Value string FeedrateTag_mmdmin Feedrate for Simulator Tag for CSV Parsing. public string FeedrateTag_mmdmin { get; set; } Property Value string LineBeginCsScriptTag LineBeginCsScript Tag for CSV Parsing. public string LineBeginCsScriptTag { get; set; } Property Value string LineEndCsScriptTag LineEndCsScript Tag for CSV Parsing. public string LineEndCsScriptTag { get; set; } Property Value string MachineCoordinatePrefix Machine Coordinate Prefix Tag for CSV Parsing. public string MachineCoordinatePrefix { get; set; } Property Value string ParsingDictionary Parsing dictionary for custom field parsing. Note: This dictionary cannot be serialized to XML as it contains functions. public Dictionary> ParsingDictionary { get; set; } Property Value Dictionary> SpindleDirectionTag Spindle direction Tag for CSV Parsing. public string SpindleDirectionTag { get; set; } Property Value string SpindleSpeedTag_rpm Spindle speed for Simulator Tag for CSV Parsing. public string SpindleSpeedTag_rpm { get; set; } Property Value string ToolIdTag Tool ID Tag for CSV Parsing. public string ToolIdTag { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class CsvRunnerConfig Namespace Hi.Numerical.FilePlayers Assembly HiNc.dll Configuration class for CSV Runner. public class CsvRunnerConfig : IMakeXmlSource Inheritance object CsvRunnerConfig Implements IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CsvRunnerConfig() Default constructor. public CsvRunnerConfig() CsvRunnerConfig(XElement) Constructor from XML. public CsvRunnerConfig(XElement src) Parameters src XElement XML element Properties ActualTimeTag Actual time tag for CSV parsing. public string ActualTimeTag { get; set; } Property Value string CutterLocationPrefix Cutter Location Prefix Tag for CSV Parsing. public string CutterLocationPrefix { get; set; } Property Value string DurationTag Duration tag for CSV parsing. public string DurationTag { get; set; } Property Value string FeedrateTag_mmdmin Feedrate for Simulator Tag for CSV Parsing. public string FeedrateTag_mmdmin { get; set; } Property Value string LineBeginCsScriptTag LineBeginCsScript Tag for CSV Parsing. public string LineBeginCsScriptTag { get; set; } Property Value string LineEndCsScriptTag LineEndCsScript Tag for CSV Parsing. public string LineEndCsScriptTag { get; set; } Property Value string MachineCoordinatePrefix Machine Coordinate Prefix Tag for CSV Parsing. public string MachineCoordinatePrefix { get; set; } Property Value string ParsingDictionary Parsing dictionary for custom field parsing. Note: This dictionary cannot be serialized to XML as it contains functions. public Dictionary> ParsingDictionary { get; set; } Property Value Dictionary> SpindleDirectionTag Spindle direction Tag for CSV Parsing. public string SpindleDirectionTag { get; set; } Property Value string SpindleSpeedTag_rpm Spindle speed for Simulator Tag for CSV Parsing. public string SpindleSpeedTag_rpm { get; set; } Property Value string ToolIdTag Tool ID Tag for CSV Parsing. public string ToolIdTag { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Numerical.FilePlayers.HardNcRunner.html": { "href": "api/Hi.Numerical.FilePlayers.HardNcRunner.html", @@ -5287,12 +5287,12 @@ "api/Hi.Numerical.HardNcEnv.html": { "href": "api/Hi.Numerical.HardNcEnv.html", "title": "Class HardNcEnv | HiAPI-C# 2025", - "summary": "Class HardNcEnv Namespace Hi.Numerical Assembly HiUniNc.dll Represents the numerical control environment containing configuration for CNC operations. public class HardNcEnv : IMakeXmlSource Inheritance object HardNcEnv 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 HardNcEnv(CncBrand) Ctor. public HardNcEnv(CncBrand cncBrand = CncBrand.Fanuc) Parameters cncBrand CncBrand HardNcEnv(XElement, string, string, IProgress) Ctor. public HardNcEnv(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement XML baseDirectory string The base directory for relative paths. relFile string The relative file path. progress IProgress Optional progress reporter for nested XML factory calls. Properties AttacherAtMcZeroOnTableCoordinate Gets the attacher position at machine zero on table coordinate. public Vec3d AttacherAtMcZeroOnTableCoordinate { get; } Property Value Vec3d CncBrand Gets or sets the CNC brand/controller type. public CncBrand CncBrand { get; set; } Property Value CncBrand CommentSymbol Gets the comment symbol used by the current CNC controller. public string CommentSymbol { get; } Property Value string ConfigurationTable Gets a dictionary of CNC configuration parameters used by the system. public Dictionary ConfigurationTable { get; } Property Value Dictionary EnableArcCornerRadiusCompensation Gets or sets whether arc corner radius compensation is enabled. public bool EnableArcCornerRadiusCompensation { get; set; } Property Value bool EnableIntegerShrinkOnPositionCommand Gets or sets whether integer shrinking is enabled for position commands. e.g., “X1.” is interpreted as X=1.0 when enabled. public bool EnableIntegerShrinkOnPositionCommand { get; set; } Property Value bool EnableShortestRotary Enables shortest rotary path movement. This option does not affect Heidenhain controllers. For Heidenhain controllers, see Hi.UniNc.Heidenhain.IHeidenhainShortestRotaryPathEnabled, Hi.UniNc.Heidenhain.HeidenhainM126 and Hi.UniNc.Heidenhain.HeidenhainM127. public bool EnableShortestRotary { get; set; } Property Value bool FanucPara5003 Fanuc 5003. These bits are used to specify the type of startup/cancellation of tool radius - tool nose radius compensation. 0: type A; 1: type B; 2,3: type C. Assume always zero. Type A: A compensation vector perpendicular to the block next to the startup block or the block preceding the cancellation block is output. Type B: A compensation vector perpendicular to the startup block or cancellation block and an intersection vector are output. Type C: When the startup block or cancellation block specifies no movement operation, the tool is shifted by the cutter compensation amount in a direction perpendicular to the block next to the startup or the block before cancellation block. public byte FanucPara5003 { get; set; } Property Value byte HeidenhainDatumPresetTable For Heidenhain CYCL DEF 247 Datum Preset. public Dictionary HeidenhainDatumPresetTable { get; } Property Value Dictionary Remarks Datum Preset seems an older settings in heidenhain manual relative to Datum Shift. HeidenhainDatumShiftTable For Heidenhain CYCL DEF 7 Datum Shift. Also called Datum table in heidenhain manual. public Dictionary HeidenhainDatumShiftTable { get; } Property Value Dictionary Remarks Datum Preset seems an older settings in heidenhain manual relative to Datum Shift. HeidenhainMasterAxisChar Gets or sets the Heidenhain master rotary axis as a character (A, B, or C). public char HeidenhainMasterAxisChar { get; set; } Property Value char HeidenhainMasterAxisDir The master axis determines the behaviour of SEQ command. ex. PLANE SPATIAL SPA-77.516 SPB+0 SPC-10.365 STAY SEQ-TABLE ROT The master axis is the 1st rotary axis from the tool, or the last rotary axis from the table(depending on the machine configuration). SEQ+ positions the master axis so that it assumes a positive angle. See: TNC 640 | User's ManualDIN/ISO Programming | 1/2015 p432 public int HeidenhainMasterAxisDir { get; set; } Property Value int HomeMc Home machine coordinate. First reference position. The position may not equal to machine zero in real Fanuc controller. public Vec3d HomeMc { get; set; } Property Value Vec3d IsAxisAExisted Gets whether the A axis exists in the machine configuration. public bool IsAxisAExisted { get; } Property Value bool IsAxisBExisted Gets whether the B axis exists in the machine configuration. public bool IsAxisBExisted { get; } Property Value bool IsAxisCExisted Gets whether the C axis exists in the machine configuration. public bool IsAxisCExisted { get; } Property Value bool IsoCoordinateTable ISO coordinate table. i.e., CoordinateTable For G54 series. public IsoCoordinateTable IsoCoordinateTable { get; set; } Property Value IsoCoordinateTable MaxRotarySpeedABC_degds For safety reason, internal use only. Maximum rotary speed in degds. public Vec3d MaxRotarySpeedABC_degds { get; set; } Property Value Vec3d MaxRotarySpeedABC_radds Maximum rotary speed in rad/s. public Vec3d MaxRotarySpeedABC_radds { get; set; } Property Value Vec3d MaxSpindleSpeed_rpm Gets or sets the maximum spindle speed in revolutions per minute. public double MaxSpindleSpeed_rpm { get; set; } Property Value double MillingToolOffsetTable Gets or sets the milling tool offset table for tool compensation. public MillingToolOffsetTable MillingToolOffsetTable { get; set; } Property Value MillingToolOffsetTable RapidFeedrate_mmdmin Rapid move speed in mm/min. public double RapidFeedrate_mmdmin { get; set; } Property Value double RapidFeedrate_mmds Rapid move speed in mm/s. public double RapidFeedrate_mmds { get; set; } Property Value double RefNcLineOnInit Gets or sets the reference NC line used during initialization. public HardNcLine RefNcLineOnInit { get; set; } Property Value HardNcLine StrokeLimitAbc_rad Gets or sets the ABC axis stroke limits in radians. public Box3d StrokeLimitAbc_rad { get; set; } Property Value Box3d StrokeLimitXyz_mm Gets or sets the XYZ axis stroke limits in millimeters. public Box3d StrokeLimitXyz_mm { get; set; } Property Value Box3d ToolingMcAbc_deg Gets or sets the rotary machine coordinate for tooling operations. Defaults to HomeMc if not explicitly set. Set to NaN if tooling motion not apply the axis motion. Unit is degree. public Vec3d ToolingMcAbc_deg { get; set; } Property Value Vec3d ToolingMcAbc_rad Gets or sets the rotary machine coordinate for tooling operations. Defaults to HomeMc if not explicitly set. Set to NaN if tooling motion not apply the axis motion. Unit is radian. public Vec3d ToolingMcAbc_rad { get; set; } Property Value Vec3d ToolingMcXyz Gets or sets the translation machine coordinate for tooling operations. Defaults to HomeMc if not explicitly set. Set to NaN if tooling motion not apply the axis motion. public Vec3d ToolingMcXyz { get; set; } Property Value Vec3d ToolingTime Tool changing duration in sec. public TimeSpan ToolingTime { get; set; } Property Value TimeSpan XName Name for XML IO. public static string XName { get; } Property Value string XyzabcSolver Gets or sets the coordinate converter used for transformations between different coordinate systems. public XyzabcSolver XyzabcSolver { get; set; } Property Value XyzabcSolver Methods CheckStrokeLimit(DVec3d, IProgress) Check stroke limit. public bool CheckStrokeLimit(DVec3d mcXyzabc_mm_rad, IProgress messageKit) Parameters mcXyzabc_mm_rad DVec3d Machine coordinates in mm and radians. messageKit IProgress Message kit for error reporting. Returns bool Is under stroke limit. IsAxisExisted(int) Determines whether a specific rotary axis exists in the machine configuration. public bool IsAxisExisted(int dir) Parameters dir int The direction index (0=A, 1=B, 2=C). Returns bool True if the specified axis exists; otherwise, false. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class HardNcEnv Namespace Hi.Numerical Assembly HiUniNc.dll Represents the numerical control environment containing configuration for CNC operations. public class HardNcEnv : IMakeXmlSource Inheritance object HardNcEnv 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 HardNcEnv(CncBrand) Ctor. public HardNcEnv(CncBrand cncBrand = CncBrand.Fanuc) Parameters cncBrand CncBrand HardNcEnv(XElement, string, string, IProgress) Ctor. public HardNcEnv(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement XML baseDirectory string The base directory for relative paths. relFile string The relative file path. progress IProgress Optional progress reporter for nested XML factory calls. Properties AttacherAtMcZeroOnTableCoordinate Gets the attacher position at machine zero on table coordinate. public Vec3d AttacherAtMcZeroOnTableCoordinate { get; } Property Value Vec3d CncBrand Gets or sets the CNC brand/controller type. public CncBrand CncBrand { get; set; } Property Value CncBrand CommentSymbol Gets the comment symbol used by the current CNC controller. public string CommentSymbol { get; } Property Value string ConfigurationTable Gets a dictionary of CNC configuration parameters used by the system. public Dictionary ConfigurationTable { get; } Property Value Dictionary EnableArcCornerRadiusCompensation Gets or sets whether arc corner radius compensation is enabled. public bool EnableArcCornerRadiusCompensation { get; set; } Property Value bool EnableIntegerShrinkOnPositionCommand Gets or sets whether integer shrinking is enabled for position commands. e.g., “X1.” is interpreted as X=1.0 when enabled. public bool EnableIntegerShrinkOnPositionCommand { get; set; } Property Value bool EnableShortestRotary Enables shortest rotary path movement. This option does not affect Heidenhain controllers. For Heidenhain controllers, see Hi.UniNc.Heidenhain.IHeidenhainShortestRotaryPathEnabled, Hi.UniNc.Heidenhain.HeidenhainM126 and Hi.UniNc.Heidenhain.HeidenhainM127. public bool EnableShortestRotary { get; set; } Property Value bool FanucPara5003 Fanuc 5003. These bits are used to specify the type of startup/cancellation of tool radius - tool nose radius compensation. 0: type A; 1: type B; 2,3: type C. Assume always zero. Type A: A compensation vector perpendicular to the block next to the startup block or the block preceding the cancellation block is output. Type B: A compensation vector perpendicular to the startup block or cancellation block and an intersection vector are output. Type C: When the startup block or cancellation block specifies no movement operation, the tool is shifted by the cutter compensation amount in a direction perpendicular to the block next to the startup or the block before cancellation block. public byte FanucPara5003 { get; set; } Property Value byte HeidenhainDatumPresetTable For Heidenhain CYCL DEF 247 Datum Preset. public Dictionary HeidenhainDatumPresetTable { get; } Property Value Dictionary Remarks Datum Preset seems an older settings in heidenhain manual relative to Datum Shift. HeidenhainDatumShiftTable For Heidenhain CYCL DEF 7 Datum Shift. Also called Datum table in heidenhain manual. public Dictionary HeidenhainDatumShiftTable { get; } Property Value Dictionary Remarks Datum Preset seems an older settings in heidenhain manual relative to Datum Shift. HeidenhainMasterAxisChar Gets or sets the Heidenhain master rotary axis as a character (A, B, or C). public char HeidenhainMasterAxisChar { get; set; } Property Value char HeidenhainMasterAxisDir The master axis determines the behaviour of SEQ command. ex. PLANE SPATIAL SPA-77.516 SPB+0 SPC-10.365 STAY SEQ-TABLE ROT The master axis is the 1st rotary axis from the tool, or the last rotary axis from the table(depending on the machine configuration). SEQ+ positions the master axis so that it assumes a positive angle. See: TNC 640 | User's ManualDIN/ISO Programming | 1/2015 p432 public int HeidenhainMasterAxisDir { get; set; } Property Value int HomeMc Home machine coordinate. First reference position. The position may not equal to machine zero in real Fanuc controller. public Vec3d HomeMc { get; set; } Property Value Vec3d IsAxisAExisted Gets whether the A axis exists in the machine configuration. public bool IsAxisAExisted { get; } Property Value bool IsAxisBExisted Gets whether the B axis exists in the machine configuration. public bool IsAxisBExisted { get; } Property Value bool IsAxisCExisted Gets whether the C axis exists in the machine configuration. public bool IsAxisCExisted { get; } Property Value bool IsoCoordinateTable ISO coordinate table. i.e., CoordinateTable For G54 series. public IsoCoordinateTable IsoCoordinateTable { get; set; } Property Value IsoCoordinateTable MaxRotarySpeedABC_degds For safety reason, internal use only. Maximum rotary speed in degds. public Vec3d MaxRotarySpeedABC_degds { get; set; } Property Value Vec3d MaxRotarySpeedABC_radds Maximum rotary speed in rad/s. public Vec3d MaxRotarySpeedABC_radds { get; set; } Property Value Vec3d MaxSpindleSpeed_rpm Gets or sets the maximum spindle speed in revolutions per minute. public double MaxSpindleSpeed_rpm { get; set; } Property Value double MillingToolOffsetTable Gets or sets the milling tool offset table for tool compensation. public MillingToolOffsetTable MillingToolOffsetTable { get; set; } Property Value MillingToolOffsetTable RapidFeedrate_mmdmin Rapid move speed in mm/min. public double RapidFeedrate_mmdmin { get; set; } Property Value double RapidFeedrate_mmds Rapid move speed in mm/s. public double RapidFeedrate_mmds { get; set; } Property Value double RefNcLineOnInit Gets or sets the reference NC line used during initialization. public HardNcLine RefNcLineOnInit { get; set; } Property Value HardNcLine StrokeLimitAbc_rad Gets or sets the ABC axis stroke limits in radians. public Box3d StrokeLimitAbc_rad { get; set; } Property Value Box3d StrokeLimitXyz_mm Gets or sets the XYZ axis stroke limits in millimeters. public Box3d StrokeLimitXyz_mm { get; set; } Property Value Box3d ToolingMcAbc_deg Gets or sets the rotary machine coordinate for tooling operations. Defaults to HomeMc if not explicitly set. Set to NaN if tooling motion not apply the axis motion. Unit is degree. public Vec3d ToolingMcAbc_deg { get; set; } Property Value Vec3d ToolingMcAbc_rad Gets or sets the rotary machine coordinate for tooling operations. Defaults to HomeMc if not explicitly set. Set to NaN if tooling motion not apply the axis motion. Unit is radian. public Vec3d ToolingMcAbc_rad { get; set; } Property Value Vec3d ToolingMcXyz Gets or sets the translation machine coordinate for tooling operations. Defaults to HomeMc if not explicitly set. Set to NaN if tooling motion not apply the axis motion. public Vec3d ToolingMcXyz { get; set; } Property Value Vec3d ToolingTime Tool changing duration in sec. public TimeSpan ToolingTime { get; set; } Property Value TimeSpan XName Name for XML IO. public static string XName { get; } Property Value string XyzabcSolver Gets or sets the coordinate converter used for transformations between different coordinate systems. public XyzabcSolver XyzabcSolver { get; set; } Property Value XyzabcSolver Methods CheckStrokeLimit(DVec3d, IProgress) Check stroke limit. public bool CheckStrokeLimit(DVec3d mcXyzabc_mm_rad, IProgress messageKit) Parameters mcXyzabc_mm_rad DVec3d Machine coordinates in mm and radians. messageKit IProgress Message kit for error reporting. Returns bool Is under stroke limit. IsAxisExisted(int) Determines whether a specific rotary axis exists in the machine configuration. public bool IsAxisExisted(int dir) Parameters dir int The direction index (0=A, 1=B, 2=C). Returns bool True if the specified axis exists; otherwise, false. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Numerical.HardNcLine.html": { "href": "api/Hi.Numerical.HardNcLine.html", "title": "Class HardNcLine | HiAPI-C# 2025", - "summary": "Class HardNcLine Namespace Hi.Numerical Assembly HiUniNc.dll Represents a line in the NC program with its associated data and operations. public class HardNcLine : IIndexedFileLine, IFileLine, IFileLineIndex, IGetIndexedFileLine, IGetFileLineIndex, IFlagText, ISentenceCarrier, IGetSentence, ISentenceIndexed Inheritance object HardNcLine Implements IIndexedFileLine IFileLine IFileLineIndex IGetIndexedFileLine IGetFileLineIndex IFlagText ISentenceCarrier IGetSentence ISentenceIndexed Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) HardNcUtil.IsFlagChanging(HardNcLine, HardNcLine, NcFlag) HardNcUtil.IsFlagChanging(HardNcLine, HardNcLine, NcFlag, bool) HardNcUtil.IsFlagKeeping(HardNcLine, HardNcLine, NcFlag, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors HardNcLine(HardNcEnv, IndexedFileLine, HardNcLine, int, out NcNoteCache, IProgress) Ctor from the reference HardNcLine. public HardNcLine(HardNcEnv ncEnv, IndexedFileLine fileLine, HardNcLine preNcLine, int sentenceIndex, out NcNoteCache ncNoteCache, IProgress progress) Parameters ncEnv HardNcEnv NC environment fileLine IndexedFileLine file line preNcLine HardNcLine reference HardNcLine that this HardNcLine copy from. If previous HardNcLine is not null, apply previous HardNcLine. sentenceIndex int 0-based ordinal in NC execution order; stamped at construction and exposed via SentenceIndex. ncNoteCache NcNoteCache Output NC note cache progress IProgress Message host for warnings HardNcLine(HardNcEnv, IProgress) Ctor for initial state. The instance is the pre-pipeline seed (RefNcLineOnInit), so SentenceIndex is set to -1 as a “not in pipeline” sentinel. public HardNcLine(HardNcEnv ncEnv, IProgress messageHost) Parameters ncEnv HardNcEnv messageHost IProgress Properties ArcNcArg NC arguments for arc commands. public ArcNcArg ArcNcArg { get; set; } Property Value ArcNcArg CoordinateInterpolationMode Gets the current coordinate interpolation mode (Cartesian or Polar). public CoordinateInterpolationMode CoordinateInterpolationMode { get; } Property Value CoordinateInterpolationMode F F. Feedrate on NC code. Note that this may not be the working feedrate. Some NC codes like G00 and G28 doesnt use F code. public double F { get; set; } Property Value double Remarks According to Fanuc manual, the default F is zero. Feedrate_mmdmin Feedrate on NC code in current mode in mm/min. See F. public double Feedrate_mmdmin { get; set; } Property Value double Feedrate_mmds Feedrate on NC code in current mode in mm/sec. public double Feedrate_mmds { get; set; } Property Value double FileIndex File Index. Start on 0. public int FileIndex { get; } Property Value int FileNo Gets the file number. [Present(\"File Number\", \"FileNo\", PhysicsUnit.None, \"G\")] public int FileNo { get; } Property Value int FilePath File path. [Present(\"File\", \"File\", PhysicsUnit.None, \"G\")] public string FilePath { get; } Property Value string FlagsText Gets a string representation of the active NC flags for this line. public string FlagsText { get; } Property Value string G28Arg Arguments for G28 commands. public G28Arg G28Arg { get; set; } Property Value G28Arg G52_Xyz Local coordinate system translation. public Vec3d G52_Xyz { get; set; } Property Value Vec3d G54SeriesCoordinateNum1000 Faunc Group14 value. Note that Heidenhain Datum shift is set by DatumTableId. public int G54SeriesCoordinateNum1000 { get; set; } Property Value int Group07NcArg Arguments for Group07 NC commands (tool radius compensation). public Group07NcArg Group07NcArg { get; set; } Property Value Group07NcArg Group07_D Radius compensation ID. Note that in Siemens controller, each tool ID has several D entry. public int Group07_D { get; set; } Property Value int Group08_H Height compensation ID. For Siemens Traori, the value is Tool ID. For Heidenhain, the value is Tool ID. public int Group08_H { get; set; } Property Value int Group09NcArg NC Argument of NC Group09. public Group09NcArg Group09NcArg { get; set; } Property Value Group09NcArg HeidenhainBlockCacheArg Heidenhain block cache arguments for various Heidenhain commands. public IHeidenhainBlockCacheArg HeidenhainBlockCacheArg { get; set; } Property Value IHeidenhainBlockCacheArg HeidenhainCycleDef247Q339 DATUM SETTING DATUM Number. public int HeidenhainCycleDef247Q339 { get; set; } Property Value int HeidenhainCycleDef7Arg Arguments for Heidenhain Cycle Definition 7 (datum shift). public HeidenhainCycleDef7Arg HeidenhainCycleDef7Arg { get; set; } Property Value HeidenhainCycleDef7Arg HeidenhainM140MB HeidenhainM140(Retract the tool) MB value. MB is the retraction height. double.positiveInf is [MB MAX]. One shot command. public double HeidenhainM140MB { get; set; } Property Value double HeidenhainQMacroMap Dictionary mapping Q macro numbers to their string values for Heidenhain controllers. public Dictionary HeidenhainQMacroMap { get; set; } Property Value Dictionary HeidenhainToolAxisDir Direction of the tool axis for Heidenhain controllers. public int HeidenhainToolAxisDir { get; set; } Property Value int IndexedFileLine The file line information associated with this NC line. public IndexedFileLine IndexedFileLine { get; } Property Value IndexedFileLine IsAbsolutePositioning Gets a value indicating whether absolute positioning (G90) is active. public bool IsAbsolutePositioning { get; } Property Value bool IsHeightCompensationEnabled Gets a value indicating whether height compensation is enabled. public bool IsHeightCompensationEnabled { get; } Property Value bool IsOnArcCommand Gets a value indicating whether an arc command (G02 or G03) is active. public bool IsOnArcCommand { get; } Property Value bool IsPathPrepared Gets a value indicating whether the path is prepared (no radius compensation). public bool IsPathPrepared { get; } Property Value bool IsRadiusCompensationEnabled Gets a value indicating whether radius compensation is enabled. public bool IsRadiusCompensationEnabled { get; } Property Value bool IsToolCenterPointManagementEnabled Gets a value indicating whether tool center point management is enabled. public bool IsToolCenterPointManagementEnabled { get; } Property Value bool Line The line. [Present(\"Line\", \"Line\", PhysicsUnit.None, \"G\")] public string Line { get; } Property Value string LineIndex Line Index. Start on 0. public int LineIndex { get; } Property Value int LineNo Gets the line number. [Present(\"Line Number\", \"LineNo\", PhysicsUnit.None, \"G\")] public int LineNo { get; } Property Value int MachiningFeedrate_mmdmin Machining Feedrate on NC code in machining mode (such as G01,G02,G03 but not G00) in mm/min. public double MachiningFeedrate_mmdmin { get; set; } Property Value double MachiningFeedrate_mmds Machining Feedrate on NC code in machining mode (such as G01,G02,G03 but not G00) in mm/sec. public double MachiningFeedrate_mmds { get; set; } Property Value double McAbc_deg Gets or sets the machine ABC coordinates in degrees. public Vec3d McAbc_deg { get; set; } Property Value Vec3d McAbc_rad Machine coordinates in ABC format (radians). public Vec3d McAbc_rad { get; } Property Value Vec3d McXyz Gets or sets the machine coordinate XYZ values. public Vec3d McXyz { get; } Property Value Vec3d McXyzabc Machine coordinate ( with side radius compensation if existed). Point is XYZ. the unit is mm. Normal is ABC. the unit is radian. public DVec3d McXyzabc { get; } Property Value DVec3d NcFlagBitArray Internal Used. public BitArray NcFlagBitArray { get; } Property Value BitArray PausingNcArg public PausingNcArg PausingNcArg { get; set; } Property Value PausingNcArg Remarks Since this is base on OneShot Flag, so here has no copy ctor. PolarEntry Data structure for polar coordinates entry. public PolarEntry PolarEntry { get; set; } Property Value PolarEntry PreparationT Tool ID for preparation. public int PreparationT { get; set; } Property Value int ProgramOrthogonalPlaneNormal The orthogonal plane transform after tilting plane transform. Include G17, G18, G19 and plane of called G12p1. public Vec3d ProgramOrthogonalPlaneNormal { get; } Property Value Vec3d ProgramPos ProgramPos can be cartesian XYZ or polar XCZ with radius-based X, depends on CoordinateInterpolationMode. public Vec3d ProgramPos { get; } Property Value Vec3d ProgramXyz XYZ in Feature Coordinate. Cartesian Program Position XYZ, Abs Program Position (as G90 position). NC coordinate position is the position processed by modal flags. NC coordinate position is the position after radius compensation. The NC(Program) coordinate position is comprehensible by User. MC NC conversion may raise floating error. The floating error raise the cutting force issue, especially for bottom cutting force. Hence the NC values have to be memorized. public Vec3d ProgramXyz { get; } Property Value Vec3d Remarks NC is the better source property than MC. Ex. a NC line command: X100. The Y and Z value may vary if using MC converting back to NC. The error of Y and Z will keeps accumulating until the next explicit YZ command assignment. The error maybe up to 3e-5 in current case. the bounding box size of the case is not large (TT.20230815). Also note that if using Arc command for a complete circle, the begin NC XYZ and the end NC XYZ have to be equaled. Otherwise, it will become only a very small arc rather than the circle. So be care that do not change the NC XYZ if not needed. RadiusCompensationBuf Internal use. public RadiusCompensationBuf RadiusCompensationBuf { get; set; } Property Value RadiusCompensationBuf RapidFeedrate_mmdmin Rapid Feedrate on NC code in rapid mode (such as G00 but not G01,G02,G03) in mm/min. public double RapidFeedrate_mmdmin { get; set; } Property Value double RapidFeedrate_mmds Rapid Feedrate on NC code in rapid mode (such as G00 but not G01,G02,G03) in mm/sec. public double RapidFeedrate_mmds { get; set; } Property Value double S S. Spindle speed. public int S { get; set; } Property Value int SentenceIndex 0-based ordinal in NC execution order, stamped at construction by Hi.Numerical.FilePlayers.HardNcRunner (source-side) or by NcOptProc (optimized-side, a fresh independent count). Init-state lines (RefNcLineOnInit) carry -1 as a “not in pipeline” sentinel. public int SentenceIndex { get; } Property Value int SpindleSpeed_radds Spindle speed in radian/s. public double SpindleSpeed_radds { get; set; } Property Value double SpindleSpeed_rpm Spindle speed in RPM. public double SpindleSpeed_rpm { get; set; } Property Value double T Current equiped Tool ID. public int T { get; set; } Property Value int TiltPlaneNcArg Arguments related to tilted plane operations. public ITiltPlaneNcArg TiltPlaneNcArg { get; set; } Property Value ITiltPlaneNcArg Methods GetAttacherMat(HardNcEnv) Gets the attacher transformation matrix for the current machine coordinates. public Mat4d GetAttacherMat(HardNcEnv ncEnv) Parameters ncEnv HardNcEnv The NC environment. Returns Mat4d The attacher transformation matrix. GetCompensationHeight(HardNcEnv, IProgress) Gets the tool height compensation value for this NC line. public double GetCompensationHeight(HardNcEnv ncEnv, IProgress messageHost) Parameters ncEnv HardNcEnv NC environment messageHost IProgress Message host for warnings Returns double Height compensation value GetCompensationRadius(CncBrand, MillingToolOffsetTable, IProgress) Gets the tool radius compensation value for this NC line. public double GetCompensationRadius(CncBrand cncBrand, MillingToolOffsetTable millingToolOffsetTable, IProgress messageHost) Parameters cncBrand CncBrand CNC brand millingToolOffsetTable MillingToolOffsetTable Milling tool offset table messageHost IProgress Message host for warnings Returns double Radius compensation value GetFileLineIndex() Get FileLineIndex. public FileLineIndex GetFileLineIndex() Returns FileLineIndex FileLineIndex GetG5xCoordinateOffset(HardNcEnv) Gets the G5x coordinate offset for this NC line. public Vec3d GetG5xCoordinateOffset(HardNcEnv ncEnv) Parameters ncEnv HardNcEnv NC environment Returns Vec3d The G5x coordinate offset vector GetIndexedFileLine() Gets the file line associated with this object. public IndexedFileLine GetIndexedFileLine() Returns IndexedFileLine The file line object. GetMcByProgramPos(Vec3d, HardNcEnv, NcNoteCache, IProgress, out Vec3d) Internal Use. public DVec3d GetMcByProgramPos(Vec3d programPos, HardNcEnv ncEnv, NcNoteCache ncNoteCache, IProgress messageHost, out Vec3d programXyz) Parameters programPos Vec3d ncEnv HardNcEnv ncNoteCache NcNoteCache messageHost IProgress programXyz Vec3d Returns DVec3d GetSentence() Returns the source Sentence carried by this object. public Sentence GetSentence() Returns Sentence GetSourceCommand() public IIndexedFileLine GetSourceCommand() Returns IIndexedFileLine GetTiltMat4d(HardNcEnv, out Mat4d) Internal Use Only. public bool? GetTiltMat4d(HardNcEnv ncEnv, out Mat4d tableToFeatureTransform) Parameters ncEnv HardNcEnv NC environment. tableToFeatureTransform Mat4d Transform from NC to Table without tool compensation and linear coordinate offset (such as G55,G56..). Returns bool? True if G68.2 is successfully applied, false if not, and null if not applicable. HasSyntaxXyz(HardNcEnv) Determines whether the line contains syntactic XYZ coordinates. public bool HasSyntaxXyz(HardNcEnv ncEnv) Parameters ncEnv HardNcEnv NC environment Returns bool True if syntactic XYZ coordinates are present; otherwise, false. RebuildByMc(HardNcEnv, DVec3d, NcNoteCache, IProgress) Internal Use Only. For NC opt. public void RebuildByMc(HardNcEnv ncEnv, DVec3d mc, NcNoteCache ncNoteCache, IProgress messageHost) Parameters ncEnv HardNcEnv NC environment. mc DVec3d MC coordinates. ncNoteCache NcNoteCache NC line cache. messageHost IProgress Message host for logging and reporting. RebuildByProgramXyz(HardNcEnv, Vec3d, NcNoteCache, IProgress) Internal Use Only. For NC opt. public void RebuildByProgramXyz(HardNcEnv ncEnv, Vec3d programXyz, NcNoteCache ncNoteCache, IProgress messageHost) Parameters ncEnv HardNcEnv NC environment. programXyz Vec3d Program XYZ coordinates. ncNoteCache NcNoteCache NC note cache. messageHost IProgress Message host for logging and reporting. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object." + "summary": "Class HardNcLine Namespace Hi.Numerical Assembly HiUniNc.dll Represents a line in the NC program with its associated data and operations. public class HardNcLine : IIndexedFileLine, IFileLine, IFileLineIndex, IGetIndexedFileLine, IGetFileLineIndex, IFlagText, ISentenceCarrier, IGetSentence, ISentenceIndexed Inheritance object HardNcLine Implements IIndexedFileLine IFileLine IFileLineIndex IGetIndexedFileLine IGetFileLineIndex IFlagText ISentenceCarrier IGetSentence ISentenceIndexed Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) HardNcUtil.IsFlagChanging(HardNcLine, HardNcLine, NcFlag) HardNcUtil.IsFlagChanging(HardNcLine, HardNcLine, NcFlag, bool) HardNcUtil.IsFlagKeeping(HardNcLine, HardNcLine, NcFlag, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors HardNcLine(HardNcEnv, IndexedFileLine, HardNcLine, int, out NcNoteCache, IProgress) Ctor from the reference HardNcLine. public HardNcLine(HardNcEnv ncEnv, IndexedFileLine fileLine, HardNcLine preNcLine, int sentenceIndex, out NcNoteCache ncNoteCache, IProgress progress) Parameters ncEnv HardNcEnv NC environment fileLine IndexedFileLine file line preNcLine HardNcLine reference HardNcLine that this HardNcLine copy from. If previous HardNcLine is not null, apply previous HardNcLine. sentenceIndex int 0-based ordinal in NC execution order; stamped at construction and exposed via SentenceIndex. ncNoteCache NcNoteCache Output NC note cache progress IProgress Message host for warnings HardNcLine(HardNcEnv, IProgress) Ctor for initial state. The instance is the pre-pipeline seed (RefNcLineOnInit), so SentenceIndex is set to -1 as a “not in pipeline” sentinel. public HardNcLine(HardNcEnv ncEnv, IProgress messageHost) Parameters ncEnv HardNcEnv messageHost IProgress Properties ArcNcArg NC arguments for arc commands. public ArcNcArg ArcNcArg { get; set; } Property Value ArcNcArg CoordinateInterpolationMode Gets the current coordinate interpolation mode (Cartesian or Polar). public CoordinateInterpolationMode CoordinateInterpolationMode { get; } Property Value CoordinateInterpolationMode F F. Feedrate on NC code. Note that this may not be the working feedrate. Some NC codes like G00 and G28 doesnt use F code. public double F { get; set; } Property Value double Remarks According to Fanuc manual, the default F is zero. Feedrate_mmdmin Feedrate on NC code in current mode in mm/min. See F. public double Feedrate_mmdmin { get; set; } Property Value double Feedrate_mmds Feedrate on NC code in current mode in mm/sec. public double Feedrate_mmds { get; set; } Property Value double FileIndex File Index. Start on 0. public int FileIndex { get; } Property Value int FileNo Gets the file number. [Present(\"File Number\", \"FileNo\", PhysicsUnit.None, \"G\")] public int FileNo { get; } Property Value int FilePath File path. [Present(\"File\", \"File\", PhysicsUnit.None, \"G\")] public string FilePath { get; } Property Value string FlagsText Gets a string representation of the active NC flags for this line. public string FlagsText { get; } Property Value string G28Arg Arguments for G28 commands. public G28Arg G28Arg { get; set; } Property Value G28Arg G52_Xyz Local coordinate system translation. public Vec3d G52_Xyz { get; set; } Property Value Vec3d G54SeriesCoordinateNum1000 Faunc Group14 value. Note that Heidenhain Datum shift is set by DatumTableId. public int G54SeriesCoordinateNum1000 { get; set; } Property Value int Group07NcArg Arguments for Group07 NC commands (tool radius compensation). public Group07NcArg Group07NcArg { get; set; } Property Value Group07NcArg Group07_D Radius compensation ID. Note that in Siemens controller, each tool ID has several D entry. public int Group07_D { get; set; } Property Value int Group08_H Height compensation ID. For Siemens Traori, the value is Tool ID. For Heidenhain, the value is Tool ID. public int Group08_H { get; set; } Property Value int Group09NcArg NC Argument of NC Group09. public Group09NcArg Group09NcArg { get; set; } Property Value Group09NcArg HeidenhainBlockCacheArg Heidenhain block cache arguments for various Heidenhain commands. public IHeidenhainBlockCacheArg HeidenhainBlockCacheArg { get; set; } Property Value IHeidenhainBlockCacheArg HeidenhainCycleDef247Q339 DATUM SETTING DATUM Number. public int HeidenhainCycleDef247Q339 { get; set; } Property Value int HeidenhainCycleDef7Arg Arguments for Heidenhain Cycle Definition 7 (datum shift). public HeidenhainCycleDef7Arg HeidenhainCycleDef7Arg { get; set; } Property Value HeidenhainCycleDef7Arg HeidenhainM140MB HeidenhainM140(Retract the tool) MB value. MB is the retraction height. double.positiveInf is [MB MAX]. One shot command. public double HeidenhainM140MB { get; set; } Property Value double HeidenhainQMacroMap Dictionary mapping Q macro numbers to their string values for Heidenhain controllers. public Dictionary HeidenhainQMacroMap { get; set; } Property Value Dictionary HeidenhainToolAxisDir Direction of the tool axis for Heidenhain controllers. public int HeidenhainToolAxisDir { get; set; } Property Value int IndexedFileLine The file line information associated with this NC line. public IndexedFileLine IndexedFileLine { get; } Property Value IndexedFileLine IsAbsolutePositioning Gets a value indicating whether absolute positioning (G90) is active. public bool IsAbsolutePositioning { get; } Property Value bool IsHeightCompensationEnabled Gets a value indicating whether height compensation is enabled. public bool IsHeightCompensationEnabled { get; } Property Value bool IsOnArcCommand Gets a value indicating whether an arc command (G02 or G03) is active. public bool IsOnArcCommand { get; } Property Value bool IsPathPrepared Gets a value indicating whether the path is prepared (no radius compensation). public bool IsPathPrepared { get; } Property Value bool IsRadiusCompensationEnabled Gets a value indicating whether radius compensation is enabled. public bool IsRadiusCompensationEnabled { get; } Property Value bool IsToolCenterPointManagementEnabled Gets a value indicating whether tool center point management is enabled. public bool IsToolCenterPointManagementEnabled { get; } Property Value bool Line The line. [Present(\"Line\", \"Line\", PhysicsUnit.None, \"G\")] public string Line { get; } Property Value string LineIndex Line Index. Start on 0. public int LineIndex { get; } Property Value int LineNo Gets the line number. [Present(\"Line Number\", \"LineNo\", PhysicsUnit.None, \"G\")] public int LineNo { get; } Property Value int MachiningFeedrate_mmdmin Machining Feedrate on NC code in machining mode (such as G01,G02,G03 but not G00) in mm/min. public double MachiningFeedrate_mmdmin { get; set; } Property Value double MachiningFeedrate_mmds Machining Feedrate on NC code in machining mode (such as G01,G02,G03 but not G00) in mm/sec. public double MachiningFeedrate_mmds { get; set; } Property Value double McAbc_deg Gets or sets the machine ABC coordinates in degrees. public Vec3d McAbc_deg { get; set; } Property Value Vec3d McAbc_rad Machine coordinates in ABC format (radians). public Vec3d McAbc_rad { get; } Property Value Vec3d McXyz Gets or sets the machine coordinate XYZ values. public Vec3d McXyz { get; } Property Value Vec3d McXyzabc Machine coordinate ( with side radius compensation if existed). Point is XYZ. the unit is mm. Normal is ABC. the unit is radian. public DVec3d McXyzabc { get; } Property Value DVec3d NcFlagBitArray Internal Used. public BitArray NcFlagBitArray { get; } Property Value BitArray PausingNcArg public PausingNcArg PausingNcArg { get; set; } Property Value PausingNcArg Remarks Since this is base on OneShot Flag, so here has no copy ctor. PolarEntry Data structure for polar coordinates entry. public PolarEntry PolarEntry { get; set; } Property Value PolarEntry PreparationT Tool ID for preparation. public int PreparationT { get; set; } Property Value int ProgramOrthogonalPlaneNormal The orthogonal plane transform after tilting plane transform. Include G17, G18, G19 and plane of called G12p1. public Vec3d ProgramOrthogonalPlaneNormal { get; } Property Value Vec3d ProgramPos ProgramPos can be cartesian XYZ or polar XCZ with radius-based X, depends on CoordinateInterpolationMode. public Vec3d ProgramPos { get; } Property Value Vec3d ProgramXyz XYZ in Feature Coordinate. Cartesian Program Position XYZ, Abs Program Position (as G90 position). NC coordinate position is the position processed by modal flags. NC coordinate position is the position after radius compensation. The NC(Program) coordinate position is comprehensible by User. MC NC conversion may raise floating error. The floating error raise the cutting force issue, especially for bottom cutting force. Hence the NC values have to be memorized. public Vec3d ProgramXyz { get; } Property Value Vec3d Remarks NC is the better source property than MC. Ex. a NC line command: X100. The Y and Z value may vary if using MC converting back to NC. The error of Y and Z will keeps accumulating until the next explicit YZ command assignment. The error maybe up to 3e-5 in current case. the bounding box size of the case is not large (TT.20230815). Also note that if using Arc command for a complete circle, the begin NC XYZ and the end NC XYZ have to be equaled. Otherwise, it will become only a very small arc rather than the circle. So be care that do not change the NC XYZ if not needed. RadiusCompensationBuf Internal use. public RadiusCompensationBuf RadiusCompensationBuf { get; set; } Property Value RadiusCompensationBuf RapidFeedrate_mmdmin Rapid Feedrate on NC code in rapid mode (such as G00 but not G01,G02,G03) in mm/min. public double RapidFeedrate_mmdmin { get; set; } Property Value double RapidFeedrate_mmds Rapid Feedrate on NC code in rapid mode (such as G00 but not G01,G02,G03) in mm/sec. public double RapidFeedrate_mmds { get; set; } Property Value double S S. Spindle speed. public int S { get; set; } Property Value int SentenceIndex 0-based ordinal in NC execution order, stamped at construction by HardNcRunner (source-side) or by NcOptProc (optimized-side, a fresh independent count). Init-state lines (RefNcLineOnInit) carry -1 as a “not in pipeline” sentinel. public int SentenceIndex { get; } Property Value int SpindleSpeed_radds Spindle speed in radian/s. public double SpindleSpeed_radds { get; set; } Property Value double SpindleSpeed_rpm Spindle speed in RPM. public double SpindleSpeed_rpm { get; set; } Property Value double T Current equiped Tool ID. public int T { get; set; } Property Value int TiltPlaneNcArg Arguments related to tilted plane operations. public ITiltPlaneNcArg TiltPlaneNcArg { get; set; } Property Value ITiltPlaneNcArg Methods GetAttacherMat(HardNcEnv) Gets the attacher transformation matrix for the current machine coordinates. public Mat4d GetAttacherMat(HardNcEnv ncEnv) Parameters ncEnv HardNcEnv The NC environment. Returns Mat4d The attacher transformation matrix. GetCompensationHeight(HardNcEnv, IProgress) Gets the tool height compensation value for this NC line. public double GetCompensationHeight(HardNcEnv ncEnv, IProgress messageHost) Parameters ncEnv HardNcEnv NC environment messageHost IProgress Message host for warnings Returns double Height compensation value GetCompensationRadius(CncBrand, MillingToolOffsetTable, IProgress) Gets the tool radius compensation value for this NC line. public double GetCompensationRadius(CncBrand cncBrand, MillingToolOffsetTable millingToolOffsetTable, IProgress messageHost) Parameters cncBrand CncBrand CNC brand millingToolOffsetTable MillingToolOffsetTable Milling tool offset table messageHost IProgress Message host for warnings Returns double Radius compensation value GetFileLineIndex() Get FileLineIndex. public FileLineIndex GetFileLineIndex() Returns FileLineIndex FileLineIndex GetG5xCoordinateOffset(HardNcEnv) Gets the G5x coordinate offset for this NC line. public Vec3d GetG5xCoordinateOffset(HardNcEnv ncEnv) Parameters ncEnv HardNcEnv NC environment Returns Vec3d The G5x coordinate offset vector GetIndexedFileLine() Gets the file line associated with this object. public IndexedFileLine GetIndexedFileLine() Returns IndexedFileLine The file line object. GetMcByProgramPos(Vec3d, HardNcEnv, NcNoteCache, IProgress, out Vec3d) Internal Use. public DVec3d GetMcByProgramPos(Vec3d programPos, HardNcEnv ncEnv, NcNoteCache ncNoteCache, IProgress messageHost, out Vec3d programXyz) Parameters programPos Vec3d ncEnv HardNcEnv ncNoteCache NcNoteCache messageHost IProgress programXyz Vec3d Returns DVec3d GetSentence() Returns the source Sentence carried by this object. public Sentence GetSentence() Returns Sentence GetSourceCommand() public IIndexedFileLine GetSourceCommand() Returns IIndexedFileLine GetTiltMat4d(HardNcEnv, out Mat4d) Internal Use Only. public bool? GetTiltMat4d(HardNcEnv ncEnv, out Mat4d tableToFeatureTransform) Parameters ncEnv HardNcEnv NC environment. tableToFeatureTransform Mat4d Transform from NC to Table without tool compensation and linear coordinate offset (such as G55,G56..). Returns bool? True if G68.2 is successfully applied, false if not, and null if not applicable. HasSyntaxXyz(HardNcEnv) Determines whether the line contains syntactic XYZ coordinates. public bool HasSyntaxXyz(HardNcEnv ncEnv) Parameters ncEnv HardNcEnv NC environment Returns bool True if syntactic XYZ coordinates are present; otherwise, false. RebuildByMc(HardNcEnv, DVec3d, NcNoteCache, IProgress) Internal Use Only. For NC opt. public void RebuildByMc(HardNcEnv ncEnv, DVec3d mc, NcNoteCache ncNoteCache, IProgress messageHost) Parameters ncEnv HardNcEnv NC environment. mc DVec3d MC coordinates. ncNoteCache NcNoteCache NC line cache. messageHost IProgress Message host for logging and reporting. RebuildByProgramXyz(HardNcEnv, Vec3d, NcNoteCache, IProgress) Internal Use Only. For NC opt. public void RebuildByProgramXyz(HardNcEnv ncEnv, Vec3d programXyz, NcNoteCache ncNoteCache, IProgress messageHost) Parameters ncEnv HardNcEnv NC environment. programXyz Vec3d Program XYZ coordinates. ncNoteCache NcNoteCache NC note cache. messageHost IProgress Message host for logging and reporting. ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object." }, "api/Hi.Numerical.HardNcUtil.html": { "href": "api/Hi.Numerical.HardNcUtil.html", @@ -5342,17 +5342,17 @@ "api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.html": { "href": "api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.html", "title": "Class FeedPerCycleMachiningMotionResolution | HiAPI-C# 2025", - "summary": "Class FeedPerCycleMachiningMotionResolution Namespace Hi.Numerical.MachiningMotionResolutionUtils Assembly HiMech.dll Automatic resolution by feed per spindle cycle. public class FeedPerCycleMachiningMotionResolution : IMachiningMotionResolution, IMakeXmlSource, IToXElement Inheritance object FeedPerCycleMachiningMotionResolution Implements IMachiningMotionResolution IMakeXmlSource IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors FeedPerCycleMachiningMotionResolution() Ctor. public FeedPerCycleMachiningMotionResolution() FeedPerCycleMachiningMotionResolution(XElement) Ctor. public FeedPerCycleMachiningMotionResolution(XElement src) Parameters src XElement XML Properties LinearResolution_mm Linear axis resolution in millimeter. public double LinearResolution_mm { get; } Property Value double Remarks setter is for internal usage MinLinearResolution_mm Optional floor (millimetres) for LinearResolution_mm after feed-per-cycle scaling; zero disables clamping. public double MinLinearResolution_mm { get; set; } Property Value double RotaryResolution_deg Rotary axis resolution in degree. public double RotaryResolution_deg { get; } Property Value double Remarks setter is for internal usage RotaryResolution_rad Rotary axis resolution in radian. public double RotaryResolution_rad { get; } Property Value double Remarks setter is for internal usage Scale Gets or sets the scale factor for resolution calculation. Default value is 1. public double Scale { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods AdjustMotionResolution(double, double) Adjusts the resolution based on feed rate and spindle speed. public void AdjustMotionResolution(double feedrate_mmds, double spindleSpeed_radds) Parameters feedrate_mmds double Feed rate in mm per second spindleSpeed_radds double Spindle speed in radians per second MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class FeedPerCycleMachiningMotionResolution Namespace Hi.Numerical.MachiningMotionResolutionUtils Assembly HiMech.dll Automatic resolution by feed per spindle cycle. public class FeedPerCycleMachiningMotionResolution : IMachiningMotionResolution, IMakeXmlSource, IToXElement Inheritance object FeedPerCycleMachiningMotionResolution Implements IMachiningMotionResolution IMakeXmlSource IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors FeedPerCycleMachiningMotionResolution() Ctor. public FeedPerCycleMachiningMotionResolution() FeedPerCycleMachiningMotionResolution(XElement) Ctor. public FeedPerCycleMachiningMotionResolution(XElement src) Parameters src XElement XML Properties LinearResolution_mm Linear axis resolution in millimeter. public double LinearResolution_mm { get; } Property Value double Remarks setter is for internal usage MinLinearResolution_mm Optional floor (millimetres) for LinearResolution_mm after feed-per-cycle scaling; zero disables clamping. public double MinLinearResolution_mm { get; set; } Property Value double RotaryResolution_deg Rotary axis resolution in degree. public double RotaryResolution_deg { get; } Property Value double Remarks setter is for internal usage RotaryResolution_rad Rotary axis resolution in radian. public double RotaryResolution_rad { get; } Property Value double Remarks setter is for internal usage Scale Gets or sets the scale factor for resolution calculation. Default value is 1. public double Scale { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods AdjustMotionResolution(double, double) Adjusts the resolution based on feed rate and spindle speed. public void AdjustMotionResolution(double feedrate_mmds, double spindleSpeed_radds) Parameters feedrate_mmds double Feed rate in mm per second spindleSpeed_radds double Spindle speed in radians per second 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.html": { "href": "api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.html", "title": "Class FeedPerToothMachiningMotionResolution | HiAPI-C# 2025", - "summary": "Class FeedPerToothMachiningMotionResolution Namespace Hi.Numerical.MachiningMotionResolutionUtils Assembly HiMech.dll Automatic resolution by feed per tooth. public class FeedPerToothMachiningMotionResolution : IMachiningMotionResolution, IMakeXmlSource, IToXElement Inheritance object FeedPerToothMachiningMotionResolution Implements IMachiningMotionResolution IMakeXmlSource IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors FeedPerToothMachiningMotionResolution() Ctor. public FeedPerToothMachiningMotionResolution() Properties LinearResolution_mm Linear axis resolution in millimeter. public double LinearResolution_mm { get; } Property Value double Remarks setter is for internal usage RotaryResolution_deg Rotary axis resolution in degree. public double RotaryResolution_deg { get; set; } Property Value double Remarks setter is for internal usage RotaryResolution_rad Rotary axis resolution in radian. public double RotaryResolution_rad { get; } Property Value double Remarks setter is for internal usage XName Name for XML IO. public static string XName { get; } Property Value string Methods AdjustResolution(int, double, double) Adjusts the resolution based on flute number, feed rate and spindle speed. public void AdjustResolution(int fluteNum, double feedrate_mmds, double spindleSpeed_radds) Parameters fluteNum int Number of flutes in the cutting tool feedrate_mmds double Feed rate in mm per second spindleSpeed_radds double Spindle speed in radians per second MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class FeedPerToothMachiningMotionResolution Namespace Hi.Numerical.MachiningMotionResolutionUtils Assembly HiMech.dll Automatic resolution by feed per tooth. public class FeedPerToothMachiningMotionResolution : IMachiningMotionResolution, IMakeXmlSource, IToXElement Inheritance object FeedPerToothMachiningMotionResolution Implements IMachiningMotionResolution IMakeXmlSource IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors FeedPerToothMachiningMotionResolution() Ctor. public FeedPerToothMachiningMotionResolution() Properties LinearResolution_mm Linear axis resolution in millimeter. public double LinearResolution_mm { get; } Property Value double Remarks setter is for internal usage RotaryResolution_deg Rotary axis resolution in degree. public double RotaryResolution_deg { get; set; } Property Value double Remarks setter is for internal usage RotaryResolution_rad Rotary axis resolution in radian. public double RotaryResolution_rad { get; } Property Value double Remarks setter is for internal usage XName Name for XML IO. public static string XName { get; } Property Value string Methods AdjustResolution(int, double, double) Adjusts the resolution based on flute number, feed rate and spindle speed. public void AdjustResolution(int fluteNum, double feedrate_mmds, double spindleSpeed_radds) Parameters fluteNum int Number of flutes in the cutting tool feedrate_mmds double Feed rate in mm per second spindleSpeed_radds double Spindle speed in radians per second 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.html": { "href": "api/Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.html", "title": "Class FixedMachiningMotionResolution | HiAPI-C# 2025", - "summary": "Class FixedMachiningMotionResolution Namespace Hi.Numerical.MachiningMotionResolutionUtils Assembly HiMech.dll Represents a fixed machining motion resolution with user-defined values. public class FixedMachiningMotionResolution : IMachiningMotionResolution, IMakeXmlSource, IToXElement Inheritance object FixedMachiningMotionResolution Implements IMachiningMotionResolution IMakeXmlSource IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors FixedMachiningMotionResolution() Ctor. public FixedMachiningMotionResolution() FixedMachiningMotionResolution(double, double) Ctor. public FixedMachiningMotionResolution(double linearResolution_mm, double rotaryResolution_deg) Parameters linearResolution_mm double rotaryResolution_deg double FixedMachiningMotionResolution(XElement) Ctor. public FixedMachiningMotionResolution(XElement src) Parameters src XElement XML Properties LinearResolution_mm Linear axis resolution in millimeter. public double LinearResolution_mm { get; set; } Property Value double RotaryResolution_deg Rotary axis resolution in degree. public double RotaryResolution_deg { get; set; } Property Value double RotaryResolution_rad Rotary axis resolution in radian. public double RotaryResolution_rad { get; set; } Property Value double 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. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class FixedMachiningMotionResolution Namespace Hi.Numerical.MachiningMotionResolutionUtils Assembly HiMech.dll Represents a fixed machining motion resolution with user-defined values. public class FixedMachiningMotionResolution : IMachiningMotionResolution, IMakeXmlSource, IToXElement Inheritance object FixedMachiningMotionResolution Implements IMachiningMotionResolution IMakeXmlSource IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors FixedMachiningMotionResolution() Ctor. public FixedMachiningMotionResolution() FixedMachiningMotionResolution(double, double) Ctor. public FixedMachiningMotionResolution(double linearResolution_mm, double rotaryResolution_deg) Parameters linearResolution_mm double rotaryResolution_deg double FixedMachiningMotionResolution(XElement) Ctor. public FixedMachiningMotionResolution(XElement src) Parameters src XElement XML Properties LinearResolution_mm Linear axis resolution in millimeter. public double LinearResolution_mm { get; set; } Property Value double RotaryResolution_deg Rotary axis resolution in degree. public double RotaryResolution_deg { get; set; } Property Value double RotaryResolution_rad Rotary axis resolution in radian. public double RotaryResolution_rad { get; set; } Property Value double 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.Numerical.MachiningMotionResolutionUtils.IMachiningMotionResolution.html": { "href": "api/Hi.Numerical.MachiningMotionResolutionUtils.IMachiningMotionResolution.html", @@ -5372,12 +5372,12 @@ "api/Hi.Numerical.MillingToolOffsetTable.html": { "href": "api/Hi.Numerical.MillingToolOffsetTable.html", "title": "Class MillingToolOffsetTable | HiAPI-C# 2025", - "summary": "Class MillingToolOffsetTable Namespace Hi.Numerical Assembly HiUniNc.dll Offset table for milling tool. The key is Offset ID (H or D in NC code). public class MillingToolOffsetTable : Dictionary, IDictionary, ICollection>, IReadOnlyDictionary, IReadOnlyCollection>, IEnumerable>, IDictionary, ICollection, IEnumerable, IDeserializationCallback, ISerializable, IMakeXmlSource Inheritance object Dictionary MillingToolOffsetTable Implements IDictionary ICollection> IReadOnlyDictionary IReadOnlyCollection> IEnumerable> IDictionary ICollection IEnumerable IDeserializationCallback ISerializable IMakeXmlSource Inherited Members Dictionary.Add(int, MillingToolOffsetTableRow) Dictionary.Clear() Dictionary.ContainsKey(int) Dictionary.ContainsValue(MillingToolOffsetTableRow) Dictionary.EnsureCapacity(int) Dictionary.GetAlternateLookup() Dictionary.GetEnumerator() Dictionary.OnDeserialization(object) Dictionary.Remove(int) Dictionary.Remove(int, out MillingToolOffsetTableRow) Dictionary.TrimExcess() Dictionary.TrimExcess(int) Dictionary.TryAdd(int, MillingToolOffsetTableRow) Dictionary.TryGetAlternateLookup(out Dictionary.AlternateLookup) Dictionary.TryGetValue(int, out MillingToolOffsetTableRow) Dictionary.Comparer Dictionary.Count Dictionary.Capacity Dictionary.this[int] Dictionary.Keys Dictionary.Values 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) DictionaryUtil.Retrieve(Dictionary, K, out V, bool) DictionaryUtil.GetOrCreate(IDictionary, TKey) DictionaryUtil.GetOrCreate(IDictionary, TKey, TValue) DictionaryUtil.GetOrCreate(IDictionary, TKey, Func) DictionaryUtil.TryGetValueByKeys(IDictionary, IEnumerable, out TValue) StringUtil.ToDotSplitedString(IEnumerable) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MillingToolOffsetTable() Initializes a new instance of the MillingToolOffsetTable class. public MillingToolOffsetTable() MillingToolOffsetTable(MillingToolOffsetTable) Initializes a new instance of the MillingToolOffsetTable class by copying an existing table. public MillingToolOffsetTable(MillingToolOffsetTable src) Parameters src MillingToolOffsetTable The source table to copy. MillingToolOffsetTable(XElement) Initializes a new instance of the MillingToolOffsetTable class from XML. public MillingToolOffsetTable(XElement src) Parameters src XElement The XML element containing tool offset data. Fields XName Gets the XML element name for the MillingToolOffsetTable. public static string XName Field Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of this offset table. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for relative paths. relFile string The relative file path. exhibitionOnly bool Returns XElement An XML element representing this offset table. UpdateIdealMillingToolOffsetTableByToolHouse(MachiningToolHouse) Updates the ideal tool offsets in this table based on a tool house. public void UpdateIdealMillingToolOffsetTableByToolHouse(MachiningToolHouse millingToolHouse) Parameters millingToolHouse MachiningToolHouse The machining tool house containing tool information." + "summary": "Class MillingToolOffsetTable Namespace Hi.Numerical Assembly HiUniNc.dll Offset table for milling tool. The key is Offset ID (H or D in NC code). public class MillingToolOffsetTable : Dictionary, IDictionary, ICollection>, IReadOnlyDictionary, IReadOnlyCollection>, IEnumerable>, IDictionary, ICollection, IEnumerable, IDeserializationCallback, ISerializable, IMakeXmlSource Inheritance object Dictionary MillingToolOffsetTable Implements IDictionary ICollection> IReadOnlyDictionary IReadOnlyCollection> IEnumerable> IDictionary ICollection IEnumerable IDeserializationCallback ISerializable IMakeXmlSource Inherited Members Dictionary.Add(int, MillingToolOffsetTableRow) Dictionary.Clear() Dictionary.ContainsKey(int) Dictionary.ContainsValue(MillingToolOffsetTableRow) Dictionary.EnsureCapacity(int) Dictionary.GetAlternateLookup() Dictionary.GetEnumerator() Dictionary.OnDeserialization(object) Dictionary.Remove(int) Dictionary.Remove(int, out MillingToolOffsetTableRow) Dictionary.TrimExcess() Dictionary.TrimExcess(int) Dictionary.TryAdd(int, MillingToolOffsetTableRow) Dictionary.TryGetAlternateLookup(out Dictionary.AlternateLookup) Dictionary.TryGetValue(int, out MillingToolOffsetTableRow) Dictionary.Comparer Dictionary.Count Dictionary.Capacity Dictionary.this[int] Dictionary.Keys Dictionary.Values 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) DictionaryUtil.Retrieve(Dictionary, K, out V, bool) DictionaryUtil.GetOrCreate(IDictionary, TKey) DictionaryUtil.GetOrCreate(IDictionary, TKey, TValue) DictionaryUtil.GetOrCreate(IDictionary, TKey, Func) DictionaryUtil.TryGetValueByKeys(IDictionary, IEnumerable, out TValue) StringUtil.ToDotSplitedString(IEnumerable) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MillingToolOffsetTable() Initializes a new instance of the MillingToolOffsetTable class. public MillingToolOffsetTable() MillingToolOffsetTable(MillingToolOffsetTable) Initializes a new instance of the MillingToolOffsetTable class by copying an existing table. public MillingToolOffsetTable(MillingToolOffsetTable src) Parameters src MillingToolOffsetTable The source table to copy. MillingToolOffsetTable(XElement) Initializes a new instance of the MillingToolOffsetTable class from XML. public MillingToolOffsetTable(XElement src) Parameters src XElement The XML element containing tool offset data. Fields XName Gets the XML element name for the MillingToolOffsetTable. public static string XName Field Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of this offset table. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for relative paths. relFile string The relative file path. exhibitionOnly bool Returns XElement An XML element representing this offset table. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory UpdateIdealMillingToolOffsetTableByToolHouse(MachiningToolHouse) Updates the ideal tool offsets in this table based on a tool house. public void UpdateIdealMillingToolOffsetTableByToolHouse(MachiningToolHouse millingToolHouse) Parameters millingToolHouse MachiningToolHouse The machining tool house containing tool information." }, "api/Hi.Numerical.MillingToolOffsetTableRow.html": { "href": "api/Hi.Numerical.MillingToolOffsetTableRow.html", "title": "Class MillingToolOffsetTableRow | HiAPI-C# 2025", - "summary": "Class MillingToolOffsetTableRow Namespace Hi.Numerical Assembly HiUniNc.dll Raw of MillingToolOffsetTable public class MillingToolOffsetTableRow Inheritance object MillingToolOffsetTableRow 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 MillingToolOffsetTableRow() Ctor. public MillingToolOffsetTableRow() MillingToolOffsetTableRow(XElement) Initializes a new instance of the MillingToolOffsetTableRow class from XML. public MillingToolOffsetTableRow(XElement src) Parameters src XElement The XML element containing tool offset row data. Properties AxialWear_mm Gets or sets the axial wear of the tool in millimeters. public double AxialWear_mm { get; set; } Property Value double FullHeight_mm Gets the total height of the tool including wear in millimeters. public double FullHeight_mm { get; } Property Value double FullRadius_mm Gets the total radius of the tool including wear in millimeters. public double FullRadius_mm { get; } Property Value double IdealHeight_mm Gets or sets the ideal height of the tool in millimeters. public double IdealHeight_mm { get; set; } Property Value double IdealRadius_mm Gets or sets the ideal radius of the tool in millimeters. public double IdealRadius_mm { get; set; } Property Value double RadialWear_mm Gets or sets the radial wear of the tool in millimeters. public double RadialWear_mm { get; set; } Property Value double XName XML Name. public static string XName { get; } Property Value string Methods ToXElement() Converts this offset table row to an XML element. public XElement ToXElement() Returns XElement An XML element representing this offset table row." + "summary": "Class MillingToolOffsetTableRow Namespace Hi.Numerical Assembly HiUniNc.dll Raw of MillingToolOffsetTable public class MillingToolOffsetTableRow Inheritance object MillingToolOffsetTableRow 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 MillingToolOffsetTableRow() Ctor. public MillingToolOffsetTableRow() MillingToolOffsetTableRow(XElement) Initializes a new instance of the MillingToolOffsetTableRow class from XML. public MillingToolOffsetTableRow(XElement src) Parameters src XElement The XML element containing tool offset row data. Properties AxialWear_mm Gets or sets the axial wear of the tool in millimeters. public double AxialWear_mm { get; set; } Property Value double FullHeight_mm Gets the total height of the tool including wear in millimeters. public double FullHeight_mm { get; } Property Value double FullRadius_mm Gets the total radius of the tool including wear in millimeters. public double FullRadius_mm { get; } Property Value double IdealHeight_mm Gets or sets the ideal height of the tool in millimeters. public double IdealHeight_mm { get; set; } Property Value double IdealRadius_mm Gets or sets the ideal radius of the tool in millimeters. public double IdealRadius_mm { get; set; } Property Value double RadialWear_mm Gets or sets the radial wear of the tool in millimeters. public double RadialWear_mm { get; set; } Property Value double XName XML Name. public static string XName { get; } Property Value string Methods Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Converts this offset table row to an XML element. public XElement ToXElement() Returns XElement An XML element representing this offset table row." }, "api/Hi.Numerical.NcArgs.ArcNcArg.html": { "href": "api/Hi.Numerical.NcArgs.ArcNcArg.html", @@ -5627,12 +5627,12 @@ "api/Hi.Numerical.StepSelectionUtils.BoundSelector.html": { "href": "api/Hi.Numerical.StepSelectionUtils.BoundSelector.html", "title": "Class BoundSelector | HiAPI-C# 2025", - "summary": "Class BoundSelector Namespace Hi.Numerical.StepSelectionUtils Assembly HiMech.dll Mark on source command line for managing step. public class BoundSelector : IFileLineIndex, IGetFileLineIndex, IMakeXmlSource Inheritance object BoundSelector Implements IFileLineIndex IGetFileLineIndex 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 BoundSelector(AnchorMode, IStepShift, FileLineIndex, int) Initializes a new instance of the BoundSelector class. public BoundSelector(AnchorMode anchorMode, IStepShift shift, FileLineIndex fileLineIndex, int boundStepIndex) Parameters anchorMode AnchorMode The anchor mode for the bound. shift IStepShift The step shift to apply. fileLineIndex FileLineIndex The file line index. boundStepIndex int The step index at the boundary. BoundSelector(XElement, string, IProgress) Ctor. public BoundSelector(XElement src, string baseDirectory, IProgress progress) Parameters src XElement XML source element baseDirectory string Base directory for resolving relative paths progress IProgress Progress reporter for nested XML factory calls. Properties BoundStepIndex If locale on begin, the step index should be the first step of the line; if locale on end, the step index should be the last step of the line. i.e. the index is inclusive. public int BoundStepIndex { get; set; } Property Value int FileIndex File Index. Start on 0. public int FileIndex { get; set; } Property Value int FileLineIndex Gets or sets the file line index. public FileLineIndex FileLineIndex { get; set; } Property Value FileLineIndex FileNo Gets or sets the file number. public int FileNo { get; set; } Property Value int KeyAnchorMode Gets or sets the key anchor mode that determines how the boundary is anchored. public AnchorMode KeyAnchorMode { get; set; } Property Value AnchorMode LineIndex Line Index. Start on 0. public int LineIndex { get; set; } Property Value int LineNo Gets or sets the line number. public int LineNo { get; set; } Property Value int Shift Gets or sets the shift to apply to the step index. public IStepShift Shift { get; set; } Property Value IStepShift XName Name for XML IO. public static string XName { get; } Property Value string Methods GetFileLineIndex() Get FileLineIndex. public FileLineIndex GetFileLineIndex() Returns FileLineIndex FileLineIndex MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class BoundSelector Namespace Hi.Numerical.StepSelectionUtils Assembly HiMech.dll Mark on source command line for managing step. public class BoundSelector : IFileLineIndex, IGetFileLineIndex, IMakeXmlSource Inheritance object BoundSelector Implements IFileLineIndex IGetFileLineIndex 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 BoundSelector(AnchorMode, IStepShift, FileLineIndex, int) Initializes a new instance of the BoundSelector class. public BoundSelector(AnchorMode anchorMode, IStepShift shift, FileLineIndex fileLineIndex, int boundStepIndex) Parameters anchorMode AnchorMode The anchor mode for the bound. shift IStepShift The step shift to apply. fileLineIndex FileLineIndex The file line index. boundStepIndex int The step index at the boundary. BoundSelector(XElement, string, IProgress) Ctor. public BoundSelector(XElement src, string baseDirectory, IProgress progress) Parameters src XElement XML source element baseDirectory string Base directory for resolving relative paths progress IProgress Progress reporter for nested XML factory calls. Properties BoundStepIndex If locale on begin, the step index should be the first step of the line; if locale on end, the step index should be the last step of the line. i.e. the index is inclusive. public int BoundStepIndex { get; set; } Property Value int FileIndex File Index. Start on 0. public int FileIndex { get; set; } Property Value int FileLineIndex Gets or sets the file line index. public FileLineIndex FileLineIndex { get; set; } Property Value FileLineIndex FileNo Gets or sets the file number. public int FileNo { get; set; } Property Value int KeyAnchorMode Gets or sets the key anchor mode that determines how the boundary is anchored. public AnchorMode KeyAnchorMode { get; set; } Property Value AnchorMode LineIndex Line Index. Start on 0. public int LineIndex { get; set; } Property Value int LineNo Gets or sets the line number. public int LineNo { get; set; } Property Value int Shift Gets or sets the shift to apply to the step index. public IStepShift Shift { get; set; } Property Value IStepShift XName Name for XML IO. public static string XName { get; } Property Value string Methods GetFileLineIndex() Get FileLineIndex. public FileLineIndex GetFileLineIndex() Returns FileLineIndex FileLineIndex 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Numerical.StepSelectionUtils.BoundSelectorHost.html": { "href": "api/Hi.Numerical.StepSelectionUtils.BoundSelectorHost.html", "title": "Class BoundSelectorHost | HiAPI-C# 2025", - "summary": "Class BoundSelectorHost Namespace Hi.Numerical.StepSelectionUtils Assembly HiMech.dll Hosts bound selectors and manages step sections within a CL strip. public class BoundSelectorHost : IMakeXmlSource Inheritance object BoundSelectorHost 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 BoundSelectorHost() Initializes a new instance of the BoundSelectorHost class. public BoundSelectorHost() BoundSelectorHost(XElement, string, IProgress) Ctor. public BoundSelectorHost(XElement src, string baseDirectory, IProgress progress) Parameters src XElement XML source element baseDirectory string Base directory for resolving relative paths progress IProgress Progress reporter for nested bundle XML. Properties XName Name for XML IO. public static string XName { get; } Property Value string Methods Begin(string, AnchorMode, IStepShift, FileLineIndex, int) Marks the beginning of a step section with the specified key and parameters. public void Begin(string key, AnchorMode anchorMode, IStepShift shift, FileLineIndex fileLineIndex, int boundStepIndex) Parameters key string The key identifying the step section. anchorMode AnchorMode The anchor mode for the bound. shift IStepShift The step shift to apply. fileLineIndex FileLineIndex The file line index. boundStepIndex int The step index at the boundary. Begin(string, BoundSelector) Marks the beginning of a step section with the specified key. public void Begin(string key, BoundSelector beginMark) Parameters key string The key identifying the step section. beginMark BoundSelector The bound selector marking the beginning. Clear() Clears all unclosed sections and bound selector bundles. public void Clear() End(string, AnchorMode, IStepShift, FileLineIndex, int) Marks the end of a step section with the specified key and parameters. public void End(string key, AnchorMode anchorMode, IStepShift shift, FileLineIndex fileLineIndex, int boundStepIndex) Parameters key string The key identifying the step section. anchorMode AnchorMode The anchor mode for the bound. shift IStepShift The step shift to apply. fileLineIndex FileLineIndex The file line index. boundStepIndex int The step index at the boundary. End(string, BoundSelector) Marks the end of a step section with the specified key. public void End(string key, BoundSelector endMark) Parameters key string The key identifying the step section. endMark BoundSelector The bound selector marking the end. GetKeyToStepSectionDictionary(ClStrip) Gets a dictionary mapping keys to their corresponding step section ranges in the CL strip. public Dictionary> GetKeyToStepSectionDictionary(ClStrip clStrip) Parameters clStrip ClStrip The CL strip containing the steps. Returns Dictionary> A dictionary mapping keys to step section ranges. GetStepSection(string, ClStrip) Gets the step section range for the specified key in the CL strip. public Range GetStepSection(string key, ClStrip clStrip) Parameters key string The key identifying the step section. clStrip ClStrip The CL strip containing the steps. Returns Range The step section range, or null if the key is not found. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class BoundSelectorHost Namespace Hi.Numerical.StepSelectionUtils Assembly HiMech.dll Hosts bound selectors and manages step sections within a CL strip. public class BoundSelectorHost : IMakeXmlSource Inheritance object BoundSelectorHost 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 BoundSelectorHost() Initializes a new instance of the BoundSelectorHost class. public BoundSelectorHost() BoundSelectorHost(XElement, string, IProgress) Ctor. public BoundSelectorHost(XElement src, string baseDirectory, IProgress progress) Parameters src XElement XML source element baseDirectory string Base directory for resolving relative paths progress IProgress Progress reporter for nested bundle XML. Properties XName Name for XML IO. public static string XName { get; } Property Value string Methods Begin(string, AnchorMode, IStepShift, FileLineIndex, int) Marks the beginning of a step section with the specified key and parameters. public void Begin(string key, AnchorMode anchorMode, IStepShift shift, FileLineIndex fileLineIndex, int boundStepIndex) Parameters key string The key identifying the step section. anchorMode AnchorMode The anchor mode for the bound. shift IStepShift The step shift to apply. fileLineIndex FileLineIndex The file line index. boundStepIndex int The step index at the boundary. Begin(string, BoundSelector) Marks the beginning of a step section with the specified key. public void Begin(string key, BoundSelector beginMark) Parameters key string The key identifying the step section. beginMark BoundSelector The bound selector marking the beginning. Clear() Clears all unclosed sections and bound selector bundles. public void Clear() End(string, AnchorMode, IStepShift, FileLineIndex, int) Marks the end of a step section with the specified key and parameters. public void End(string key, AnchorMode anchorMode, IStepShift shift, FileLineIndex fileLineIndex, int boundStepIndex) Parameters key string The key identifying the step section. anchorMode AnchorMode The anchor mode for the bound. shift IStepShift The step shift to apply. fileLineIndex FileLineIndex The file line index. boundStepIndex int The step index at the boundary. End(string, BoundSelector) Marks the end of a step section with the specified key. public void End(string key, BoundSelector endMark) Parameters key string The key identifying the step section. endMark BoundSelector The bound selector marking the end. GetKeyToStepSectionDictionary(ClStrip) Gets a dictionary mapping keys to their corresponding step section ranges in the CL strip. public Dictionary> GetKeyToStepSectionDictionary(ClStrip clStrip) Parameters clStrip ClStrip The CL strip containing the steps. Returns Dictionary> A dictionary mapping keys to step section ranges. GetStepSection(string, ClStrip) Gets the step section range for the specified key in the CL strip. public Range GetStepSection(string key, ClStrip clStrip) Parameters key string The key identifying the step section. clStrip ClStrip The CL strip containing the steps. Returns Range The step section range, or null if the key is not found. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Numerical.StepSelectionUtils.BoundSelectorPair.BoundLocale.html": { "href": "api/Hi.Numerical.StepSelectionUtils.BoundSelectorPair.BoundLocale.html", @@ -5642,12 +5642,12 @@ "api/Hi.Numerical.StepSelectionUtils.BoundSelectorPair.html": { "href": "api/Hi.Numerical.StepSelectionUtils.BoundSelectorPair.html", "title": "Class BoundSelectorPair | HiAPI-C# 2025", - "summary": "Class BoundSelectorPair Namespace Hi.Numerical.StepSelectionUtils Assembly HiMech.dll Represents a pair of bound selectors defining the beginning and end of a step section. public class BoundSelectorPair : IMakeXmlSource Inheritance object BoundSelectorPair 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 BoundSelectorPair(BoundSelector, BoundSelector) Initializes a new instance of the BoundSelectorPair class with specified begin and end bound selectors. public BoundSelectorPair(BoundSelector begin, BoundSelector end) Parameters begin BoundSelector The beginning bound selector. end BoundSelector The ending bound selector. BoundSelectorPair(XElement, string, IProgress) Ctor. public BoundSelectorPair(XElement src, string baseDirectory, IProgress progress) Parameters src XElement XML source element baseDirectory string Base directory for resolving relative paths progress IProgress Progress reporter for nested selector XML. Properties Begin Gets the beginning bound selector. public BoundSelector Begin { get; } Property Value BoundSelector End Gets the ending bound selector. public BoundSelector End { get; } Property Value BoundSelector XName Name for XML IO. public static string XName { get; } Property Value string Methods GetStepSectionBound(BoundLocale) Gets the bound selector for the specified location. public BoundSelector GetStepSectionBound(BoundSelectorPair.BoundLocale locale) Parameters locale BoundSelectorPair.BoundLocale The location of the bound to retrieve. Returns BoundSelector The bound selector at the specified location. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class BoundSelectorPair Namespace Hi.Numerical.StepSelectionUtils Assembly HiMech.dll Represents a pair of bound selectors defining the beginning and end of a step section. public class BoundSelectorPair : IMakeXmlSource Inheritance object BoundSelectorPair 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 BoundSelectorPair(BoundSelector, BoundSelector) Initializes a new instance of the BoundSelectorPair class with specified begin and end bound selectors. public BoundSelectorPair(BoundSelector begin, BoundSelector end) Parameters begin BoundSelector The beginning bound selector. end BoundSelector The ending bound selector. BoundSelectorPair(XElement, string, IProgress) Ctor. public BoundSelectorPair(XElement src, string baseDirectory, IProgress progress) Parameters src XElement XML source element baseDirectory string Base directory for resolving relative paths progress IProgress Progress reporter for nested selector XML. Properties Begin Gets the beginning bound selector. public BoundSelector Begin { get; } Property Value BoundSelector End Gets the ending bound selector. public BoundSelector End { get; } Property Value BoundSelector XName Name for XML IO. public static string XName { get; } Property Value string Methods GetStepSectionBound(BoundLocale) Gets the bound selector for the specified location. public BoundSelector GetStepSectionBound(BoundSelectorPair.BoundLocale locale) Parameters locale BoundSelectorPair.BoundLocale The location of the bound to retrieve. Returns BoundSelector The bound selector at the specified location. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.html": { "href": "api/Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.html", "title": "Class BoundSelectorStepSectionBundle | HiAPI-C# 2025", - "summary": "Class BoundSelectorStepSectionBundle Namespace Hi.Numerical.StepSelectionUtils Assembly HiMech.dll Represents a bundle containing a boundary selector pair and the corresponding step section range. public class BoundSelectorStepSectionBundle : IMakeXmlSource Inheritance object BoundSelectorStepSectionBundle 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 BoundSelectorStepSectionBundle(BoundSelectorPair, Range) Initializes a new instance of the BoundSelectorStepSectionBundle class with the specified boundary selector pair and step section. public BoundSelectorStepSectionBundle(BoundSelectorPair boundSelectorPair, Range stepSection) Parameters boundSelectorPair BoundSelectorPair The boundary selector pair. stepSection Range The step section range. BoundSelectorStepSectionBundle(XElement, string, IProgress) Ctor. public BoundSelectorStepSectionBundle(XElement src, string baseDirectory, IProgress progress) Parameters src XElement XML source element baseDirectory string Base directory for resolving relative paths progress IProgress Progress reporter for nested selector XML. Properties BoundSelectorPair Gets or sets the boundary selector pair that defines the step section. public BoundSelectorPair BoundSelectorPair { get; set; } Property Value BoundSelectorPair XName Name for XML IO. public static string XName { get; } Property Value string Methods BuildStepSection(ClStrip) Builds the step section range from the CL strip using the boundary selector pair. public Range BuildStepSection(ClStrip clStrip) Parameters clStrip ClStrip The CL strip to build the step section from. Returns Range The built step section range. CallStepSection(ClStrip) Gets the existing step section or builds it if it doesn't exist. public Range CallStepSection(ClStrip clStrip) Parameters clStrip ClStrip The CL strip to use for building the step section if needed. Returns Range The step section range. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class BoundSelectorStepSectionBundle Namespace Hi.Numerical.StepSelectionUtils Assembly HiMech.dll Represents a bundle containing a boundary selector pair and the corresponding step section range. public class BoundSelectorStepSectionBundle : IMakeXmlSource Inheritance object BoundSelectorStepSectionBundle 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 BoundSelectorStepSectionBundle(BoundSelectorPair, Range) Initializes a new instance of the BoundSelectorStepSectionBundle class with the specified boundary selector pair and step section. public BoundSelectorStepSectionBundle(BoundSelectorPair boundSelectorPair, Range stepSection) Parameters boundSelectorPair BoundSelectorPair The boundary selector pair. stepSection Range The step section range. BoundSelectorStepSectionBundle(XElement, string, IProgress) Ctor. public BoundSelectorStepSectionBundle(XElement src, string baseDirectory, IProgress progress) Parameters src XElement XML source element baseDirectory string Base directory for resolving relative paths progress IProgress Progress reporter for nested selector XML. Properties BoundSelectorPair Gets or sets the boundary selector pair that defines the step section. public BoundSelectorPair BoundSelectorPair { get; set; } Property Value BoundSelectorPair XName Name for XML IO. public static string XName { get; } Property Value string Methods BuildStepSection(ClStrip) Builds the step section range from the CL strip using the boundary selector pair. public Range BuildStepSection(ClStrip clStrip) Parameters clStrip ClStrip The CL strip to build the step section from. Returns Range The built step section range. CallStepSection(ClStrip) Gets the existing step section or builds it if it doesn't exist. public Range CallStepSection(ClStrip clStrip) Parameters clStrip ClStrip The CL strip to use for building the step section if needed. Returns Range The step section range. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Numerical.StepSelectionUtils.BoundSelectorUtil.html": { "href": "api/Hi.Numerical.StepSelectionUtils.BoundSelectorUtil.html", @@ -5657,7 +5657,7 @@ "api/Hi.Numerical.StepSelectionUtils.DistanceShift.html": { "href": "api/Hi.Numerical.StepSelectionUtils.DistanceShift.html", "title": "Class DistanceShift | HiAPI-C# 2025", - "summary": "Class DistanceShift Namespace Hi.Numerical.StepSelectionUtils Assembly HiMech.dll A step shift implementation that shifts based on distance along the tool path. public class DistanceShift : IStepShift, IMakeXmlSource Inheritance object DistanceShift Implements IStepShift 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 DistanceShift(double) Constructor with specified distance shift in millimeters. public DistanceShift(double distanceShift_mm) Parameters distanceShift_mm double The distance to shift in millimeters. DistanceShift(XElement) Ctor. public DistanceShift(XElement src) Parameters src XElement XML Properties DistanceShift_mm The distance to shift in millimeters. public double DistanceShift_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods GetShiftedStepIndex(ClStrip, int) Gets the shifted step index based on distance along the tool path. public int GetShiftedStepIndex(ClStrip host, int originalStepIndex) Parameters host ClStrip The CL strip hosting the steps. originalStepIndex int The original step index to shift from. Returns int The shifted step index after applying the distance shift. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class DistanceShift Namespace Hi.Numerical.StepSelectionUtils Assembly HiMech.dll A step shift implementation that shifts based on distance along the tool path. public class DistanceShift : IStepShift, IMakeXmlSource Inheritance object DistanceShift Implements IStepShift 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 DistanceShift(double) Constructor with specified distance shift in millimeters. public DistanceShift(double distanceShift_mm) Parameters distanceShift_mm double The distance to shift in millimeters. DistanceShift(XElement) Ctor. public DistanceShift(XElement src) Parameters src XElement XML Properties DistanceShift_mm The distance to shift in millimeters. public double DistanceShift_mm { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods GetShiftedStepIndex(ClStrip, int) Gets the shifted step index based on distance along the tool path. public int GetShiftedStepIndex(ClStrip host, int originalStepIndex) Parameters host ClStrip The CL strip hosting the steps. originalStepIndex int The original step index to shift from. Returns int The shifted step index after applying the distance shift. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Numerical.StepSelectionUtils.IStepShift.html": { "href": "api/Hi.Numerical.StepSelectionUtils.IStepShift.html", @@ -5667,7 +5667,7 @@ "api/Hi.Numerical.StepSelectionUtils.TimeShift.html": { "href": "api/Hi.Numerical.StepSelectionUtils.TimeShift.html", "title": "Class TimeShift | HiAPI-C# 2025", - "summary": "Class TimeShift Namespace Hi.Numerical.StepSelectionUtils Assembly HiMech.dll Represents a time-based shift operation for machining steps. This class provides functionality to shift step indices based on time offsets. public class TimeShift : IStepShift, IMakeXmlSource Inheritance object TimeShift Implements IStepShift 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 TimeShift(TimeSpan, bool) Initializes a new instance of the TimeShift class with the specified parameters. public TimeShift(TimeSpan timeShift, bool isBackward) Parameters timeShift TimeSpan The amount of time to shift. isBackward bool True to shift backward in time, false to shift forward. TimeShift(XElement) Initializes a new instance of the TimeShift class from XML. public TimeShift(XElement src) Parameters src XElement The XML element containing the time shift configuration. Properties IsBackward Gets or sets a value indicating whether the shift is backward in time. When true, shifts steps earlier in time; when false, shifts steps later in time. public bool IsBackward { get; set; } Property Value bool ShiftTimeSpan Gets or sets the amount of time to shift. public TimeSpan ShiftTimeSpan { get; set; } Property Value TimeSpan XName Gets the XML element name used for serialization. public static string XName { get; } Property Value string Remarks This name is used as the XML tag when serializing/deserializing TimeShift instances. The value is the unqualified name of the class (TimeShift). Methods GetShiftedStepIndex(ClStrip, int) Gets the shifted step index based on the original index and the time shift configuration. public int GetShiftedStepIndex(ClStrip host, int originalStepIndex) Parameters host ClStrip The cutter location strip containing the steps. originalStepIndex int The original step index to shift. Returns int The shifted step index, or -1 if the shift results in an invalid index. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class TimeShift Namespace Hi.Numerical.StepSelectionUtils Assembly HiMech.dll Represents a time-based shift operation for machining steps. This class provides functionality to shift step indices based on time offsets. public class TimeShift : IStepShift, IMakeXmlSource Inheritance object TimeShift Implements IStepShift 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 TimeShift(TimeSpan, bool) Initializes a new instance of the TimeShift class with the specified parameters. public TimeShift(TimeSpan timeShift, bool isBackward) Parameters timeShift TimeSpan The amount of time to shift. isBackward bool True to shift backward in time, false to shift forward. TimeShift(XElement) Initializes a new instance of the TimeShift class from XML. public TimeShift(XElement src) Parameters src XElement The XML element containing the time shift configuration. Properties IsBackward Gets or sets a value indicating whether the shift is backward in time. When true, shifts steps earlier in time; when false, shifts steps later in time. public bool IsBackward { get; set; } Property Value bool ShiftTimeSpan Gets or sets the amount of time to shift. public TimeSpan ShiftTimeSpan { get; set; } Property Value TimeSpan XName Gets the XML element name used for serialization. public static string XName { get; } Property Value string Remarks This name is used as the XML tag when serializing/deserializing TimeShift instances. The value is the unqualified name of the class (TimeShift). Methods GetShiftedStepIndex(ClStrip, int) Gets the shifted step index based on the original index and the time shift configuration. public int GetShiftedStepIndex(ClStrip host, int originalStepIndex) Parameters host ClStrip The cutter location strip containing the steps. originalStepIndex int The original step index to shift. Returns int The shifted step index, or -1 if the shift results in an invalid index. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Numerical.StepSelectionUtils.html": { "href": "api/Hi.Numerical.StepSelectionUtils.html", @@ -5697,12 +5697,12 @@ "api/Hi.Numerical.Xyzabc.CodeXyzabcChain.html": { "href": "api/Hi.Numerical.Xyzabc.CodeXyzabcChain.html", "title": "Class CodeXyzabcChain | HiAPI-C# 2025", - "summary": "Class CodeXyzabcChain Namespace Hi.Numerical.Xyzabc Assembly HiMech.dll IXyzabcChain Composed by ChainCode. On purpose of easy XML hand management. public class CodeXyzabcChain : IXyzabcChain, IGetXyzabcChain, IMachiningChain, IGetAsmb, IGetAnchor, IGetTopoIndex, IGetAnchorToSolidDictionary, IGetAnchoredDisplayeeList, IExpandToBox3d, IMakeXmlSource Inheritance object CodeXyzabcChain Implements IXyzabcChain IGetXyzabcChain IMachiningChain IGetAsmb IGetAnchor IGetTopoIndex IGetAnchorToSolidDictionary IGetAnchoredDisplayeeList IExpandToBox3d IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods MachiningChainUtil.GetMcCodeTransformerDictionary(IMachiningChain) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) XyzabcUtil.GenerateCollisionIndexPairs(IXyzabcChain) XyzabcUtil.GetMc(IXyzabcChain, out DVec3d) XyzabcUtil.GetMc(IXyzabcChain, out double, out double, out double, out double, out double, out double) XyzabcUtil.GetMcAbc_rad(IXyzabcChain, out Abc) XyzabcUtil.GetMcXyzabc(IXyzabcChain) XyzabcUtil.GetNp(IXyzabcChain) XyzabcUtil.GetTransformationMat4d(IXyzabcChain) XyzabcUtil.SetMc(IXyzabcChain, DVec3d) XyzabcUtil.SetMc(IXyzabcChain, Vec3d) XyzabcUtil.SetMc(IXyzabcChain, double, double, double) XyzabcUtil.SetMc(IXyzabcChain, double, double, double, double, double, double) XyzabcUtil.SetMcAbc_rad(IXyzabcChain, Vec3d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CodeXyzabcChain(string, bool) Initializes a new instance of the CodeXyzabcChain class. public CodeXyzabcChain(string chainCode = \"[O][Z][C][w];[O][Y][X][B][S][t]\", bool isVertical = true) Parameters chainCode string Chain code of machine tool. Must contain at least base, tool buckle and table buckle, where the code is O,t and w, respectively. The other available members: S is spindle. X,Y and Z are translational motion component. A,B and C are rotational motion component. The codes should be all uppercases. isVertical bool Whether the machine is in vertical configuration Examples The chain code of a three axis machine tool can be defined by \"[O][Z][w];[O][Y][X][S][t]\". The chain code of a five axis machine tool can be defined by \"[O][Z][C][w];[O][Y][X][B][S][t]\". CodeXyzabcChain(XElement, string, string, IProgress) Initializes a new instance of the CodeXyzabcChain class from XML. public CodeXyzabcChain(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement The XML source element. baseDirectory string The base directory for resolving relative paths. relFile string The relative file path. progress IProgress The progress reporter. Properties AnchorToSolid Gets or sets the dictionary mapping anchors to solids for display purposes. public Dictionary AnchorToSolid { get; set; } Property Value Dictionary Asmb Gets the assembly instance. public Asmb Asmb { get; } Property Value Asmb ChainBegin Gets the chain begin anchor. public Anchor ChainBegin { get; } Property Value Anchor ChainCode ChainCode is the chain code of machine tool. Each machine tool component is represented by a word embraced by brackets. Must contain at least base, tool buckle and table buckle, where the code is O,t and w, respectively. The other available members: S is spindle. X,Y and Z are translational motion component. A,B and C are rotational motion component. public string ChainCode { get; } Property Value string ChainEnd Gets the chain end anchor. public Anchor ChainEnd { get; } Property Value Anchor CodeToAnc Gets the dictionary mapping component codes to anchors. public Dictionary CodeToAnc { get; } Property Value Dictionary ComponentCodes_O2T Gets the list of component codes from root to tool buckle. public List ComponentCodes_O2T { get; } Property Value List ComponentCodes_O2W Gets the list of component codes from root to table buckle. public List ComponentCodes_O2W { get; } Property Value List IsVertical Set the machine to vertical; otherwise, set to horizontal. public bool IsVertical { get; } Property Value bool McCodes Gets the machine coordinate code sequence for decoding the MC array. public string[] McCodes { get; } Property Value string[] McTransformers Gets the machine coordinate transformers. public IDynamicRegular[] McTransformers { get; } Property Value IDynamicRegular[] RootAnchor Gets the root anchor of the XYZABC chain. public Anchor RootAnchor { get; } Property Value Anchor TableBuckleTransformer Gets the table buckle transformer. public IStaticTransformer TableBuckleTransformer { get; set; } Property Value IStaticTransformer ToolBuckleTransformer Gets or sets the static transformer for the tool buckle. public IStaticTransformer ToolBuckleTransformer { get; set; } Property Value IStaticTransformer TransformerA Gets the A-axis transformer. public DynamicRotation TransformerA { get; } Property Value DynamicRotation TransformerB Gets the B-axis transformer. public DynamicRotation TransformerB { get; } Property Value DynamicRotation TransformerC Gets the C-axis transformer. public DynamicRotation TransformerC { get; } Property Value DynamicRotation TransformerX Gets the X-axis transformer. public DynamicTranslation TransformerX { get; } Property Value DynamicTranslation TransformerY Gets the Y-axis transformer. public DynamicTranslation TransformerY { get; } Property Value DynamicTranslation TransformerZ Gets the Z-axis transformer. public DynamicTranslation TransformerZ { get; } Property Value DynamicTranslation XName Gets the XML element name for serialization. public static string XName { get; } Property Value string Methods ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchorToSolidDictionary() Gets a dictionary that maps Anchor objects to their corresponding Solid objects. public Dictionary GetAnchorToSolidDictionary() Returns Dictionary A dictionary where keys are anchors and values are their associated solids. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetTableBuckle() Gets the table buckle anchor point. public IGetAnchor GetTableBuckle() Returns IGetAnchor The table buckle anchor point. GetToolBuckle() Gets the tool buckle anchor point. public IGetAnchor GetToolBuckle() Returns IGetAnchor The tool buckle anchor point. GetTransformerA() Get transformer A. public DynamicRotation GetTransformerA() Returns DynamicRotation transformer A GetTransformerB() Get transformer B. public DynamicRotation GetTransformerB() Returns DynamicRotation transformer B GetTransformerC() Get transformer C. public DynamicRotation GetTransformerC() Returns DynamicRotation transformer C GetTransformerX() Get transformer X. public DynamicTranslation GetTransformerX() Returns DynamicTranslation transformer X GetTransformerY() Get transformer Y. public DynamicTranslation GetTransformerY() Returns DynamicTranslation transformer Y GetTransformerZ() Get transformer Z. public DynamicTranslation GetTransformerZ() Returns DynamicTranslation transformer Z GetXyzabcChain() Get IXyzabcChain. public IXyzabcChain GetXyzabcChain() Returns IXyzabcChain IXyzabcChain MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class CodeXyzabcChain Namespace Hi.Numerical.Xyzabc Assembly HiMech.dll IXyzabcChain Composed by ChainCode. On purpose of easy XML hand management. public class CodeXyzabcChain : IXyzabcChain, IGetXyzabcChain, IMachiningChain, IGetAsmb, IGetAnchor, IGetTopoIndex, IGetAnchorToSolidDictionary, IGetAnchoredDisplayeeList, IExpandToBox3d, IMakeXmlSource Inheritance object CodeXyzabcChain Implements IXyzabcChain IGetXyzabcChain IMachiningChain IGetAsmb IGetAnchor IGetTopoIndex IGetAnchorToSolidDictionary IGetAnchoredDisplayeeList IExpandToBox3d IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods MachiningChainUtil.GetMcCodeTransformerDictionary(IMachiningChain) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) XyzabcUtil.GenerateCollisionIndexPairs(IXyzabcChain) XyzabcUtil.GetMc(IXyzabcChain, out DVec3d) XyzabcUtil.GetMc(IXyzabcChain, out double, out double, out double, out double, out double, out double) XyzabcUtil.GetMcAbc_rad(IXyzabcChain, out Abc) XyzabcUtil.GetMcXyzabc(IXyzabcChain) XyzabcUtil.GetNp(IXyzabcChain) XyzabcUtil.GetTransformationMat4d(IXyzabcChain) XyzabcUtil.SetMc(IXyzabcChain, DVec3d) XyzabcUtil.SetMc(IXyzabcChain, Vec3d) XyzabcUtil.SetMc(IXyzabcChain, double, double, double) XyzabcUtil.SetMc(IXyzabcChain, double, double, double, double, double, double) XyzabcUtil.SetMcAbc_rad(IXyzabcChain, Vec3d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CodeXyzabcChain(string, bool) Initializes a new instance of the CodeXyzabcChain class. public CodeXyzabcChain(string chainCode = \"[O][Z][C][w];[O][Y][X][B][S][t]\", bool isVertical = true) Parameters chainCode string Chain code of machine tool. Must contain at least base, tool buckle and table buckle, where the code is O,t and w, respectively. The other available members: S is spindle. X,Y and Z are translational motion component. A,B and C are rotational motion component. The codes should be all uppercases. isVertical bool Whether the machine is in vertical configuration Examples The chain code of a three axis machine tool can be defined by \"[O][Z][w];[O][Y][X][S][t]\". The chain code of a five axis machine tool can be defined by \"[O][Z][C][w];[O][Y][X][B][S][t]\". CodeXyzabcChain(XElement, string, string, IProgress) Initializes a new instance of the CodeXyzabcChain class from XML. public CodeXyzabcChain(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement The XML source element. baseDirectory string The base directory for resolving relative paths. relFile string The relative file path. progress IProgress The progress reporter. Properties AnchorToSolid Gets or sets the dictionary mapping anchors to solids for display purposes. public Dictionary AnchorToSolid { get; set; } Property Value Dictionary Asmb Gets the assembly instance. public Asmb Asmb { get; } Property Value Asmb ChainBegin Gets the chain begin anchor. public Anchor ChainBegin { get; } Property Value Anchor ChainCode ChainCode is the chain code of machine tool. Each machine tool component is represented by a word embraced by brackets. Must contain at least base, tool buckle and table buckle, where the code is O,t and w, respectively. The other available members: S is spindle. X,Y and Z are translational motion component. A,B and C are rotational motion component. public string ChainCode { get; } Property Value string ChainEnd Gets the chain end anchor. public Anchor ChainEnd { get; } Property Value Anchor CodeToAnc Gets the dictionary mapping component codes to anchors. public Dictionary CodeToAnc { get; } Property Value Dictionary ComponentCodes_O2T Gets the list of component codes from root to tool buckle. public List ComponentCodes_O2T { get; } Property Value List ComponentCodes_O2W Gets the list of component codes from root to table buckle. public List ComponentCodes_O2W { get; } Property Value List IsVertical Set the machine to vertical; otherwise, set to horizontal. public bool IsVertical { get; } Property Value bool McCodes Gets the machine coordinate code sequence for decoding the MC array. public string[] McCodes { get; } Property Value string[] McTransformers Gets the machine coordinate transformers. public IDynamicRegular[] McTransformers { get; } Property Value IDynamicRegular[] RootAnchor Gets the root anchor of the XYZABC chain. public Anchor RootAnchor { get; } Property Value Anchor TableBuckleTransformer Gets the table buckle transformer. public IStaticTransformer TableBuckleTransformer { get; set; } Property Value IStaticTransformer ToolBuckleTransformer Gets or sets the static transformer for the tool buckle. public IStaticTransformer ToolBuckleTransformer { get; set; } Property Value IStaticTransformer TransformerA Gets the A-axis transformer. public DynamicRotation TransformerA { get; } Property Value DynamicRotation TransformerB Gets the B-axis transformer. public DynamicRotation TransformerB { get; } Property Value DynamicRotation TransformerC Gets the C-axis transformer. public DynamicRotation TransformerC { get; } Property Value DynamicRotation TransformerX Gets the X-axis transformer. public DynamicTranslation TransformerX { get; } Property Value DynamicTranslation TransformerY Gets the Y-axis transformer. public DynamicTranslation TransformerY { get; } Property Value DynamicTranslation TransformerZ Gets the Z-axis transformer. public DynamicTranslation TransformerZ { get; } Property Value DynamicTranslation XName Gets the XML element name for serialization. public static string XName { get; } Property Value string Methods ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchorToSolidDictionary() Gets a dictionary that maps Anchor objects to their corresponding Solid objects. public Dictionary GetAnchorToSolidDictionary() Returns Dictionary A dictionary where keys are anchors and values are their associated solids. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetTableBuckle() Gets the table buckle anchor point. public IGetAnchor GetTableBuckle() Returns IGetAnchor The table buckle anchor point. GetToolBuckle() Gets the tool buckle anchor point. public IGetAnchor GetToolBuckle() Returns IGetAnchor The tool buckle anchor point. GetTransformerA() Get transformer A. public DynamicRotation GetTransformerA() Returns DynamicRotation transformer A GetTransformerB() Get transformer B. public DynamicRotation GetTransformerB() Returns DynamicRotation transformer B GetTransformerC() Get transformer C. public DynamicRotation GetTransformerC() Returns DynamicRotation transformer C GetTransformerX() Get transformer X. public DynamicTranslation GetTransformerX() Returns DynamicTranslation transformer X GetTransformerY() Get transformer Y. public DynamicTranslation GetTransformerY() Returns DynamicTranslation transformer Y GetTransformerZ() Get transformer Z. public DynamicTranslation GetTransformerZ() Returns DynamicTranslation transformer Z GetXyzabcChain() Get IXyzabcChain. public IXyzabcChain GetXyzabcChain() Returns IXyzabcChain IXyzabcChain 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Numerical.Xyzabc.GeneralXyzabcChain.html": { "href": "api/Hi.Numerical.Xyzabc.GeneralXyzabcChain.html", "title": "Class GeneralXyzabcChain | HiAPI-C# 2025", - "summary": "Class GeneralXyzabcChain Namespace Hi.Numerical.Xyzabc Assembly HiMech.dll Represents a general XYZABC chain that can be constructed from a general mechanism. public class GeneralXyzabcChain : IXyzabcChain, IGetXyzabcChain, IMachiningChain, IGetAsmb, IGetAnchor, IGetTopoIndex, IGetAnchorToSolidDictionary, IGetAnchoredDisplayeeList, IExpandToBox3d, IMakeXmlSource Inheritance object GeneralXyzabcChain Implements IXyzabcChain IGetXyzabcChain IMachiningChain IGetAsmb IGetAnchor IGetTopoIndex IGetAnchorToSolidDictionary IGetAnchoredDisplayeeList IExpandToBox3d IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods MachiningChainUtil.GetMcCodeTransformerDictionary(IMachiningChain) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) XyzabcUtil.GenerateCollisionIndexPairs(IXyzabcChain) XyzabcUtil.GetMc(IXyzabcChain, out DVec3d) XyzabcUtil.GetMc(IXyzabcChain, out double, out double, out double, out double, out double, out double) XyzabcUtil.GetMcAbc_rad(IXyzabcChain, out Abc) XyzabcUtil.GetMcXyzabc(IXyzabcChain) XyzabcUtil.GetNp(IXyzabcChain) XyzabcUtil.GetTransformationMat4d(IXyzabcChain) XyzabcUtil.SetMc(IXyzabcChain, DVec3d) XyzabcUtil.SetMc(IXyzabcChain, Vec3d) XyzabcUtil.SetMc(IXyzabcChain, double, double, double) XyzabcUtil.SetMc(IXyzabcChain, double, double, double, double, double, double) XyzabcUtil.SetMcAbc_rad(IXyzabcChain, Vec3d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors GeneralXyzabcChain(GeneralMechanism) Initializes a new instance of the GeneralXyzabcChain class with the specified general mechanism. public GeneralXyzabcChain(GeneralMechanism generalMechanism) Parameters generalMechanism GeneralMechanism The general mechanism to use for the chain. GeneralXyzabcChain(XElement, string, IProgress) Initializes a new instance of the GeneralXyzabcChain class from XML. public GeneralXyzabcChain(XElement src, string baseDirectory, IProgress progress) Parameters src XElement The XML source element. baseDirectory string The base directory for resolving relative paths. progress IProgress Progress reporter for loading the nested mechanism. Properties Asmb Asmb. public Asmb Asmb { get; } Property Value Asmb GeneralMechanismFile Gets or sets the file path for the general mechanism. public string GeneralMechanismFile { get; set; } Property Value string McCodes Gets the machine coordinate code sequence for decoding the MC array. public string[] McCodes { get; } Property Value string[] McTransformers Gets the machine coordinate transformers. public IDynamicRegular[] McTransformers { get; } Property Value IDynamicRegular[] TableBuckleTransformer Gets or sets the static transformer for the table buckle. public IStaticTransformer TableBuckleTransformer { get; set; } Property Value IStaticTransformer ToolBuckleTransformer Gets or sets the static transformer for the tool buckle. public IStaticTransformer ToolBuckleTransformer { get; set; } Property Value IStaticTransformer TransformerA Transformer A. public DynamicRotation TransformerA { get; } Property Value DynamicRotation TransformerB Transformer B. public DynamicRotation TransformerB { get; } Property Value DynamicRotation TransformerC Transformer C. public DynamicRotation TransformerC { get; } Property Value DynamicRotation TransformerX Transformer X. public DynamicTranslation TransformerX { get; } Property Value DynamicTranslation TransformerY Transformer Y. public DynamicTranslation TransformerY { get; } Property Value DynamicTranslation TransformerZ Transformer Z. public DynamicTranslation TransformerZ { get; } Property Value DynamicTranslation XName Gets the XML element name for serialization. public static string XName { get; } Property Value string Methods ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchorToSolidDictionary() Gets a dictionary that maps Anchor objects to their corresponding Solid objects. public Dictionary GetAnchorToSolidDictionary() Returns Dictionary A dictionary where keys are anchors and values are their associated solids. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetTableBuckle() Gets the table buckle anchor point. public IGetAnchor GetTableBuckle() Returns IGetAnchor The table buckle anchor point. GetToolBuckle() Gets the tool buckle anchor point. public IGetAnchor GetToolBuckle() Returns IGetAnchor The tool buckle anchor point. GetTransformerA() Get transformer A. public DynamicRotation GetTransformerA() Returns DynamicRotation transformer A GetTransformerB() Get transformer B. public DynamicRotation GetTransformerB() Returns DynamicRotation transformer B GetTransformerC() Get transformer C. public DynamicRotation GetTransformerC() Returns DynamicRotation transformer C GetTransformerX() Get transformer X. public DynamicTranslation GetTransformerX() Returns DynamicTranslation transformer X GetTransformerY() Get transformer Y. public DynamicTranslation GetTransformerY() Returns DynamicTranslation transformer Y GetTransformerZ() Get transformer Z. public DynamicTranslation GetTransformerZ() Returns DynamicTranslation transformer Z GetXyzabcChain() Get IXyzabcChain. public IXyzabcChain GetXyzabcChain() Returns IXyzabcChain IXyzabcChain 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. UpdateByMechanism() Updates the XYZABC chain components based on the current general mechanism. public void UpdateByMechanism()" + "summary": "Class GeneralXyzabcChain Namespace Hi.Numerical.Xyzabc Assembly HiMech.dll Represents a general XYZABC chain that can be constructed from a general mechanism. public class GeneralXyzabcChain : IXyzabcChain, IGetXyzabcChain, IMachiningChain, IGetAsmb, IGetAnchor, IGetTopoIndex, IGetAnchorToSolidDictionary, IGetAnchoredDisplayeeList, IExpandToBox3d, IMakeXmlSource Inheritance object GeneralXyzabcChain Implements IXyzabcChain IGetXyzabcChain IMachiningChain IGetAsmb IGetAnchor IGetTopoIndex IGetAnchorToSolidDictionary IGetAnchoredDisplayeeList IExpandToBox3d IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods MachiningChainUtil.GetMcCodeTransformerDictionary(IMachiningChain) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) XyzabcUtil.GenerateCollisionIndexPairs(IXyzabcChain) XyzabcUtil.GetMc(IXyzabcChain, out DVec3d) XyzabcUtil.GetMc(IXyzabcChain, out double, out double, out double, out double, out double, out double) XyzabcUtil.GetMcAbc_rad(IXyzabcChain, out Abc) XyzabcUtil.GetMcXyzabc(IXyzabcChain) XyzabcUtil.GetNp(IXyzabcChain) XyzabcUtil.GetTransformationMat4d(IXyzabcChain) XyzabcUtil.SetMc(IXyzabcChain, DVec3d) XyzabcUtil.SetMc(IXyzabcChain, Vec3d) XyzabcUtil.SetMc(IXyzabcChain, double, double, double) XyzabcUtil.SetMc(IXyzabcChain, double, double, double, double, double, double) XyzabcUtil.SetMcAbc_rad(IXyzabcChain, Vec3d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors GeneralXyzabcChain(GeneralMechanism) Initializes a new instance of the GeneralXyzabcChain class with the specified general mechanism. public GeneralXyzabcChain(GeneralMechanism generalMechanism) Parameters generalMechanism GeneralMechanism The general mechanism to use for the chain. GeneralXyzabcChain(XElement, string, IProgress) Initializes a new instance of the GeneralXyzabcChain class from XML. public GeneralXyzabcChain(XElement src, string baseDirectory, IProgress progress) Parameters src XElement The XML source element. baseDirectory string The base directory for resolving relative paths. progress IProgress Progress reporter for loading the nested mechanism. Properties Asmb Asmb. public Asmb Asmb { get; } Property Value Asmb GeneralMechanismFile Gets or sets the file path for the general mechanism. public string GeneralMechanismFile { get; set; } Property Value string McCodes Gets the machine coordinate code sequence for decoding the MC array. public string[] McCodes { get; } Property Value string[] McTransformers Gets the machine coordinate transformers. public IDynamicRegular[] McTransformers { get; } Property Value IDynamicRegular[] TableBuckleTransformer Gets or sets the static transformer for the table buckle. public IStaticTransformer TableBuckleTransformer { get; set; } Property Value IStaticTransformer ToolBuckleTransformer Gets or sets the static transformer for the tool buckle. public IStaticTransformer ToolBuckleTransformer { get; set; } Property Value IStaticTransformer TransformerA Transformer A. public DynamicRotation TransformerA { get; } Property Value DynamicRotation TransformerB Transformer B. public DynamicRotation TransformerB { get; } Property Value DynamicRotation TransformerC Transformer C. public DynamicRotation TransformerC { get; } Property Value DynamicRotation TransformerX Transformer X. public DynamicTranslation TransformerX { get; } Property Value DynamicTranslation TransformerY Transformer Y. public DynamicTranslation TransformerY { get; } Property Value DynamicTranslation TransformerZ Transformer Z. public DynamicTranslation TransformerZ { get; } Property Value DynamicTranslation XName Gets the XML element name for serialization. public static string XName { get; } Property Value string Methods ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchorToSolidDictionary() Gets a dictionary that maps Anchor objects to their corresponding Solid objects. public Dictionary GetAnchorToSolidDictionary() Returns Dictionary A dictionary where keys are anchors and values are their associated solids. GetAnchoredDisplayeeList() Gets a list of anchored displayable objects. public List GetAnchoredDisplayeeList() Returns List A list of IAnchoredDisplayee objects GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetTableBuckle() Gets the table buckle anchor point. public IGetAnchor GetTableBuckle() Returns IGetAnchor The table buckle anchor point. GetToolBuckle() Gets the tool buckle anchor point. public IGetAnchor GetToolBuckle() Returns IGetAnchor The tool buckle anchor point. GetTransformerA() Get transformer A. public DynamicRotation GetTransformerA() Returns DynamicRotation transformer A GetTransformerB() Get transformer B. public DynamicRotation GetTransformerB() Returns DynamicRotation transformer B GetTransformerC() Get transformer C. public DynamicRotation GetTransformerC() Returns DynamicRotation transformer C GetTransformerX() Get transformer X. public DynamicTranslation GetTransformerX() Returns DynamicTranslation transformer X GetTransformerY() Get transformer Y. public DynamicTranslation GetTransformerY() Returns DynamicTranslation transformer Y GetTransformerZ() Get transformer Z. public DynamicTranslation GetTransformerZ() Returns DynamicTranslation transformer Z GetXyzabcChain() Get IXyzabcChain. public IXyzabcChain GetXyzabcChain() Returns IXyzabcChain IXyzabcChain 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory UpdateByMechanism() Updates the XYZABC chain components based on the current general mechanism. public void UpdateByMechanism()" }, "api/Hi.Numerical.Xyzabc.IGetMcXyzabc.html": { "href": "api/Hi.Numerical.Xyzabc.IGetMcXyzabc.html", @@ -5867,17 +5867,17 @@ "api/Hi.Physics.CoatingMaterial.html": { "href": "api/Hi.Physics.CoatingMaterial.html", "title": "Class CoatingMaterial | HiAPI-C# 2025", - "summary": "Class CoatingMaterial Namespace Hi.Physics Assembly HiMech.dll Represents a coating material used in cutting tools. public class CoatingMaterial : CutterMaterial, ISurfaceMaterial, IStructureMaterial, IMakeXmlSource, IDuplicate, INameNote, IToXElement Inheritance object CutterMaterial CoatingMaterial Implements ISurfaceMaterial IStructureMaterial IMakeXmlSource IDuplicate INameNote IToXElement Inherited Members CutterMaterial.Name CutterMaterial.Note CutterMaterial.ElasticModulus_GPa CutterMaterial.PoissonRatio CutterMaterial.TensileStrength_MPa CutterMaterial.ThermalExpansionCoefficient_dMK CutterMaterial.HeatConductivity_WdmK CutterMaterial.HeatConductivity_WdmmK CutterMaterial.HeatCapacity_JdgK CutterMaterial.Density_gdm3 CutterMaterial.Density_gdcm3 CutterMaterial.Density_gdmm3 CutterMaterial.MeltingTemperature_K CutterMaterial.FusionLatentHeat_Jdg CutterMaterial.FrictionCoefficient CutterMaterial.TemperatureVsHardnessCurve CutterMaterial.TemperatureVsWearCoefficientCurve CutterMaterial.WC CutterMaterial.WC_Co6_800nm 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 CoatingMaterial() Initializes a new instance of the CoatingMaterial class. public CoatingMaterial() CoatingMaterial(CoatingMaterial) Initializes a new instance of the CoatingMaterial class by copying from another instance. public CoatingMaterial(CoatingMaterial src) Parameters src CoatingMaterial The source coating material to copy from. CoatingMaterial(XElement) Initializes a new instance of the CoatingMaterial class from XML data. public CoatingMaterial(XElement src) Parameters src XElement The XML element containing coating material data. Properties DefaultFrictionCoefficient Gets the default friction coefficient for coating materials. public static double DefaultFrictionCoefficient { get; } Property Value double PreferedThickness_mm Gets or sets the preferred thickness of the coating in millimeters. public double PreferedThickness_mm { get; set; } Property Value double PreferedThickness_um Gets or sets the preferred thickness of the coating in micrometers. public double PreferedThickness_um { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) public object Duplicate(params object[] res) Parameters res object[] Returns object MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public override XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToXElement() Get the XElement to represent the object. public override XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class CoatingMaterial Namespace Hi.Physics Assembly HiMech.dll Represents a coating material used in cutting tools. public class CoatingMaterial : CutterMaterial, ISurfaceMaterial, IStructureMaterial, IMakeXmlSource, IDuplicate, INameNote, IToXElement Inheritance object CutterMaterial CoatingMaterial Implements ISurfaceMaterial IStructureMaterial IMakeXmlSource IDuplicate INameNote IToXElement Inherited Members CutterMaterial.Name CutterMaterial.Note CutterMaterial.ElasticModulus_GPa CutterMaterial.PoissonRatio CutterMaterial.TensileStrength_MPa CutterMaterial.ThermalExpansionCoefficient_dMK CutterMaterial.HeatConductivity_WdmK CutterMaterial.HeatConductivity_WdmmK CutterMaterial.HeatCapacity_JdgK CutterMaterial.Density_gdm3 CutterMaterial.Density_gdcm3 CutterMaterial.Density_gdmm3 CutterMaterial.MeltingTemperature_K CutterMaterial.FusionLatentHeat_Jdg CutterMaterial.FrictionCoefficient CutterMaterial.TemperatureVsHardnessCurve CutterMaterial.TemperatureVsWearCoefficientCurve CutterMaterial.WC CutterMaterial.WC_Co6_800nm 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 CoatingMaterial() Initializes a new instance of the CoatingMaterial class. public CoatingMaterial() CoatingMaterial(CoatingMaterial) Initializes a new instance of the CoatingMaterial class by copying from another instance. public CoatingMaterial(CoatingMaterial src) Parameters src CoatingMaterial The source coating material to copy from. CoatingMaterial(XElement) Initializes a new instance of the CoatingMaterial class from XML data. public CoatingMaterial(XElement src) Parameters src XElement The XML element containing coating material data. Properties DefaultFrictionCoefficient Gets the default friction coefficient for coating materials. public static double DefaultFrictionCoefficient { get; } Property Value double PreferedThickness_mm Gets or sets the preferred thickness of the coating in millimeters. public double PreferedThickness_mm { get; set; } Property Value double PreferedThickness_um Gets or sets the preferred thickness of the coating in micrometers. public double PreferedThickness_um { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) public object Duplicate(params object[] res) Parameters res object[] Returns object MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public override 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public override XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.Physics.CoolantHeatCondition.html": { "href": "api/Hi.Physics.CoolantHeatCondition.html", "title": "Class CoolantHeatCondition | HiAPI-C# 2025", - "summary": "Class CoolantHeatCondition Namespace Hi.Physics Assembly HiMech.dll Represents the heat condition parameters for coolant in machining operations. Provides effective convection-coefficient lookups keyed by CoolantMode — Flood uses the configured baseline CoolantConvectionCoefficient_Wdm2K; Mist scales it by MistFloodConvectionRatio; Off falls back to OffConvectionCoefficient_Wdm2K (natural/forced air). public class CoolantHeatCondition : IMakeXmlSource Inheritance object CoolantHeatCondition 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 CoolantHeatCondition() Initializes a new instance of the CoolantHeatCondition class. public CoolantHeatCondition() CoolantHeatCondition(XElement) Initializes a new instance of the CoolantHeatCondition class from XML data. public CoolantHeatCondition(XElement src) Parameters src XElement The XML element containing coolant heat condition data. Properties CoolantConvectionCoefficient_Wdm2K Gets or sets the coolant heat transfer coefficient (flood baseline) in Watts per square meter per Kelvin. public double CoolantConvectionCoefficient_Wdm2K { get; set; } Property Value double Remarks Common value: forced air: 10~500; coolant: 1e3~1e4 (ref by “Effects of coolant on temperature distribution in metal machining”, 1988) coolant: 1e3 (ref by “Modeling heat transfer in die milling”, 2014) CoolantConvectionCoefficient_Wdmm2K Gets or sets the coolant heat transfer coefficient (flood baseline) in Watts per square millimeter per Kelvin. public double CoolantConvectionCoefficient_Wdmm2K { get; set; } Property Value double CoolantTemperature_C Gets or sets the coolant temperature in Celsius. public double CoolantTemperature_C { get; set; } Property Value double CoolantTemperature_K Gets or sets the coolant temperature in Kelvin. public double CoolantTemperature_K { get; set; } Property Value double MistFloodConvectionRatio Convection-coefficient ratio of mist coolant (MQL) relative to flood coolant. Applied multiplicatively to CoolantConvectionCoefficient_Wdm2K when the current CoolantMode is Mist. public double MistFloodConvectionRatio { get; set; } Property Value double Remarks Default 0.5. Industry handbooks place MQL at roughly half the heat removal of flood coolant — UNIST MQL Handbook: “actual heat removal is generally about half of that removed by a flood coolant”. Empirical milling / turning measurements on AISI 1045 steel give ΔT_flood ≈ 230 °C vs ΔT_mist ≈ 170 °C relative to dry (Mist ≈ 0.74 of flood), while tool-life / surface-finish studies on aluminium and titanium range 0.4–0.8. The single-number 0.5 default is the conservative midpoint; projects that characterise their own MQL system should override via XML. OffConvectionCoefficient_Wdm2K Gets or sets the convection coefficient when coolant is off (ambient air / forced blow-off), in Watts per square meter per Kelvin. public double OffConvectionCoefficient_Wdm2K { get; set; } Property Value double Remarks Natural convection in still air is ~5–25 W/(m²·K); forced air (shop blow-off / chip conveyor draft) falls in 10–500 W/(m²·K). Default 50 W/(m²·K) represents a mild forced-air environment typical of a running machine enclosure. XName Name for XML IO. public static string XName { get; } Property Value string Methods GetEffectiveConvectionCoefficient_Wdm2K(CoolantMode) Gets the effective convection coefficient for the given coolant mode in Watts per square meter per Kelvin. Flood: CoolantConvectionCoefficient_Wdm2K Mist: CoolantConvectionCoefficient_Wdm2K × MistFloodConvectionRatio Off / UnDefined: OffConvectionCoefficient_Wdm2K public double GetEffectiveConvectionCoefficient_Wdm2K(CoolantMode mode) Parameters mode CoolantMode Returns double GetEffectiveConvectionCoefficient_Wdmm2K(CoolantMode) Mode-dependent convection coefficient in Watts per square millimetre per Kelvin (direct input to the FEM layer). See GetEffectiveConvectionCoefficient_Wdm2K(CoolantMode). public double GetEffectiveConvectionCoefficient_Wdmm2K(CoolantMode mode) Parameters mode CoolantMode Returns double MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class CoolantHeatCondition Namespace Hi.Physics Assembly HiMech.dll Represents the heat condition parameters for coolant in machining operations. Provides effective convection-coefficient lookups keyed by CoolantMode — Flood uses the configured baseline CoolantConvectionCoefficient_Wdm2K; Mist scales it by MistFloodConvectionRatio; Off falls back to OffConvectionCoefficient_Wdm2K (natural/forced air). public class CoolantHeatCondition : IMakeXmlSource Inheritance object CoolantHeatCondition 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 CoolantHeatCondition() Initializes a new instance of the CoolantHeatCondition class. public CoolantHeatCondition() CoolantHeatCondition(XElement) Initializes a new instance of the CoolantHeatCondition class from XML data. public CoolantHeatCondition(XElement src) Parameters src XElement The XML element containing coolant heat condition data. Properties CoolantConvectionCoefficient_Wdm2K Gets or sets the coolant heat transfer coefficient (flood baseline) in Watts per square meter per Kelvin. public double CoolantConvectionCoefficient_Wdm2K { get; set; } Property Value double Remarks Common value: forced air: 10~500; coolant: 1e3~1e4 (ref by “Effects of coolant on temperature distribution in metal machining”, 1988) coolant: 1e3 (ref by “Modeling heat transfer in die milling”, 2014) CoolantConvectionCoefficient_Wdmm2K Gets or sets the coolant heat transfer coefficient (flood baseline) in Watts per square millimeter per Kelvin. public double CoolantConvectionCoefficient_Wdmm2K { get; set; } Property Value double CoolantTemperature_C Gets or sets the coolant temperature in Celsius. public double CoolantTemperature_C { get; set; } Property Value double CoolantTemperature_K Gets or sets the coolant temperature in Kelvin. public double CoolantTemperature_K { get; set; } Property Value double MistFloodConvectionRatio Convection-coefficient ratio of mist coolant (MQL) relative to flood coolant. Applied multiplicatively to CoolantConvectionCoefficient_Wdm2K when the current CoolantMode is Mist. public double MistFloodConvectionRatio { get; set; } Property Value double Remarks Default 0.5. Industry handbooks place MQL at roughly half the heat removal of flood coolant — UNIST MQL Handbook: “actual heat removal is generally about half of that removed by a flood coolant”. Empirical milling / turning measurements on AISI 1045 steel give ΔT_flood ≈ 230 °C vs ΔT_mist ≈ 170 °C relative to dry (Mist ≈ 0.74 of flood), while tool-life / surface-finish studies on aluminium and titanium range 0.4–0.8. The single-number 0.5 default is the conservative midpoint; projects that characterise their own MQL system should override via XML. OffConvectionCoefficient_Wdm2K Gets or sets the convection coefficient when coolant is off (ambient air / forced blow-off), in Watts per square meter per Kelvin. public double OffConvectionCoefficient_Wdm2K { get; set; } Property Value double Remarks Natural convection in still air is ~5–25 W/(m²·K); forced air (shop blow-off / chip conveyor draft) falls in 10–500 W/(m²·K). Default 50 W/(m²·K) represents a mild forced-air environment typical of a running machine enclosure. XName Name for XML IO. public static string XName { get; } Property Value string Methods GetEffectiveConvectionCoefficient_Wdm2K(CoolantMode) Gets the effective convection coefficient for the given coolant mode in Watts per square meter per Kelvin. Flood: CoolantConvectionCoefficient_Wdm2K Mist: CoolantConvectionCoefficient_Wdm2K × MistFloodConvectionRatio Off / UnDefined: OffConvectionCoefficient_Wdm2K public double GetEffectiveConvectionCoefficient_Wdm2K(CoolantMode mode) Parameters mode CoolantMode Returns double GetEffectiveConvectionCoefficient_Wdmm2K(CoolantMode) Mode-dependent convection coefficient in Watts per square millimetre per Kelvin (direct input to the FEM layer). See GetEffectiveConvectionCoefficient_Wdm2K(CoolantMode). public double GetEffectiveConvectionCoefficient_Wdmm2K(CoolantMode mode) Parameters mode CoolantMode Returns double 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Physics.CutterMaterial.html": { "href": "api/Hi.Physics.CutterMaterial.html", "title": "Class CutterMaterial | HiAPI-C# 2025", - "summary": "Class CutterMaterial Namespace Hi.Physics Assembly HiMech.dll Represents a cutter material with physical and thermal properties. public class CutterMaterial : ISurfaceMaterial, IStructureMaterial, IMakeXmlSource, IDuplicate, INameNote, IToXElement Inheritance object CutterMaterial Implements ISurfaceMaterial IStructureMaterial IMakeXmlSource IDuplicate INameNote IToXElement Derived CoatingMaterial 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 CutterMaterial() Default constructor. public CutterMaterial() CutterMaterial(CutterMaterial) Creates a new cutter material as a copy of an existing one. public CutterMaterial(CutterMaterial src) Parameters src CutterMaterial The source material to copy from. CutterMaterial(XElement) Ctor. public CutterMaterial(XElement src) Parameters src XElement XML Properties Density_gdcm3 Gets or sets the density in grams per cubic centimeter. public double Density_gdcm3 { get; set; } Property Value double Density_gdm3 Density in g/dm³. public double Density_gdm3 { get; set; } Property Value double Density_gdmm3 Density in g/mm³. public double Density_gdmm3 { get; set; } Property Value double ElasticModulus_GPa Gets or sets the elastic modulus in gigapascals. public double ElasticModulus_GPa { get; set; } Property Value double FrictionCoefficient Gets or sets the friction coefficient of the surface material. public double FrictionCoefficient { get; set; } Property Value double FusionLatentHeat_Jdg Latent Heat of Fusion. public double FusionLatentHeat_Jdg { get; set; } Property Value double HeatCapacity_JdgK Gets or sets the heat capacity in Joules per gram-Kelvin. public double HeatCapacity_JdgK { get; set; } Property Value double HeatConductivity_WdmK Gets or sets the heat transfer coefficient in Watts per meter-Kelvin. public double HeatConductivity_WdmK { get; set; } Property Value double HeatConductivity_WdmmK Heat transfer coefficient in W/(mm·K). public double HeatConductivity_WdmmK { get; set; } Property Value double MeltingTemperature_K public double MeltingTemperature_K { get; set; } Property Value double Name Gets or sets the name of the object. public string Name { get; set; } Property Value string Note Gets or sets the descriptive note for the object. public string Note { get; set; } Property Value string PoissonRatio public double PoissonRatio { get; set; } Property Value double TemperatureVsHardnessCurve Temperature versus hardness curve data. public List TemperatureVsHardnessCurve { get; set; } Property Value List TemperatureVsWearCoefficientCurve Temperature(K) vs WearCoefficient. Unit of WearCoefficient: 1e-6 (non-unit). public List TemperatureVsWearCoefficientCurve { get; set; } Property Value List TensileStrength_MPa public double TensileStrength_MPa { get; set; } Property Value double ThermalExpansionCoefficient_dMK public double ThermalExpansionCoefficient_dMK { get; set; } Property Value double WC General condition of WC (Tungsten Carbide). public static CutterMaterial WC { get; } Property Value CutterMaterial WC_Co6_800nm WC-Co6 with 800nm grain size properties. public static CutterMaterial WC_Co6_800nm { get; } Property Value CutterMaterial XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToXElement() Get the XElement to represent the object. public virtual XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class CutterMaterial Namespace Hi.Physics Assembly HiMech.dll Represents a cutter material with physical and thermal properties. public class CutterMaterial : ISurfaceMaterial, IStructureMaterial, IMakeXmlSource, IDuplicate, INameNote, IToXElement Inheritance object CutterMaterial Implements ISurfaceMaterial IStructureMaterial IMakeXmlSource IDuplicate INameNote IToXElement Derived CoatingMaterial 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 CutterMaterial() Default constructor. public CutterMaterial() CutterMaterial(CutterMaterial) Creates a new cutter material as a copy of an existing one. public CutterMaterial(CutterMaterial src) Parameters src CutterMaterial The source material to copy from. CutterMaterial(XElement) Ctor. public CutterMaterial(XElement src) Parameters src XElement XML Properties Density_gdcm3 Gets or sets the density in grams per cubic centimeter. public double Density_gdcm3 { get; set; } Property Value double Density_gdm3 Density in g/dm³. public double Density_gdm3 { get; set; } Property Value double Density_gdmm3 Density in g/mm³. public double Density_gdmm3 { get; set; } Property Value double ElasticModulus_GPa Gets or sets the elastic modulus in gigapascals. public double ElasticModulus_GPa { get; set; } Property Value double FrictionCoefficient Gets or sets the friction coefficient of the surface material. public double FrictionCoefficient { get; set; } Property Value double FusionLatentHeat_Jdg Latent Heat of Fusion. public double FusionLatentHeat_Jdg { get; set; } Property Value double HeatCapacity_JdgK Gets or sets the heat capacity in Joules per gram-Kelvin. public double HeatCapacity_JdgK { get; set; } Property Value double HeatConductivity_WdmK Gets or sets the heat transfer coefficient in Watts per meter-Kelvin. public double HeatConductivity_WdmK { get; set; } Property Value double HeatConductivity_WdmmK Heat transfer coefficient in W/(mm·K). public double HeatConductivity_WdmmK { get; set; } Property Value double MeltingTemperature_K public double MeltingTemperature_K { get; set; } Property Value double Name Gets or sets the name of the object. public string Name { get; set; } Property Value string Note Gets or sets the descriptive note for the object. public string Note { get; set; } Property Value string PoissonRatio public double PoissonRatio { get; set; } Property Value double TemperatureVsHardnessCurve Temperature versus hardness curve data. public List TemperatureVsHardnessCurve { get; set; } Property Value List TemperatureVsWearCoefficientCurve Temperature(K) vs WearCoefficient. Unit of WearCoefficient: 1e-6 (non-unit). public List TemperatureVsWearCoefficientCurve { get; set; } Property Value List TensileStrength_MPa public double TensileStrength_MPa { get; set; } Property Value double ThermalExpansionCoefficient_dMK public double ThermalExpansionCoefficient_dMK { get; set; } Property Value double WC General condition of WC (Tungsten Carbide). public static CutterMaterial WC { get; } Property Value CutterMaterial WC_Co6_800nm WC-Co6 with 800nm grain size properties. public static CutterMaterial WC_Co6_800nm { get; } Property Value CutterMaterial XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public virtual XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.Physics.IGetThermalLayerList.html": { "href": "api/Hi.Physics.IGetThermalLayerList.html", @@ -5917,7 +5917,7 @@ "api/Hi.Physics.StructureMaterial.html": { "href": "api/Hi.Physics.StructureMaterial.html", "title": "Class StructureMaterial | HiAPI-C# 2025", - "summary": "Class StructureMaterial Namespace Hi.Physics Assembly HiMech.dll Represents a material with physical and thermal properties used in structural analysis. public class StructureMaterial : IStructureMaterial, IMakeXmlSource, IDuplicate, INameNote, IToXElement Inheritance object StructureMaterial Implements IStructureMaterial IMakeXmlSource IDuplicate INameNote IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors StructureMaterial() Default constructor. public StructureMaterial() StructureMaterial(StructureMaterial) Creates a new cutter material as a copy of an existing one. public StructureMaterial(StructureMaterial src) Parameters src StructureMaterial The source material to copy from. StructureMaterial(XElement) Ctor. public StructureMaterial(XElement src) Parameters src XElement XML Properties AlloySteel42CrMo Gets a predefined 42CrMo alloy steel material commonly used for milling cutter bodies. public static StructureMaterial AlloySteel42CrMo { get; } Property Value StructureMaterial Density_gdcm3 Gets or sets the density in grams per cubic centimeter. public double Density_gdcm3 { get; set; } Property Value double Density_gdm3 Density in g/dm³. public double Density_gdm3 { get; set; } Property Value double Density_gdmm3 Density in g/mm³. public double Density_gdmm3 { get; set; } Property Value double ElasticModulus_GPa Gets or sets the elastic modulus in gigapascals. public double ElasticModulus_GPa { get; set; } Property Value double HeatCapacity_JdgK Gets or sets the heat capacity in Joules per gram-Kelvin. public double HeatCapacity_JdgK { get; set; } Property Value double HeatConductivity_WdmK Gets or sets the heat transfer coefficient in Watts per meter-Kelvin. public double HeatConductivity_WdmK { get; set; } Property Value double HeatConductivity_WdmmK Heat transfer coefficient in W/(mm·K). public double HeatConductivity_WdmmK { get; set; } Property Value double Name Gets or sets the name of the object. public string Name { get; set; } Property Value string Note Gets or sets the descriptive note for the object. public string Note { get; set; } Property Value string PoissonRatio public double PoissonRatio { get; set; } Property Value double TensileStrength_MPa public double TensileStrength_MPa { get; set; } Property Value double ThermalExpansionCoefficient_dMK public double ThermalExpansionCoefficient_dMK { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." + "summary": "Class StructureMaterial Namespace Hi.Physics Assembly HiMech.dll Represents a material with physical and thermal properties used in structural analysis. public class StructureMaterial : IStructureMaterial, IMakeXmlSource, IDuplicate, INameNote, IToXElement Inheritance object StructureMaterial Implements IStructureMaterial IMakeXmlSource IDuplicate INameNote IToXElement Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors StructureMaterial() Default constructor. public StructureMaterial() StructureMaterial(StructureMaterial) Creates a new cutter material as a copy of an existing one. public StructureMaterial(StructureMaterial src) Parameters src StructureMaterial The source material to copy from. StructureMaterial(XElement) Ctor. public StructureMaterial(XElement src) Parameters src XElement XML Properties AlloySteel42CrMo Gets a predefined 42CrMo alloy steel material commonly used for milling cutter bodies. public static StructureMaterial AlloySteel42CrMo { get; } Property Value StructureMaterial Density_gdcm3 Gets or sets the density in grams per cubic centimeter. public double Density_gdcm3 { get; set; } Property Value double Density_gdm3 Density in g/dm³. public double Density_gdm3 { get; set; } Property Value double Density_gdmm3 Density in g/mm³. public double Density_gdmm3 { get; set; } Property Value double ElasticModulus_GPa Gets or sets the elastic modulus in gigapascals. public double ElasticModulus_GPa { get; set; } Property Value double HeatCapacity_JdgK Gets or sets the heat capacity in Joules per gram-Kelvin. public double HeatCapacity_JdgK { get; set; } Property Value double HeatConductivity_WdmK Gets or sets the heat transfer coefficient in Watts per meter-Kelvin. public double HeatConductivity_WdmK { get; set; } Property Value double HeatConductivity_WdmmK Heat transfer coefficient in W/(mm·K). public double HeatConductivity_WdmmK { get; set; } Property Value double Name Gets or sets the name of the object. public string Name { get; set; } Property Value string Note Gets or sets the descriptive note for the object. public string Note { get; set; } Property Value string PoissonRatio public double PoissonRatio { get; set; } Property Value double TensileStrength_MPa public double TensileStrength_MPa { get; set; } Property Value double ThermalExpansionCoefficient_dMK public double ThermalExpansionCoefficient_dMK { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public virtual 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() Get the XElement to represent the object. public XElement ToXElement() Returns XElement XElement to represent the object." }, "api/Hi.Physics.TemperatureUtil.html": { "href": "api/Hi.Physics.TemperatureUtil.html", @@ -5932,7 +5932,7 @@ "api/Hi.Physics.ThermalLayer1D.html": { "href": "api/Hi.Physics.ThermalLayer1D.html", "title": "Class ThermalLayer1D | HiAPI-C# 2025", - "summary": "Class ThermalLayer1D Namespace Hi.Physics Assembly HiMech.dll Represents a one-dimensional thermal layer for heat transfer calculations. public class ThermalLayer1D : IMakeXmlSource Inheritance object ThermalLayer1D 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 ThermalLayer1D() Initializes a new instance of the ThermalLayer1D class. public ThermalLayer1D() ThermalLayer1D(IStructureMaterial, double) Initializes a new instance of the ThermalLayer1D class with the specified material and length. public ThermalLayer1D(IStructureMaterial material, double length_mm) Parameters material IStructureMaterial The thermal material of this layer. length_mm double The length of this layer in millimeters. ThermalLayer1D(ThermalLayer1D) Initializes a new instance of the ThermalLayer1D class by copying from another instance. public ThermalLayer1D(ThermalLayer1D src) Parameters src ThermalLayer1D The source thermal layer to copy from. ThermalLayer1D(XElement, string, string, IProgress) Initializes a new instance of the ThermalLayer1D class from XML data. public ThermalLayer1D(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement The XML element containing thermal layer data. baseDirectory string The base directory for resolving relative paths. relFile string The relative file path. progress IProgress Progress reporter for nested material XML loading. Properties Length_mm Gets or sets the length of this thermal layer in millimeters. public double Length_mm { get; set; } Property Value double Length_um Gets or sets the length of this thermal layer in micrometers. public double Length_um { get; set; } Property Value double Material Gets or sets the thermal material of this layer. public IStructureMaterial Material { get; set; } Property Value IStructureMaterial XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class ThermalLayer1D Namespace Hi.Physics Assembly HiMech.dll Represents a one-dimensional thermal layer for heat transfer calculations. public class ThermalLayer1D : IMakeXmlSource Inheritance object ThermalLayer1D 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 ThermalLayer1D() Initializes a new instance of the ThermalLayer1D class. public ThermalLayer1D() ThermalLayer1D(IStructureMaterial, double) Initializes a new instance of the ThermalLayer1D class with the specified material and length. public ThermalLayer1D(IStructureMaterial material, double length_mm) Parameters material IStructureMaterial The thermal material of this layer. length_mm double The length of this layer in millimeters. ThermalLayer1D(ThermalLayer1D) Initializes a new instance of the ThermalLayer1D class by copying from another instance. public ThermalLayer1D(ThermalLayer1D src) Parameters src ThermalLayer1D The source thermal layer to copy from. ThermalLayer1D(XElement, string, string, IProgress) Initializes a new instance of the ThermalLayer1D class from XML data. public ThermalLayer1D(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement The XML element containing thermal layer data. baseDirectory string The base directory for resolving relative paths. relFile string The relative file path. progress IProgress Progress reporter for nested material XML loading. Properties Length_mm Gets or sets the length of this thermal layer in millimeters. public double Length_mm { get; set; } Property Value double Length_um Gets or sets the length of this thermal layer in micrometers. public double Length_um { get; set; } Property Value double Material Gets or sets the thermal material of this layer. public IStructureMaterial Material { get; set; } Property Value IStructureMaterial 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Physics.TimeSeriesUtil.html": { "href": "api/Hi.Physics.TimeSeriesUtil.html", @@ -5947,7 +5947,7 @@ "api/Hi.Physics.WorkpieceMaterial.html": { "href": "api/Hi.Physics.WorkpieceMaterial.html", "title": "Class WorkpieceMaterial | HiAPI-C# 2025", - "summary": "Class WorkpieceMaterial Namespace Hi.Physics Assembly HiMech.dll Represents the physical and mechanical properties of a workpiece material. public class WorkpieceMaterial : IPreferredFileName, IStructureMaterial, IMakeXmlSource, IDuplicate, INameNote Inheritance object WorkpieceMaterial Implements IPreferredFileName IStructureMaterial IMakeXmlSource IDuplicate INameNote Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors WorkpieceMaterial() Ctor. public WorkpieceMaterial() WorkpieceMaterial(XElement, string) Ctor. public WorkpieceMaterial(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths Properties Al6061T6 General condition of Al6061T6. public static WorkpieceMaterial Al6061T6 { get; } Property Value WorkpieceMaterial CompressiveYieldStrength_MPa Gets or sets the compressive yield strength in megapascals (MPa). public double CompressiveYieldStrength_MPa { get; set; } Property Value double Density_gdcm3 Gets or sets the density in grams per cubic centimeter (g/cm³). public double Density_gdcm3 { get; set; } Property Value double Density_gdm3 Gets or sets the density in grams per cubic decimeter (g/dm³). public double Density_gdm3 { get; set; } Property Value double Density_gdmm3 Gets or sets the density in grams per cubic millimeter (g/mm³). public double Density_gdmm3 { get; set; } Property Value double ElasticModulus_GPa Gets or sets the elastic modulus in gigapascals (GPa). public double ElasticModulus_GPa { get; set; } Property Value double ElogationRaioAtBreak Gets or sets the elongation ratio at break point. public double ElogationRaioAtBreak { get; set; } Property Value double FusionLatentHeat_Jdg Gets or sets the latent heat of fusion in joules per gram (J/g). public double FusionLatentHeat_Jdg { get; set; } Property Value double HeatCapacity_JdgK Gets or sets the specific heat capacity in joules per gram per Kelvin (J/g·K). public double HeatCapacity_JdgK { get; set; } Property Value double HeatConductivity_WdmK Gets or sets the heat transfer coefficient in watts per decimeter per Kelvin (W/dm·K). public double HeatConductivity_WdmK { get; set; } Property Value double HeatConductivity_WdmmK Gets or sets the heat conductivity in watts per millimeter per Kelvin (W/mm·K). This is a conversion of HeatConductivity_WdmK with a factor of 1/1000. public double HeatConductivity_WdmmK { get; set; } Property Value double MeltingTemperature_C Gets or sets the melting temperature in Celsius (°C). public double MeltingTemperature_C { get; set; } Property Value double MeltingTemperature_K Gets or sets the melting temperature in Kelvin (K). public double MeltingTemperature_K { get; set; } Property Value double Name Gets or sets the name of the material. public string Name { get; set; } Property Value string Note Gets or sets additional notes about the material. public string Note { get; set; } Property Value string PoissonRatio Gets or sets the Poisson's ratio of the material. public double PoissonRatio { get; set; } Property Value double PreferredFileName Gets or sets the preferred file name for this object when generating or saving files. public string PreferredFileName { get; set; } Property Value string TensileYieldStrength_MPa Gets or sets the tensile yield strength in megapascals (MPa). public double TensileYieldStrength_MPa { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class WorkpieceMaterial Namespace Hi.Physics Assembly HiMech.dll Represents the physical and mechanical properties of a workpiece material. public class WorkpieceMaterial : IPreferredFileName, IStructureMaterial, IMakeXmlSource, IDuplicate, INameNote Inheritance object WorkpieceMaterial Implements IPreferredFileName IStructureMaterial IMakeXmlSource IDuplicate INameNote Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors WorkpieceMaterial() Ctor. public WorkpieceMaterial() WorkpieceMaterial(XElement, string) Ctor. public WorkpieceMaterial(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory path for resolving relative paths Properties Al6061T6 General condition of Al6061T6. public static WorkpieceMaterial Al6061T6 { get; } Property Value WorkpieceMaterial CompressiveYieldStrength_MPa Gets or sets the compressive yield strength in megapascals (MPa). public double CompressiveYieldStrength_MPa { get; set; } Property Value double Density_gdcm3 Gets or sets the density in grams per cubic centimeter (g/cm³). public double Density_gdcm3 { get; set; } Property Value double Density_gdm3 Gets or sets the density in grams per cubic decimeter (g/dm³). public double Density_gdm3 { get; set; } Property Value double Density_gdmm3 Gets or sets the density in grams per cubic millimeter (g/mm³). public double Density_gdmm3 { get; set; } Property Value double ElasticModulus_GPa Gets or sets the elastic modulus in gigapascals (GPa). public double ElasticModulus_GPa { get; set; } Property Value double ElogationRaioAtBreak Gets or sets the elongation ratio at break point. public double ElogationRaioAtBreak { get; set; } Property Value double FusionLatentHeat_Jdg Gets or sets the latent heat of fusion in joules per gram (J/g). public double FusionLatentHeat_Jdg { get; set; } Property Value double HeatCapacity_JdgK Gets or sets the specific heat capacity in joules per gram per Kelvin (J/g·K). public double HeatCapacity_JdgK { get; set; } Property Value double HeatConductivity_WdmK Gets or sets the heat transfer coefficient in watts per decimeter per Kelvin (W/dm·K). public double HeatConductivity_WdmK { get; set; } Property Value double HeatConductivity_WdmmK Gets or sets the heat conductivity in watts per millimeter per Kelvin (W/mm·K). This is a conversion of HeatConductivity_WdmK with a factor of 1/1000. public double HeatConductivity_WdmmK { get; set; } Property Value double MeltingTemperature_C Gets or sets the melting temperature in Celsius (°C). public double MeltingTemperature_C { get; set; } Property Value double MeltingTemperature_K Gets or sets the melting temperature in Kelvin (K). public double MeltingTemperature_K { get; set; } Property Value double Name Gets or sets the name of the material. public string Name { get; set; } Property Value string Note Gets or sets additional notes about the material. public string Note { get; set; } Property Value string PoissonRatio Gets or sets the Poisson's ratio of the material. public double PoissonRatio { get; set; } Property Value double PreferredFileName Gets or sets the preferred file name for this object when generating or saving files. public string PreferredFileName { get; set; } Property Value string TensileYieldStrength_MPa Gets or sets the tensile yield strength in megapascals (MPa). public double TensileYieldStrength_MPa { get; set; } Property Value double XName Name for XML IO. public static string XName { get; } Property Value string Methods Duplicate(params object[]) Creates a deep copy of the object, excluding any source file references. public object Duplicate(params object[] res) Parameters res object[] Optional parameters that may be needed during the duplication process Returns object A new instance that is a deep copy of the original object MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/Hi.Physics.html": { "href": "api/Hi.Physics.html", @@ -5957,12 +5957,12 @@ "api/Hi.SessionCommands.EnablingWrapper.html": { "href": "api/Hi.SessionCommands.EnablingWrapper.html", "title": "Class EnablingWrapper | HiAPI-C# 2025", - "summary": "Class EnablingWrapper Namespace Hi.SessionCommands Assembly HiNc.dll Wrapper for session commands that provides enable/disable functionality. public class EnablingWrapper : ISessionCommand, IMakeXmlSource Inheritance object EnablingWrapper Implements ISessionCommand 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 EnablingWrapper() Ctor. public EnablingWrapper() EnablingWrapper(ISessionCommand) Initializes a new instance of the EnablingWrapper class with the specified command. public EnablingWrapper(ISessionCommand command) Parameters command ISessionCommand The command to wrap. EnablingWrapper(XElement, string, string, IProgress, object[]) Ctor. public EnablingWrapper(XElement src, string baseDirectory, string relFile, IProgress progress, object[] res) Parameters src XElement XML baseDirectory string Base directory for relative paths relFile string Relative file path progress IProgress Progress reporter for nested command XML. res object[] Additional resources Properties Command Gets or sets the wrapped session command. public ISessionCommand Command { get; set; } Property Value ISessionCommand IsEnabled Gets or sets whether the wrapped command is enabled. public bool IsEnabled { 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. Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." + "summary": "Class EnablingWrapper Namespace Hi.SessionCommands Assembly HiNc.dll Wrapper for session commands that provides enable/disable functionality. public class EnablingWrapper : ISessionCommand, IMakeXmlSource Inheritance object EnablingWrapper Implements ISessionCommand 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 EnablingWrapper() Ctor. public EnablingWrapper() EnablingWrapper(ISessionCommand) Initializes a new instance of the EnablingWrapper class with the specified command. public EnablingWrapper(ISessionCommand command) Parameters command ISessionCommand The command to wrap. EnablingWrapper(XElement, string, string, IProgress, object[]) Ctor. public EnablingWrapper(XElement src, string baseDirectory, string relFile, IProgress progress, object[] res) Parameters src XElement XML baseDirectory string Base directory for relative paths relFile string Relative file path progress IProgress Progress reporter for nested command XML. res object[] Additional resources Properties Command Gets or sets the wrapped session command. public ISessionCommand Command { get; set; } Property Value ISessionCommand IsEnabled Gets or sets whether the wrapped command is enabled. public bool IsEnabled { 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." }, "api/Hi.SessionCommands.GeomDiffCommand.html": { "href": "api/Hi.SessionCommands.GeomDiffCommand.html", "title": "Class GeomDiffCommand | HiAPI-C# 2025", - "summary": "Class GeomDiffCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for calculating geometric differences between workpieces. public class GeomDiffCommand : ISessionCommand, IMakeXmlSource Inheritance object GeomDiffCommand Implements ISessionCommand 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 GeomDiffCommand() Default constructor. public GeomDiffCommand() GeomDiffCommand(XElement, string) Ctor. public GeomDiffCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for relative paths. Fields ConstDisplayName Display name constant for this command. public const string ConstDisplayName = \"Geometry Difference\" Field Value string Properties DetectRadius_mm Detection radius in millimeters. public double DetectRadius_mm { get; set; } Property Value double 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. Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." + "summary": "Class GeomDiffCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for calculating geometric differences between workpieces. public class GeomDiffCommand : ISessionCommand, IMakeXmlSource Inheritance object GeomDiffCommand Implements ISessionCommand 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 GeomDiffCommand() Default constructor. public GeomDiffCommand() GeomDiffCommand(XElement, string) Ctor. public GeomDiffCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for relative paths. Fields ConstDisplayName Display name constant for this command. public const string ConstDisplayName = \"Geometry Difference\" Field Value string Properties DetectRadius_mm Detection radius in millimeters. public double DetectRadius_mm { get; set; } Property Value double 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." }, "api/Hi.SessionCommands.ISessionCommand.html": { "href": "api/Hi.SessionCommands.ISessionCommand.html", @@ -5982,47 +5982,47 @@ "api/Hi.SessionCommands.ListCommand.html": { "href": "api/Hi.SessionCommands.ListCommand.html", "title": "Class ListCommand | HiAPI-C# 2025", - "summary": "Class ListCommand Namespace Hi.SessionCommands Assembly HiNc.dll A command that contains and executes a list of other commands. public class ListCommand : ITitleCommand, ISessionCommand, IMakeXmlSource Inheritance object ListCommand Implements ITitleCommand ISessionCommand 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 ListCommand() Default constructor. public ListCommand() ListCommand(XElement, string, string, IProgress, object[]) Ctor. public ListCommand(XElement src, string baseDirectory, string relFile, IProgress progress, object[] res) Parameters src XElement XML baseDirectory string Base directory for relative paths. relFile string Relative file path. progress IProgress Progress reporter for nested command XML. res object[] Additional resources Properties CommandEntryList Command List. The item in list is null capable. public List CommandEntryList { get; set; } Property Value List XName Name for XML IO. public static string XName { get; } Property Value string Methods GetCommandTitle() Gets the title of the command. public string GetCommandTitle() Returns string The command title. 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. Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." + "summary": "Class ListCommand Namespace Hi.SessionCommands Assembly HiNc.dll A command that contains and executes a list of other commands. public class ListCommand : ITitleCommand, ISessionCommand, IMakeXmlSource Inheritance object ListCommand Implements ITitleCommand ISessionCommand 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 ListCommand() Default constructor. public ListCommand() ListCommand(XElement, string, string, IProgress, object[]) Ctor. public ListCommand(XElement src, string baseDirectory, string relFile, IProgress progress, object[] res) Parameters src XElement XML baseDirectory string Base directory for relative paths. relFile string Relative file path. progress IProgress Progress reporter for nested command XML. res object[] Additional resources Properties CommandEntryList Command List. The item in list is null capable. public List CommandEntryList { get; set; } Property Value List XName Name for XML IO. public static string XName { get; } Property Value string Methods GetCommandTitle() Gets the title of the command. public string GetCommandTitle() Returns string The command title. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null), and chains Reg(factory) on dependents so the registration graph is observable. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." }, "api/Hi.SessionCommands.MachiningMotionResolutionCommand.html": { "href": "api/Hi.SessionCommands.MachiningMotionResolutionCommand.html", "title": "Class MachiningMotionResolutionCommand | HiAPI-C# 2025", - "summary": "Class MachiningMotionResolutionCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for setting machining motion resolution for the milling process. public class MachiningMotionResolutionCommand : ISessionCommand, IMakeXmlSource Inheritance object MachiningMotionResolutionCommand Implements ISessionCommand 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 MachiningMotionResolutionCommand() Ctor. public MachiningMotionResolutionCommand() MachiningMotionResolutionCommand(XElement, string, string, IProgress) Ctor. public MachiningMotionResolutionCommand(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths relFile string Relative file path progress IProgress Progress reporter for nested resolution XML. Properties MachiningMotionResolution Main content. Machining Cycle Resolution. public IMachiningMotionResolution MachiningMotionResolution { get; set; } Property Value IMachiningMotionResolution 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. Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." + "summary": "Class MachiningMotionResolutionCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for setting machining motion resolution for the milling process. public class MachiningMotionResolutionCommand : ISessionCommand, IMakeXmlSource Inheritance object MachiningMotionResolutionCommand Implements ISessionCommand 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 MachiningMotionResolutionCommand() Ctor. public MachiningMotionResolutionCommand() MachiningMotionResolutionCommand(XElement, string, string, IProgress) Ctor. public MachiningMotionResolutionCommand(XElement src, string baseDirectory, string relFile, IProgress progress) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths relFile string Relative file path progress IProgress Progress reporter for nested resolution XML. Properties MachiningMotionResolution Main content. Machining Cycle Resolution. public IMachiningMotionResolution MachiningMotionResolution { get; set; } Property Value IMachiningMotionResolution 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null), and chains Reg(factory) on dependents so the registration graph is observable. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." }, "api/Hi.SessionCommands.NcCodeCommand.html": { "href": "api/Hi.SessionCommands.NcCodeCommand.html", "title": "Class NcCodeCommand | HiAPI-C# 2025", - "summary": "Class NcCodeCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for executing NC code directly. public class NcCodeCommand : ITitleCommand, ISessionCommand, IMakeXmlSource Inheritance object NcCodeCommand Implements ITitleCommand ISessionCommand 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 NcCodeCommand() Ctor. public NcCodeCommand() NcCodeCommand(string) Initializes a new instance of the NcCodeCommand class with the specified NC text. public NcCodeCommand(string nc) Parameters nc string The NC code text. NcCodeCommand(XElement, string) Ctor. public NcCodeCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths Properties NcText The NC code text content. public string NcText { get; set; } Property Value string Title Title. Alternative file name for the NC code file. public string Title { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods GetCommandTitle() Gets the title of the command. public string GetCommandTitle() Returns string The command title. 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. Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." + "summary": "Class NcCodeCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for executing NC code directly. public class NcCodeCommand : ITitleCommand, ISessionCommand, IMakeXmlSource Inheritance object NcCodeCommand Implements ITitleCommand ISessionCommand 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 NcCodeCommand() Ctor. public NcCodeCommand() NcCodeCommand(string) Initializes a new instance of the NcCodeCommand class with the specified NC text. public NcCodeCommand(string nc) Parameters nc string The NC code text. NcCodeCommand(XElement, string) Ctor. public NcCodeCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths Properties NcText The NC code text content. public string NcText { get; set; } Property Value string Title Title. Alternative file name for the NC code file. public string Title { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods GetCommandTitle() Gets the title of the command. public string GetCommandTitle() Returns string The command title. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." }, "api/Hi.SessionCommands.NcFileCommand.html": { "href": "api/Hi.SessionCommands.NcFileCommand.html", "title": "Class NcFileCommand | HiAPI-C# 2025", - "summary": "Class NcFileCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for executing NC code from a file. public class NcFileCommand : ITitleCommand, ISessionCommand, IMakeXmlSource Inheritance object NcFileCommand Implements ITitleCommand ISessionCommand 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 NcFileCommand() Default constructor. public NcFileCommand() NcFileCommand(string) Initializes a new instance of the NcFileCommand class with the specified NC file path. public NcFileCommand(string ncFile) Parameters ncFile string The NC file path. NcFileCommand(XElement, string) Ctor. public NcFileCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths Properties NcFile Path to the NC file. public string NcFile { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods GetCommandTitle() Gets the title of the command. public string GetCommandTitle() Returns string The command title. 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. Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." + "summary": "Class NcFileCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for executing NC code from a file. public class NcFileCommand : ITitleCommand, ISessionCommand, IMakeXmlSource Inheritance object NcFileCommand Implements ITitleCommand ISessionCommand 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 NcFileCommand() Default constructor. public NcFileCommand() NcFileCommand(string) Initializes a new instance of the NcFileCommand class with the specified NC file path. public NcFileCommand(string ncFile) Parameters ncFile string The NC file path. NcFileCommand(XElement, string) Ctor. public NcFileCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths Properties NcFile Path to the NC file. public string NcFile { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods GetCommandTitle() Gets the title of the command. public string GetCommandTitle() Returns string The command title. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." }, "api/Hi.SessionCommands.NcFileListCommand.html": { "href": "api/Hi.SessionCommands.NcFileListCommand.html", "title": "Class NcFileListCommand | HiAPI-C# 2025", - "summary": "Class NcFileListCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for executing multiple NC files sequentially. public class NcFileListCommand : ISessionCommand, IMakeXmlSource Inheritance object NcFileListCommand Implements ISessionCommand 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 NcFileListCommand() Default constructor. public NcFileListCommand() NcFileListCommand(XElement, string) Ctor. public NcFileListCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths Properties NcFileList List of NC files to execute. public List NcFileList { get; set; } Property Value List 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. Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." + "summary": "Class NcFileListCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for executing multiple NC files sequentially. public class NcFileListCommand : ISessionCommand, IMakeXmlSource Inheritance object NcFileListCommand Implements ISessionCommand 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 NcFileListCommand() Default constructor. public NcFileListCommand() NcFileListCommand(XElement, string) Ctor. public NcFileListCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths Properties NcFileList List of NC files to execute. public List NcFileList { get; set; } Property Value List 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." }, "api/Hi.SessionCommands.NcOptOptionCommand.html": { "href": "api/Hi.SessionCommands.NcOptOptionCommand.html", "title": "Class NcOptOptionCommand | HiAPI-C# 2025", - "summary": "Class NcOptOptionCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for NC optimization options. public class NcOptOptionCommand : ITitleCommand, ISessionCommand, IMakeXmlSource Inheritance object NcOptOptionCommand Implements ITitleCommand ISessionCommand 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 NcOptOptionCommand() Ctor. public NcOptOptionCommand() NcOptOptionCommand(XElement, string, string, IProgress, object[]) Ctor. public NcOptOptionCommand(XElement src, string baseDirectory, string relFile, IProgress progress, object[] res) Parameters src XElement XML baseDirectory string Base directory for relative paths relFile string Relative file path progress IProgress Progress reporter for nested option XML. res object[] Additional resources Properties NcOptOption Gets or sets the NC optimization options. public NcOptOption NcOptOption { get; set; } Property Value NcOptOption XName Name for XML IO. public static string XName { get; } Property Value string Methods GetCommandTitle() Gets the title of the command. public string GetCommandTitle() Returns string The command title. 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. Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." + "summary": "Class NcOptOptionCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for NC optimization options. public class NcOptOptionCommand : ITitleCommand, ISessionCommand, IMakeXmlSource Inheritance object NcOptOptionCommand Implements ITitleCommand ISessionCommand 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 NcOptOptionCommand() Ctor. public NcOptOptionCommand() NcOptOptionCommand(XElement, string, string, IProgress, object[]) Ctor. public NcOptOptionCommand(XElement src, string baseDirectory, string relFile, IProgress progress, object[] res) Parameters src XElement XML baseDirectory string Base directory for relative paths relFile string Relative file path progress IProgress Progress reporter for nested option XML. res object[] Additional resources Properties NcOptOption Gets or sets the NC optimization options. public NcOptOption NcOptOption { get; set; } Property Value NcOptOption XName Name for XML IO. public static string XName { get; } Property Value string Methods GetCommandTitle() Gets the title of the command. public string GetCommandTitle() Returns string The command title. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." }, "api/Hi.SessionCommands.OptimizeToFilesCommand.html": { "href": "api/Hi.SessionCommands.OptimizeToFilesCommand.html", "title": "Class OptimizeToFilesCommand | HiAPI-C# 2025", - "summary": "Class OptimizeToFilesCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command to call OptimizeToFiles(string). public class OptimizeToFilesCommand : ISessionCommand, IMakeXmlSource Inheritance object OptimizeToFilesCommand Implements ISessionCommand 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 OptimizeToFilesCommand() Default constructor. public OptimizeToFilesCommand() OptimizeToFilesCommand(XElement, string) Ctor. public OptimizeToFilesCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths Properties RelFileTemplate Template for the relative file path. public string RelFileTemplate { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." + "summary": "Class OptimizeToFilesCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command to call OptimizeToFiles(string). public class OptimizeToFilesCommand : ISessionCommand, IMakeXmlSource Inheritance object OptimizeToFilesCommand Implements ISessionCommand 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 OptimizeToFilesCommand() Default constructor. public OptimizeToFilesCommand() OptimizeToFilesCommand(XElement, string) Ctor. public OptimizeToFilesCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths Properties RelFileTemplate Template for the relative file path. public string RelFileTemplate { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." }, "api/Hi.SessionCommands.PostExecutionCommand.html": { "href": "api/Hi.SessionCommands.PostExecutionCommand.html", "title": "Class PostExecutionCommand | HiAPI-C# 2025", - "summary": "Class PostExecutionCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for post-execution actions after NC command running. public class PostExecutionCommand : ITitleCommand, ISessionCommand, IMakeXmlSource Inheritance object PostExecutionCommand Implements ITitleCommand ISessionCommand 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 PostExecutionCommand() Ctor. public PostExecutionCommand() PostExecutionCommand(XElement, string, string, params object[]) Ctor. public PostExecutionCommand(XElement src, string baseDirectory, string relFile, params object[] res) Parameters src XElement XML baseDirectory string Base directory for relative paths relFile string Relative file path res object[] Additional resources Properties EnableGeomDiff Gets or sets whether to enable geometry difference detection. public bool EnableGeomDiff { get; set; } Property Value bool EnableOptimizeToFiles Gets or sets whether to enable optimization to files. public bool EnableOptimizeToFiles { get; set; } Property Value bool EnableWriteRuntimeGeom Gets or sets whether to write runtime geometry to file. public bool EnableWriteRuntimeGeom { get; set; } Property Value bool EnableWriteShotFiles Gets or sets whether to write shot files. public bool EnableWriteShotFiles { get; set; } Property Value bool EnableWriteStepFiles Gets or sets whether to write step files. public bool EnableWriteStepFiles { get; set; } Property Value bool GeomDiffDetectRadius_mm Gets or sets the geometry difference detection radius in millimeters. public double GeomDiffDetectRadius_mm { get; set; } Property Value double OptimizationFileTemplate Gets or sets the optimization file template path. public string OptimizationFileTemplate { get; set; } Property Value string RuntimeGeomFilePath Gets or sets the runtime geometry file path. public string RuntimeGeomFilePath { get; set; } Property Value string ShotFileTemplate Gets or sets the shot file template path. public string ShotFileTemplate { get; set; } Property Value string ShotFileTimeResolution_ms Gets or sets the time resolution for shot files in milliseconds. public double ShotFileTimeResolution_ms { get; set; } Property Value double StepFileTemplate Gets or sets the step file template path. public string StepFileTemplate { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods GetCommandTitle() Gets the title of the command. public string GetCommandTitle() Returns string The command title. 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. Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." + "summary": "Class PostExecutionCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for post-execution actions after NC command running. public class PostExecutionCommand : ITitleCommand, ISessionCommand, IMakeXmlSource Inheritance object PostExecutionCommand Implements ITitleCommand ISessionCommand 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 PostExecutionCommand() Ctor. public PostExecutionCommand() PostExecutionCommand(XElement, string, string, params object[]) Ctor. public PostExecutionCommand(XElement src, string baseDirectory, string relFile, params object[] res) Parameters src XElement XML baseDirectory string Base directory for relative paths relFile string Relative file path res object[] Additional resources Properties EnableGeomDiff Gets or sets whether to enable geometry difference detection. public bool EnableGeomDiff { get; set; } Property Value bool EnableOptimizeToFiles Gets or sets whether to enable optimization to files. public bool EnableOptimizeToFiles { get; set; } Property Value bool EnableWriteRuntimeGeom Gets or sets whether to write runtime geometry to file. public bool EnableWriteRuntimeGeom { get; set; } Property Value bool EnableWriteShotFiles Gets or sets whether to write shot files. public bool EnableWriteShotFiles { get; set; } Property Value bool EnableWriteStepFiles Gets or sets whether to write step files. public bool EnableWriteStepFiles { get; set; } Property Value bool GeomDiffDetectRadius_mm Gets or sets the geometry difference detection radius in millimeters. public double GeomDiffDetectRadius_mm { get; set; } Property Value double OptimizationFileTemplate Gets or sets the optimization file template path. public string OptimizationFileTemplate { get; set; } Property Value string RuntimeGeomFilePath Gets or sets the runtime geometry file path. public string RuntimeGeomFilePath { get; set; } Property Value string ShotFileTemplate Gets or sets the shot file template path. public string ShotFileTemplate { get; set; } Property Value string ShotFileTimeResolution_ms Gets or sets the time resolution for shot files in milliseconds. public double ShotFileTimeResolution_ms { get; set; } Property Value double StepFileTemplate Gets or sets the step file template path. public string StepFileTemplate { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods GetCommandTitle() Gets the title of the command. public string GetCommandTitle() Returns string The command title. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." }, "api/Hi.SessionCommands.PreSettingCommand.html": { "href": "api/Hi.SessionCommands.PreSettingCommand.html", "title": "Class PreSettingCommand | HiAPI-C# 2025", - "summary": "Class PreSettingCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for pre-settings before NC command running. public class PreSettingCommand : ITitleCommand, ISessionCommand, IMakeXmlSource Inheritance object PreSettingCommand Implements ITitleCommand ISessionCommand 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 PreSettingCommand() Ctor. public PreSettingCommand() PreSettingCommand(XElement, string, string, IProgress, object[]) Ctor. public PreSettingCommand(XElement src, string baseDirectory, string relFile, IProgress progress, object[] res) Parameters src XElement XML baseDirectory string Base directory for relative paths relFile string Relative file path progress IProgress Progress reporter for nested preset XML. res object[] Additional resources Properties EnableCollisionDetection Gets or sets whether collision detection is enabled. public bool EnableCollisionDetection { get; set; } Property Value bool EnablePauseOnFailure Gets or sets whether to pause on failure. public bool EnablePauseOnFailure { get; set; } Property Value bool EnablePhysics Gets or sets whether physics is enabled. public bool EnablePhysics { get; set; } Property Value bool EnableReadRuntimeGeom Gets or sets whether to enable reading runtime geometry. public bool EnableReadRuntimeGeom { get; set; } Property Value bool MachiningMotionResolution Gets or sets the machining motion resolution. public IMachiningMotionResolution MachiningMotionResolution { get; set; } Property Value IMachiningMotionResolution MachiningResolution_mm Gets or sets the machining resolution in millimeters. public double MachiningResolution_mm { get; set; } Property Value double RuntimeGeomFile Gets or sets the runtime geometry file path. public string RuntimeGeomFile { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods GetCommandTitle() Gets the title of the command. public string GetCommandTitle() Returns string The command title. 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. Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." + "summary": "Class PreSettingCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for pre-settings before NC command running. public class PreSettingCommand : ITitleCommand, ISessionCommand, IMakeXmlSource Inheritance object PreSettingCommand Implements ITitleCommand ISessionCommand 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 PreSettingCommand() Ctor. public PreSettingCommand() PreSettingCommand(XElement, string, string, IProgress, object[]) Ctor. public PreSettingCommand(XElement src, string baseDirectory, string relFile, IProgress progress, object[] res) Parameters src XElement XML baseDirectory string Base directory for relative paths relFile string Relative file path progress IProgress Progress reporter for nested preset XML. res object[] Additional resources Properties EnableCollisionDetection Gets or sets whether collision detection is enabled. public bool EnableCollisionDetection { get; set; } Property Value bool EnablePauseOnFailure Gets or sets whether to pause on failure. public bool EnablePauseOnFailure { get; set; } Property Value bool EnablePhysics Gets or sets whether physics is enabled. public bool EnablePhysics { get; set; } Property Value bool EnableReadRuntimeGeom Gets or sets whether to enable reading runtime geometry. public bool EnableReadRuntimeGeom { get; set; } Property Value bool MachiningMotionResolution Gets or sets the machining motion resolution. public IMachiningMotionResolution MachiningMotionResolution { get; set; } Property Value IMachiningMotionResolution MachiningResolution_mm Gets or sets the machining resolution in millimeters. public double MachiningResolution_mm { get; set; } Property Value double RuntimeGeomFile Gets or sets the runtime geometry file path. public string RuntimeGeomFile { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods GetCommandTitle() Gets the title of the command. public string GetCommandTitle() Returns string The command title. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." }, "api/Hi.SessionCommands.RecordRuntimeGeomActionEnum.html": { "href": "api/Hi.SessionCommands.RecordRuntimeGeomActionEnum.html", @@ -6032,32 +6032,32 @@ "api/Hi.SessionCommands.RecordRuntimeGeomCommand.html": { "href": "api/Hi.SessionCommands.RecordRuntimeGeomCommand.html", "title": "Class RecordRuntimeGeomCommand | HiAPI-C# 2025", - "summary": "Class RecordRuntimeGeomCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for recording runtime geometry to/from file. public class RecordRuntimeGeomCommand : ISessionCommand, IMakeXmlSource Inheritance object RecordRuntimeGeomCommand Implements ISessionCommand 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 RecordRuntimeGeomCommand() Default constructor. public RecordRuntimeGeomCommand() RecordRuntimeGeomCommand(XElement, string) Ctor. public RecordRuntimeGeomCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths Properties MainActionEnum Main action to perform (read, write, or conditional). public RecordRuntimeGeomActionEnum MainActionEnum { get; set; } Property Value RecordRuntimeGeomActionEnum RelFile Relative file path. public string RelFile { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." + "summary": "Class RecordRuntimeGeomCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for recording runtime geometry to/from file. public class RecordRuntimeGeomCommand : ISessionCommand, IMakeXmlSource Inheritance object RecordRuntimeGeomCommand Implements ISessionCommand 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 RecordRuntimeGeomCommand() Default constructor. public RecordRuntimeGeomCommand() RecordRuntimeGeomCommand(XElement, string) Ctor. public RecordRuntimeGeomCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths Properties MainActionEnum Main action to perform (read, write, or conditional). public RecordRuntimeGeomActionEnum MainActionEnum { get; set; } Property Value RecordRuntimeGeomActionEnum RelFile Relative file path. public string RelFile { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." }, "api/Hi.SessionCommands.ScriptCommand.html": { "href": "api/Hi.SessionCommands.ScriptCommand.html", "title": "Class ScriptCommand | HiAPI-C# 2025", - "summary": "Class ScriptCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for executing C# scripts in the milling process. public class ScriptCommand : ITitleCommand, ISessionCommand, IMakeXmlSource, IGetSelectionName Inheritance object ScriptCommand Implements ITitleCommand ISessionCommand IMakeXmlSource IGetSelectionName 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 ScriptCommand() Ctor. public ScriptCommand() ScriptCommand(XElement, string) Ctor. public ScriptCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths Properties ExecutionTemplate Gets the execution template command. public static ScriptCommand ExecutionTemplate { get; } Property Value ScriptCommand OptimizationConfigurationTemplate Gets the optimization configuration template command. public static ScriptCommand OptimizationConfigurationTemplate { get; } Property Value ScriptCommand PreSettingTemplate Gets the pre-setting template command. public static ScriptCommand PreSettingTemplate { get; } Property Value ScriptCommand ScriptText The script text content. public string ScriptText { get; set; } Property Value string ScriptTitle Title or name of the script. public string ScriptTitle { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods GenTemplateCommand() Generates a template script command with default values. public static ScriptCommand GenTemplateCommand() Returns ScriptCommand A new ScriptCommand with template values GetCommandTitle() Gets the title of the command. public string GetCommandTitle() Returns string The command title. GetSelectionName() Gets a name that can be used for selection in UI or other contexts. public string GetSelectionName() Returns string The selection name for this object MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed. Run(SessionShell, string) Runs a specified script with the given session shell. public IEnumerable Run(SessionShell sessionShell, string scriptText) Parameters sessionShell SessionShell The session shell that scripts delegate to. scriptText string The script text to run Returns IEnumerable Enumerable of actions to perform" + "summary": "Class ScriptCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command for executing C# scripts in the milling process. public class ScriptCommand : ITitleCommand, ISessionCommand, IMakeXmlSource, IGetSelectionName Inheritance object ScriptCommand Implements ITitleCommand ISessionCommand IMakeXmlSource IGetSelectionName 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 ScriptCommand() Ctor. public ScriptCommand() ScriptCommand(XElement, string) Ctor. public ScriptCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths Properties ExecutionTemplate Gets the execution template command. public static ScriptCommand ExecutionTemplate { get; } Property Value ScriptCommand OptimizationConfigurationTemplate Gets the optimization configuration template command. public static ScriptCommand OptimizationConfigurationTemplate { get; } Property Value ScriptCommand PreSettingTemplate Gets the pre-setting template command. public static ScriptCommand PreSettingTemplate { get; } Property Value ScriptCommand ScriptText The script text content. public string ScriptText { get; set; } Property Value string ScriptTitle Title or name of the script. public string ScriptTitle { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods GenTemplateCommand() Generates a template script command with default values. public static ScriptCommand GenTemplateCommand() Returns ScriptCommand A new ScriptCommand with template values GetCommandTitle() Gets the title of the command. public string GetCommandTitle() Returns string The command title. GetSelectionName() Gets a name that can be used for selection in UI or other contexts. public string GetSelectionName() Returns string The selection name for this object MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer (and its legacy alias) with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed. Run(SessionShell, string) Runs a specified script with the given session shell. public IEnumerable Run(SessionShell sessionShell, string scriptText) Parameters sessionShell SessionShell The session shell that scripts delegate to. scriptText string The script text to run Returns IEnumerable Enumerable of actions to perform" }, "api/Hi.SessionCommands.SimpleSessionCommand.html": { "href": "api/Hi.SessionCommands.SimpleSessionCommand.html", "title": "Class SimpleSessionCommand | HiAPI-C# 2025", - "summary": "Class SimpleSessionCommand Namespace Hi.SessionCommands Assembly HiNc.dll Simple session command for executing machining operations. public class SimpleSessionCommand : ISessionCommand, IMakeXmlSource Inheritance object SimpleSessionCommand Implements ISessionCommand 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 SimpleSessionCommand() Ctor. public SimpleSessionCommand() SimpleSessionCommand(XElement, string, string, IProgress, object[]) Ctor. public SimpleSessionCommand(XElement src, string baseDirectory, string relFile, IProgress progress, object[] res) Parameters src XElement XML baseDirectory string Base directory for relative paths relFile string Relative file path progress IProgress Optional progress reporter. res object[] Additional resources Properties EnableCollisionDetection Gets or sets whether collision detection is enabled. public bool EnableCollisionDetection { get; set; } Property Value bool EnableGeomDiff Gets or sets whether to enable geometry difference detection. public bool EnableGeomDiff { get; set; } Property Value bool EnableOptimizeToFiles Gets or sets whether to enable optimization to files. public bool EnableOptimizeToFiles { get; set; } Property Value bool EnablePauseOnFailure Gets or sets whether to pause on failure. public bool EnablePauseOnFailure { get; set; } Property Value bool EnableReadRuntimeGeom Gets or sets whether to enable reading runtime geometry. public bool EnableReadRuntimeGeom { get; set; } Property Value bool EnableWriteRuntimeGeom Gets or sets whether to write runtime geometry to file. public bool EnableWriteRuntimeGeom { get; set; } Property Value bool EnableWriteShotFiles Gets or sets whether to write shot files. public bool EnableWriteShotFiles { get; set; } Property Value bool EnableWriteStepFiles Gets or sets whether to write step files. public bool EnableWriteStepFiles { get; set; } Property Value bool GeomDiffDetectRadius_mm Gets or sets the geometry difference detection radius in millimeters. public double GeomDiffDetectRadius_mm { get; set; } Property Value double MachiningMotionResolution Gets or sets the machining motion resolution. public IMachiningMotionResolution MachiningMotionResolution { get; set; } Property Value IMachiningMotionResolution MachiningResolution_mm Gets or sets the machining resolution in millimeters. public double MachiningResolution_mm { get; set; } Property Value double NcCommandList Middle command list. Mainly for NC commands. Because of the design idea is for simplicity, only expect the wrapper content to be NcFileCommand or NcCodeCommand or ScriptCommand. public List NcCommandList { get; set; } Property Value List NcOptOption Gets or sets the NC optimization options. public NcOptOption NcOptOption { get; set; } Property Value NcOptOption OptimizationFileTemplate Gets or sets the optimization file template path. public string OptimizationFileTemplate { get; set; } Property Value string RuntimeGeomFile Gets or sets the runtime geometry file path. public string RuntimeGeomFile { get; set; } Property Value string RuntimeGeomFileTemplate Gets or sets the runtime geometry file template. public string RuntimeGeomFileTemplate { get; set; } Property Value string ShotFileTemplate Gets or sets the shot file template path. public string ShotFileTemplate { get; set; } Property Value string ShotFileTimeResolution_ms Gets or sets the time resolution for shot files in milliseconds. public double ShotFileTimeResolution_ms { get; set; } Property Value double StepFileTemplate Gets or sets the step file template path. public string StepFileTemplate { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." + "summary": "Class SimpleSessionCommand Namespace Hi.SessionCommands Assembly HiNc.dll Simple session command for executing machining operations. public class SimpleSessionCommand : ISessionCommand, IMakeXmlSource Inheritance object SimpleSessionCommand Implements ISessionCommand 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 SimpleSessionCommand() Ctor. public SimpleSessionCommand() SimpleSessionCommand(XElement, string, string, IProgress, object[]) Ctor. public SimpleSessionCommand(XElement src, string baseDirectory, string relFile, IProgress progress, object[] res) Parameters src XElement XML baseDirectory string Base directory for relative paths relFile string Relative file path progress IProgress Optional progress reporter. res object[] Additional resources Properties EnableCollisionDetection Gets or sets whether collision detection is enabled. public bool EnableCollisionDetection { get; set; } Property Value bool EnableGeomDiff Gets or sets whether to enable geometry difference detection. public bool EnableGeomDiff { get; set; } Property Value bool EnableOptimizeToFiles Gets or sets whether to enable optimization to files. public bool EnableOptimizeToFiles { get; set; } Property Value bool EnablePauseOnFailure Gets or sets whether to pause on failure. public bool EnablePauseOnFailure { get; set; } Property Value bool EnableReadRuntimeGeom Gets or sets whether to enable reading runtime geometry. public bool EnableReadRuntimeGeom { get; set; } Property Value bool EnableWriteRuntimeGeom Gets or sets whether to write runtime geometry to file. public bool EnableWriteRuntimeGeom { get; set; } Property Value bool EnableWriteShotFiles Gets or sets whether to write shot files. public bool EnableWriteShotFiles { get; set; } Property Value bool EnableWriteStepFiles Gets or sets whether to write step files. public bool EnableWriteStepFiles { get; set; } Property Value bool GeomDiffDetectRadius_mm Gets or sets the geometry difference detection radius in millimeters. public double GeomDiffDetectRadius_mm { get; set; } Property Value double MachiningMotionResolution Gets or sets the machining motion resolution. public IMachiningMotionResolution MachiningMotionResolution { get; set; } Property Value IMachiningMotionResolution MachiningResolution_mm Gets or sets the machining resolution in millimeters. public double MachiningResolution_mm { get; set; } Property Value double NcCommandList Middle command list. Mainly for NC commands. Because of the design idea is for simplicity, only expect the wrapper content to be NcFileCommand or NcCodeCommand or ScriptCommand. public List NcCommandList { get; set; } Property Value List NcOptOption Gets or sets the NC optimization options. public NcOptOption NcOptOption { get; set; } Property Value NcOptOption OptimizationFileTemplate Gets or sets the optimization file template path. public string OptimizationFileTemplate { get; set; } Property Value string RuntimeGeomFile Gets or sets the runtime geometry file path. public string RuntimeGeomFile { get; set; } Property Value string RuntimeGeomFileTemplate Gets or sets the runtime geometry file template. public string RuntimeGeomFileTemplate { get; set; } Property Value string ShotFileTemplate Gets or sets the shot file template path. public string ShotFileTemplate { get; set; } Property Value string ShotFileTimeResolution_ms Gets or sets the time resolution for shot files in milliseconds. public double ShotFileTimeResolution_ms { get; set; } Property Value double StepFileTemplate Gets or sets the step file template path. public string StepFileTemplate { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null), and chains Reg(factory) on dependents so the registration graph is observable. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." }, "api/Hi.SessionCommands.WriteRuntimeGeomToStlCommand.html": { "href": "api/Hi.SessionCommands.WriteRuntimeGeomToStlCommand.html", "title": "Class WriteRuntimeGeomToStlCommand | HiAPI-C# 2025", - "summary": "Class WriteRuntimeGeomToStlCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command to call Hi.MillingProcs.MachiningProjectCsScriptApi.WriteRuntimeGeomToStl. public class WriteRuntimeGeomToStlCommand : ISessionCommand, IMakeXmlSource Inheritance object WriteRuntimeGeomToStlCommand Implements ISessionCommand 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 WriteRuntimeGeomToStlCommand() Default constructor. public WriteRuntimeGeomToStlCommand() WriteRuntimeGeomToStlCommand(XElement, string) Ctor. public WriteRuntimeGeomToStlCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths Properties RelFile Relative path for the output STL file. public string RelFile { get; set; } Property Value string Resolution_mm Resolution in millimeters for STL generation. public double Resolution_mm { get; set; } Property Value double 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. Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." + "summary": "Class WriteRuntimeGeomToStlCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command to call Hi.MillingProcs.MachiningProjectCsScriptApi.WriteRuntimeGeomToStl. public class WriteRuntimeGeomToStlCommand : ISessionCommand, IMakeXmlSource Inheritance object WriteRuntimeGeomToStlCommand Implements ISessionCommand 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 WriteRuntimeGeomToStlCommand() Default constructor. public WriteRuntimeGeomToStlCommand() WriteRuntimeGeomToStlCommand(XElement, string) Ctor. public WriteRuntimeGeomToStlCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths Properties RelFile Relative path for the output STL file. public string RelFile { get; set; } Property Value string Resolution_mm Resolution in millimeters for STL generation. public double Resolution_mm { get; set; } Property Value double 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." }, "api/Hi.SessionCommands.WriteShotFilesCommand.html": { "href": "api/Hi.SessionCommands.WriteShotFilesCommand.html", "title": "Class WriteShotFilesCommand | HiAPI-C# 2025", - "summary": "Class WriteShotFilesCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command to call WriteShotFiles(string, double). public class WriteShotFilesCommand : ISessionCommand, IMakeXmlSource Inheritance object WriteShotFilesCommand Implements ISessionCommand 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 WriteShotFilesCommand() Default constructor. public WriteShotFilesCommand() WriteShotFilesCommand(XElement, string) Ctor. public WriteShotFilesCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths Properties RelFileTemplate Template for the relative file path where shot files will be written. public string RelFileTemplate { get; set; } Property Value string TimeResolution_ms Time resolution in milliseconds for shot data sampling. public double TimeResolution_ms { get; set; } Property Value double 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. Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." + "summary": "Class WriteShotFilesCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command to call WriteShotFiles(string, double). public class WriteShotFilesCommand : ISessionCommand, IMakeXmlSource Inheritance object WriteShotFilesCommand Implements ISessionCommand 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 WriteShotFilesCommand() Default constructor. public WriteShotFilesCommand() WriteShotFilesCommand(XElement, string) Ctor. public WriteShotFilesCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths Properties RelFileTemplate Template for the relative file path where shot files will be written. public string RelFileTemplate { get; set; } Property Value string TimeResolution_ms Time resolution in milliseconds for shot data sampling. public double TimeResolution_ms { get; set; } Property Value double 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. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." }, "api/Hi.SessionCommands.WriteStepFilesCommand.html": { "href": "api/Hi.SessionCommands.WriteStepFilesCommand.html", "title": "Class WriteStepFilesCommand | HiAPI-C# 2025", - "summary": "Class WriteStepFilesCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command to call WriteStepFiles(string). public class WriteStepFilesCommand : ISessionCommand, IMakeXmlSource Inheritance object WriteStepFilesCommand Implements ISessionCommand 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 WriteStepFilesCommand() Default constructor. public WriteStepFilesCommand() WriteStepFilesCommand(XElement, string) Ctor. public WriteStepFilesCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths Properties RelFileTemplate Template for the relative file path where step files will be written. public string RelFileTemplate { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." + "summary": "Class WriteStepFilesCommand Namespace Hi.SessionCommands Assembly HiNc.dll Command to call WriteStepFiles(string). public class WriteStepFilesCommand : ISessionCommand, IMakeXmlSource Inheritance object WriteStepFilesCommand Implements ISessionCommand 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 WriteStepFilesCommand() Default constructor. public WriteStepFilesCommand() WriteStepFilesCommand(XElement, string) Ctor. public WriteStepFilesCommand(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for resolving relative paths Properties RelFileTemplate Template for the relative file path where step files will be written. public string RelFileTemplate { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory Run(SessionShell) Runs the command, delegating execution to the provided session shell. public IEnumerable Run(SessionShell sessionShell) Parameters sessionShell SessionShell Session shell that exposes the machining facade to commands. Returns IEnumerable Sequence of actions to be executed." }, "api/Hi.SessionCommands.html": { "href": "api/Hi.SessionCommands.html", @@ -6267,7 +6267,7 @@ "api/HiMachining.Milling.ClMillingDevice.html": { "href": "api/HiMachining.Milling.ClMillingDevice.html", "title": "Class ClMillingDevice | HiAPI-C# 2025", - "summary": "Class ClMillingDevice Namespace HiMachining.Milling Assembly HiMech.dll A milling device driven by CL(Cutter Location). public class ClMillingDevice : IMachiningChain, IGetAsmb, IGetAnchor, IGetTopoIndex, IMakeXmlSource, IGetAnchorToSolidDictionary Inheritance object ClMillingDevice Implements IMachiningChain IGetAsmb IGetAnchor IGetTopoIndex IMakeXmlSource IGetAnchorToSolidDictionary Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods MachiningChainUtil.GetMcCodeTransformerDictionary(IMachiningChain) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) 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 ClMillingDevice() Ctor. public ClMillingDevice() ClMillingDevice(XElement, string) Initializes a new instance from XML. public ClMillingDevice(XElement src, string baseDirectory) Parameters src XElement The XML source element. baseDirectory string The base directory for resolving relative paths. Properties Cl Gets or sets the current program cutter location in workpiece coordinates. public DVec3d Cl { get; set; } Property Value DVec3d KeyBranch Gets the branch connecting table buckle and tool buckle. public Branch KeyBranch { get; } Property Value Branch KeyTransformer An ITransformer driven by Cl. public DynamicFreeform KeyTransformer { get; set; } Property Value DynamicFreeform MachiningEquipmentGetter Runtime property. For managing CL. public Func MachiningEquipmentGetter { get; set; } Property Value Func MainAsmb Main MainAsmb of this device. public Asmb MainAsmb { get; } Property Value Asmb McCodes Gets the machine coordinate code sequence for decoding the MC array. public string[] McCodes { get; } Property Value string[] McTransformers Gets the machine coordinate transformers. public IDynamicRegular[] McTransformers { get; } Property Value IDynamicRegular[] TableBuckle Table buckle. public Anchor TableBuckle { get; } Property Value Anchor ToolBuckle Tool buckle. public Anchor ToolBuckle { get; } Property Value Anchor XName Name of XML element. public static string XName { get; } Property Value string Methods GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchorToSolidDictionary() Gets a dictionary that maps Anchor objects to their corresponding Solid objects. public Dictionary GetAnchorToSolidDictionary() Returns Dictionary A dictionary where keys are anchors and values are their associated solids. GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetTableBuckle() Gets the table buckle anchor point. public IGetAnchor GetTableBuckle() Returns IGetAnchor The table buckle anchor point. GetToolBuckle() Gets the tool buckle anchor point. public IGetAnchor GetToolBuckle() Returns IGetAnchor The tool buckle anchor point. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class ClMillingDevice Namespace HiMachining.Milling Assembly HiMech.dll A milling device driven by CL(Cutter Location). public class ClMillingDevice : IMachiningChain, IGetAsmb, IGetAnchor, IGetTopoIndex, IMakeXmlSource, IGetAnchorToSolidDictionary Inheritance object ClMillingDevice Implements IMachiningChain IGetAsmb IGetAnchor IGetTopoIndex IMakeXmlSource IGetAnchorToSolidDictionary Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods MachiningChainUtil.GetMcCodeTransformerDictionary(IMachiningChain) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) 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 ClMillingDevice() Ctor. public ClMillingDevice() ClMillingDevice(XElement, string) Initializes a new instance from XML. public ClMillingDevice(XElement src, string baseDirectory) Parameters src XElement The XML source element. baseDirectory string The base directory for resolving relative paths. Properties Cl Gets or sets the current program cutter location in workpiece coordinates. public DVec3d Cl { get; set; } Property Value DVec3d KeyBranch Gets the branch connecting table buckle and tool buckle. public Branch KeyBranch { get; } Property Value Branch KeyTransformer An ITransformer driven by Cl. public DynamicFreeform KeyTransformer { get; set; } Property Value DynamicFreeform MachiningEquipmentGetter Runtime property. For managing CL. public Func MachiningEquipmentGetter { get; set; } Property Value Func MainAsmb Main MainAsmb of this device. public Asmb MainAsmb { get; } Property Value Asmb McCodes Gets the machine coordinate code sequence for decoding the MC array. public string[] McCodes { get; } Property Value string[] McTransformers Gets the machine coordinate transformers. public IDynamicRegular[] McTransformers { get; } Property Value IDynamicRegular[] TableBuckle Table buckle. public Anchor TableBuckle { get; } Property Value Anchor ToolBuckle Tool buckle. public Anchor ToolBuckle { get; } Property Value Anchor XName Name of XML element. public static string XName { get; } Property Value string Methods GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor GetAnchorToSolidDictionary() Gets a dictionary that maps Anchor objects to their corresponding Solid objects. public Dictionary GetAnchorToSolidDictionary() Returns Dictionary A dictionary where keys are anchors and values are their associated solids. GetAsmb() Gets the key asmb. public Asmb GetAsmb() Returns Asmb The key asmb. GetTableBuckle() Gets the table buckle anchor point. public IGetAnchor GetTableBuckle() Returns IGetAnchor The table buckle anchor point. GetToolBuckle() Gets the tool buckle anchor point. public IGetAnchor GetToolBuckle() Returns IGetAnchor The tool buckle anchor point. 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. Reg(XFactory) Registers this type's deserializer with the given XFactory and chains Reg(factory) on dependents. Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory" }, "api/HiMachining.Milling.html": { "href": "api/HiMachining.Milling.html", @@ -6277,7 +6277,7 @@ "api/HiNc.Grpcs.MachiningProjectGrpcServer.html": { "href": "api/HiNc.Grpcs.MachiningProjectGrpcServer.html", "title": "Class MachiningProjectGrpcServer | HiAPI-C# 2025", - "summary": "Class MachiningProjectGrpcServer Namespace HiNc.Grpcs Assembly HiNc.dll Server for exposing machining project functionality via gRPC. public class MachiningProjectGrpcServer : IDisposable, IMakeXmlSource Inheritance object MachiningProjectGrpcServer Implements IDisposable 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 MachiningProjectGrpcServer(LocalProjectService) Initializes a new instance of the MachiningProjectGrpcServer class. public MachiningProjectGrpcServer(LocalProjectService localProjectService) Parameters localProjectService LocalProjectService MachiningProjectGrpcServer(XElement, LocalProjectService) Initializes a new instance of the MachiningProjectGrpcServer class from XML. public MachiningProjectGrpcServer(XElement src, LocalProjectService localProjectService) Parameters src XElement XML source element localProjectService LocalProjectService The local project service. Properties IsServiceRunning Gets whether the service is currently running. public bool IsServiceRunning { get; } Property Value bool ServicePort Gets or sets the port used by the gRPC service. public int ServicePort { get; set; } Property Value int WebApplication Gets the web application instance for the gRPC server. public WebApplication WebApplication { get; } Property Value WebApplication XName Name for XML IO. public static string XName { get; } Property Value string Methods Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool 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. StartAsync() Starts the gRPC server asynchronously. public Task StartAsync() Returns Task A task representing the asynchronous operation StopAsync() Stops the gRPC server asynchronously. public Task StopAsync() Returns Task A task representing the asynchronous operation" + "summary": "Class MachiningProjectGrpcServer Namespace HiNc.Grpcs Assembly HiNc.dll Server for exposing machining project functionality via gRPC. public class MachiningProjectGrpcServer : IDisposable, IMakeXmlSource Inheritance object MachiningProjectGrpcServer Implements IDisposable 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 MachiningProjectGrpcServer(LocalProjectService) Initializes a new instance of the MachiningProjectGrpcServer class. public MachiningProjectGrpcServer(LocalProjectService localProjectService) Parameters localProjectService LocalProjectService MachiningProjectGrpcServer(XElement, LocalProjectService) Initializes a new instance of the MachiningProjectGrpcServer class from XML. public MachiningProjectGrpcServer(XElement src, LocalProjectService localProjectService) Parameters src XElement XML source element localProjectService LocalProjectService The local project service. Properties IsServiceRunning Gets whether the service is currently running. public bool IsServiceRunning { get; } Property Value bool ServicePort Gets or sets the port used by the gRPC service. public int ServicePort { get; set; } Property Value int WebApplication Gets the web application instance for the gRPC server. public WebApplication WebApplication { get; } Property Value WebApplication XName Name for XML IO. public static string XName { get; } Property Value string Methods Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool 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. Reg(XFactory) Registers this type's deserializer (and its legacy alias) with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory StartAsync() Starts the gRPC server asynchronously. public Task StartAsync() Returns Task A task representing the asynchronous operation StopAsync() Stops the gRPC server asynchronously. public Task StopAsync() Returns Task A task representing the asynchronous operation" }, "api/HiNc.Grpcs.html": { "href": "api/HiNc.Grpcs.html", @@ -6687,7 +6687,7 @@ "fundamentals/common/xml-io.html": { "href": "fundamentals/common/xml-io.html", "title": "About XML IO | HiAPI-C# 2025", - "summary": "About XML IO The XML IO design pattern in HiNc Framework is based on IMakeXmlSource interface and XFactory class. This pattern provides a standardized way to serialize and deserialize objects to and from XML format. Don't serialize the runtime member object like Func or Action either cache object. The runtime objects can be optionally sent by the res part on the XFactory Registration or set by the other host or dependent object. If it is set by the other object, then there is nothing can do to it in the XML IO procedure. Core Components IMakeXmlSource Interface The IMakeXmlSource interface defines the contract for objects that can be serialized to XML format. It contains a single method MakeXmlSource. XFactory Registration Every class implementing IMakeXmlSource must: Define a static XName property matching the class name. Register itself in the static constructor using XFactory.Regs.Add Implement XML serialization and deserialization logic The registration delegate signature includes an IProgress parameter for diagnostic message routing: XFactory.Regs.Add(XName, (xml, baseDirectory, relFile, progress, res) => new MyClass(xml, baseDirectory, relFile, progress)); For example, see BallApt: static BallApt() { // Register to the . XFactory.Generators.Add(XName, (xml,baseDirectory, relFile, progress, res) => new BallApt(xml)); } IProgress Threading The IProgress parameter is threaded through the entire deserialization chain. When a class constructor calls XFactory to deserialize child objects, it passes the same progress instance: public MyClass(XElement src, string baseDirectory, string relFile, IProgress progress) { Child = XFactory.GenByChild( src.Element(nameof(Child)), subBaseDirectory, progress); } Parsing errors are reported to the caller-provided IProgress handler. Implementation Patterns Simple Value Objects See BallApt implementation: /// /// Name for XML IO. /// public static string XName => nameof(BallApt); /// /// Ctor. /// /// XML public BallApt(XElement src) { Diameter_mm = double.Parse(src.Element(\"D\").Value); FluteHeight_mm = double.Parse(src.Element(\"FluteH\").Value); } /// public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) => ToXElement(); /// public XElement ToXElement() { return new XElement(XName, new XElement(\"D\", Diameter_mm), new XElement(\"FluteH\", FluteHeight_mm) ); } Complex Data Structures See SpindleCapability implementation: /// /// Name for XML IO. /// public static string XName => nameof(SpindleCapability); /// /// Initializes a new instance of the class. /// /// The XML element containing spindle data. /// The base directory for resolving relative paths. /// Additional resolution parameters. public SpindleCapability(XElement src, string baseDirectory, params object[] res) { this.SetNameNote(src); if (src.Element(nameof(EnergyEfficiency)) != null) EnergyEfficiency = XmlConvert.ToDouble( src.Element(nameof(EnergyEfficiency)).Value); src.Element(nameof(WorkingTemperatureUpperBoundary_C))?.SelfInvoke( e => WorkingTemperatureUpperBoundary_C = XmlConvert.ToDouble(e.Value)); src.Element(nameof(GearShiftSpindleSpeed_rpm))?.Value?.SelfInvoke( s => GearShiftSpindleSpeed_rpm = string.IsNullOrEmpty(s) ? null : XmlConvert.ToDouble(s)); if (src.Element(nameof(DryRunFrictionPowerCoefficient_mWdrpm)) != null) DryRunFrictionPowerCoefficient_mWdrpm = XmlConvert.ToDouble( src.Element(nameof(DryRunFrictionPowerCoefficient_mWdrpm)).Value); if (src.Element(nameof(DryRunWindagePowerCoefficient_pWdrpm3)) != null) DryRunWindagePowerCoefficient_pWdrpm3 = XmlConvert.ToDouble( src.Element(nameof(DryRunWindagePowerCoefficient_pWdrpm3)).Value); if (src.Element(\"SpindleSpeedToPowerContours\") != null) //for legacy WorkableDurationToSpindleSpeedPowerContoursDictionary_min_cycleDs_kW = src.Element(\"SpindleSpeedToPowerContours\").Elements(\"Contour\") .ToDictionary( contourElem => { double r = XmlConvert.ToDouble(contourElem.Attribute(\"InsistentRatio\")?.Value); //600s=10mins return r == 1 ? double.PositiveInfinity : (r * 600); }, contourElem => contourElem.Elements(\"SpindleSpeedToPower\").Select( elem => new Vec2d( XmlConvert.ToDouble(elem.Element(\"SpindleSpeed-RPM\").Value) / 60, XmlConvert.ToDouble(elem.Element(\"Power-kW\").Value))) .ToList()); src.Element(\"WorkableDurationToSpindleSpeedPowerContoursDictionary\") ?.SelfInvoke(dicElem => { WorkableDurationToSpindleSpeedPowerContoursDictionary_min_cycleDs_kW = dicElem.Elements(\"Contour\") .ToDictionary( contourElem => XmlConvert.ToDouble( contourElem.Attribute(\"WorkableDuration-min\")?.Value), contourElem => contourElem.Elements(\"SpindleSpeedToPower\").Select( elem => new Vec2d( XmlConvert.ToDouble(elem.Element(\"SpindleSpeed-RPM\").Value) / 60, XmlConvert.ToDouble(elem.Element(\"Power-kW\").Value))) .ToList()); }); if (src.Element(\"SpindleSpeedToTorqueContours\") != null) //for legacy WorkableDurationToSpindleSpeedTorqueContoursDictionary_min_cycleDs_Nm = src.Element(\"SpindleSpeedToTorqueContours\").Elements(\"Contour\") .ToDictionary( contourElem => { double r = XmlConvert.ToDouble(contourElem.Attribute(\"InsistentRatio\")?.Value); //600s=10mins return r == 1 ? double.PositiveInfinity : (r * 600); }, contourElem => contourElem.Elements(\"SpindleSpeedToTorque\").Select( elem => new Vec2d( XmlConvert.ToDouble(elem.Element(\"SpindleSpeed-RPM\").Value) / 60, XmlConvert.ToDouble(elem.Element(\"Torque-Nm\").Value))) .ToList()); src.Element(\"WorkableDurationToSpindleSpeedTorqueContoursDictionary\") ?.SelfInvoke(dicElem => { //MessageUtil.WriteLine($\"dicElem: {dicElem}\"); WorkableDurationToSpindleSpeedTorqueContoursDictionary_min_cycleDs_Nm = dicElem.Elements(\"Contour\").ToDictionary( contourElem => XmlConvert.ToDouble( contourElem.Attribute(\"WorkableDuration-min\")?.Value), contourElem => contourElem.Elements(\"SpindleSpeedToTorque\").Select( elem => new Vec2d( XmlConvert.ToDouble(elem.Element(\"SpindleSpeed-RPM\").Value) / 60, XmlConvert.ToDouble(elem.Element(\"Torque-Nm\").Value))) .ToList()); //MessageUtil.WriteLine($\"keys: {string.Join(',',WorkableDurationToSpindleSpeedTorqueContoursDictionary_min_cycleDs_Nm.Select(e=>e.Key))}\"); }); //for legacy compatible. if (src.Element(\"SpindleSpeedToPower--RPM-to-kW\") != null) InfInsistentSpindleSpeedToPower_cycleDs_kW = src.Element(\"SpindleSpeedToPower--RPM-to-kW\").Elements() .Select(elem => new Vec2d(XmlConvert.ToDouble(elem.Attribute( \"SpindleSpeed-RPM\").Value) / 60, XmlConvert.ToDouble(elem.Value))).ToList(); //for legacy compatible. if (src.Element(\"SpindleSpeedToTorque--RPM-to-Nm\") != null) InfInsistentSpindleSpeedToTorque_cycleDs_Nm = src.Element(\"SpindleSpeedToTorque--RPM-to-Nm\").Elements() .Select(elem => new Vec2d(XmlConvert.ToDouble(elem.Attribute( \"SpindleSpeed-RPM\").Value) / 60, XmlConvert.ToDouble(elem.Value))).ToList(); } /// public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) { return new XElement(XName, this.GetNameNoteXElementList(), new XElement(nameof(EnergyEfficiency), EnergyEfficiency), new XElement(nameof(GearShiftSpindleSpeed_rpm), GearShiftSpindleSpeed_rpm), new XElement(nameof(DryRunFrictionPowerCoefficient_mWdrpm), DryRunFrictionPowerCoefficient_mWdrpm), new XElement(nameof(DryRunWindagePowerCoefficient_pWdrpm3), DryRunWindagePowerCoefficient_pWdrpm3), new XElement(\"WorkableDurationToSpindleSpeedPowerContoursDictionary\", WorkableDurationToSpindleSpeedPowerContoursDictionary_min_cycleDs_kW.OrderBy(entry => entry.Key) .Select(entry => new XElement(\"Contour\", new XAttribute(\"WorkableDuration-min\", entry.Key), entry.Value.Select(entry => new XElement(\"SpindleSpeedToPower\", new XElement(\"SpindleSpeed-RPM\", entry.X * 60), new XElement(\"Power-kW\", entry.Y))))) ), new XElement(\"WorkableDurationToSpindleSpeedTorqueContoursDictionary\", WorkableDurationToSpindleSpeedTorqueContoursDictionary_min_cycleDs_Nm.OrderBy(entry => entry.Key) .Select(entry => new XElement(\"Contour\", new XAttribute(\"WorkableDuration-min\", entry.Key), entry.Value.Select(entry => new XElement(\"SpindleSpeedToTorque\", new XElement(\"SpindleSpeed-RPM\", entry.X * 60), new XElement(\"Torque-Nm\", entry.Y))))) ) ); } Best Practices XName: Always define static XName property matching the class name. Registration: Register in static constructor using XFactory.Regs Call the XName such like _ = CalleeClass.XName; in the caller class static initialization field so that the registration takes effect before calling the Callee construction by XFactory. Progress Threading: Pass the IProgress parameter through all nested XFactory calls. See Message Management for the rationale. Legacy Support: Maintain backward compatibility when needed" + "summary": "About XML IO The XML IO design pattern in HiNc Framework is based on IMakeXmlSource interface and XFactory class. This pattern provides a standardized way to serialize and deserialize objects to and from XML format. Don't serialize the runtime member object like Func or Action either cache object. The runtime objects can be optionally sent by the res part on the XFactory Registration or set by the other host or dependent object. If it is set by the other object, then there is nothing can do to it in the XML IO procedure. Core Components IMakeXmlSource Interface The IMakeXmlSource interface defines the contract for objects that can be serialized to XML format. It contains a single method MakeXmlSource. XFactory XFactory is an instance class with a process-wide Default singleton (XFactory.Default). The instance form exists for test isolation and parallel pipelines that need disjoint generator registries; the static Gen / GenByChild / GenByFile entry points always read from Default. Each instance owns its own Generators dictionary (XML element name → generator delegate). Types add themselves via a Reg(factory) call (see below). Explicit Registration via Reg(XFactory factory = null) Every class implementing IMakeXmlSource exposes a public static Reg method: public static void Reg(XFactory factory = null) { factory ??= XFactory.Default; factory.Generators.TryAdd(XName, (xml, baseDirectory, relFile, progress, res) => new MyClass(xml, baseDirectory, relFile, progress)); } Key properties: Explicit. Callers see registration happen — no hidden side effect from accessing a static member or constructing a type. Idempotent. Uses TryAdd, so the same Reg may be invoked any number of times from any number of boot paths. Composable. Custom factory instances are supported via the optional factory parameter; default usage (MyClass.Reg();) populates XFactory.Default. For example, see BallApt: /// /// Registers this type's deserializer with the given /// (or when is /// null). Idempotent. /// public static void Reg(XFactory factory = null) { factory ??= XFactory.Default; factory.Generators.TryAdd(XName, (xml,baseDirectory, relFile, progress, res) => new BallApt(xml)); } Composite types chain Reg(factory) on dependents When a class deserializes child elements via XFactory.Gen / XFactory.GenByChild, its Reg(factory) must chain Reg(factory) on each concrete child type so the whole dependency graph is reachable from a single root call: public static void Reg(XFactory factory = null) { factory ??= XFactory.Default; DependentA.Reg(factory); DependentB.Reg(factory); factory.Generators.TryAdd(XName, (xml, baseDirectory, relFile, progress, res) => new MyComposite(xml, baseDirectory, relFile, progress)); } For polymorphic deserialization (GenByChild), the composite must chain every concrete implementation that may appear in the XML. The largest composite, SoftNcRunner, chains roughly 130 dependents (every dependency, initializer, segmenter, syntax, and semantic the NC pipeline may deserialize). Multi-name registration (legacy aliases) When the XML payload may carry an old element name for backward compatibility, register the current XName first and group legacy aliases under a //legacy aliases comment: public static void Reg(XFactory factory = null) { factory ??= XFactory.Default; XFactory.XGeneratorDelegate gen = (xml, baseDirectory, relFile, progress, res) => new MachiningProject(xml, baseDirectory, progress); factory.Generators.TryAdd(XName, gen); //legacy aliases factory.Generators.TryAdd(\"MachiningCourse\", gen); factory.Generators.TryAdd(\"MillingCourse\", gen); } IProgress Threading The IProgress parameter is threaded through the entire deserialization chain. When a class constructor calls XFactory to deserialize child objects, it passes the same progress instance: public MyClass(XElement src, string baseDirectory, string relFile, IProgress progress) { Child = XFactory.GenByChild( src.Element(nameof(Child)), subBaseDirectory, progress); } Parsing errors are reported to the caller-provided IProgress handler. Boot path An application's entry point (web service Program.cs, WPF App.xaml.cs, test fixture, etc.) must call the appropriate top-level Reg() once at startup, before any project XML is deserialized. For the simulation pipeline this is: LocalProjectService.Reg(); LocalProjectService.Reg() chains MachiningProject.Reg(), which in turn chains every type the simulation pipeline may deserialize. After this single call returns, XFactory.Default.Generators carries the full deserialization graph. Implementation Patterns Simple Value Objects See BallApt implementation: /// /// Name for XML IO. /// public static string XName => nameof(BallApt); /// /// Ctor. /// /// XML public BallApt(XElement src) { Diameter_mm = double.Parse(src.Element(\"D\").Value); FluteHeight_mm = double.Parse(src.Element(\"FluteH\").Value); } /// public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) => ToXElement(); /// public XElement ToXElement() { return new XElement(XName, new XElement(\"D\", Diameter_mm), new XElement(\"FluteH\", FluteHeight_mm) ); } Complex Data Structures See SpindleCapability implementation: /// /// Name for XML IO. /// public static string XName => nameof(SpindleCapability); /// /// Initializes a new instance of the class. /// /// The XML element containing spindle data. /// The base directory for resolving relative paths. /// Additional resolution parameters. public SpindleCapability(XElement src, string baseDirectory, params object[] res) { this.SetNameNote(src); if (src.Element(nameof(EnergyEfficiency)) != null) EnergyEfficiency = XmlConvert.ToDouble( src.Element(nameof(EnergyEfficiency)).Value); src.Element(nameof(WorkingTemperatureUpperBoundary_C))?.SelfInvoke( e => WorkingTemperatureUpperBoundary_C = XmlConvert.ToDouble(e.Value)); src.Element(nameof(GearShiftSpindleSpeed_rpm))?.Value?.SelfInvoke( s => GearShiftSpindleSpeed_rpm = string.IsNullOrEmpty(s) ? null : XmlConvert.ToDouble(s)); if (src.Element(nameof(DryRunFrictionPowerCoefficient_mWdrpm)) != null) DryRunFrictionPowerCoefficient_mWdrpm = XmlConvert.ToDouble( src.Element(nameof(DryRunFrictionPowerCoefficient_mWdrpm)).Value); if (src.Element(nameof(DryRunWindagePowerCoefficient_pWdrpm3)) != null) DryRunWindagePowerCoefficient_pWdrpm3 = XmlConvert.ToDouble( src.Element(nameof(DryRunWindagePowerCoefficient_pWdrpm3)).Value); if (src.Element(\"SpindleSpeedToPowerContours\") != null) //for legacy WorkableDurationToSpindleSpeedPowerContoursDictionary_min_cycleDs_kW = src.Element(\"SpindleSpeedToPowerContours\").Elements(\"Contour\") .ToDictionary( contourElem => { double r = XmlConvert.ToDouble(contourElem.Attribute(\"InsistentRatio\")?.Value); //600s=10mins return r == 1 ? double.PositiveInfinity : (r * 600); }, contourElem => contourElem.Elements(\"SpindleSpeedToPower\").Select( elem => new Vec2d( XmlConvert.ToDouble(elem.Element(\"SpindleSpeed-RPM\").Value) / 60, XmlConvert.ToDouble(elem.Element(\"Power-kW\").Value))) .ToList()); src.Element(\"WorkableDurationToSpindleSpeedPowerContoursDictionary\") ?.SelfInvoke(dicElem => { WorkableDurationToSpindleSpeedPowerContoursDictionary_min_cycleDs_kW = dicElem.Elements(\"Contour\") .ToDictionary( contourElem => XmlConvert.ToDouble( contourElem.Attribute(\"WorkableDuration-min\")?.Value), contourElem => contourElem.Elements(\"SpindleSpeedToPower\").Select( elem => new Vec2d( XmlConvert.ToDouble(elem.Element(\"SpindleSpeed-RPM\").Value) / 60, XmlConvert.ToDouble(elem.Element(\"Power-kW\").Value))) .ToList()); }); if (src.Element(\"SpindleSpeedToTorqueContours\") != null) //for legacy WorkableDurationToSpindleSpeedTorqueContoursDictionary_min_cycleDs_Nm = src.Element(\"SpindleSpeedToTorqueContours\").Elements(\"Contour\") .ToDictionary( contourElem => { double r = XmlConvert.ToDouble(contourElem.Attribute(\"InsistentRatio\")?.Value); //600s=10mins return r == 1 ? double.PositiveInfinity : (r * 600); }, contourElem => contourElem.Elements(\"SpindleSpeedToTorque\").Select( elem => new Vec2d( XmlConvert.ToDouble(elem.Element(\"SpindleSpeed-RPM\").Value) / 60, XmlConvert.ToDouble(elem.Element(\"Torque-Nm\").Value))) .ToList()); src.Element(\"WorkableDurationToSpindleSpeedTorqueContoursDictionary\") ?.SelfInvoke(dicElem => { //MessageUtil.WriteLine($\"dicElem: {dicElem}\"); WorkableDurationToSpindleSpeedTorqueContoursDictionary_min_cycleDs_Nm = dicElem.Elements(\"Contour\").ToDictionary( contourElem => XmlConvert.ToDouble( contourElem.Attribute(\"WorkableDuration-min\")?.Value), contourElem => contourElem.Elements(\"SpindleSpeedToTorque\").Select( elem => new Vec2d( XmlConvert.ToDouble(elem.Element(\"SpindleSpeed-RPM\").Value) / 60, XmlConvert.ToDouble(elem.Element(\"Torque-Nm\").Value))) .ToList()); //MessageUtil.WriteLine($\"keys: {string.Join(',',WorkableDurationToSpindleSpeedTorqueContoursDictionary_min_cycleDs_Nm.Select(e=>e.Key))}\"); }); //for legacy compatible. if (src.Element(\"SpindleSpeedToPower--RPM-to-kW\") != null) InfInsistentSpindleSpeedToPower_cycleDs_kW = src.Element(\"SpindleSpeedToPower--RPM-to-kW\").Elements() .Select(elem => new Vec2d(XmlConvert.ToDouble(elem.Attribute( \"SpindleSpeed-RPM\").Value) / 60, XmlConvert.ToDouble(elem.Value))).ToList(); //for legacy compatible. if (src.Element(\"SpindleSpeedToTorque--RPM-to-Nm\") != null) InfInsistentSpindleSpeedToTorque_cycleDs_Nm = src.Element(\"SpindleSpeedToTorque--RPM-to-Nm\").Elements() .Select(elem => new Vec2d(XmlConvert.ToDouble(elem.Attribute( \"SpindleSpeed-RPM\").Value) / 60, XmlConvert.ToDouble(elem.Value))).ToList(); } /// public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) { return new XElement(XName, this.GetNameNoteXElementList(), new XElement(nameof(EnergyEfficiency), EnergyEfficiency), new XElement(nameof(GearShiftSpindleSpeed_rpm), GearShiftSpindleSpeed_rpm), new XElement(nameof(DryRunFrictionPowerCoefficient_mWdrpm), DryRunFrictionPowerCoefficient_mWdrpm), new XElement(nameof(DryRunWindagePowerCoefficient_pWdrpm3), DryRunWindagePowerCoefficient_pWdrpm3), new XElement(\"WorkableDurationToSpindleSpeedPowerContoursDictionary\", WorkableDurationToSpindleSpeedPowerContoursDictionary_min_cycleDs_kW.OrderBy(entry => entry.Key) .Select(entry => new XElement(\"Contour\", new XAttribute(\"WorkableDuration-min\", entry.Key), entry.Value.Select(entry => new XElement(\"SpindleSpeedToPower\", new XElement(\"SpindleSpeed-RPM\", entry.X * 60), new XElement(\"Power-kW\", entry.Y))))) ), new XElement(\"WorkableDurationToSpindleSpeedTorqueContoursDictionary\", WorkableDurationToSpindleSpeedTorqueContoursDictionary_min_cycleDs_Nm.OrderBy(entry => entry.Key) .Select(entry => new XElement(\"Contour\", new XAttribute(\"WorkableDuration-min\", entry.Key), entry.Value.Select(entry => new XElement(\"SpindleSpeedToTorque\", new XElement(\"SpindleSpeed-RPM\", entry.X * 60), new XElement(\"Torque-Nm\", entry.Y))))) ) ); } Best Practices XName: Always define static XName property matching the class name. Registration: Expose public static void Reg(XFactory factory = null); first line is factory ??= XFactory.Default; then factory.Generators.TryAdd(XName, …). Chain dependents: For every concrete type T that the ctor reads via XFactory.Gen / XFactory.GenByChild, add T.Reg(factory); to the chain. For polymorphic GenByChild, chain every implementation that the XML may carry. Idempotent: Use TryAdd, never Add. The same Reg is called from many boot paths. Progress Threading: Pass the IProgress parameter through all nested XFactory calls. See Message Management for the rationale. Legacy Support: Register the canonical XName first, then group aliases under a //legacy aliases comment. Derived class registration: When a derived class needs its own Reg, mark it public new static void Reg(XFactory factory = null) so the C# compiler does not warn about hiding the base method." }, "fundamentals/general-hinc-workflow/index.html": { "href": "fundamentals/general-hinc-workflow/index.html", @@ -6962,7 +6962,7 @@ "release-note/index.html": { "href": "release-note/index.html", "title": "Release Note | HiAPI-C# 2025", - "summary": "Release Note HiNc Packages Version 3.1.171 Rename RuntimeApi → SessionShell (the runtime entry point exposed to scripting); IShellCommand → ISessionCommand and RuntimeController → SessionShellController; the Hi.ShellCommands namespace moves to Hi.SessionCommands, and every command implementer's Run() parameter renames scriptApi → sessionShell Tri-state milling-physics contract: MachiningStep physics getters converge on a tri-state result, non-null MillingPhysicsBrief on no-cut steps under EnablePhysics; silently skip thermal physics on null FluteMaterial / WorkpieceMaterial; lazy first-equip warning; align relief-face null-sentinel across NoCut + producer (in NcOpt and forces) Rename IMachiningStepHost → IMachiningService (drops the ICsScriptApi seam) Fixes: rotary IK round-trip anchored to pre-FK interpolated angle; ForceAccelShot.ReadRows skips blank lines HiNc Packages Version 3.1.167 Introduce SoftNcRunner as a pluggable NC parser/runner replacing the legacy HardNcRunner; opt in via EnableSoftNcRunner. see HardNc → SoftNc Rewrite — Progress Report for the in-flight rewrite scope and remaining work Extend coolant model to CoolantMode Flood/Mist/Off and refactor CoolantHeatCondition / MillingTemperatureUtil for multi-mode coolant Bind session events to MachiningSession lifetime: SessionStepBuilt, SessionStepSelected, SessionSyntaxPieceRan, SessionSourcedActEntry (legacy aliases kept as [Obsolete]); add RegisterWriteSyntaxPieces / RegisterWriteSyntaxPiecesWithActs for syntax-piece debug tracing Add ProjectApiVersion carrier through XFactory deserialization for project-XML version negotiation; resolve Workpiece through a lazy Func getter in WorkpieceService HiNc Packages Version 3.1.162 Refactor message management into three independent categories: Diagnostic (IProgress), UI Notification (MessageBoardUtil), App Log (ILogger); remove MessageUtil class entirely and remove ExceptionUtil.ShowException / ExceptionUtil.OnShown (see Message Management) Thread IProgress through XFactory deserialization chain and MachiningProject loading; remove GenMode enum entirely (see XML IO) Add ActionProgress.FromLogger to bridge IProgress APIs to ILogger Rename ShowIfCatched → CatchExceptions with explicit Action handler; remove RoutineBlocker0 Extract WorkpieceService from Workpiece for runtime geometry operations Update ISO coordinate rendering for 3+2 axis machines: coordinate position now uses IsoCoordinateEntryDisplayee with full machining chain anchor instead of table-buckle-only anchor Rename SessionMessageHost → SessionProgress on both SessionProgress and SessionProgress (SessionShell.SessionMessageHost is kept as [Obsolete]) Remove obsolete HiLog logging utility and DynamicMachiningProjectDisplayee0 HiNc Packages Version 3.1.160 Fix NC optimization R-format arc interpolation with negative R values (follow-up to v158 R-format arc fix) Fix cubetree construction defect when a triangle edge passes through a wire corner Mech Builder: geometry (STL) file picker for anchored transformation now offers Project directory in addition to Resource directory. Rename XML IO utilities: XmlSourceAndFile → FileRefSource, CombineAsSubDirectory → GetResourceDirectory, MakeXmlSourceWithRebaseFile → MakeXmlSourceToFileRef HiNc Packages Version 3.1.158 Fix G53.1 tool height compensation behavior: replace NcEnv.SetToolHeightCompensationOnFeatureNormal configuration with automatic detection via NC flag state Make EnableIntegerShrinkOnPositionCommand configurable via project settings (previously hard-coded by CNC brand, now defaults to false with XML IO support) Fix NC optimization splitting R-format arcs (G02/G03 with R parameter) by converting to IJK format, since R sign meaning does not apply correctly to individual fragments Fix step.csv reading crash on null or malformed values Fix XML IO sub-base directory not applied in some project file operations Improve CSV actual time parsing to support DateTime format in addition to TimeSpan (see Workflow: Basic Machining Simulation) Fix CSV title parsing to trim surrounding quotes HiNc Packages Version 3.1.156 Fix G68 coordinate rotation transformation for non-origin rotation centers Fix NC optimization arc/circle offset when splitting arc fragments across multiple lines Fix optimization rotation code jumping at ±180° cycle boundary by applying cyclic angle comparison Fix RTCP on unmatched tool offset Fix blocking issue when time-mapping file not found Fix FlagsText always null after NC parser refactoring HiNc Packages Version 3.1.150 Add cubetree geometry defect scanning (ScanRuntimeGeomInfDefect) and clearing (ClearDefectDisplayee) for detecting and visualizing geometry anomalies in workpieces (see Workflow: Geometry Validation) Upgrade internal fraction representation to float128 precision for improved cubetree geometry accuracy and numerical stability Refactor messaging system from IMessageHost to standard IProgress pattern; SessionProgress (formerly SessionMessageHost) now implements IProgress, and all messaging methods renamed from Add* to Report* (e.g., AddProgress → ReportProgress) Fix cubetree initialization crash Improve postprocess precision by applying sin–cos parameterization instead of direct angle-based formulation for rotary axis numerical solving in XyzabcSolver Add asynchronous anchor solid preparation on project load for improved startup performance HiNc Packages Version 3.1.144 Enhance Siemens Sinumerik support: Siemens CYCLE800 coordinate transform and reset Siemens MCALL CYCLE81() drilling cycle parsing Siemens TRAORI/TRAFOOF/SUPA flag parsing Fix Siemens TRAFOOF plain rotation coordinate transform issue Fix Siemens coordinate transform for successive file running Fix relief face collision floating-point precision issue Replace MongoDB with SQLite for local step data storage (significant package size reduction) Add machining and motion resolution dynamic adjustment functions HiNc Packages Version 3.1.106 Rename mapping API for clearer naming: ReadCsvByTimeInterpolation → MapSingleByCsvFile (one-to-one mapping) MapByActualTime → MapSeriesByCsvFile (one-to-many mapping) Rename CSV column prefix Spindle to Holder for sensor data mapping Unify CSV column tags to MappingUtil for consistent data mapping Fix ChartRange manipulation to be time-based instead of step-based for more accurate time chart display Tune thread priority for machining parallel processing to improve UI responsiveness during simulation Various code cleanup and improvements HiNc Packages Version 3.1.102 Separate resource files (Resource, wwwroot, Doc) to HiNc-Resource nuget package for smaller package size Add ScaledFeedPerCycle function for scaled feed-per-cycle machining motion resolution Upgrade target framework to .NET 10.0 Various code cleanup and improvements HiNc Packages Version 3.1.100 Refactor project architecture: split runtime functions from MachiningProject to LocalProjectService for better separation of concerns Improve MillingTraining module with separate lead and result parameter templates for more accurate cutting parameter training Separate C++ library for code protection Add UTF-8 file path support for runtime geometry IO operations Improve CsvRunner with enhanced time mapping pattern Various architecture improvements and bug fixes HiNc Packages Version 3.1.91 Add NcOptimizationEmbeddedLogMode to control embedded log detail level (None/SimpleLog/FullLog) (see Embedded Log Comments). Fix bug of NcOptProc duplicated feedrate assignment HiNc Packages Version 3.1.90 Rename optimization log API EnableIndividualStepAdjustmentLog Fix crash from workpiece displaying with specific mechanical topology setting 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 Optimization Logs): .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 SessionShell by unifying SessionProgress 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 detection (ReliefFaceCollidingSpeed_mmds, IsReliefFaceCollided) 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.172 Replace implicit XFactory registration (private static () constructors + _ = X.XName wake-up touches) with explicit public static void Reg(XFactory factory = null) methods across ~270 classes. XFactory becomes an instance class with a process-wide Default singleton; Generators is renamed from Regs and now an instance property; the delegate type is renamed XGeneratorDelegate from GenByXElementDelegate. Composite types chain X.Reg(factory) on dependents in place of the old wake-up touches; multi-name (legacy alias) registrations keep the current XName first and group aliases under a //legacy aliases comment. Entry points (web service, win-desktop, test fixtures) must call Reg once at startup before any project XML is deserialized — registration no longer happens by accident when the type is first touched. See XML IO. HiNc Packages Version 3.1.171 Rename RuntimeApi → SessionShell (the runtime entry point exposed to scripting); IShellCommand → ISessionCommand and RuntimeController → SessionShellController; the Hi.ShellCommands namespace moves to Hi.SessionCommands, and every command implementer's Run() parameter renames scriptApi → sessionShell Tri-state milling-physics contract: MachiningStep physics getters converge on a tri-state result, non-null MillingPhysicsBrief on no-cut steps under EnablePhysics; silently skip thermal physics on null FluteMaterial / WorkpieceMaterial; lazy first-equip warning; align relief-face null-sentinel across NoCut + producer (in NcOpt and forces) Rename IMachiningStepHost → IMachiningService (drops the ICsScriptApi seam) Fixes: rotary IK round-trip anchored to pre-FK interpolated angle; ForceAccelShot.ReadRows skips blank lines HiNc Packages Version 3.1.167 Introduce SoftNcRunner as a pluggable NC parser/runner replacing the legacy HardNcRunner; opt in via EnableSoftNcRunner. see HardNc → SoftNc Rewrite — Progress Report for the in-flight rewrite scope and remaining work Extend coolant model to CoolantMode Flood/Mist/Off and refactor CoolantHeatCondition / MillingTemperatureUtil for multi-mode coolant Bind session events to MachiningSession lifetime: SessionStepBuilt, SessionStepSelected, SessionSyntaxPieceRan, SessionSourcedActEntry (legacy aliases kept as [Obsolete]); add RegisterWriteSyntaxPieces / RegisterWriteSyntaxPiecesWithActs for syntax-piece debug tracing Add ProjectApiVersion carrier through XFactory deserialization for project-XML version negotiation; resolve Workpiece through a lazy Func getter in WorkpieceService HiNc Packages Version 3.1.162 Refactor message management into three independent categories: Diagnostic (IProgress), UI Notification (MessageBoardUtil), App Log (ILogger); remove MessageUtil class entirely and remove ExceptionUtil.ShowException / ExceptionUtil.OnShown (see Message Management) Thread IProgress through XFactory deserialization chain and MachiningProject loading; remove GenMode enum entirely (see XML IO) Add ActionProgress.FromLogger to bridge IProgress APIs to ILogger Rename ShowIfCatched → CatchExceptions with explicit Action handler; remove RoutineBlocker0 Extract WorkpieceService from Workpiece for runtime geometry operations Update ISO coordinate rendering for 3+2 axis machines: coordinate position now uses IsoCoordinateEntryDisplayee with full machining chain anchor instead of table-buckle-only anchor Rename SessionMessageHost → SessionProgress on both SessionProgress and SessionProgress (SessionShell.SessionMessageHost is kept as [Obsolete]) Remove obsolete HiLog logging utility and DynamicMachiningProjectDisplayee0 HiNc Packages Version 3.1.160 Fix NC optimization R-format arc interpolation with negative R values (follow-up to v158 R-format arc fix) Fix cubetree construction defect when a triangle edge passes through a wire corner Mech Builder: geometry (STL) file picker for anchored transformation now offers Project directory in addition to Resource directory. Rename XML IO utilities: XmlSourceAndFile → FileRefSource, CombineAsSubDirectory → GetResourceDirectory, MakeXmlSourceWithRebaseFile → MakeXmlSourceToFileRef HiNc Packages Version 3.1.158 Fix G53.1 tool height compensation behavior: replace NcEnv.SetToolHeightCompensationOnFeatureNormal configuration with automatic detection via NC flag state Make EnableIntegerShrinkOnPositionCommand configurable via project settings (previously hard-coded by CNC brand, now defaults to false with XML IO support) Fix NC optimization splitting R-format arcs (G02/G03 with R parameter) by converting to IJK format, since R sign meaning does not apply correctly to individual fragments Fix step.csv reading crash on null or malformed values Fix XML IO sub-base directory not applied in some project file operations Improve CSV actual time parsing to support DateTime format in addition to TimeSpan (see Workflow: Basic Machining Simulation) Fix CSV title parsing to trim surrounding quotes HiNc Packages Version 3.1.156 Fix G68 coordinate rotation transformation for non-origin rotation centers Fix NC optimization arc/circle offset when splitting arc fragments across multiple lines Fix optimization rotation code jumping at ±180° cycle boundary by applying cyclic angle comparison Fix RTCP on unmatched tool offset Fix blocking issue when time-mapping file not found Fix FlagsText always null after NC parser refactoring HiNc Packages Version 3.1.150 Add cubetree geometry defect scanning (ScanRuntimeGeomInfDefect) and clearing (ClearDefectDisplayee) for detecting and visualizing geometry anomalies in workpieces (see Workflow: Geometry Validation) Upgrade internal fraction representation to float128 precision for improved cubetree geometry accuracy and numerical stability Refactor messaging system from IMessageHost to standard IProgress pattern; SessionProgress (formerly SessionMessageHost) now implements IProgress, and all messaging methods renamed from Add* to Report* (e.g., AddProgress → ReportProgress) Fix cubetree initialization crash Improve postprocess precision by applying sin–cos parameterization instead of direct angle-based formulation for rotary axis numerical solving in XyzabcSolver Add asynchronous anchor solid preparation on project load for improved startup performance HiNc Packages Version 3.1.144 Enhance Siemens Sinumerik support: Siemens CYCLE800 coordinate transform and reset Siemens MCALL CYCLE81() drilling cycle parsing Siemens TRAORI/TRAFOOF/SUPA flag parsing Fix Siemens TRAFOOF plain rotation coordinate transform issue Fix Siemens coordinate transform for successive file running Fix relief face collision floating-point precision issue Replace MongoDB with SQLite for local step data storage (significant package size reduction) Add machining and motion resolution dynamic adjustment functions HiNc Packages Version 3.1.106 Rename mapping API for clearer naming: ReadCsvByTimeInterpolation → MapSingleByCsvFile (one-to-one mapping) MapByActualTime → MapSeriesByCsvFile (one-to-many mapping) Rename CSV column prefix Spindle to Holder for sensor data mapping Unify CSV column tags to MappingUtil for consistent data mapping Fix ChartRange manipulation to be time-based instead of step-based for more accurate time chart display Tune thread priority for machining parallel processing to improve UI responsiveness during simulation Various code cleanup and improvements HiNc Packages Version 3.1.102 Separate resource files (Resource, wwwroot, Doc) to HiNc-Resource nuget package for smaller package size Add ScaledFeedPerCycle function for scaled feed-per-cycle machining motion resolution Upgrade target framework to .NET 10.0 Various code cleanup and improvements HiNc Packages Version 3.1.100 Refactor project architecture: split runtime functions from MachiningProject to LocalProjectService for better separation of concerns Improve MillingTraining module with separate lead and result parameter templates for more accurate cutting parameter training Separate C++ library for code protection Add UTF-8 file path support for runtime geometry IO operations Improve CsvRunner with enhanced time mapping pattern Various architecture improvements and bug fixes HiNc Packages Version 3.1.91 Add NcOptimizationEmbeddedLogMode to control embedded log detail level (None/SimpleLog/FullLog) (see Embedded Log Comments). Fix bug of NcOptProc duplicated feedrate assignment HiNc Packages Version 3.1.90 Rename optimization log API EnableIndividualStepAdjustmentLog Fix crash from workpiece displaying with specific mechanical topology setting 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 Optimization Logs): .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 SessionShell by unifying SessionProgress 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 detection (ReliefFaceCollidingSpeed_mmds, IsReliefFaceCollided) and optimization (EnableLimitByReliefAngle) Add UpdateNcOptOption function to step processing Fix step ordering bug from concurrent processing Fix ClStrip shrinking to zero issue" }, "release-note/softnc-rewrite-report.html": { "href": "release-note/softnc-rewrite-report.html", @@ -7052,7 +7052,7 @@ "sample/Sample.MachineTool.DemoBuildMachineTool.html": { "href": "sample/Sample.MachineTool.DemoBuildMachineTool.html", "title": "Class DemoBuildMachineTool | HiAPI-C# 2025", - "summary": "Class DemoBuildMachineTool Namespace Sample.MachineTool Assembly Hi.Sample.dll Provides access to the PMC-B1 machine tool model. public class DemoBuildMachineTool : IGetCodeXyzabcMachineTool Inheritance object DemoBuildMachineTool Implements IGetCodeXyzabcMachineTool Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Remarks Source Code using Hi.Common.XmlUtils; using Hi.Geom; using Hi.Mech; using Hi.Mech.Topo; using Hi.NcMech; using Hi.NcMech.Solids; using Hi.NcMech.Xyzabc; using Hi.Numerical.Xyzabc; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Xml.Linq; namespace Sample.MachineTool { /// /// Provides access to the PMC-B1 machine tool model. /// /// /// ### Source Code /// [!code-csharp[SampleCode](~/../Hi.Sample/MachineTool/DemoBuildMachineTool.cs)] /// public class DemoBuildMachineTool : IGetCodeXyzabcMachineTool { static DemoBuildMachineTool() { XFactory.Generators.Add(XName, (xml, baseDirectory, relFile, progress, res) => new DemoBuildMachineTool()); } /// /// Generates an XYZ-ABC machine tool instance from embedded resources. /// /// A configured machine tool model. public static CodeXyzabcMachineTool GenXyzabcMachineTool() { CodeXyzabcChain chain = new CodeXyzabcChain(\"[O][Y][X][C][w];[O][Z][B][S][t]\"); if (chain.ToolBuckleTransformer is StaticTranslation st) st.Trans = new Vec3d(-72.40, 72.40, 176.44); chain.TransformerB.Pivot = new Vec3d(-72.4, -177.4, 225.94); Dictionary solidMap = new Dictionary() { [\"O\"] = new Solid(new Stl(\"MachineTool/base.stl\")), [\"X\"] = new Solid(new Stl(\"MachineTool/X.stl\")), [\"Y\"] = new Solid(new Stl(\"MachineTool/Y.stl\")), [\"Z\"] = new Solid(new Stl(\"MachineTool/Z.stl\")), [\"B\"] = new Solid(new Stl(\"MachineTool/B.stl\")), [\"C\"] = new Solid(new Stl(\"MachineTool/C.stl\")), [\"S\"] = new Solid(new Stl(\"MachineTool/spindle.stl\")), }; chain.AnchorToSolid.BuildAnchorToSolid( chain.Asmb.GetDescendantAnchors(), solidMap); CodeXyzabcMachineTool dst = new CodeXyzabcMachineTool(chain); dst.GenerateCollisionIndexPairs(); return dst; } /// /// The cached machine tool instance. /// CodeXyzabcMachineTool MachineTool { get; } /// /// Default constructor that initializes the machine tool model. /// public DemoBuildMachineTool() { MachineTool = GenXyzabcMachineTool(); } #region XML IO //public PmcB1MachineToolSource(XElement src, object res) : this() { } /// /// XML element name for serialization. /// public static string XName = nameof(DemoBuildMachineTool); /// public XElement ToXElement() => new XElement(XName); #endregion /// public CodeXyzabcMachineTool GetXyzabcMachineTool() => MachineTool; /// public IMachiningChain GetMachiningChain() => MachineTool; } } Constructors DemoBuildMachineTool() Default constructor that initializes the machine tool model. public DemoBuildMachineTool() Fields XName XML element name for serialization. public static string XName Field Value string Methods GenXyzabcMachineTool() Generates an XYZ-ABC machine tool instance from embedded resources. public static CodeXyzabcMachineTool GenXyzabcMachineTool() Returns CodeXyzabcMachineTool A configured machine tool model. GetMachiningChain() public IMachiningChain GetMachiningChain() Returns IMachiningChain GetXyzabcMachineTool() Get CodeXyzabcMachineTool. public CodeXyzabcMachineTool GetXyzabcMachineTool() Returns CodeXyzabcMachineTool Machine tool. ToXElement() public XElement ToXElement() Returns XElement" + "summary": "Class DemoBuildMachineTool Namespace Sample.MachineTool Assembly Hi.Sample.dll Provides access to the PMC-B1 machine tool model. public class DemoBuildMachineTool : IGetCodeXyzabcMachineTool Inheritance object DemoBuildMachineTool Implements IGetCodeXyzabcMachineTool Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Remarks Source Code using Hi.Common.XmlUtils; using Hi.Geom; using Hi.Mech; using Hi.Mech.Topo; using Hi.NcMech; using Hi.NcMech.Solids; using Hi.NcMech.Xyzabc; using Hi.Numerical.Xyzabc; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Xml.Linq; namespace Sample.MachineTool { /// /// Provides access to the PMC-B1 machine tool model. /// /// /// ### Source Code /// [!code-csharp[SampleCode](~/../Hi.Sample/MachineTool/DemoBuildMachineTool.cs)] /// public class DemoBuildMachineTool : IGetCodeXyzabcMachineTool { /// /// Registers this type's deserializer with the given /// (or when is /// null). Idempotent. /// public static void Reg(XFactory factory = null) { factory ??= XFactory.Default; factory.Generators.TryAdd(XName, (xml, baseDirectory, relFile, progress, res) => new DemoBuildMachineTool()); } /// /// Generates an XYZ-ABC machine tool instance from embedded resources. /// /// A configured machine tool model. public static CodeXyzabcMachineTool GenXyzabcMachineTool() { CodeXyzabcChain chain = new CodeXyzabcChain(\"[O][Y][X][C][w];[O][Z][B][S][t]\"); if (chain.ToolBuckleTransformer is StaticTranslation st) st.Trans = new Vec3d(-72.40, 72.40, 176.44); chain.TransformerB.Pivot = new Vec3d(-72.4, -177.4, 225.94); Dictionary solidMap = new Dictionary() { [\"O\"] = new Solid(new Stl(\"MachineTool/base.stl\")), [\"X\"] = new Solid(new Stl(\"MachineTool/X.stl\")), [\"Y\"] = new Solid(new Stl(\"MachineTool/Y.stl\")), [\"Z\"] = new Solid(new Stl(\"MachineTool/Z.stl\")), [\"B\"] = new Solid(new Stl(\"MachineTool/B.stl\")), [\"C\"] = new Solid(new Stl(\"MachineTool/C.stl\")), [\"S\"] = new Solid(new Stl(\"MachineTool/spindle.stl\")), }; chain.AnchorToSolid.BuildAnchorToSolid( chain.Asmb.GetDescendantAnchors(), solidMap); CodeXyzabcMachineTool dst = new CodeXyzabcMachineTool(chain); dst.GenerateCollisionIndexPairs(); return dst; } /// /// The cached machine tool instance. /// CodeXyzabcMachineTool MachineTool { get; } /// /// Default constructor that initializes the machine tool model. /// public DemoBuildMachineTool() { MachineTool = GenXyzabcMachineTool(); } #region XML IO //public PmcB1MachineToolSource(XElement src, object res) : this() { } /// /// XML element name for serialization. /// public static string XName = nameof(DemoBuildMachineTool); /// public XElement ToXElement() => new XElement(XName); #endregion /// public CodeXyzabcMachineTool GetXyzabcMachineTool() => MachineTool; /// public IMachiningChain GetMachiningChain() => MachineTool; } } Constructors DemoBuildMachineTool() Default constructor that initializes the machine tool model. public DemoBuildMachineTool() Fields XName XML element name for serialization. public static string XName Field Value string Methods GenXyzabcMachineTool() Generates an XYZ-ABC machine tool instance from embedded resources. public static CodeXyzabcMachineTool GenXyzabcMachineTool() Returns CodeXyzabcMachineTool A configured machine tool model. GetMachiningChain() public IMachiningChain GetMachiningChain() Returns IMachiningChain GetXyzabcMachineTool() Get CodeXyzabcMachineTool. public CodeXyzabcMachineTool GetXyzabcMachineTool() Returns CodeXyzabcMachineTool Machine tool. Reg(XFactory) Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent. public static void Reg(XFactory factory = null) Parameters factory XFactory ToXElement() public XElement ToXElement() Returns XElement" }, "sample/Sample.MachineTool.DemoBuildMachineToolWithoutGeometrys.html": { "href": "sample/Sample.MachineTool.DemoBuildMachineToolWithoutGeometrys.html", diff --git a/App/wwwroot/HiAPI-docsite/manifest.json b/App/wwwroot/HiAPI-docsite/manifest.json index 823d7736..a5aad312 100644 --- a/App/wwwroot/HiAPI-docsite/manifest.json +++ b/App/wwwroot/HiAPI-docsite/manifest.json @@ -2836,7 +2836,7 @@ "Uid": null, "IsMRef": true, "Title": "Hi.Common.XmlUtils.XFactory.XGeneratorDelegate", - "Summary": "

Delegate for generating objects from XML elements with relative file path.

\n" + "Summary": "

Delegate for generating an object from an XML element with relative\nfile path context.

\n" }, { "type": "ManagedReference", @@ -2864,7 +2864,7 @@ "Uid": null, "IsMRef": true, "Title": "Hi.Common.XmlUtils.XFactory", - "Summary": "

Factory class for generating objects from XML elements using registered generator functions.

\n" + "Summary": "

Factory for generating objects from XML elements using registered generator\nfunctions.

\n" }, { "type": "ManagedReference", @@ -9962,7 +9962,7 @@ "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Dependencys.Fanuc.FanucToolOffsetVariableLookup", - "Summary": "

Fanuc-side adapter that exposes a wrapped \n(resolved at call time from the dependency list) as an\n following Fanuc Memory C tool\noffset addressing: #2001+N → effective height of offset N\n(geometry − wear).

\n

\nThe underlying stays brand-neutral —\nHeidenhain / Siemens can use the same storage with different addressing\nby registering their own adapter alongside the table. Stateless: holds\nno reference of its own and resolves the table from the per-call\ndependencies list, so XML round-trip is trivial (an empty element).\n

\n

\nRegistered on a brand preset's\nVariableEvaluatorSyntax.RuntimeVariableLookups, not on\n — the wrapper owns no\nlong-lived data, only the Fanuc-style id addressing scheme. The\nunderlying still lives in\nNcDependencyList as the data dependency.\n

\n" + "Summary": "

Fanuc-side adapter that exposes a wrapped \n(resolved at call time from the dependency list) as an\n following Fanuc Memory C tool\noffset addressing: #2001+N → effective height of offset N\n(geometry − wear).

\n

\nThe underlying stays brand-neutral —\nHeidenhain / Siemens can use the same storage with different addressing\nby registering their own adapter alongside the table. Stateless: holds\nno reference of its own and resolves the table from the per-call\ndependencies list, so XML round-trip is trivial (an empty element).\n

\n

\nRegistered on a brand preset's\n, not on\n — the wrapper owns no\nlong-lived data, only the Fanuc-style id addressing scheme. The\nunderlying still lives in\nNcDependencyList as the data dependency.\n

\n" }, { "type": "ManagedReference", @@ -10760,7 +10760,7 @@ "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax", - "Summary": "

Resolves Fanuc Custom Macro B GOTO control flow.\nTriggered by Parsing.FanucGoto (written by\n); decides whether\nto fire, and on fire calls\n on layers[0] with\nthe re-segmented file content starting at the matching N{target}\nlabel. The host block stays materialised (so cache dumps still see the\nGOTO call site); execution naturally continues from the new source\nonce the pipeline pulls the next block.

\n

\nBoth unconditional GOTO <n> and conditional\nIF [<expr>] GOTO <n> are implemented. The conditional\nform leans on 's pass-2 tree walk\nto substitute Parsing.FanucGoto.Condition with a numeric\n when the expression\nevaluates successfully — then reads the\nnode polymorphically. Truthy non-zero fires the redirect; zero falls\nthrough silently; a still-string (unresolved) Condition emits\nFanucGoto--ConditionNotEvaluated and falls through.\n

\n

\nPipeline placement: tail of the Fanuc / Mazak / Syntec Evaluation\nbundle. Must run after so any\n#<var> in the target N (e.g. GOTO #1) has been\nsubstituted to a literal in Parsing.FanucGoto.N. Reader syntaxes\n( etc.) are independent —\nthey touch Parsing.Assignments, not Parsing.FanucGoto.\n

\n

\nLabel scanning uses two hosted helper syntaxes —\nCommentSyntax and IndexSyntax — applied to\neach candidate block in turn so the predicate\nIndexNote.Number == target matches the same way the Parsing\nbundle would. Both are XML-IO-able so API customers can swap them\n(e.g. for a controller variant using ;-style comments or a\ndifferent head symbol). Defaults match Fanuc: \nand with the \"N\" symbol.\n

\n" + "Summary": "

Resolves Fanuc Custom Macro B GOTO control flow.\nTriggered by Parsing.FanucGoto (written by\n); decides whether\nto fire, and on fire calls\n on layers[0] with\nthe re-segmented file content starting at the matching N{target}\nlabel. The host block stays materialised (so cache dumps still see the\nGOTO call site); execution naturally continues from the new source\nonce the pipeline pulls the next block.

\n

\nBoth unconditional GOTO <n> and conditional\nIF [<expr>] GOTO <n> are implemented. The conditional\nform leans on 's pass-2 tree walk\nto substitute Parsing.FanucGoto.Condition with a numeric\n when the expression\nevaluates successfully — then reads the\nnode polymorphically. Truthy non-zero fires the redirect; zero falls\nthrough silently; a still-string (unresolved) Condition emits\nFanucGoto--ConditionNotEvaluated and falls through.\n

\n

\nPipeline placement: tail of the Fanuc / Mazak / Syntec Evaluation\nbundle. Must run after so any\n#<var> in the target N (e.g. GOTO #1) has been\nsubstituted to a literal in Parsing.FanucGoto.N. Reader syntaxes\n( etc.) are independent —\nthey touch Parsing.Assignments, not Parsing.FanucGoto.\n

\n

\nLabel scanning uses two hosted helper syntaxes —\nCommentSyntax and IndexSyntax — applied to\neach candidate block in turn so the predicate\nIndexNote.Number == target matches the same way the Parsing\nbundle would. Both are XML-IO-able so API customers can swap them\n(e.g. for a controller variant using ;-style comments or a\ndifferent head symbol). Defaults match Fanuc: \nand with the \"N\" symbol.\n

\n" }, { "type": "ManagedReference", @@ -10816,7 +10816,7 @@ "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax", - "Summary": "

Inlines a Fanuc Custom Macro B one-shot call (G65 P_ L_ [letter\nvalue …]) into the source layer and binds the call-line argument\nletters to Vars.Local #1-#26 per the Type-I map (see\n). Every inlined block carries the\nbinding dict, a clone of the diagnostic\nrecord, and a id stamp — so\nLocalVariableLookup resolves arg references in a\nsingle-block lookup, a cache dump landing on any block immediately\nshows which call it belongs to, and downstream\n carries body-internal\n#1-#33 writes forward only within the same frame. The host\nblock itself records but stays in the\ncaller's frame (no stamp) and emits no\nmotion act; after the macro body's last inlined block the pipeline\ncontinues naturally into the caller's next block (the inlined pieces\nsit ahead of the host block's successor in layers[0]).

\n

\nFrame isolation works on two layers. Statically, caller blocks\nhave no stamp (frame id 0 by\n), so the inlined frame ids (allocated\nfresh per L-repetition) never collide with main. Dynamically,\nLocalVariableLookup and\n compare frame ids\nbefore carrying any Vars.Local entry across a block boundary\n— a macro body's body-internal writes therefore stay inside the\nmacro and never leak back into the caller's frame.\n

\n

\nFilename lookup mirrors :\nO{P:D4}.NC, O{P}.NC, O{P:D4}, O{P},\n{P:D4}.NC, {P}.NC — first match wins. The lookup root\nis (G65 has no\n\"external storage\" variant; M198's external root is M98/M198-only).\n

\n

\nL > 1 inlines the same macro L times in series. Each\nrepetition is a fresh segmentation pass (so each block gets its own\n JSON object — the downstream pipeline\nmutates JSON in place and would clobber sibling repetitions if\ninstances were shared) and gets a fresh FileIndex (so\n(FileIndex, LineIndex) pairs stay unique across the\nL-copies of the same source lines).\n

\n

\nPipeline placement: ahead of inside\nthe Fanuc Evaluation \nso a hypothetical G65 P_ + M98 P_ on the same block\nexpands the G65 macro first (would be an unusual but legal\ncomposition). Detection is on the Parsing.G65 sub-object\nwritten by \n(a ) — the\nkeyword \"G65\" never reaches Parsing.Flags because the\nparameterized match has already consumed the text by the time\n runs.\n

\n" + "Summary": "

Inlines a Fanuc Custom Macro B one-shot call (G65 P_ L_ [letter\nvalue …]) into the source layer and binds the call-line argument\nletters to Vars.Local #1-#26 per the Type-I map (see\n). Every inlined block carries the\nbinding dict, a clone of the diagnostic\nrecord, and a id stamp — so\n resolves arg references in a\nsingle-block lookup, a cache dump landing on any block immediately\nshows which call it belongs to, and downstream\n carries body-internal\n#1-#33 writes forward only within the same frame. The host\nblock itself records but stays in the\ncaller's frame (no stamp) and emits no\nmotion act; after the macro body's last inlined block the pipeline\ncontinues naturally into the caller's next block (the inlined pieces\nsit ahead of the host block's successor in layers[0]).

\n

\nFrame isolation works on two layers. Statically, caller blocks\nhave no stamp (frame id 0 by\n), so the inlined frame ids (allocated\nfresh per L-repetition) never collide with main. Dynamically,\n and\n compare frame ids\nbefore carrying any Vars.Local entry across a block boundary\n— a macro body's body-internal writes therefore stay inside the\nmacro and never leak back into the caller's frame.\n

\n

\nFilename lookup mirrors :\nO{P:D4}.NC, O{P}.NC, O{P:D4}, O{P},\n{P:D4}.NC, {P}.NC — first match wins. The lookup root\nis (G65 has no\n\"external storage\" variant; M198's external root is M98/M198-only).\n

\n

\nL > 1 inlines the same macro L times in series. Each\nrepetition is a fresh segmentation pass (so each block gets its own\n JSON object — the downstream pipeline\nmutates JSON in place and would clobber sibling repetitions if\ninstances were shared) and gets a fresh FileIndex (so\n(FileIndex, LineIndex) pairs stay unique across the\nL-copies of the same source lines).\n

\n

\nPipeline placement: ahead of inside\nthe Fanuc Evaluation \nso a hypothetical G65 P_ + M98 P_ on the same block\nexpands the G65 macro first (would be an unusual but legal\ncomposition). Detection is on the Parsing.G65 sub-object\nwritten by \n(a ) — the\nkeyword \"G65\" never reaches Parsing.Flags because the\nparameterized match has already consumed the text by the time\n runs.\n

\n" }, { "type": "ManagedReference", @@ -10886,7 +10886,7 @@ "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil", - "Summary": "

Shared “re-segment a file and skip pieces until a label matches”\nscan, used by both\n (unconditional GOTO redirect)\nand (M99 P{seq} jump\ninto the caller file). Reads the file via\n, segments through the\nprovided , runs the\nprobeSyntaxes on each candidate block to\nextract IndexNote.Number, and returns the slice from the\nfirst matching block to EOF.

\n

\nReturns null when no block matches — the caller's\nresponsibility to surface the appropriate diagnostic. The probes\nare idempotent because the downstream Parsing bundle re-runs the\nsame syntaxes on the yielded pieces with no-op effect (the regex\npatterns no longer match once the N-prefix is consumed and the\nparenthesised comment stripped).\n

\n" + "Summary": "

Shared “re-segment a file and skip pieces until a label matches”\nscan, used by both\n (unconditional GOTO redirect)\nand (M99 P{seq} jump\ninto the caller file). Reads the file via\n, segments through the\nprovided , runs the\ncaller-supplied probe syntaxes on each candidate block to\nextract IndexNote.Number, and returns the slice from the\nfirst matching block to EOF.

\n

\nReturns null when no block matches — the caller's\nresponsibility to surface the appropriate diagnostic. The probes\nare idempotent because the downstream Parsing bundle re-runs the\nsame syntaxes on the yielded pieces with no-op effect (the regex\npatterns no longer match once the N-prefix is consumed and the\nparenthesised comment stripped).\n

\n" }, { "type": "ManagedReference", @@ -11376,7 +11376,7 @@ "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Keywords.FanucGoto", - "Summary": "

Fanuc Custom Macro B GOTO record. Stamped on the host block by\n after the control-flow\ndecision has been made; produced earlier by\n as a parsing-stage\nsub-section (Parsing.FanucGoto) carrying the raw captured fields.

\n

\nTwo source forms map to the same shape:\n

  • GOTO <n> — unconditional jump. is null.
  • IF [<bool-expr>] GOTO <n> — conditional jump.\n holds the expression text from inside the\n brackets.
\n\n

\nAt parsing time is a raw token from the source — it may\nbe a literal (\"100\"), a variable reference (\"#1\"), or a\nbracketed expression (\"#[#2+5]\"). VariableEvaluatorSyntax\nsubstitutes a resolved literal back into the same field in the\nEvaluation bundle; then\nint.TryParses the final string to produce an int target.\n

\n" + "Summary": "

Fanuc Custom Macro B GOTO record. Stamped on the host block by\n after the control-flow\ndecision has been made; produced earlier by\n as a parsing-stage\nsub-section (Parsing.FanucGoto) carrying the raw captured fields.

\n

\nTwo source forms map to the same shape:\n

  • GOTO <n> — unconditional jump. is null.
  • IF [<bool-expr>] GOTO <n> — conditional jump.\n holds the expression text from inside the\n brackets.
\n\n

\nAt parsing time is a raw token from the source — it may\nbe a literal (\"100\"), a variable reference (\"#1\"), or a\nbracketed expression (\"#[#2+5]\"). \nsubstitutes a resolved literal back into the same field in the\nEvaluation bundle; then\nint.TryParses the final string to produce an int target.\n

\n" }, { "type": "ManagedReference", @@ -11390,7 +11390,7 @@ "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Keywords.FanucIfThen", - "Summary": "

Fanuc Custom Macro B IF [<cond>] THEN <body>\nsingle-block conditional record. Stamped on the host block by\n after the gate\ndecision; produced earlier by\n as a parsing-stage\nsub-section (Parsing.FanucIfThen) carrying the raw captured fields\nplus an internal PendingAssignments sub-object harvested from the\nbody text.

\n

\nSpec: IF [bool-expr] THEN <stmt> executes <stmt>\nonly when the condition is truthy. Unlike 's\nconditional form there is no jump — the body affects the current block\nonly, no source splice, no label scan, no iteration watchdog. The most\ncommon body shape is a single Custom Macro B assignment\n(#nnn = <expr>); multiple assignments in one body are also\naccepted and lifted together.\n

\n

\n is held as a string at parsing time so\nVariableEvaluatorSyntax's pass-2 tree walk can substitute\nit to a numeric in place;\nthe FanucIfThenSyntax tail then reads the resolved node polymorphically\nvia the same ReadCondition shape used by\n.\n

\n" + "Summary": "

Fanuc Custom Macro B IF [<cond>] THEN <body>\nsingle-block conditional record. Stamped on the host block by\n after the gate\ndecision; produced earlier by\n as a parsing-stage\nsub-section (Parsing.FanucIfThen) carrying the raw captured fields\nplus an internal PendingAssignments sub-object harvested from the\nbody text.

\n

\nSpec: IF [bool-expr] THEN <stmt> executes <stmt>\nonly when the condition is truthy. Unlike 's\nconditional form there is no jump — the body affects the current block\nonly, no source splice, no label scan, no iteration watchdog. The most\ncommon body shape is a single Custom Macro B assignment\n(#nnn = <expr>); multiple assignments in one body are also\naccepted and lifted together.\n

\n

\n is held as a string at parsing time so\n's pass-2 tree walk can substitute\nit to a numeric in place;\nthe FanucIfThenSyntax tail then reads the resolved node polymorphically\nvia the same ReadCondition shape used by\n.\n

\n" }, { "type": "ManagedReference", @@ -11404,7 +11404,7 @@ "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Keywords.FanucMacroCall", - "Summary": "

One-shot custom-macro-call record written by\n. Lives on both the\nG65 host block (the caller) and every inlined block of the\nmacro body — so a cache-dump reader can land on any block inside the\nmacro and immediately see “this block belongs to a G65 call of\nFile with these argument bindings” without back-walking\nto find the host.

\n

\nEach inlined block additionally carries the resolved\nVars.Local #1-#26 bindings derived from \n(see ), so\n\nresolves macro args in a single-block lookup. Frame isolation is\nstructural: caller blocks never have Vars.Local written, so\nafter the macro body ends, the next caller block reads null\nfor any #1-#26 without any explicit frame marker.\n

\n" + "Summary": "

One-shot custom-macro-call record written by\n. Lives on both the\nG65 host block (the caller) and every inlined block of the\nmacro body — so a cache-dump reader can land on any block inside the\nmacro and immediately see “this block belongs to a G65 call of\n with these argument bindings” without back-walking\nto find the host.

\n

\nEach inlined block additionally carries the resolved\nVars.Local #1-#26 bindings derived from \n(see ), so\n\nresolves macro args in a single-block lookup. Frame isolation is\nstructural: caller blocks never have Vars.Local written, so\nafter the macro body ends, the next caller block reads null\nfor any #1-#26 without any explicit frame marker.\n

\n" }, { "type": "ManagedReference", @@ -11964,7 +11964,7 @@ "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Keywords.MacroFrame", - "Summary": "

Top-level integer marker stamped onto a SyntaxPiece's JSON\nto identify which call frame the block belongs to. Brand-agnostic by\ndesign — written by \ntoday, reusable by any future call-inlining syntax (Fanuc G66\nmodal expansion, Heidenhain LBL CALL, …) that needs\nlocal-variable isolation across call boundaries.

\n

\nSemantics: the value is an opaque id; only equality matters. Two\nblocks with the same id share a call frame\n(locals visible across them via single-step carry); two blocks with\ndifferent ids do not. The id 0 is reserved for the main\nprogram frame and is returned by when the field is\nabsent — so a plain caller block needs no stamp and yet compares\ndistinct from any inlined frame.\n

\n

\nStored as a top-level JSON int (not an object section) so it stays\nlightweight on every inlined block. Decoupled from\n: that section is a diagnostic record of\nthe call (what file, what args), while MacroFrame is the\npurely functional marker the local-variable I/O syntaxes consult.\n

\n" + "Summary": "

Top-level integer marker stamped onto a 's JSON\nto identify which call frame the block belongs to. Brand-agnostic by\ndesign — written by \ntoday, reusable by any future call-inlining syntax (Fanuc G66\nmodal expansion, Heidenhain LBL CALL, …) that needs\nlocal-variable isolation across call boundaries.

\n

\nSemantics: the value is an opaque id; only equality matters. Two\nblocks with the same id share a call frame\n(locals visible across them via single-step carry); two blocks with\ndifferent ids do not. The id 0 is reserved for the main\nprogram frame and is returned by when the field is\nabsent — so a plain caller block needs no stamp and yet compares\ndistinct from any inlined frame.\n

\n

\nStored as a top-level JSON int (not an object section) so it stays\nlightweight on every inlined block. Decoupled from\n: that section is a diagnostic record of\nthe call (what file, what args), while MacroFrame is the\npurely functional marker the local-variable I/O syntaxes consult.\n

\n" }, { "type": "ManagedReference", @@ -12776,7 +12776,7 @@ "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax", - "Summary": null + "Summary": "

G28 reference point return syntax. Behaviour is documented in detail\non the example attached to ; this class\nis the implementation that the\n property configures.

\n" }, { "type": "ManagedReference", diff --git a/App/wwwroot/HiAPI-docsite/release-note/index.html b/App/wwwroot/HiAPI-docsite/release-note/index.html index b20c3128..b501b0b9 100644 --- a/App/wwwroot/HiAPI-docsite/release-note/index.html +++ b/App/wwwroot/HiAPI-docsite/release-note/index.html @@ -87,6 +87,10 @@

Release Note

+

HiNc Packages Version 3.1.172

+
    +
  • Replace implicit XFactory registration (private static <ClassName>() constructors + _ = X.XName wake-up touches) with explicit public static void Reg(XFactory factory = null) methods across ~270 classes. XFactory becomes an instance class with a process-wide Default singleton; Generators is renamed from Regs and now an instance property; the delegate type is renamed XGeneratorDelegate from GenByXElementDelegate. Composite types chain X.Reg(factory) on dependents in place of the old wake-up touches; multi-name (legacy alias) registrations keep the current XName first and group aliases under a //legacy aliases comment. Entry points (web service, win-desktop, test fixtures) must call Reg once at startup before any project XML is deserialized — registration no longer happens by accident when the type is first touched. See XML IO.
  • +

HiNc Packages Version 3.1.171

  • Rename RuntimeApiSessionShell (the runtime entry point exposed to scripting); IShellCommandISessionCommand and RuntimeControllerSessionShellController; the Hi.ShellCommands namespace moves to Hi.SessionCommands, and every command implementer's Run() parameter renames scriptApisessionShell
  • diff --git a/App/wwwroot/HiAPI-docsite/sample/Sample.MachineTool.DemoBuildMachineTool.html b/App/wwwroot/HiAPI-docsite/sample/Sample.MachineTool.DemoBuildMachineTool.html index d56fb06d..0fdef668 100644 --- a/App/wwwroot/HiAPI-docsite/sample/Sample.MachineTool.DemoBuildMachineTool.html +++ b/App/wwwroot/HiAPI-docsite/sample/Sample.MachineTool.DemoBuildMachineTool.html @@ -180,9 +180,15 @@ namespace Sample.MachineTool /// </remarks> public class DemoBuildMachineTool : IGetCodeXyzabcMachineTool { - static DemoBuildMachineTool() + /// <summary> + /// Registers this type's deserializer with the given <see cref="XFactory"/> + /// (or <see cref="XFactory.Default"/> when <paramref name="factory"/> is + /// <c>null</c>). Idempotent. + /// </summary> + public static void Reg(XFactory factory = null) { - XFactory.Generators.Add(XName, (xml, baseDirectory, relFile, progress, res) => new DemoBuildMachineTool()); + factory ??= XFactory.Default; + factory.Generators.TryAdd(XName, (xml, baseDirectory, relFile, progress, res) => new DemoBuildMachineTool()); } /// <summary> /// Generates an XYZ-ABC machine tool instance from embedded resources. @@ -409,6 +415,40 @@ namespace Sample.MachineTool + + +

    + Reg(XFactory) + +

    + +

    Registers this type's deserializer with the given XFactory +(or Default when factory is +null). Idempotent.

    +
    +
    + +
    +
    public static void Reg(XFactory factory = null)
    +
    + +

    Parameters

    +
    +
    factory XFactory
    +
    +
    + + + + + + + + + + + +

    diff --git a/App/wwwroot/HiAPI-docsite/xrefmap.yml b/App/wwwroot/HiAPI-docsite/xrefmap.yml index 1e0000a6..20a62e70 100644 --- a/App/wwwroot/HiAPI-docsite/xrefmap.yml +++ b/App/wwwroot/HiAPI-docsite/xrefmap.yml @@ -1269,6 +1269,19 @@ references: isSpec: "True" fullName: Hi.Cbtr.CubeTreeFile.MakeXmlSource nameWithType: CubeTreeFile.MakeXmlSource +- uid: Hi.Cbtr.CubeTreeFile.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Cbtr.CubeTreeFile.html#Hi_Cbtr_CubeTreeFile_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Cbtr.CubeTreeFile.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Cbtr.CubeTreeFile.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CubeTreeFile.Reg(XFactory) +- uid: Hi.Cbtr.CubeTreeFile.Reg* + name: Reg + href: api/Hi.Cbtr.CubeTreeFile.html#Hi_Cbtr_CubeTreeFile_Reg_ + commentId: Overload:Hi.Cbtr.CubeTreeFile.Reg + isSpec: "True" + fullName: Hi.Cbtr.CubeTreeFile.Reg + nameWithType: CubeTreeFile.Reg - uid: Hi.Cbtr.CubeTreeFile.SourceFile name: SourceFile href: api/Hi.Cbtr.CubeTreeFile.html#Hi_Cbtr_CubeTreeFile_SourceFile @@ -2625,6 +2638,19 @@ references: isSpec: "True" fullName: Hi.Collision.AnchoredCollidablePair.Name nameWithType: AnchoredCollidablePair.Name +- uid: Hi.Collision.AnchoredCollidablePair.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Collision.AnchoredCollidablePair.html#Hi_Collision_AnchoredCollidablePair_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Collision.AnchoredCollidablePair.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Collision.AnchoredCollidablePair.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: AnchoredCollidablePair.Reg(XFactory) +- uid: Hi.Collision.AnchoredCollidablePair.Reg* + name: Reg + href: api/Hi.Collision.AnchoredCollidablePair.html#Hi_Collision_AnchoredCollidablePair_Reg_ + commentId: Overload:Hi.Collision.AnchoredCollidablePair.Reg + isSpec: "True" + fullName: Hi.Collision.AnchoredCollidablePair.Reg + nameWithType: AnchoredCollidablePair.Reg - uid: Hi.Collision.AnchoredCollidablePair.SafeDistance name: SafeDistance href: api/Hi.Collision.AnchoredCollidablePair.html#Hi_Collision_AnchoredCollidablePair_SafeDistance @@ -2910,6 +2936,19 @@ references: isSpec: "True" fullName: Hi.Collision.CollisionIndexPair.MatAB nameWithType: CollisionIndexPair.MatAB +- uid: Hi.Collision.CollisionIndexPair.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Collision.CollisionIndexPair.html#Hi_Collision_CollisionIndexPair_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Collision.CollisionIndexPair.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Collision.CollisionIndexPair.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CollisionIndexPair.Reg(XFactory) +- uid: Hi.Collision.CollisionIndexPair.Reg* + name: Reg + href: api/Hi.Collision.CollisionIndexPair.html#Hi_Collision_CollisionIndexPair_Reg_ + commentId: Overload:Hi.Collision.CollisionIndexPair.Reg + isSpec: "True" + fullName: Hi.Collision.CollisionIndexPair.Reg + nameWithType: CollisionIndexPair.Reg - uid: Hi.Collision.CollisionIndexPair.SafeDistance name: SafeDistance href: api/Hi.Collision.CollisionIndexPair.html#Hi_Collision_CollisionIndexPair_SafeDistance @@ -4164,6 +4203,19 @@ references: isSpec: "True" fullName: Hi.Coloring.DictionaryColorGuide.RefreshSelectedColorGuide nameWithType: DictionaryColorGuide.RefreshSelectedColorGuide +- uid: Hi.Coloring.DictionaryColorGuide.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Coloring.DictionaryColorGuide.html#Hi_Coloring_DictionaryColorGuide_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Coloring.DictionaryColorGuide.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Coloring.DictionaryColorGuide.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: DictionaryColorGuide.Reg(XFactory) +- uid: Hi.Coloring.DictionaryColorGuide.Reg* + name: Reg + href: api/Hi.Coloring.DictionaryColorGuide.html#Hi_Coloring_DictionaryColorGuide_Reg_ + commentId: Overload:Hi.Coloring.DictionaryColorGuide.Reg + isSpec: "True" + fullName: Hi.Coloring.DictionaryColorGuide.Reg + nameWithType: DictionaryColorGuide.Reg - uid: Hi.Coloring.DictionaryColorGuide.SelectedColorGuide name: SelectedColorGuide href: api/Hi.Coloring.DictionaryColorGuide.html#Hi_Coloring_DictionaryColorGuide_SelectedColorGuide @@ -4320,6 +4372,19 @@ references: isSpec: "True" fullName: Hi.Coloring.DiscreteQuantityColorGuide.QuantityKey nameWithType: DiscreteQuantityColorGuide.QuantityKey +- uid: Hi.Coloring.DiscreteQuantityColorGuide.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Coloring.DiscreteQuantityColorGuide.html#Hi_Coloring_DiscreteQuantityColorGuide_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Coloring.DiscreteQuantityColorGuide.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Coloring.DiscreteQuantityColorGuide.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: DiscreteQuantityColorGuide.Reg(XFactory) +- uid: Hi.Coloring.DiscreteQuantityColorGuide.Reg* + name: Reg + href: api/Hi.Coloring.DiscreteQuantityColorGuide.html#Hi_Coloring_DiscreteQuantityColorGuide_Reg_ + commentId: Overload:Hi.Coloring.DiscreteQuantityColorGuide.Reg + isSpec: "True" + fullName: Hi.Coloring.DiscreteQuantityColorGuide.Reg + nameWithType: DiscreteQuantityColorGuide.Reg - uid: Hi.Coloring.DiscreteQuantityColorGuide.XName name: XName href: api/Hi.Coloring.DiscreteQuantityColorGuide.html#Hi_Coloring_DiscreteQuantityColorGuide_XName @@ -4454,6 +4519,19 @@ references: isSpec: "True" fullName: Hi.Coloring.FilteredColorGuide.MakeXmlSource nameWithType: FilteredColorGuide.MakeXmlSource +- uid: Hi.Coloring.FilteredColorGuide.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Coloring.FilteredColorGuide.html#Hi_Coloring_FilteredColorGuide_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Coloring.FilteredColorGuide.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Coloring.FilteredColorGuide.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FilteredColorGuide.Reg(XFactory) +- uid: Hi.Coloring.FilteredColorGuide.Reg* + name: Reg + href: api/Hi.Coloring.FilteredColorGuide.html#Hi_Coloring_FilteredColorGuide_Reg_ + commentId: Overload:Hi.Coloring.FilteredColorGuide.Reg + isSpec: "True" + fullName: Hi.Coloring.FilteredColorGuide.Reg + nameWithType: FilteredColorGuide.Reg - uid: Hi.Coloring.FilteredColorGuide.XName name: XName href: api/Hi.Coloring.FilteredColorGuide.html#Hi_Coloring_FilteredColorGuide_XName @@ -4601,6 +4679,19 @@ references: isSpec: "True" fullName: Hi.Coloring.FuncRangeColorGuide.RangeColorRule nameWithType: FuncRangeColorGuide.RangeColorRule +- uid: Hi.Coloring.FuncRangeColorGuide.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Coloring.FuncRangeColorGuide.html#Hi_Coloring_FuncRangeColorGuide_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Coloring.FuncRangeColorGuide.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Coloring.FuncRangeColorGuide.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FuncRangeColorGuide.Reg(XFactory) +- uid: Hi.Coloring.FuncRangeColorGuide.Reg* + name: Reg + href: api/Hi.Coloring.FuncRangeColorGuide.html#Hi_Coloring_FuncRangeColorGuide_Reg_ + commentId: Overload:Hi.Coloring.FuncRangeColorGuide.Reg + isSpec: "True" + fullName: Hi.Coloring.FuncRangeColorGuide.Reg + nameWithType: FuncRangeColorGuide.Reg - uid: Hi.Coloring.FuncRangeColorGuide.XName name: XName href: api/Hi.Coloring.FuncRangeColorGuide.html#Hi_Coloring_FuncRangeColorGuide_XName @@ -4845,6 +4936,19 @@ references: isSpec: "True" fullName: Hi.Coloring.PlainColorGuide.MakeXmlSource nameWithType: PlainColorGuide.MakeXmlSource +- uid: Hi.Coloring.PlainColorGuide.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Coloring.PlainColorGuide.html#Hi_Coloring_PlainColorGuide_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Coloring.PlainColorGuide.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Coloring.PlainColorGuide.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: PlainColorGuide.Reg(XFactory) +- uid: Hi.Coloring.PlainColorGuide.Reg* + name: Reg + href: api/Hi.Coloring.PlainColorGuide.html#Hi_Coloring_PlainColorGuide_Reg_ + commentId: Overload:Hi.Coloring.PlainColorGuide.Reg + isSpec: "True" + fullName: Hi.Coloring.PlainColorGuide.Reg + nameWithType: PlainColorGuide.Reg - uid: Hi.Coloring.PlainColorGuide.Rgb name: Rgb href: api/Hi.Coloring.PlainColorGuide.html#Hi_Coloring_PlainColorGuide_Rgb @@ -5014,6 +5118,19 @@ references: isSpec: "True" fullName: Hi.Coloring.QuantityColorGuide.RangeColorRule nameWithType: QuantityColorGuide.RangeColorRule +- uid: Hi.Coloring.QuantityColorGuide.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Coloring.QuantityColorGuide.html#Hi_Coloring_QuantityColorGuide_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Coloring.QuantityColorGuide.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Coloring.QuantityColorGuide.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: QuantityColorGuide.Reg(XFactory) +- uid: Hi.Coloring.QuantityColorGuide.Reg* + name: Reg + href: api/Hi.Coloring.QuantityColorGuide.html#Hi_Coloring_QuantityColorGuide_Reg_ + commentId: Overload:Hi.Coloring.QuantityColorGuide.Reg + isSpec: "True" + fullName: Hi.Coloring.QuantityColorGuide.Reg + nameWithType: QuantityColorGuide.Reg - uid: Hi.Coloring.QuantityColorGuide.XName name: XName href: api/Hi.Coloring.QuantityColorGuide.html#Hi_Coloring_QuantityColorGuide_XName @@ -5147,6 +5264,19 @@ references: commentId: F:Hi.Coloring.RangeColorRule.RatioRgbFuncEnum fullName: Hi.Coloring.RangeColorRule.RatioRgbFuncEnum nameWithType: RangeColorRule.RatioRgbFuncEnum +- uid: Hi.Coloring.RangeColorRule.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Coloring.RangeColorRule.html#Hi_Coloring_RangeColorRule_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Coloring.RangeColorRule.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Coloring.RangeColorRule.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: RangeColorRule.Reg(XFactory) +- uid: Hi.Coloring.RangeColorRule.Reg* + name: Reg + href: api/Hi.Coloring.RangeColorRule.html#Hi_Coloring_RangeColorRule_Reg_ + commentId: Overload:Hi.Coloring.RangeColorRule.Reg + isSpec: "True" + fullName: Hi.Coloring.RangeColorRule.Reg + nameWithType: RangeColorRule.Reg - uid: Hi.Coloring.RangeColorRule.XName name: XName href: api/Hi.Coloring.RangeColorRule.html#Hi_Coloring_RangeColorRule_XName @@ -5256,6 +5386,19 @@ references: isSpec: "True" fullName: Hi.Coloring.RgbSeed.MakeXmlSource nameWithType: RgbSeed.MakeXmlSource +- uid: Hi.Coloring.RgbSeed.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Coloring.RgbSeed.html#Hi_Coloring_RgbSeed_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Coloring.RgbSeed.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Coloring.RgbSeed.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: RgbSeed.Reg(XFactory) +- uid: Hi.Coloring.RgbSeed.Reg* + name: Reg + href: api/Hi.Coloring.RgbSeed.html#Hi_Coloring_RgbSeed_Reg_ + commentId: Overload:Hi.Coloring.RgbSeed.Reg + isSpec: "True" + fullName: Hi.Coloring.RgbSeed.Reg + nameWithType: RgbSeed.Reg - uid: Hi.Coloring.RgbSeed.Rgb name: Rgb href: api/Hi.Coloring.RgbSeed.html#Hi_Coloring_RgbSeed_Rgb @@ -5538,6 +5681,19 @@ references: isSpec: "True" fullName: Hi.Common.BlockingTimer.Period nameWithType: BlockingTimer.Period +- uid: Hi.Common.BlockingTimer.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Common.BlockingTimer.html#Hi_Common_BlockingTimer_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Common.BlockingTimer.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Common.BlockingTimer.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: BlockingTimer.Reg(XFactory) +- uid: Hi.Common.BlockingTimer.Reg* + name: Reg + href: api/Hi.Common.BlockingTimer.html#Hi_Common_BlockingTimer_Reg_ + commentId: Overload:Hi.Common.BlockingTimer.Reg + isSpec: "True" + fullName: Hi.Common.BlockingTimer.Reg + nameWithType: BlockingTimer.Reg - uid: Hi.Common.BlockingTimer.Start name: Start() href: api/Hi.Common.BlockingTimer.html#Hi_Common_BlockingTimer_Start @@ -11245,6 +11401,19 @@ references: isSpec: "True" fullName: Hi.Common.IndexSegment.MakeXmlSource nameWithType: IndexSegment.MakeXmlSource +- uid: Hi.Common.IndexSegment.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Common.IndexSegment.html#Hi_Common_IndexSegment_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Common.IndexSegment.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Common.IndexSegment.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: IndexSegment.Reg(XFactory) +- uid: Hi.Common.IndexSegment.Reg* + name: Reg + href: api/Hi.Common.IndexSegment.html#Hi_Common_IndexSegment_Reg_ + commentId: Overload:Hi.Common.IndexSegment.Reg + isSpec: "True" + fullName: Hi.Common.IndexSegment.Reg + nameWithType: IndexSegment.Reg - uid: Hi.Common.IndexSegment.ToString name: ToString() href: api/Hi.Common.IndexSegment.html#Hi_Common_IndexSegment_ToString @@ -11384,6 +11553,19 @@ references: isSpec: "True" fullName: Hi.Common.IntegerKeyDictionaryConverter.RawKeyToIndex nameWithType: IntegerKeyDictionaryConverter.RawKeyToIndex +- uid: Hi.Common.IntegerKeyDictionaryConverter.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Common.IntegerKeyDictionaryConverter.html#Hi_Common_IntegerKeyDictionaryConverter_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Common.IntegerKeyDictionaryConverter.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Common.IntegerKeyDictionaryConverter.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: IntegerKeyDictionaryConverter.Reg(XFactory) +- uid: Hi.Common.IntegerKeyDictionaryConverter.Reg* + name: Reg + href: api/Hi.Common.IntegerKeyDictionaryConverter.html#Hi_Common_IntegerKeyDictionaryConverter_Reg_ + commentId: Overload:Hi.Common.IntegerKeyDictionaryConverter.Reg + isSpec: "True" + fullName: Hi.Common.IntegerKeyDictionaryConverter.Reg + nameWithType: IntegerKeyDictionaryConverter.Reg - uid: Hi.Common.IntegerKeyDictionaryConverter.XName name: XName href: api/Hi.Common.IntegerKeyDictionaryConverter.html#Hi_Common_IntegerKeyDictionaryConverter_XName @@ -11522,6 +11704,23 @@ references: fullName.vb: Hi.Common.IntegerKeyDictionaryConverter(Of TValue).RawKeyToIndex nameWithType: IntegerKeyDictionaryConverter.RawKeyToIndex nameWithType.vb: IntegerKeyDictionaryConverter(Of TValue).RawKeyToIndex +- uid: Hi.Common.IntegerKeyDictionaryConverter`1.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Common.IntegerKeyDictionaryConverter-1.html#Hi_Common_IntegerKeyDictionaryConverter_1_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Common.IntegerKeyDictionaryConverter`1.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Common.IntegerKeyDictionaryConverter.Reg(Hi.Common.XmlUtils.XFactory) + fullName.vb: Hi.Common.IntegerKeyDictionaryConverter(Of TValue).Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: IntegerKeyDictionaryConverter.Reg(XFactory) + nameWithType.vb: IntegerKeyDictionaryConverter(Of TValue).Reg(XFactory) +- uid: Hi.Common.IntegerKeyDictionaryConverter`1.Reg* + name: Reg + href: api/Hi.Common.IntegerKeyDictionaryConverter-1.html#Hi_Common_IntegerKeyDictionaryConverter_1_Reg_ + commentId: Overload:Hi.Common.IntegerKeyDictionaryConverter`1.Reg + isSpec: "True" + fullName: Hi.Common.IntegerKeyDictionaryConverter.Reg + fullName.vb: Hi.Common.IntegerKeyDictionaryConverter(Of TValue).Reg + nameWithType: IntegerKeyDictionaryConverter.Reg + nameWithType.vb: IntegerKeyDictionaryConverter(Of TValue).Reg - uid: Hi.Common.IntegerKeyDictionaryConverter`1.XName name: XName href: api/Hi.Common.IntegerKeyDictionaryConverter-1.html#Hi_Common_IntegerKeyDictionaryConverter_1_XName @@ -14953,6 +15152,19 @@ references: isSpec: "True" fullName: Hi.Common.RoutineBlocker.Period nameWithType: RoutineBlocker.Period +- uid: Hi.Common.RoutineBlocker.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Common.RoutineBlocker.html#Hi_Common_RoutineBlocker_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Common.RoutineBlocker.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Common.RoutineBlocker.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: RoutineBlocker.Reg(XFactory) +- uid: Hi.Common.RoutineBlocker.Reg* + name: Reg + href: api/Hi.Common.RoutineBlocker.html#Hi_Common_RoutineBlocker_Reg_ + commentId: Overload:Hi.Common.RoutineBlocker.Reg + isSpec: "True" + fullName: Hi.Common.RoutineBlocker.Reg + nameWithType: RoutineBlocker.Reg - uid: Hi.Common.RoutineBlocker.SetDisable name: SetDisable() href: api/Hi.Common.RoutineBlocker.html#Hi_Common_RoutineBlocker_SetDisable @@ -15928,6 +16140,19 @@ references: commentId: T:Hi.Common.XmlUtils.XFactory fullName: Hi.Common.XmlUtils.XFactory nameWithType: XFactory +- uid: Hi.Common.XmlUtils.XFactory.Default + name: Default + href: api/Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Default + commentId: P:Hi.Common.XmlUtils.XFactory.Default + fullName: Hi.Common.XmlUtils.XFactory.Default + nameWithType: XFactory.Default +- uid: Hi.Common.XmlUtils.XFactory.Default* + name: Default + href: api/Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Default_ + commentId: Overload:Hi.Common.XmlUtils.XFactory.Default + isSpec: "True" + fullName: Hi.Common.XmlUtils.XFactory.Default + nameWithType: XFactory.Default - uid: Hi.Common.XmlUtils.XFactory.Gen* name: Gen href: api/Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Gen_ @@ -19928,6 +20153,19 @@ references: isSpec: "True" fullName: Hi.Disp.Flag.CoordinateDrawing.MakeXmlSource nameWithType: CoordinateDrawing.MakeXmlSource +- uid: Hi.Disp.Flag.CoordinateDrawing.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Disp.Flag.CoordinateDrawing.html#Hi_Disp_Flag_CoordinateDrawing_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Disp.Flag.CoordinateDrawing.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Disp.Flag.CoordinateDrawing.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CoordinateDrawing.Reg(XFactory) +- uid: Hi.Disp.Flag.CoordinateDrawing.Reg* + name: Reg + href: api/Hi.Disp.Flag.CoordinateDrawing.html#Hi_Disp_Flag_CoordinateDrawing_Reg_ + commentId: Overload:Hi.Disp.Flag.CoordinateDrawing.Reg + isSpec: "True" + fullName: Hi.Disp.Flag.CoordinateDrawing.Reg + nameWithType: CoordinateDrawing.Reg - uid: Hi.Disp.Flag.CoordinateDrawing.TextAtOrigin name: TextAtOrigin href: api/Hi.Disp.Flag.CoordinateDrawing.html#Hi_Disp_Flag_CoordinateDrawing_TextAtOrigin @@ -61726,6 +61964,19 @@ references: isSpec: "True" fullName: Hi.Geom.Box2d.ReadBin nameWithType: Box2d.ReadBin +- uid: Hi.Geom.Box2d.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Geom.Box2d.html#Hi_Geom_Box2d_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Geom.Box2d.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Geom.Box2d.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: Box2d.Reg(XFactory) +- uid: Hi.Geom.Box2d.Reg* + name: Reg + href: api/Hi.Geom.Box2d.html#Hi_Geom_Box2d_Reg_ + commentId: Overload:Hi.Geom.Box2d.Reg + isSpec: "True" + fullName: Hi.Geom.Box2d.Reg + nameWithType: Box2d.Reg - uid: Hi.Geom.Box2d.ReversedPoleBox name: ReversedPoleBox href: api/Hi.Geom.Box2d.html#Hi_Geom_Box2d_ReversedPoleBox @@ -62457,6 +62708,19 @@ references: isSpec: "True" fullName: Hi.Geom.Box3d.RearView nameWithType: Box3d.RearView +- uid: Hi.Geom.Box3d.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Geom.Box3d.html#Hi_Geom_Box3d_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Geom.Box3d.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Geom.Box3d.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: Box3d.Reg(XFactory) +- uid: Hi.Geom.Box3d.Reg* + name: Reg + href: api/Hi.Geom.Box3d.html#Hi_Geom_Box3d_Reg_ + commentId: Overload:Hi.Geom.Box3d.Reg + isSpec: "True" + fullName: Hi.Geom.Box3d.Reg + nameWithType: Box3d.Reg - uid: Hi.Geom.Box3d.ReversedPoleBox name: ReversedPoleBox href: api/Hi.Geom.Box3d.html#Hi_Geom_Box3d_ReversedPoleBox @@ -62873,6 +63137,19 @@ references: isSpec: "True" fullName: Hi.Geom.Cylindroid.PairZrs nameWithType: Cylindroid.PairZrs +- uid: Hi.Geom.Cylindroid.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Geom.Cylindroid.html#Hi_Geom_Cylindroid_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Geom.Cylindroid.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Geom.Cylindroid.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: Cylindroid.Reg(XFactory) +- uid: Hi.Geom.Cylindroid.Reg* + name: Reg + href: api/Hi.Geom.Cylindroid.html#Hi_Geom_Cylindroid_Reg_ + commentId: Overload:Hi.Geom.Cylindroid.Reg + isSpec: "True" + fullName: Hi.Geom.Cylindroid.Reg + nameWithType: Cylindroid.Reg - uid: Hi.Geom.Cylindroid.ToPresentDto name: ToPresentDto() href: api/Hi.Geom.Cylindroid.html#Hi_Geom_Cylindroid_ToPresentDto @@ -63677,6 +63954,19 @@ references: isSpec: "True" fullName: Hi.Geom.ExtendedCylinder.MakeXmlSource nameWithType: ExtendedCylinder.MakeXmlSource +- uid: Hi.Geom.ExtendedCylinder.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Geom.ExtendedCylinder.html#Hi_Geom_ExtendedCylinder_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Geom.ExtendedCylinder.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Geom.ExtendedCylinder.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ExtendedCylinder.Reg(XFactory) +- uid: Hi.Geom.ExtendedCylinder.Reg* + name: Reg + href: api/Hi.Geom.ExtendedCylinder.html#Hi_Geom_ExtendedCylinder_Reg_ + commentId: Overload:Hi.Geom.ExtendedCylinder.Reg + isSpec: "True" + fullName: Hi.Geom.ExtendedCylinder.Reg + nameWithType: ExtendedCylinder.Reg - uid: Hi.Geom.ExtendedCylinder.ToXElement name: ToXElement() href: api/Hi.Geom.ExtendedCylinder.html#Hi_Geom_ExtendedCylinder_ToXElement @@ -65115,6 +65405,19 @@ references: isSpec: "True" fullName: Hi.Geom.GeomCombination.MakeXmlSource nameWithType: GeomCombination.MakeXmlSource +- uid: Hi.Geom.GeomCombination.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Geom.GeomCombination.html#Hi_Geom_GeomCombination_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Geom.GeomCombination.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Geom.GeomCombination.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: GeomCombination.Reg(XFactory) +- uid: Hi.Geom.GeomCombination.Reg* + name: Reg + href: api/Hi.Geom.GeomCombination.html#Hi_Geom_GeomCombination_Reg_ + commentId: Overload:Hi.Geom.GeomCombination.Reg + isSpec: "True" + fullName: Hi.Geom.GeomCombination.Reg + nameWithType: GeomCombination.Reg - uid: Hi.Geom.GeomCombination.StlSources name: StlSources href: api/Hi.Geom.GeomCombination.html#Hi_Geom_GeomCombination_StlSources @@ -69032,6 +69335,19 @@ references: isSpec: "True" fullName: Hi.Geom.PairZr.R nameWithType: PairZr.R +- uid: Hi.Geom.PairZr.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Geom.PairZr.html#Hi_Geom_PairZr_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Geom.PairZr.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Geom.PairZr.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: PairZr.Reg(XFactory) +- uid: Hi.Geom.PairZr.Reg* + name: Reg + href: api/Hi.Geom.PairZr.html#Hi_Geom_PairZr_Reg_ + commentId: Overload:Hi.Geom.PairZr.Reg + isSpec: "True" + fullName: Hi.Geom.PairZr.Reg + nameWithType: PairZr.Reg - uid: Hi.Geom.PairZr.ToString name: ToString() href: api/Hi.Geom.PairZr.html#Hi_Geom_PairZr_ToString @@ -70181,6 +70497,19 @@ references: isSpec: "True" fullName: Hi.Geom.Resolution.PolarResolution2d.MakeXmlSource nameWithType: PolarResolution2d.MakeXmlSource +- uid: Hi.Geom.Resolution.PolarResolution2d.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Geom.Resolution.PolarResolution2d.html#Hi_Geom_Resolution_PolarResolution2d_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Geom.Resolution.PolarResolution2d.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Geom.Resolution.PolarResolution2d.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: PolarResolution2d.Reg(XFactory) +- uid: Hi.Geom.Resolution.PolarResolution2d.Reg* + name: Reg + href: api/Hi.Geom.Resolution.PolarResolution2d.html#Hi_Geom_Resolution_PolarResolution2d_Reg_ + commentId: Overload:Hi.Geom.Resolution.PolarResolution2d.Reg + isSpec: "True" + fullName: Hi.Geom.Resolution.PolarResolution2d.Reg + nameWithType: PolarResolution2d.Reg - uid: Hi.Geom.Resolution.PolarResolution2d.ToXElement name: ToXElement() href: api/Hi.Geom.Resolution.PolarResolution2d.html#Hi_Geom_Resolution_PolarResolution2d_ToXElement @@ -71763,6 +72092,19 @@ references: isSpec: "True" fullName: Hi.Geom.StlFile.MakeXmlSource nameWithType: StlFile.MakeXmlSource +- uid: Hi.Geom.StlFile.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Geom.StlFile.html#Hi_Geom_StlFile_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Geom.StlFile.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Geom.StlFile.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: StlFile.Reg(XFactory) +- uid: Hi.Geom.StlFile.Reg* + name: Reg + href: api/Hi.Geom.StlFile.html#Hi_Geom_StlFile_Reg_ + commentId: Overload:Hi.Geom.StlFile.Reg + isSpec: "True" + fullName: Hi.Geom.StlFile.Reg + nameWithType: StlFile.Reg - uid: Hi.Geom.StlFile.SaveStlToFile(System.String) name: SaveStlToFile(string) href: api/Hi.Geom.StlFile.html#Hi_Geom_StlFile_SaveStlToFile_System_String_ @@ -73415,6 +73757,19 @@ references: isSpec: "True" fullName: Hi.Geom.TransformationGeom.MakeXmlSource nameWithType: TransformationGeom.MakeXmlSource +- uid: Hi.Geom.TransformationGeom.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Geom.TransformationGeom.html#Hi_Geom_TransformationGeom_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Geom.TransformationGeom.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Geom.TransformationGeom.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: TransformationGeom.Reg(XFactory) +- uid: Hi.Geom.TransformationGeom.Reg* + name: Reg + href: api/Hi.Geom.TransformationGeom.html#Hi_Geom_TransformationGeom_Reg_ + commentId: Overload:Hi.Geom.TransformationGeom.Reg + isSpec: "True" + fullName: Hi.Geom.TransformationGeom.Reg + nameWithType: TransformationGeom.Reg - uid: Hi.Geom.TransformationGeom.ToString name: ToString() href: api/Hi.Geom.TransformationGeom.html#Hi_Geom_TransformationGeom_ToString @@ -78805,6 +79160,19 @@ references: isSpec: "True" fullName: Hi.HiNcKits.HiNcHost.ProjectRelativeDirectory nameWithType: HiNcHost.ProjectRelativeDirectory +- uid: Hi.HiNcKits.HiNcHost.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.HiNcKits.HiNcHost.html#Hi_HiNcKits_HiNcHost_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.HiNcKits.HiNcHost.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.HiNcKits.HiNcHost.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HiNcHost.Reg(XFactory) +- uid: Hi.HiNcKits.HiNcHost.Reg* + name: Reg + href: api/Hi.HiNcKits.HiNcHost.html#Hi_HiNcKits_HiNcHost_Reg_ + commentId: Overload:Hi.HiNcKits.HiNcHost.Reg + isSpec: "True" + fullName: Hi.HiNcKits.HiNcHost.Reg + nameWithType: HiNcHost.Reg - uid: Hi.HiNcKits.HiNcHost.RelativeProjectPath name: RelativeProjectPath href: api/Hi.HiNcKits.HiNcHost.html#Hi_HiNcKits_HiNcHost_RelativeProjectPath @@ -79247,6 +79615,19 @@ references: isSpec: "True" fullName: Hi.HiNcKits.PlayerDivConfig.MessageTable nameWithType: PlayerDivConfig.MessageTable +- uid: Hi.HiNcKits.PlayerDivConfig.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.HiNcKits.PlayerDivConfig.html#Hi_HiNcKits_PlayerDivConfig_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.HiNcKits.PlayerDivConfig.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.HiNcKits.PlayerDivConfig.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: PlayerDivConfig.Reg(XFactory) +- uid: Hi.HiNcKits.PlayerDivConfig.Reg* + name: Reg + href: api/Hi.HiNcKits.PlayerDivConfig.html#Hi_HiNcKits_PlayerDivConfig_Reg_ + commentId: Overload:Hi.HiNcKits.PlayerDivConfig.Reg + isSpec: "True" + fullName: Hi.HiNcKits.PlayerDivConfig.Reg + nameWithType: PlayerDivConfig.Reg - uid: Hi.HiNcKits.PlayerDivConfig.SensorSpindleMomentCycleLineDiv name: SensorSpindleMomentCycleLineDiv href: api/Hi.HiNcKits.PlayerDivConfig.html#Hi_HiNcKits_PlayerDivConfig_SensorSpindleMomentCycleLineDiv @@ -79349,6 +79730,19 @@ references: isSpec: "True" fullName: Hi.HiNcKits.ProxyConfig.MakeXmlSource nameWithType: ProxyConfig.MakeXmlSource +- uid: Hi.HiNcKits.ProxyConfig.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.HiNcKits.ProxyConfig.html#Hi_HiNcKits_ProxyConfig_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.HiNcKits.ProxyConfig.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.HiNcKits.ProxyConfig.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ProxyConfig.Reg(XFactory) +- uid: Hi.HiNcKits.ProxyConfig.Reg* + name: Reg + href: api/Hi.HiNcKits.ProxyConfig.html#Hi_HiNcKits_ProxyConfig_Reg_ + commentId: Overload:Hi.HiNcKits.ProxyConfig.Reg + isSpec: "True" + fullName: Hi.HiNcKits.ProxyConfig.Reg + nameWithType: ProxyConfig.Reg - uid: Hi.HiNcKits.ProxyConfig.XName name: XName href: api/Hi.HiNcKits.ProxyConfig.html#Hi_HiNcKits_ProxyConfig_XName @@ -79529,6 +79923,19 @@ references: isSpec: "True" fullName: Hi.HiNcKits.UserConfig.PlayerDivConfig nameWithType: UserConfig.PlayerDivConfig +- uid: Hi.HiNcKits.UserConfig.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.HiNcKits.UserConfig.html#Hi_HiNcKits_UserConfig_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.HiNcKits.UserConfig.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.HiNcKits.UserConfig.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: UserConfig.Reg(XFactory) +- uid: Hi.HiNcKits.UserConfig.Reg* + name: Reg + href: api/Hi.HiNcKits.UserConfig.html#Hi_HiNcKits_UserConfig_Reg_ + commentId: Overload:Hi.HiNcKits.UserConfig.Reg + isSpec: "True" + fullName: Hi.HiNcKits.UserConfig.Reg + nameWithType: UserConfig.Reg - uid: Hi.HiNcKits.UserConfig.ShowPhysicsOptions name: ShowPhysicsOptions href: api/Hi.HiNcKits.UserConfig.html#Hi_HiNcKits_UserConfig_ShowPhysicsOptions @@ -80481,6 +80888,19 @@ references: isSpec: "True" fullName: Hi.Machining.FreeformRemover.Note nameWithType: FreeformRemover.Note +- uid: Hi.Machining.FreeformRemover.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Machining.FreeformRemover.html#Hi_Machining_FreeformRemover_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Machining.FreeformRemover.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Machining.FreeformRemover.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FreeformRemover.Reg(XFactory) +- uid: Hi.Machining.FreeformRemover.Reg* + name: Reg + href: api/Hi.Machining.FreeformRemover.html#Hi_Machining_FreeformRemover_Reg_ + commentId: Overload:Hi.Machining.FreeformRemover.Reg + isSpec: "True" + fullName: Hi.Machining.FreeformRemover.Reg + nameWithType: FreeformRemover.Reg - uid: Hi.Machining.FreeformRemover.ShaperGeom name: ShaperGeom href: api/Hi.Machining.FreeformRemover.html#Hi_Machining_FreeformRemover_ShaperGeom @@ -81219,6 +81639,19 @@ references: isSpec: "True" fullName: Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.PrepareCollidableItems nameWithType: MachiningEquipment.PrepareCollidableItems +- uid: Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipment_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: MachiningEquipment.Reg(XFactory) +- uid: Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.Reg* + name: Reg + href: api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipment_Reg_ + commentId: Overload:Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.Reg + isSpec: "True" + fullName: Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.Reg + nameWithType: MachiningEquipment.Reg - uid: Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.ResetCollisionFlags name: ResetCollisionFlags() href: api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipment_ResetCollisionFlags @@ -81466,6 +81899,19 @@ references: isSpec: "True" fullName: Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.MakeXmlSource nameWithType: MachiningEquipmentCollisionIndex.MakeXmlSource +- uid: Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentCollisionIndex_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: MachiningEquipmentCollisionIndex.Reg(XFactory) +- uid: Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.Reg* + name: Reg + href: api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentCollisionIndex_Reg_ + commentId: Overload:Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.Reg + isSpec: "True" + fullName: Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.Reg + nameWithType: MachiningEquipmentCollisionIndex.Reg - uid: Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.ToXElement name: ToXElement() href: api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentCollisionIndex_ToXElement @@ -81570,6 +82016,19 @@ references: isSpec: "True" fullName: Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.MakeXmlSource nameWithType: MachiningEquipmentCollisionIndexPairsSource.MakeXmlSource +- uid: Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentCollisionIndexPairsSource_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: MachiningEquipmentCollisionIndexPairsSource.Reg(XFactory) +- uid: Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.Reg* + name: Reg + href: api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentCollisionIndexPairsSource_Reg_ + commentId: Overload:Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.Reg + isSpec: "True" + fullName: Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.Reg + nameWithType: MachiningEquipmentCollisionIndexPairsSource.Reg - uid: Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.XName name: XName href: api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentCollisionIndexPairsSource_XName @@ -81684,6 +82143,19 @@ references: isSpec: "True" fullName: Hi.Machining.MachiningToolHouse.MakeXmlSource nameWithType: MachiningToolHouse.MakeXmlSource +- uid: Hi.Machining.MachiningToolHouse.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Machining.MachiningToolHouse.html#Hi_Machining_MachiningToolHouse_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Machining.MachiningToolHouse.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Machining.MachiningToolHouse.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: MachiningToolHouse.Reg(XFactory) +- uid: Hi.Machining.MachiningToolHouse.Reg* + name: Reg + href: api/Hi.Machining.MachiningToolHouse.html#Hi_Machining_MachiningToolHouse_Reg_ + commentId: Overload:Hi.Machining.MachiningToolHouse.Reg + isSpec: "True" + fullName: Hi.Machining.MachiningToolHouse.Reg + nameWithType: MachiningToolHouse.Reg - uid: Hi.Machining.MachiningToolHouse.SetToolId(System.Object,Hi.Machining.IMachiningTool) name: SetToolId(object, IMachiningTool) href: api/Hi.Machining.MachiningToolHouse.html#Hi_Machining_MachiningToolHouse_SetToolId_System_Object_Hi_Machining_IMachiningTool_ @@ -83121,6 +83593,19 @@ references: isSpec: "True" fullName: Hi.MachiningProcs.LocalProjectService.RefreshDrawing nameWithType: LocalProjectService.RefreshDrawing +- uid: Hi.MachiningProcs.LocalProjectService.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.MachiningProcs.LocalProjectService.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.MachiningProcs.LocalProjectService.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: LocalProjectService.Reg(XFactory) +- uid: Hi.MachiningProcs.LocalProjectService.Reg* + name: Reg + href: api/Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_Reg_ + commentId: Overload:Hi.MachiningProcs.LocalProjectService.Reg + isSpec: "True" + fullName: Hi.MachiningProcs.LocalProjectService.Reg + nameWithType: LocalProjectService.Reg - uid: Hi.MachiningProcs.LocalProjectService.ReloadProject name: ReloadProject() href: api/Hi.MachiningProcs.LocalProjectService.html#Hi_MachiningProcs_LocalProjectService_ReloadProject @@ -83948,6 +84433,19 @@ references: isSpec: "True" fullName: Hi.MachiningProcs.MachiningActRunnerConfig.MakeXmlSource nameWithType: MachiningActRunnerConfig.MakeXmlSource +- uid: Hi.MachiningProcs.MachiningActRunnerConfig.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.MachiningProcs.MachiningActRunnerConfig.html#Hi_MachiningProcs_MachiningActRunnerConfig_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.MachiningProcs.MachiningActRunnerConfig.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.MachiningProcs.MachiningActRunnerConfig.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: MachiningActRunnerConfig.Reg(XFactory) +- uid: Hi.MachiningProcs.MachiningActRunnerConfig.Reg* + name: Reg + href: api/Hi.MachiningProcs.MachiningActRunnerConfig.html#Hi_MachiningProcs_MachiningActRunnerConfig_Reg_ + commentId: Overload:Hi.MachiningProcs.MachiningActRunnerConfig.Reg + isSpec: "True" + fullName: Hi.MachiningProcs.MachiningActRunnerConfig.Reg + nameWithType: MachiningActRunnerConfig.Reg - uid: Hi.MachiningProcs.MachiningActRunnerConfig.XName name: XName href: api/Hi.MachiningProcs.MachiningActRunnerConfig.html#Hi_MachiningProcs_MachiningActRunnerConfig_XName @@ -84380,6 +84878,19 @@ references: isSpec: "True" fullName: Hi.MachiningProcs.MachiningProject.PlayerCommand nameWithType: MachiningProject.PlayerCommand +- uid: Hi.MachiningProcs.MachiningProject.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.MachiningProcs.MachiningProject.html#Hi_MachiningProcs_MachiningProject_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.MachiningProcs.MachiningProject.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.MachiningProcs.MachiningProject.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: MachiningProject.Reg(XFactory) +- uid: Hi.MachiningProcs.MachiningProject.Reg* + name: Reg + href: api/Hi.MachiningProcs.MachiningProject.html#Hi_MachiningProcs_MachiningProject_Reg_ + commentId: Overload:Hi.MachiningProcs.MachiningProject.Reg + isSpec: "True" + fullName: Hi.MachiningProcs.MachiningProject.Reg + nameWithType: MachiningProject.Reg - uid: Hi.MachiningProcs.MachiningProject.SoftNcRunner name: SoftNcRunner href: api/Hi.MachiningProcs.MachiningProject.html#Hi_MachiningProcs_MachiningProject_SoftNcRunner @@ -92671,6 +93182,19 @@ references: isSpec: "True" fullName: Hi.Mapping.TimeMapping.MapSeriesByActualTime nameWithType: TimeMapping.MapSeriesByActualTime +- uid: Hi.Mapping.TimeMapping.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Mapping.TimeMapping.html#Hi_Mapping_TimeMapping_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Mapping.TimeMapping.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Mapping.TimeMapping.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: TimeMapping.Reg(XFactory) +- uid: Hi.Mapping.TimeMapping.Reg* + name: Reg + href: api/Hi.Mapping.TimeMapping.html#Hi_Mapping_TimeMapping_Reg_ + commentId: Overload:Hi.Mapping.TimeMapping.Reg + isSpec: "True" + fullName: Hi.Mapping.TimeMapping.Reg + nameWithType: TimeMapping.Reg - uid: Hi.Mapping.TimeMapping.RelFileToTimeShotListDictionary name: RelFileToTimeShotListDictionary href: api/Hi.Mapping.TimeMapping.html#Hi_Mapping_TimeMapping_RelFileToTimeShotListDictionary @@ -92888,6 +93412,19 @@ references: isSpec: "True" fullName: Hi.Mappings.FileTimeSection.PrimaryTimeOption nameWithType: FileTimeSection.PrimaryTimeOption +- uid: Hi.Mappings.FileTimeSection.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Mappings.FileTimeSection.html#Hi_Mappings_FileTimeSection_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Mappings.FileTimeSection.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Mappings.FileTimeSection.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FileTimeSection.Reg(XFactory) +- uid: Hi.Mappings.FileTimeSection.Reg* + name: Reg + href: api/Hi.Mappings.FileTimeSection.html#Hi_Mappings_FileTimeSection_Reg_ + commentId: Overload:Hi.Mappings.FileTimeSection.Reg + isSpec: "True" + fullName: Hi.Mappings.FileTimeSection.Reg + nameWithType: FileTimeSection.Reg - uid: Hi.Mappings.FileTimeSection.TimeOption name: FileTimeSection.TimeOption href: api/Hi.Mappings.FileTimeSection.TimeOption.html @@ -93105,6 +93642,19 @@ references: isSpec: "True" fullName: Hi.Mech.GeneralMechanism.MakeXmlSource nameWithType: GeneralMechanism.MakeXmlSource +- uid: Hi.Mech.GeneralMechanism.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Mech.GeneralMechanism.html#Hi_Mech_GeneralMechanism_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Mech.GeneralMechanism.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Mech.GeneralMechanism.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: GeneralMechanism.Reg(XFactory) +- uid: Hi.Mech.GeneralMechanism.Reg* + name: Reg + href: api/Hi.Mech.GeneralMechanism.html#Hi_Mech_GeneralMechanism_Reg_ + commentId: Overload:Hi.Mech.GeneralMechanism.Reg + isSpec: "True" + fullName: Hi.Mech.GeneralMechanism.Reg + nameWithType: GeneralMechanism.Reg - uid: Hi.Mech.GeneralMechanism.Root name: Root href: api/Hi.Mech.GeneralMechanism.html#Hi_Mech_GeneralMechanism_Root @@ -94844,6 +95394,19 @@ references: isSpec: "True" fullName: Hi.Mech.Topo.DynamicFreeform.MakeXmlSource nameWithType: DynamicFreeform.MakeXmlSource +- uid: Hi.Mech.Topo.DynamicFreeform.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Mech.Topo.DynamicFreeform.html#Hi_Mech_Topo_DynamicFreeform_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Mech.Topo.DynamicFreeform.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Mech.Topo.DynamicFreeform.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: DynamicFreeform.Reg(XFactory) +- uid: Hi.Mech.Topo.DynamicFreeform.Reg* + name: Reg + href: api/Hi.Mech.Topo.DynamicFreeform.html#Hi_Mech_Topo_DynamicFreeform_Reg_ + commentId: Overload:Hi.Mech.Topo.DynamicFreeform.Reg + isSpec: "True" + fullName: Hi.Mech.Topo.DynamicFreeform.Reg + nameWithType: DynamicFreeform.Reg - uid: Hi.Mech.Topo.DynamicFreeform.SetMat(Hi.Geom.Mat4d) name: SetMat(Mat4d) href: api/Hi.Mech.Topo.DynamicFreeform.html#Hi_Mech_Topo_DynamicFreeform_SetMat_Hi_Geom_Mat4d_ @@ -95052,6 +95615,19 @@ references: isSpec: "True" fullName: Hi.Mech.Topo.DynamicRotation.Pivot nameWithType: DynamicRotation.Pivot +- uid: Hi.Mech.Topo.DynamicRotation.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Mech.Topo.DynamicRotation.html#Hi_Mech_Topo_DynamicRotation_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Mech.Topo.DynamicRotation.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Mech.Topo.DynamicRotation.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: DynamicRotation.Reg(XFactory) +- uid: Hi.Mech.Topo.DynamicRotation.Reg* + name: Reg + href: api/Hi.Mech.Topo.DynamicRotation.html#Hi_Mech_Topo_DynamicRotation_Reg_ + commentId: Overload:Hi.Mech.Topo.DynamicRotation.Reg + isSpec: "True" + fullName: Hi.Mech.Topo.DynamicRotation.Reg + nameWithType: DynamicRotation.Reg - uid: Hi.Mech.Topo.DynamicRotation.Set(Hi.Mech.Topo.DynamicRotation) name: Set(DynamicRotation) href: api/Hi.Mech.Topo.DynamicRotation.html#Hi_Mech_Topo_DynamicRotation_Set_Hi_Mech_Topo_DynamicRotation_ @@ -95241,6 +95817,19 @@ references: isSpec: "True" fullName: Hi.Mech.Topo.DynamicTranslation.MakeXmlSource nameWithType: DynamicTranslation.MakeXmlSource +- uid: Hi.Mech.Topo.DynamicTranslation.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Mech.Topo.DynamicTranslation.html#Hi_Mech_Topo_DynamicTranslation_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Mech.Topo.DynamicTranslation.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Mech.Topo.DynamicTranslation.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: DynamicTranslation.Reg(XFactory) +- uid: Hi.Mech.Topo.DynamicTranslation.Reg* + name: Reg + href: api/Hi.Mech.Topo.DynamicTranslation.html#Hi_Mech_Topo_DynamicTranslation_Reg_ + commentId: Overload:Hi.Mech.Topo.DynamicTranslation.Reg + isSpec: "True" + fullName: Hi.Mech.Topo.DynamicTranslation.Reg + nameWithType: DynamicTranslation.Reg - uid: Hi.Mech.Topo.DynamicTranslation.Set(Hi.Mech.Topo.DynamicTranslation) name: Set(DynamicTranslation) href: api/Hi.Mech.Topo.DynamicTranslation.html#Hi_Mech_Topo_DynamicTranslation_Set_Hi_Mech_Topo_DynamicTranslation_ @@ -95413,6 +96002,19 @@ references: isSpec: "True" fullName: Hi.Mech.Topo.GeneralTransform.MakeXmlSource nameWithType: GeneralTransform.MakeXmlSource +- uid: Hi.Mech.Topo.GeneralTransform.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Mech.Topo.GeneralTransform.html#Hi_Mech_Topo_GeneralTransform_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Mech.Topo.GeneralTransform.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Mech.Topo.GeneralTransform.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: GeneralTransform.Reg(XFactory) +- uid: Hi.Mech.Topo.GeneralTransform.Reg* + name: Reg + href: api/Hi.Mech.Topo.GeneralTransform.html#Hi_Mech_Topo_GeneralTransform_Reg_ + commentId: Overload:Hi.Mech.Topo.GeneralTransform.Reg + isSpec: "True" + fullName: Hi.Mech.Topo.GeneralTransform.Reg + nameWithType: GeneralTransform.Reg - uid: Hi.Mech.Topo.GeneralTransform.Rotation name: Rotation href: api/Hi.Mech.Topo.GeneralTransform.html#Hi_Mech_Topo_GeneralTransform_Rotation @@ -95852,6 +96454,19 @@ references: isSpec: "True" fullName: Hi.Mech.Topo.NoTransform.MakeXmlSource nameWithType: NoTransform.MakeXmlSource +- uid: Hi.Mech.Topo.NoTransform.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Mech.Topo.NoTransform.html#Hi_Mech_Topo_NoTransform_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Mech.Topo.NoTransform.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Mech.Topo.NoTransform.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: NoTransform.Reg(XFactory) +- uid: Hi.Mech.Topo.NoTransform.Reg* + name: Reg + href: api/Hi.Mech.Topo.NoTransform.html#Hi_Mech_Topo_NoTransform_Reg_ + commentId: Overload:Hi.Mech.Topo.NoTransform.Reg + isSpec: "True" + fullName: Hi.Mech.Topo.NoTransform.Reg + nameWithType: NoTransform.Reg - uid: Hi.Mech.Topo.NoTransform.ToPresentDto name: ToPresentDto() href: api/Hi.Mech.Topo.NoTransform.html#Hi_Mech_Topo_NoTransform_ToPresentDto @@ -96076,6 +96691,19 @@ references: isSpec: "True" fullName: Hi.Mech.Topo.StackTransformer.Push nameWithType: StackTransformer.Push +- uid: Hi.Mech.Topo.StackTransformer.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Mech.Topo.StackTransformer.html#Hi_Mech_Topo_StackTransformer_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Mech.Topo.StackTransformer.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Mech.Topo.StackTransformer.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: StackTransformer.Reg(XFactory) +- uid: Hi.Mech.Topo.StackTransformer.Reg* + name: Reg + href: api/Hi.Mech.Topo.StackTransformer.html#Hi_Mech_Topo_StackTransformer_Reg_ + commentId: Overload:Hi.Mech.Topo.StackTransformer.Reg + isSpec: "True" + fullName: Hi.Mech.Topo.StackTransformer.Reg + nameWithType: StackTransformer.Reg - uid: Hi.Mech.Topo.StackTransformer.ToPresentDto name: ToPresentDto() href: api/Hi.Mech.Topo.StackTransformer.html#Hi_Mech_Topo_StackTransformer_ToPresentDto @@ -96222,6 +96850,19 @@ references: isSpec: "True" fullName: Hi.Mech.Topo.StaticFreeform.MakeXmlSource nameWithType: StaticFreeform.MakeXmlSource +- uid: Hi.Mech.Topo.StaticFreeform.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Mech.Topo.StaticFreeform.html#Hi_Mech_Topo_StaticFreeform_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Mech.Topo.StaticFreeform.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Mech.Topo.StaticFreeform.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: StaticFreeform.Reg(XFactory) +- uid: Hi.Mech.Topo.StaticFreeform.Reg* + name: Reg + href: api/Hi.Mech.Topo.StaticFreeform.html#Hi_Mech_Topo_StaticFreeform_Reg_ + commentId: Overload:Hi.Mech.Topo.StaticFreeform.Reg + isSpec: "True" + fullName: Hi.Mech.Topo.StaticFreeform.Reg + nameWithType: StaticFreeform.Reg - uid: Hi.Mech.Topo.StaticFreeform.SetMat(Hi.Geom.Mat4d) name: SetMat(Mat4d) href: api/Hi.Mech.Topo.StaticFreeform.html#Hi_Mech_Topo_StaticFreeform_SetMat_Hi_Geom_Mat4d_ @@ -96439,6 +97080,19 @@ references: isSpec: "True" fullName: Hi.Mech.Topo.StaticRotation.Pivot nameWithType: StaticRotation.Pivot +- uid: Hi.Mech.Topo.StaticRotation.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Mech.Topo.StaticRotation.html#Hi_Mech_Topo_StaticRotation_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Mech.Topo.StaticRotation.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Mech.Topo.StaticRotation.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: StaticRotation.Reg(XFactory) +- uid: Hi.Mech.Topo.StaticRotation.Reg* + name: Reg + href: api/Hi.Mech.Topo.StaticRotation.html#Hi_Mech_Topo_StaticRotation_Reg_ + commentId: Overload:Hi.Mech.Topo.StaticRotation.Reg + isSpec: "True" + fullName: Hi.Mech.Topo.StaticRotation.Reg + nameWithType: StaticRotation.Reg - uid: Hi.Mech.Topo.StaticRotation.ToPresentDto name: ToPresentDto() href: api/Hi.Mech.Topo.StaticRotation.html#Hi_Mech_Topo_StaticRotation_ToPresentDto @@ -96585,6 +97239,19 @@ references: isSpec: "True" fullName: Hi.Mech.Topo.StaticTranslation.MakeXmlSource nameWithType: StaticTranslation.MakeXmlSource +- uid: Hi.Mech.Topo.StaticTranslation.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Mech.Topo.StaticTranslation.html#Hi_Mech_Topo_StaticTranslation_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Mech.Topo.StaticTranslation.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Mech.Topo.StaticTranslation.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: StaticTranslation.Reg(XFactory) +- uid: Hi.Mech.Topo.StaticTranslation.Reg* + name: Reg + href: api/Hi.Mech.Topo.StaticTranslation.html#Hi_Mech_Topo_StaticTranslation_Reg_ + commentId: Overload:Hi.Mech.Topo.StaticTranslation.Reg + isSpec: "True" + fullName: Hi.Mech.Topo.StaticTranslation.Reg + nameWithType: StaticTranslation.Reg - uid: Hi.Mech.Topo.StaticTranslation.Set(Hi.Mech.Topo.StaticTranslation) name: Set(StaticTranslation) href: api/Hi.Mech.Topo.StaticTranslation.html#Hi_Mech_Topo_StaticTranslation_Set_Hi_Mech_Topo_StaticTranslation_ @@ -96945,19 +97612,6 @@ references: commentId: T:Hi.Mech.Topo.TransformerUtil fullName: Hi.Mech.Topo.TransformerUtil nameWithType: TransformerUtil -- uid: Hi.Mech.Topo.TransformerUtil.Dummy - name: Dummy() - href: api/Hi.Mech.Topo.TransformerUtil.html#Hi_Mech_Topo_TransformerUtil_Dummy - commentId: M:Hi.Mech.Topo.TransformerUtil.Dummy - fullName: Hi.Mech.Topo.TransformerUtil.Dummy() - nameWithType: TransformerUtil.Dummy() -- uid: Hi.Mech.Topo.TransformerUtil.Dummy* - name: Dummy - href: api/Hi.Mech.Topo.TransformerUtil.html#Hi_Mech_Topo_TransformerUtil_Dummy_ - commentId: Overload:Hi.Mech.Topo.TransformerUtil.Dummy - isSpec: "True" - fullName: Hi.Mech.Topo.TransformerUtil.Dummy - nameWithType: TransformerUtil.Dummy - uid: Hi.Mech.Topo.TransformerUtil.GetSteps(Hi.Mech.Topo.IDynamicRegular[]) name: GetSteps(IDynamicRegular[]) href: api/Hi.Mech.Topo.TransformerUtil.html#Hi_Mech_Topo_TransformerUtil_GetSteps_Hi_Mech_Topo_IDynamicRegular___ @@ -96974,6 +97628,19 @@ references: isSpec: "True" fullName: Hi.Mech.Topo.TransformerUtil.GetSteps nameWithType: TransformerUtil.GetSteps +- uid: Hi.Mech.Topo.TransformerUtil.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Mech.Topo.TransformerUtil.html#Hi_Mech_Topo_TransformerUtil_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Mech.Topo.TransformerUtil.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Mech.Topo.TransformerUtil.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: TransformerUtil.Reg(XFactory) +- uid: Hi.Mech.Topo.TransformerUtil.Reg* + name: Reg + href: api/Hi.Mech.Topo.TransformerUtil.html#Hi_Mech_Topo_TransformerUtil_Reg_ + commentId: Overload:Hi.Mech.Topo.TransformerUtil.Reg + isSpec: "True" + fullName: Hi.Mech.Topo.TransformerUtil.Reg + nameWithType: TransformerUtil.Reg - uid: Hi.Mech.Topo.TransformerUtil.SetSteps(Hi.Mech.Topo.IDynamicRegular[],System.Double[]) name: SetSteps(IDynamicRegular[], double[]) href: api/Hi.Mech.Topo.TransformerUtil.html#Hi_Mech_Topo_TransformerUtil_SetSteps_Hi_Mech_Topo_IDynamicRegular___System_Double___ @@ -97388,6 +98055,19 @@ references: isSpec: "True" fullName: Hi.Milling.Apts.BallApt.MakeXmlSource nameWithType: BallApt.MakeXmlSource +- uid: Hi.Milling.Apts.BallApt.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.Apts.BallApt.html#Hi_Milling_Apts_BallApt_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.Apts.BallApt.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.Apts.BallApt.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: BallApt.Reg(XFactory) +- uid: Hi.Milling.Apts.BallApt.Reg* + name: Reg + href: api/Hi.Milling.Apts.BallApt.html#Hi_Milling_Apts_BallApt_Reg_ + commentId: Overload:Hi.Milling.Apts.BallApt.Reg + isSpec: "True" + fullName: Hi.Milling.Apts.BallApt.Reg + nameWithType: BallApt.Reg - uid: Hi.Milling.Apts.BallApt.ToXElement name: ToXElement() href: api/Hi.Milling.Apts.BallApt.html#Hi_Milling_Apts_BallApt_ToXElement @@ -97558,6 +98238,19 @@ references: isSpec: "True" fullName: Hi.Milling.Apts.BullNoseApt.Rc_mm nameWithType: BullNoseApt.Rc_mm +- uid: Hi.Milling.Apts.BullNoseApt.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.Apts.BullNoseApt.html#Hi_Milling_Apts_BullNoseApt_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.Apts.BullNoseApt.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.Apts.BullNoseApt.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: BullNoseApt.Reg(XFactory) +- uid: Hi.Milling.Apts.BullNoseApt.Reg* + name: Reg + href: api/Hi.Milling.Apts.BullNoseApt.html#Hi_Milling_Apts_BullNoseApt_Reg_ + commentId: Overload:Hi.Milling.Apts.BullNoseApt.Reg + isSpec: "True" + fullName: Hi.Milling.Apts.BullNoseApt.Reg + nameWithType: BullNoseApt.Reg - uid: Hi.Milling.Apts.BullNoseApt.ToXElement name: ToXElement() href: api/Hi.Milling.Apts.BullNoseApt.html#Hi_Milling_Apts_BullNoseApt_ToXElement @@ -97728,6 +98421,19 @@ references: isSpec: "True" fullName: Hi.Milling.Apts.ColumnApt.Rc_mm nameWithType: ColumnApt.Rc_mm +- uid: Hi.Milling.Apts.ColumnApt.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.Apts.ColumnApt.html#Hi_Milling_Apts_ColumnApt_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.Apts.ColumnApt.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.Apts.ColumnApt.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ColumnApt.Reg(XFactory) +- uid: Hi.Milling.Apts.ColumnApt.Reg* + name: Reg + href: api/Hi.Milling.Apts.ColumnApt.html#Hi_Milling_Apts_ColumnApt_Reg_ + commentId: Overload:Hi.Milling.Apts.ColumnApt.Reg + isSpec: "True" + fullName: Hi.Milling.Apts.ColumnApt.Reg + nameWithType: ColumnApt.Reg - uid: Hi.Milling.Apts.ColumnApt.ToXElement name: ToXElement() href: api/Hi.Milling.Apts.ColumnApt.html#Hi_Milling_Apts_ColumnApt_ToXElement @@ -97911,6 +98617,19 @@ references: isSpec: "True" fullName: Hi.Milling.Apts.ConeApt.MakeXmlSource nameWithType: ConeApt.MakeXmlSource +- uid: Hi.Milling.Apts.ConeApt.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.Apts.ConeApt.html#Hi_Milling_Apts_ConeApt_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.Apts.ConeApt.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.Apts.ConeApt.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ConeApt.Reg(XFactory) +- uid: Hi.Milling.Apts.ConeApt.Reg* + name: Reg + href: api/Hi.Milling.Apts.ConeApt.html#Hi_Milling_Apts_ConeApt_Reg_ + commentId: Overload:Hi.Milling.Apts.ConeApt.Reg + isSpec: "True" + fullName: Hi.Milling.Apts.ConeApt.Reg + nameWithType: ConeApt.Reg - uid: Hi.Milling.Apts.ConeApt.ToXElement name: ToXElement() href: api/Hi.Milling.Apts.ConeApt.html#Hi_Milling_Apts_ConeApt_ToXElement @@ -98068,6 +98787,19 @@ references: isSpec: "True" fullName: Hi.Milling.Apts.ExactColumnApt.MakeXmlSource nameWithType: ExactColumnApt.MakeXmlSource +- uid: Hi.Milling.Apts.ExactColumnApt.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.Apts.ExactColumnApt.html#Hi_Milling_Apts_ExactColumnApt_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.Apts.ExactColumnApt.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.Apts.ExactColumnApt.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ExactColumnApt.Reg(XFactory) +- uid: Hi.Milling.Apts.ExactColumnApt.Reg* + name: Reg + href: api/Hi.Milling.Apts.ExactColumnApt.html#Hi_Milling_Apts_ExactColumnApt_Reg_ + commentId: Overload:Hi.Milling.Apts.ExactColumnApt.Reg + isSpec: "True" + fullName: Hi.Milling.Apts.ExactColumnApt.Reg + nameWithType: ExactColumnApt.Reg - uid: Hi.Milling.Apts.ExactColumnApt.ToXElement name: ToXElement() href: api/Hi.Milling.Apts.ExactColumnApt.html#Hi_Milling_Apts_ExactColumnApt_ToXElement @@ -98398,6 +99130,19 @@ references: isSpec: "True" fullName: Hi.Milling.Apts.GeneralApt.Rc_mm nameWithType: GeneralApt.Rc_mm +- uid: Hi.Milling.Apts.GeneralApt.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.Apts.GeneralApt.html#Hi_Milling_Apts_GeneralApt_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.Apts.GeneralApt.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.Apts.GeneralApt.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: GeneralApt.Reg(XFactory) +- uid: Hi.Milling.Apts.GeneralApt.Reg* + name: Reg + href: api/Hi.Milling.Apts.GeneralApt.html#Hi_Milling_Apts_GeneralApt_Reg_ + commentId: Overload:Hi.Milling.Apts.GeneralApt.Reg + isSpec: "True" + fullName: Hi.Milling.Apts.GeneralApt.Reg + nameWithType: GeneralApt.Reg - uid: Hi.Milling.Apts.GeneralApt.Rr_mm name: Rr_mm href: api/Hi.Milling.Apts.GeneralApt.html#Hi_Milling_Apts_GeneralApt_Rr_mm @@ -98837,6 +99582,19 @@ references: isSpec: "True" fullName: Hi.Milling.Apts.TaperApt.MakeXmlSource nameWithType: TaperApt.MakeXmlSource +- uid: Hi.Milling.Apts.TaperApt.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.Apts.TaperApt.html#Hi_Milling_Apts_TaperApt_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.Apts.TaperApt.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.Apts.TaperApt.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: TaperApt.Reg(XFactory) +- uid: Hi.Milling.Apts.TaperApt.Reg* + name: Reg + href: api/Hi.Milling.Apts.TaperApt.html#Hi_Milling_Apts_TaperApt_Reg_ + commentId: Overload:Hi.Milling.Apts.TaperApt.Reg + isSpec: "True" + fullName: Hi.Milling.Apts.TaperApt.Reg + nameWithType: TaperApt.Reg - uid: Hi.Milling.Apts.TaperApt.Rz_mm name: Rz_mm href: api/Hi.Milling.Apts.TaperApt.html#Hi_Milling_Apts_TaperApt_Rz_mm @@ -99198,6 +99956,19 @@ references: isSpec: "True" fullName: Hi.Milling.Cutters.AptProfile.PolarResolution2dSource nameWithType: AptProfile.PolarResolution2dSource +- uid: Hi.Milling.Cutters.AptProfile.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.Cutters.AptProfile.html#Hi_Milling_Cutters_AptProfile_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.Cutters.AptProfile.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.Cutters.AptProfile.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: AptProfile.Reg(XFactory) +- uid: Hi.Milling.Cutters.AptProfile.Reg* + name: Reg + href: api/Hi.Milling.Cutters.AptProfile.html#Hi_Milling_Cutters_AptProfile_Reg_ + commentId: Overload:Hi.Milling.Cutters.AptProfile.Reg + isSpec: "True" + fullName: Hi.Milling.Cutters.AptProfile.Reg + nameWithType: AptProfile.Reg - uid: Hi.Milling.Cutters.AptProfile.UpdateByContent name: UpdateByContent() href: api/Hi.Milling.Cutters.AptProfile.html#Hi_Milling_Cutters_AptProfile_UpdateByContent @@ -99377,6 +100148,19 @@ references: isSpec: "True" fullName: Hi.Milling.Cutters.ConstRatioProfile.RadiusRatio nameWithType: ConstRatioProfile.RadiusRatio +- uid: Hi.Milling.Cutters.ConstRatioProfile.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.Cutters.ConstRatioProfile.html#Hi_Milling_Cutters_ConstRatioProfile_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.Cutters.ConstRatioProfile.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.Cutters.ConstRatioProfile.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ConstRatioProfile.Reg(XFactory) +- uid: Hi.Milling.Cutters.ConstRatioProfile.Reg* + name: Reg + href: api/Hi.Milling.Cutters.ConstRatioProfile.html#Hi_Milling_Cutters_ConstRatioProfile_Reg_ + commentId: Overload:Hi.Milling.Cutters.ConstRatioProfile.Reg + isSpec: "True" + fullName: Hi.Milling.Cutters.ConstRatioProfile.Reg + nameWithType: ConstRatioProfile.Reg - uid: Hi.Milling.Cutters.ConstRatioProfile.XName name: XName href: api/Hi.Milling.Cutters.ConstRatioProfile.html#Hi_Milling_Cutters_ConstRatioProfile_XName @@ -99560,6 +100344,19 @@ references: isSpec: "True" fullName: Hi.Milling.Cutters.CustomSpinningProfile.PolarResolution2dSource nameWithType: CustomSpinningProfile.PolarResolution2dSource +- uid: Hi.Milling.Cutters.CustomSpinningProfile.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.Cutters.CustomSpinningProfile.html#Hi_Milling_Cutters_CustomSpinningProfile_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.Cutters.CustomSpinningProfile.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.Cutters.CustomSpinningProfile.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CustomSpinningProfile.Reg(XFactory) +- uid: Hi.Milling.Cutters.CustomSpinningProfile.Reg* + name: Reg + href: api/Hi.Milling.Cutters.CustomSpinningProfile.html#Hi_Milling_Cutters_CustomSpinningProfile_Reg_ + commentId: Overload:Hi.Milling.Cutters.CustomSpinningProfile.Reg + isSpec: "True" + fullName: Hi.Milling.Cutters.CustomSpinningProfile.Reg + nameWithType: CustomSpinningProfile.Reg - uid: Hi.Milling.Cutters.CustomSpinningProfile.XName name: XName href: api/Hi.Milling.Cutters.CustomSpinningProfile.html#Hi_Milling_Cutters_CustomSpinningProfile_XName @@ -99861,6 +100658,19 @@ references: isSpec: "True" fullName: Hi.Milling.Cutters.FluteDependentRatioProfile.RadiusRatio nameWithType: FluteDependentRatioProfile.RadiusRatio +- uid: Hi.Milling.Cutters.FluteDependentRatioProfile.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.Cutters.FluteDependentRatioProfile.html#Hi_Milling_Cutters_FluteDependentRatioProfile_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.Cutters.FluteDependentRatioProfile.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.Cutters.FluteDependentRatioProfile.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FluteDependentRatioProfile.Reg(XFactory) +- uid: Hi.Milling.Cutters.FluteDependentRatioProfile.Reg* + name: Reg + href: api/Hi.Milling.Cutters.FluteDependentRatioProfile.html#Hi_Milling_Cutters_FluteDependentRatioProfile_Reg_ + commentId: Overload:Hi.Milling.Cutters.FluteDependentRatioProfile.Reg + isSpec: "True" + fullName: Hi.Milling.Cutters.FluteDependentRatioProfile.Reg + nameWithType: FluteDependentRatioProfile.Reg - uid: Hi.Milling.Cutters.FluteDependentRatioProfile.XName name: XName href: api/Hi.Milling.Cutters.FluteDependentRatioProfile.html#Hi_Milling_Cutters_FluteDependentRatioProfile_XName @@ -100686,6 +101496,19 @@ references: isSpec: "True" fullName: Hi.Milling.Cutters.MillingCutter.Note nameWithType: MillingCutter.Note +- uid: Hi.Milling.Cutters.MillingCutter.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.Cutters.MillingCutter.html#Hi_Milling_Cutters_MillingCutter_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.Cutters.MillingCutter.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.Cutters.MillingCutter.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: MillingCutter.Reg(XFactory) +- uid: Hi.Milling.Cutters.MillingCutter.Reg* + name: Reg + href: api/Hi.Milling.Cutters.MillingCutter.html#Hi_Milling_Cutters_MillingCutter_Reg_ + commentId: Overload:Hi.Milling.Cutters.MillingCutter.Reg + isSpec: "True" + fullName: Hi.Milling.Cutters.MillingCutter.Reg + nameWithType: MillingCutter.Reg - uid: Hi.Milling.Cutters.MillingCutter.ReliefAngle_deg name: ReliefAngle_deg href: api/Hi.Milling.Cutters.MillingCutter.html#Hi_Milling_Cutters_MillingCutter_ReliefAngle_deg @@ -101791,6 +102614,19 @@ references: isSpec: "True" fullName: Hi.Milling.FluteContours.ConstHelixSideContour.RadialReliefAngle_rad nameWithType: ConstHelixSideContour.RadialReliefAngle_rad +- uid: Hi.Milling.FluteContours.ConstHelixSideContour.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.FluteContours.ConstHelixSideContour.html#Hi_Milling_FluteContours_ConstHelixSideContour_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.FluteContours.ConstHelixSideContour.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.FluteContours.ConstHelixSideContour.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ConstHelixSideContour.Reg(XFactory) +- uid: Hi.Milling.FluteContours.ConstHelixSideContour.Reg* + name: Reg + href: api/Hi.Milling.FluteContours.ConstHelixSideContour.html#Hi_Milling_FluteContours_ConstHelixSideContour_Reg_ + commentId: Overload:Hi.Milling.FluteContours.ConstHelixSideContour.Reg + isSpec: "True" + fullName: Hi.Milling.FluteContours.ConstHelixSideContour.Reg + nameWithType: ConstHelixSideContour.Reg - uid: Hi.Milling.FluteContours.ConstHelixSideContour.UpdateByContent name: UpdateByContent() href: api/Hi.Milling.FluteContours.ConstHelixSideContour.html#Hi_Milling_FluteContours_ConstHelixSideContour_UpdateByContent @@ -101976,6 +102812,19 @@ references: isSpec: "True" fullName: Hi.Milling.FluteContours.FluteContour.MakeXmlSource nameWithType: FluteContour.MakeXmlSource +- uid: Hi.Milling.FluteContours.FluteContour.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.FluteContours.FluteContour.html#Hi_Milling_FluteContours_FluteContour_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.FluteContours.FluteContour.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.FluteContours.FluteContour.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FluteContour.Reg(XFactory) +- uid: Hi.Milling.FluteContours.FluteContour.Reg* + name: Reg + href: api/Hi.Milling.FluteContours.FluteContour.html#Hi_Milling_FluteContours_FluteContour_Reg_ + commentId: Overload:Hi.Milling.FluteContours.FluteContour.Reg + isSpec: "True" + fullName: Hi.Milling.FluteContours.FluteContour.Reg + nameWithType: FluteContour.Reg - uid: Hi.Milling.FluteContours.FluteContour.SetupAngle_deg name: SetupAngle_deg href: api/Hi.Milling.FluteContours.FluteContour.html#Hi_Milling_FluteContours_FluteContour_SetupAngle_deg @@ -102204,6 +103053,19 @@ references: isSpec: "True" fullName: Hi.Milling.FluteContours.FreeContourTray.MakeXmlSource nameWithType: FreeContourTray.MakeXmlSource +- uid: Hi.Milling.FluteContours.FreeContourTray.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.FluteContours.FreeContourTray.html#Hi_Milling_FluteContours_FreeContourTray_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.FluteContours.FreeContourTray.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.FluteContours.FreeContourTray.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FreeContourTray.Reg(XFactory) +- uid: Hi.Milling.FluteContours.FreeContourTray.Reg* + name: Reg + href: api/Hi.Milling.FluteContours.FreeContourTray.html#Hi_Milling_FluteContours_FreeContourTray_Reg_ + commentId: Overload:Hi.Milling.FluteContours.FreeContourTray.Reg + isSpec: "True" + fullName: Hi.Milling.FluteContours.FreeContourTray.Reg + nameWithType: FreeContourTray.Reg - uid: Hi.Milling.FluteContours.FreeContourTray.UpdateByContent name: UpdateByContent() href: api/Hi.Milling.FluteContours.FreeContourTray.html#Hi_Milling_FluteContours_FreeContourTray_UpdateByContent @@ -102393,6 +103255,19 @@ references: isSpec: "True" fullName: Hi.Milling.FluteContours.FreeformSideContour.MakeXmlSource nameWithType: FreeformSideContour.MakeXmlSource +- uid: Hi.Milling.FluteContours.FreeformSideContour.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.FluteContours.FreeformSideContour.html#Hi_Milling_FluteContours_FreeformSideContour_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.FluteContours.FreeformSideContour.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.FluteContours.FreeformSideContour.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FreeformSideContour.Reg(XFactory) +- uid: Hi.Milling.FluteContours.FreeformSideContour.Reg* + name: Reg + href: api/Hi.Milling.FluteContours.FreeformSideContour.html#Hi_Milling_FluteContours_FreeformSideContour_Reg_ + commentId: Overload:Hi.Milling.FluteContours.FreeformSideContour.Reg + isSpec: "True" + fullName: Hi.Milling.FluteContours.FreeformSideContour.Reg + nameWithType: FreeformSideContour.Reg - uid: Hi.Milling.FluteContours.FreeformSideContour.SpanContourPosList name: SpanContourPosList href: api/Hi.Milling.FluteContours.FreeformSideContour.html#Hi_Milling_FluteContours_FreeformSideContour_SpanContourPosList @@ -102731,6 +103606,19 @@ references: isSpec: "True" fullName: Hi.Milling.FluteContours.ShiftedWorkingContour.MakeXmlSource nameWithType: ShiftedWorkingContour.MakeXmlSource +- uid: Hi.Milling.FluteContours.ShiftedWorkingContour.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.FluteContours.ShiftedWorkingContour.html#Hi_Milling_FluteContours_ShiftedWorkingContour_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.FluteContours.ShiftedWorkingContour.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.FluteContours.ShiftedWorkingContour.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ShiftedWorkingContour.Reg(XFactory) +- uid: Hi.Milling.FluteContours.ShiftedWorkingContour.Reg* + name: Reg + href: api/Hi.Milling.FluteContours.ShiftedWorkingContour.html#Hi_Milling_FluteContours_ShiftedWorkingContour_Reg_ + commentId: Overload:Hi.Milling.FluteContours.ShiftedWorkingContour.Reg + isSpec: "True" + fullName: Hi.Milling.FluteContours.ShiftedWorkingContour.Reg + nameWithType: ShiftedWorkingContour.Reg - uid: Hi.Milling.FluteContours.ShiftedWorkingContour.ShiftAngle_deg name: ShiftAngle_deg href: api/Hi.Milling.FluteContours.ShiftedWorkingContour.html#Hi_Milling_FluteContours_ShiftedWorkingContour_ShiftAngle_deg @@ -103155,6 +104043,19 @@ references: isSpec: "True" fullName: Hi.Milling.FluteContours.SlideBottomContour.OuterRadius_mm nameWithType: SlideBottomContour.OuterRadius_mm +- uid: Hi.Milling.FluteContours.SlideBottomContour.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.FluteContours.SlideBottomContour.html#Hi_Milling_FluteContours_SlideBottomContour_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.FluteContours.SlideBottomContour.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.FluteContours.SlideBottomContour.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: SlideBottomContour.Reg(XFactory) +- uid: Hi.Milling.FluteContours.SlideBottomContour.Reg* + name: Reg + href: api/Hi.Milling.FluteContours.SlideBottomContour.html#Hi_Milling_FluteContours_SlideBottomContour_Reg_ + commentId: Overload:Hi.Milling.FluteContours.SlideBottomContour.Reg + isSpec: "True" + fullName: Hi.Milling.FluteContours.SlideBottomContour.Reg + nameWithType: SlideBottomContour.Reg - uid: Hi.Milling.FluteContours.SlideBottomContour.XName name: XName href: api/Hi.Milling.FluteContours.SlideBottomContour.html#Hi_Milling_FluteContours_SlideBottomContour_XName @@ -103506,6 +104407,19 @@ references: isSpec: "True" fullName: Hi.Milling.FluteContours.UniformContourTray.MakeXmlSource nameWithType: UniformContourTray.MakeXmlSource +- uid: Hi.Milling.FluteContours.UniformContourTray.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.FluteContours.UniformContourTray.html#Hi_Milling_FluteContours_UniformContourTray_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.FluteContours.UniformContourTray.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.FluteContours.UniformContourTray.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: UniformContourTray.Reg(XFactory) +- uid: Hi.Milling.FluteContours.UniformContourTray.Reg* + name: Reg + href: api/Hi.Milling.FluteContours.UniformContourTray.html#Hi_Milling_FluteContours_UniformContourTray_Reg_ + commentId: Overload:Hi.Milling.FluteContours.UniformContourTray.Reg + isSpec: "True" + fullName: Hi.Milling.FluteContours.UniformContourTray.Reg + nameWithType: UniformContourTray.Reg - uid: Hi.Milling.FluteContours.UniformContourTray.TrackNum name: TrackNum href: api/Hi.Milling.FluteContours.UniformContourTray.html#Hi_Milling_FluteContours_UniformContourTray_TrackNum @@ -104255,6 +105169,19 @@ references: isSpec: "True" fullName: Hi.Milling.MillingTools.MillingTool.PreservedDistanceBetweenFluteAndSpindleNose_mm nameWithType: MillingTool.PreservedDistanceBetweenFluteAndSpindleNose_mm +- uid: Hi.Milling.MillingTools.MillingTool.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.MillingTools.MillingTool.html#Hi_Milling_MillingTools_MillingTool_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.MillingTools.MillingTool.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.MillingTools.MillingTool.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: MillingTool.Reg(XFactory) +- uid: Hi.Milling.MillingTools.MillingTool.Reg* + name: Reg + href: api/Hi.Milling.MillingTools.MillingTool.html#Hi_Milling_MillingTools_MillingTool_Reg_ + commentId: Overload:Hi.Milling.MillingTools.MillingTool.Reg + isSpec: "True" + fullName: Hi.Milling.MillingTools.MillingTool.Reg + nameWithType: MillingTool.Reg - uid: Hi.Milling.MillingTools.MillingTool.RelativeHeightFromObservationAnchor_mm name: RelativeHeightFromObservationAnchor_mm href: api/Hi.Milling.MillingTools.MillingTool.html#Hi_Milling_MillingTools_MillingTool_RelativeHeightFromObservationAnchor_mm @@ -104714,6 +105641,19 @@ references: isSpec: "True" fullName: Hi.Milling.SpindleCapability.Note nameWithType: SpindleCapability.Note +- uid: Hi.Milling.SpindleCapability.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Milling.SpindleCapability.html#Hi_Milling_SpindleCapability_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Milling.SpindleCapability.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Milling.SpindleCapability.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: SpindleCapability.Reg(XFactory) +- uid: Hi.Milling.SpindleCapability.Reg* + name: Reg + href: api/Hi.Milling.SpindleCapability.html#Hi_Milling_SpindleCapability_Reg_ + commentId: Overload:Hi.Milling.SpindleCapability.Reg + isSpec: "True" + fullName: Hi.Milling.SpindleCapability.Reg + nameWithType: SpindleCapability.Reg - uid: Hi.Milling.SpindleCapability.WorkableDurationToSpindleSpeedPowerContoursDictionary_min_cycleDs_kW name: WorkableDurationToSpindleSpeedPowerContoursDictionary_min_cycleDs_kW href: api/Hi.Milling.SpindleCapability.html#Hi_Milling_SpindleCapability_WorkableDurationToSpindleSpeedPowerContoursDictionary_min_cycleDs_kW @@ -108159,6 +109099,19 @@ references: isSpec: "True" fullName: Hi.MillingForces.ProfileMillingParas.LocalProfileMillingPara.NaN nameWithType: LocalProfileMillingPara.NaN +- uid: Hi.MillingForces.ProfileMillingParas.LocalProfileMillingPara.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.MillingForces.ProfileMillingParas.LocalProfileMillingPara.html#Hi_MillingForces_ProfileMillingParas_LocalProfileMillingPara_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.MillingForces.ProfileMillingParas.LocalProfileMillingPara.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.MillingForces.ProfileMillingParas.LocalProfileMillingPara.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: LocalProfileMillingPara.Reg(XFactory) +- uid: Hi.MillingForces.ProfileMillingParas.LocalProfileMillingPara.Reg* + name: Reg + href: api/Hi.MillingForces.ProfileMillingParas.LocalProfileMillingPara.html#Hi_MillingForces_ProfileMillingParas_LocalProfileMillingPara_Reg_ + commentId: Overload:Hi.MillingForces.ProfileMillingParas.LocalProfileMillingPara.Reg + isSpec: "True" + fullName: Hi.MillingForces.ProfileMillingParas.LocalProfileMillingPara.Reg + nameWithType: LocalProfileMillingPara.Reg - uid: Hi.MillingForces.ProfileMillingParas.LocalProfileMillingPara.S45C_ColumnEnd name: S45C_ColumnEnd href: api/Hi.MillingForces.ProfileMillingParas.LocalProfileMillingPara.html#Hi_MillingForces_ProfileMillingParas_LocalProfileMillingPara_S45C_ColumnEnd @@ -108570,6 +109523,19 @@ references: isSpec: "True" fullName: Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.PloughPara nameWithType: ProfileMillingParaMap.PloughPara +- uid: Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.html#Hi_MillingForces_ProfileMillingParas_ProfileMillingParaMap_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ProfileMillingParaMap.Reg(XFactory) +- uid: Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.Reg* + name: Reg + href: api/Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.html#Hi_MillingForces_ProfileMillingParas_ProfileMillingParaMap_Reg_ + commentId: Overload:Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.Reg + isSpec: "True" + fullName: Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.Reg + nameWithType: ProfileMillingParaMap.Reg - uid: Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.SetElementByIndex(System.Int32,System.Double) name: SetElementByIndex(int, double) href: api/Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.html#Hi_MillingForces_ProfileMillingParas_ProfileMillingParaMap_SetElementByIndex_System_Int32_System_Double_ @@ -109017,6 +109983,19 @@ references: isSpec: "True" fullName: Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.Note nameWithType: MultiFormRakeFaceCuttingPara.Note +- uid: Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.html#Hi_MillingForces_RakeFaceCuttingParas_MultiFormRakeFaceCuttingPara_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: MultiFormRakeFaceCuttingPara.Reg(XFactory) +- uid: Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.Reg* + name: Reg + href: api/Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.html#Hi_MillingForces_RakeFaceCuttingParas_MultiFormRakeFaceCuttingPara_Reg_ + commentId: Overload:Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.Reg + isSpec: "True" + fullName: Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.Reg + nameWithType: MultiFormRakeFaceCuttingPara.Reg - uid: Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.SetElementByIndex(System.Int32,System.Double) name: SetElementByIndex(int, double) href: api/Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.html#Hi_MillingForces_RakeFaceCuttingParas_MultiFormRakeFaceCuttingPara_SetElementByIndex_System_Int32_System_Double_ @@ -109371,6 +110350,19 @@ references: isSpec: "True" fullName: Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.Note nameWithType: RakeFaceCuttingPara2d.Note +- uid: Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.html#Hi_MillingForces_RakeFaceCuttingParas_RakeFaceCuttingPara2d_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: RakeFaceCuttingPara2d.Reg(XFactory) +- uid: Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.Reg* + name: Reg + href: api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.html#Hi_MillingForces_RakeFaceCuttingParas_RakeFaceCuttingPara2d_Reg_ + commentId: Overload:Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.Reg + isSpec: "True" + fullName: Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.Reg + nameWithType: RakeFaceCuttingPara2d.Reg - uid: Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.SetElementByIndex(System.Int32,System.Double) name: SetElementByIndex(int, double) href: api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.html#Hi_MillingForces_RakeFaceCuttingParas_RakeFaceCuttingPara2d_SetElementByIndex_System_Int32_System_Double_ @@ -109840,6 +110832,19 @@ references: isSpec: "True" fullName: Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.Note nameWithType: RakeFaceCuttingPara3d.Note +- uid: Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.html#Hi_MillingForces_RakeFaceCuttingParas_RakeFaceCuttingPara3d_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: RakeFaceCuttingPara3d.Reg(XFactory) +- uid: Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.Reg* + name: Reg + href: api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.html#Hi_MillingForces_RakeFaceCuttingParas_RakeFaceCuttingPara3d_Reg_ + commentId: Overload:Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.Reg + isSpec: "True" + fullName: Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.Reg + nameWithType: RakeFaceCuttingPara3d.Reg - uid: Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.SetElementByIndex(System.Int32,System.Double) name: SetElementByIndex(int, double) href: api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.html#Hi_MillingForces_RakeFaceCuttingParas_RakeFaceCuttingPara3d_SetElementByIndex_System_Int32_System_Double_ @@ -110181,6 +111186,19 @@ references: isSpec: "True" fullName: Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.PloughParas nameWithType: RakeFaceCuttingParaMap.PloughParas +- uid: Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.html#Hi_MillingForces_RakeFaceCuttingParas_RakeFaceCuttingParaMap_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: RakeFaceCuttingParaMap.Reg(XFactory) +- uid: Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.Reg* + name: Reg + href: api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.html#Hi_MillingForces_RakeFaceCuttingParas_RakeFaceCuttingParaMap_Reg_ + commentId: Overload:Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.Reg + isSpec: "True" + fullName: Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.Reg + nameWithType: RakeFaceCuttingParaMap.Reg - uid: Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.SetElementByIndex(System.Int32,System.Double) name: SetElementByIndex(int, double) href: api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.html#Hi_MillingForces_RakeFaceCuttingParas_RakeFaceCuttingParaMap_SetElementByIndex_System_Int32_System_Double_ @@ -110536,6 +111554,19 @@ references: isSpec: "True" fullName: Hi.MillingProcs.MillingGuide.MakeXmlSource nameWithType: MillingGuide.MakeXmlSource +- uid: Hi.MillingProcs.MillingGuide.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.MillingProcs.MillingGuide.html#Hi_MillingProcs_MillingGuide_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.MillingProcs.MillingGuide.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.MillingProcs.MillingGuide.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: MillingGuide.Reg(XFactory) +- uid: Hi.MillingProcs.MillingGuide.Reg* + name: Reg + href: api/Hi.MillingProcs.MillingGuide.html#Hi_MillingProcs_MillingGuide_Reg_ + commentId: Overload:Hi.MillingProcs.MillingGuide.Reg + isSpec: "True" + fullName: Hi.MillingProcs.MillingGuide.Reg + nameWithType: MillingGuide.Reg - uid: Hi.MillingProcs.MillingGuide.SensorSpindleMomentCycleLineDivConfig name: SensorSpindleMomentCycleLineDivConfig href: api/Hi.MillingProcs.MillingGuide.html#Hi_MillingProcs_MillingGuide_SensorSpindleMomentCycleLineDivConfig @@ -110644,6 +111675,19 @@ references: isSpec: "True" fullName: Hi.MillingStepUtils.ClStripChartConfig.MakeXmlSource nameWithType: ClStripChartConfig.MakeXmlSource +- uid: Hi.MillingStepUtils.ClStripChartConfig.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.MillingStepUtils.ClStripChartConfig.html#Hi_MillingStepUtils_ClStripChartConfig_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.MillingStepUtils.ClStripChartConfig.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.MillingStepUtils.ClStripChartConfig.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ClStripChartConfig.Reg(XFactory) +- uid: Hi.MillingStepUtils.ClStripChartConfig.Reg* + name: Reg + href: api/Hi.MillingStepUtils.ClStripChartConfig.html#Hi_MillingStepUtils_ClStripChartConfig_Reg_ + commentId: Overload:Hi.MillingStepUtils.ClStripChartConfig.Reg + isSpec: "True" + fullName: Hi.MillingStepUtils.ClStripChartConfig.Reg + nameWithType: ClStripChartConfig.Reg - uid: Hi.MillingStepUtils.ClStripChartConfig.XName name: XName href: api/Hi.MillingStepUtils.ClStripChartConfig.html#Hi_MillingStepUtils_ClStripChartConfig_XName @@ -110707,6 +111751,19 @@ references: isSpec: "True" fullName: Hi.MillingStepUtils.ClStripChartItemConfig.MakeXmlSource nameWithType: ClStripChartItemConfig.MakeXmlSource +- uid: Hi.MillingStepUtils.ClStripChartItemConfig.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.MillingStepUtils.ClStripChartItemConfig.html#Hi_MillingStepUtils_ClStripChartItemConfig_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.MillingStepUtils.ClStripChartItemConfig.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.MillingStepUtils.ClStripChartItemConfig.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ClStripChartItemConfig.Reg(XFactory) +- uid: Hi.MillingStepUtils.ClStripChartItemConfig.Reg* + name: Reg + href: api/Hi.MillingStepUtils.ClStripChartItemConfig.html#Hi_MillingStepUtils_ClStripChartItemConfig_Reg_ + commentId: Overload:Hi.MillingStepUtils.ClStripChartItemConfig.Reg + isSpec: "True" + fullName: Hi.MillingStepUtils.ClStripChartItemConfig.Reg + nameWithType: ClStripChartItemConfig.Reg - uid: Hi.MillingStepUtils.ClStripChartItemConfig.TimeChartYConfig name: TimeChartYConfig href: api/Hi.MillingStepUtils.ClStripChartItemConfig.html#Hi_MillingStepUtils_ClStripChartItemConfig_TimeChartYConfig @@ -110827,6 +111884,19 @@ references: isSpec: "True" fullName: Hi.MillingStepUtils.ForceCycleLineDivConfig.MakeXmlSource nameWithType: ForceCycleLineDivConfig.MakeXmlSource +- uid: Hi.MillingStepUtils.ForceCycleLineDivConfig.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.MillingStepUtils.ForceCycleLineDivConfig.html#Hi_MillingStepUtils_ForceCycleLineDivConfig_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.MillingStepUtils.ForceCycleLineDivConfig.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.MillingStepUtils.ForceCycleLineDivConfig.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ForceCycleLineDivConfig.Reg(XFactory) +- uid: Hi.MillingStepUtils.ForceCycleLineDivConfig.Reg* + name: Reg + href: api/Hi.MillingStepUtils.ForceCycleLineDivConfig.html#Hi_MillingStepUtils_ForceCycleLineDivConfig_Reg_ + commentId: Overload:Hi.MillingStepUtils.ForceCycleLineDivConfig.Reg + isSpec: "True" + fullName: Hi.MillingStepUtils.ForceCycleLineDivConfig.Reg + nameWithType: ForceCycleLineDivConfig.Reg - uid: Hi.MillingStepUtils.ForceCycleLineDivConfig.XName name: XName href: api/Hi.MillingStepUtils.ForceCycleLineDivConfig.html#Hi_MillingStepUtils_ForceCycleLineDivConfig_XName @@ -110908,6 +111978,19 @@ references: isSpec: "True" fullName: Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.MakeXmlSource nameWithType: SpindleMomentCycleLineDivConfig.MakeXmlSource +- uid: Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.html#Hi_MillingStepUtils_SpindleMomentCycleLineDivConfig_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: SpindleMomentCycleLineDivConfig.Reg(XFactory) +- uid: Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.Reg* + name: Reg + href: api/Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.html#Hi_MillingStepUtils_SpindleMomentCycleLineDivConfig_Reg_ + commentId: Overload:Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.Reg + isSpec: "True" + fullName: Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.Reg + nameWithType: SpindleMomentCycleLineDivConfig.Reg - uid: Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.TimeChartYConfig name: TimeChartYConfig href: api/Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.html#Hi_MillingStepUtils_SpindleMomentCycleLineDivConfig_TimeChartYConfig @@ -110984,6 +112067,19 @@ references: isSpec: "True" fullName: Hi.MillingStepUtils.TimeChartYConfig.MakeXmlSource nameWithType: TimeChartYConfig.MakeXmlSource +- uid: Hi.MillingStepUtils.TimeChartYConfig.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.MillingStepUtils.TimeChartYConfig.html#Hi_MillingStepUtils_TimeChartYConfig_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.MillingStepUtils.TimeChartYConfig.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.MillingStepUtils.TimeChartYConfig.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: TimeChartYConfig.Reg(XFactory) +- uid: Hi.MillingStepUtils.TimeChartYConfig.Reg* + name: Reg + href: api/Hi.MillingStepUtils.TimeChartYConfig.html#Hi_MillingStepUtils_TimeChartYConfig_Reg_ + commentId: Overload:Hi.MillingStepUtils.TimeChartYConfig.Reg + isSpec: "True" + fullName: Hi.MillingStepUtils.TimeChartYConfig.Reg + nameWithType: TimeChartYConfig.Reg - uid: Hi.MillingStepUtils.TimeChartYConfig.ToString name: ToString() href: api/Hi.MillingStepUtils.TimeChartYConfig.html#Hi_MillingStepUtils_TimeChartYConfig_ToString @@ -113373,6 +114469,19 @@ references: isSpec: "True" fullName: Hi.NcMech.Fixtures.Fixture.MakeXmlSource nameWithType: Fixture.MakeXmlSource +- uid: Hi.NcMech.Fixtures.Fixture.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcMech.Fixtures.Fixture.html#Hi_NcMech_Fixtures_Fixture_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcMech.Fixtures.Fixture.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcMech.Fixtures.Fixture.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: Fixture.Reg(XFactory) +- uid: Hi.NcMech.Fixtures.Fixture.Reg* + name: Reg + href: api/Hi.NcMech.Fixtures.Fixture.html#Hi_NcMech_Fixtures_Fixture_Reg_ + commentId: Overload:Hi.NcMech.Fixtures.Fixture.Reg + isSpec: "True" + fullName: Hi.NcMech.Fixtures.Fixture.Reg + nameWithType: Fixture.Reg - uid: Hi.NcMech.Fixtures.Fixture.SetWorkpieceTransformationToGeomTopCenter name: SetWorkpieceTransformationToGeomTopCenter() href: api/Hi.NcMech.Fixtures.Fixture.html#Hi_NcMech_Fixtures_Fixture_SetWorkpieceTransformationToGeomTopCenter @@ -113643,6 +114752,19 @@ references: isSpec: "True" fullName: Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.MakeXmlSource nameWithType: FixtureEditorDisplayeeConfig.MakeXmlSource +- uid: Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.html#Hi_NcMech_Fixtures_FixtureEditorDisplayeeConfig_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FixtureEditorDisplayeeConfig.Reg(XFactory) +- uid: Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.Reg* + name: Reg + href: api/Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.html#Hi_NcMech_Fixtures_FixtureEditorDisplayeeConfig_Reg_ + commentId: Overload:Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.Reg + isSpec: "True" + fullName: Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.Reg + nameWithType: FixtureEditorDisplayeeConfig.Reg - uid: Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.RenderingMode name: RenderingMode href: api/Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.html#Hi_NcMech_Fixtures_FixtureEditorDisplayeeConfig_RenderingMode @@ -114110,6 +115232,19 @@ references: isSpec: "True" fullName: Hi.NcMech.Holders.CylindroidHolder.PolarResolution2d nameWithType: CylindroidHolder.PolarResolution2d +- uid: Hi.NcMech.Holders.CylindroidHolder.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcMech.Holders.CylindroidHolder.html#Hi_NcMech_Holders_CylindroidHolder_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcMech.Holders.CylindroidHolder.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcMech.Holders.CylindroidHolder.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CylindroidHolder.Reg(XFactory) +- uid: Hi.NcMech.Holders.CylindroidHolder.Reg* + name: Reg + href: api/Hi.NcMech.Holders.CylindroidHolder.html#Hi_NcMech_Holders_CylindroidHolder_Reg_ + commentId: Overload:Hi.NcMech.Holders.CylindroidHolder.Reg + isSpec: "True" + fullName: Hi.NcMech.Holders.CylindroidHolder.Reg + nameWithType: CylindroidHolder.Reg - uid: Hi.NcMech.Holders.CylindroidHolder.SpindleBuckle name: SpindleBuckle href: api/Hi.NcMech.Holders.CylindroidHolder.html#Hi_NcMech_Holders_CylindroidHolder_SpindleBuckle @@ -114577,6 +115712,19 @@ references: isSpec: "True" fullName: Hi.NcMech.Holders.FreeformHolder.PolarResolution2d nameWithType: FreeformHolder.PolarResolution2d +- uid: Hi.NcMech.Holders.FreeformHolder.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcMech.Holders.FreeformHolder.html#Hi_NcMech_Holders_FreeformHolder_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcMech.Holders.FreeformHolder.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcMech.Holders.FreeformHolder.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FreeformHolder.Reg(XFactory) +- uid: Hi.NcMech.Holders.FreeformHolder.Reg* + name: Reg + href: api/Hi.NcMech.Holders.FreeformHolder.html#Hi_NcMech_Holders_FreeformHolder_Reg_ + commentId: Overload:Hi.NcMech.Holders.FreeformHolder.Reg + isSpec: "True" + fullName: Hi.NcMech.Holders.FreeformHolder.Reg + nameWithType: FreeformHolder.Reg - uid: Hi.NcMech.Holders.FreeformHolder.SpindleBuckle name: SpindleBuckle href: api/Hi.NcMech.Holders.FreeformHolder.html#Hi_NcMech_Holders_FreeformHolder_SpindleBuckle @@ -115157,6 +116305,19 @@ references: isSpec: "True" fullName: Hi.NcMech.Solids.Solid.Prepared nameWithType: Solid.Prepared +- uid: Hi.NcMech.Solids.Solid.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcMech.Solids.Solid.html#Hi_NcMech_Solids_Solid_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcMech.Solids.Solid.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcMech.Solids.Solid.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: Solid.Reg(XFactory) +- uid: Hi.NcMech.Solids.Solid.Reg* + name: Reg + href: api/Hi.NcMech.Solids.Solid.html#Hi_NcMech_Solids_Solid_Reg_ + commentId: Overload:Hi.NcMech.Solids.Solid.Reg + isSpec: "True" + fullName: Hi.NcMech.Solids.Solid.Reg + nameWithType: Solid.Reg - uid: Hi.NcMech.Solids.Solid.RenderingModeEnum name: Solid.RenderingModeEnum href: api/Hi.NcMech.Solids.Solid.RenderingModeEnum.html @@ -115512,6 +116673,19 @@ references: isSpec: "True" fullName: Hi.NcMech.Topo.NcRotation.MakeXmlSource nameWithType: NcRotation.MakeXmlSource +- uid: Hi.NcMech.Topo.NcRotation.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcMech.Topo.NcRotation.html#Hi_NcMech_Topo_NcRotation_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcMech.Topo.NcRotation.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcMech.Topo.NcRotation.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: NcRotation.Reg(XFactory) +- uid: Hi.NcMech.Topo.NcRotation.Reg* + name: Reg + href: api/Hi.NcMech.Topo.NcRotation.html#Hi_NcMech_Topo_NcRotation_Reg_ + commentId: Overload:Hi.NcMech.Topo.NcRotation.Reg + isSpec: "True" + fullName: Hi.NcMech.Topo.NcRotation.Reg + nameWithType: NcRotation.Reg - uid: Hi.NcMech.Topo.NcRotation.SpeedLimit_radds name: SpeedLimit_radds href: api/Hi.NcMech.Topo.NcRotation.html#Hi_NcMech_Topo_NcRotation_SpeedLimit_radds @@ -115740,6 +116914,19 @@ references: isSpec: "True" fullName: Hi.NcMech.Topo.NcTranslation.MakeXmlSource nameWithType: NcTranslation.MakeXmlSource +- uid: Hi.NcMech.Topo.NcTranslation.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcMech.Topo.NcTranslation.html#Hi_NcMech_Topo_NcTranslation_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcMech.Topo.NcTranslation.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcMech.Topo.NcTranslation.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: NcTranslation.Reg(XFactory) +- uid: Hi.NcMech.Topo.NcTranslation.Reg* + name: Reg + href: api/Hi.NcMech.Topo.NcTranslation.html#Hi_NcMech_Topo_NcTranslation_Reg_ + commentId: Overload:Hi.NcMech.Topo.NcTranslation.Reg + isSpec: "True" + fullName: Hi.NcMech.Topo.NcTranslation.Reg + nameWithType: NcTranslation.Reg - uid: Hi.NcMech.Topo.NcTranslation.SpeedLimit_mmdmin name: SpeedLimit_mmdmin href: api/Hi.NcMech.Topo.NcTranslation.html#Hi_NcMech_Topo_NcTranslation_SpeedLimit_mmdmin @@ -116489,6 +117676,19 @@ references: isSpec: "True" fullName: Hi.NcMech.Workpieces.Workpiece.ProgramZeroAnchor nameWithType: Workpiece.ProgramZeroAnchor +- uid: Hi.NcMech.Workpieces.Workpiece.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcMech.Workpieces.Workpiece.html#Hi_NcMech_Workpieces_Workpiece_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcMech.Workpieces.Workpiece.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcMech.Workpieces.Workpiece.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: Workpiece.Reg(XFactory) +- uid: Hi.NcMech.Workpieces.Workpiece.Reg* + name: Reg + href: api/Hi.NcMech.Workpieces.Workpiece.html#Hi_NcMech_Workpieces_Workpiece_Reg_ + commentId: Overload:Hi.NcMech.Workpieces.Workpiece.Reg + isSpec: "True" + fullName: Hi.NcMech.Workpieces.Workpiece.Reg + nameWithType: Workpiece.Reg - uid: Hi.NcMech.Workpieces.Workpiece.WorkpieceGeomToFixtureBuckleBranch name: WorkpieceGeomToFixtureBuckleBranch href: api/Hi.NcMech.Workpieces.Workpiece.html#Hi_NcMech_Workpieces_Workpiece_WorkpieceGeomToFixtureBuckleBranch @@ -116850,6 +118050,19 @@ references: isSpec: "True" fullName: Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.RawGeomRenderingMode nameWithType: WorkpieceEditorDisplayeeConfig.RawGeomRenderingMode +- uid: Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.html#Hi_NcMech_Workpieces_WorkpieceEditorDisplayeeConfig_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: WorkpieceEditorDisplayeeConfig.Reg(XFactory) +- uid: Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.Reg* + name: Reg + href: api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.html#Hi_NcMech_Workpieces_WorkpieceEditorDisplayeeConfig_Reg_ + commentId: Overload:Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.Reg + isSpec: "True" + fullName: Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.Reg + nameWithType: WorkpieceEditorDisplayeeConfig.Reg - uid: Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.ShowFixtureBuckle name: ShowFixtureBuckle href: api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.html#Hi_NcMech_Workpieces_WorkpieceEditorDisplayeeConfig_ShowFixtureBuckle @@ -117796,6 +119009,19 @@ references: isSpec: "True" fullName: Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.Note nameWithType: CodeXyzabcMachineTool.Note +- uid: Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.html#Hi_NcMech_Xyzabc_CodeXyzabcMachineTool_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CodeXyzabcMachineTool.Reg(XFactory) +- uid: Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.Reg* + name: Reg + href: api/Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.html#Hi_NcMech_Xyzabc_CodeXyzabcMachineTool_Reg_ + commentId: Overload:Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.Reg + isSpec: "True" + fullName: Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.Reg + nameWithType: CodeXyzabcMachineTool.Reg - uid: Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.TableAnchor name: TableAnchor href: api/Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.html#Hi_NcMech_Xyzabc_CodeXyzabcMachineTool_TableAnchor @@ -117966,6 +119192,19 @@ references: isSpec: "True" fullName: Hi.NcMech.Xyzabc.CodeXyzabcMachineToolUri.MakeXmlSource nameWithType: CodeXyzabcMachineToolUri.MakeXmlSource +- uid: Hi.NcMech.Xyzabc.CodeXyzabcMachineToolUri.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcMech.Xyzabc.CodeXyzabcMachineToolUri.html#Hi_NcMech_Xyzabc_CodeXyzabcMachineToolUri_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcMech.Xyzabc.CodeXyzabcMachineToolUri.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcMech.Xyzabc.CodeXyzabcMachineToolUri.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CodeXyzabcMachineToolUri.Reg(XFactory) +- uid: Hi.NcMech.Xyzabc.CodeXyzabcMachineToolUri.Reg* + name: Reg + href: api/Hi.NcMech.Xyzabc.CodeXyzabcMachineToolUri.html#Hi_NcMech_Xyzabc_CodeXyzabcMachineToolUri_Reg_ + commentId: Overload:Hi.NcMech.Xyzabc.CodeXyzabcMachineToolUri.Reg + isSpec: "True" + fullName: Hi.NcMech.Xyzabc.CodeXyzabcMachineToolUri.Reg + nameWithType: CodeXyzabcMachineToolUri.Reg - uid: Hi.NcMech.Xyzabc.CodeXyzabcMachineToolUri.SaveToUri(System.String) name: SaveToUri(string) href: api/Hi.NcMech.Xyzabc.CodeXyzabcMachineToolUri.html#Hi_NcMech_Xyzabc_CodeXyzabcMachineToolUri_SaveToUri_System_String_ @@ -118383,6 +119622,19 @@ references: isSpec: "True" fullName: Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.Note nameWithType: GeneralXyzabcMachineTool.Note +- uid: Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.html#Hi_NcMech_Xyzabc_GeneralXyzabcMachineTool_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: GeneralXyzabcMachineTool.Reg(XFactory) +- uid: Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.Reg* + name: Reg + href: api/Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.html#Hi_NcMech_Xyzabc_GeneralXyzabcMachineTool_Reg_ + commentId: Overload:Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.Reg + isSpec: "True" + fullName: Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.Reg + nameWithType: GeneralXyzabcMachineTool.Reg - uid: Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.TableAnchor name: TableAnchor href: api/Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.html#Hi_NcMech_Xyzabc_GeneralXyzabcMachineTool_TableAnchor @@ -118616,6 +119868,19 @@ references: isSpec: "True" fullName: Hi.NcOpt.CuttingVelocityOptLimit.MinCuttingVelocity_mmds nameWithType: CuttingVelocityOptLimit.MinCuttingVelocity_mmds +- uid: Hi.NcOpt.CuttingVelocityOptLimit.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcOpt.CuttingVelocityOptLimit.html#Hi_NcOpt_CuttingVelocityOptLimit_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcOpt.CuttingVelocityOptLimit.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcOpt.CuttingVelocityOptLimit.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CuttingVelocityOptLimit.Reg(XFactory) +- uid: Hi.NcOpt.CuttingVelocityOptLimit.Reg* + name: Reg + href: api/Hi.NcOpt.CuttingVelocityOptLimit.html#Hi_NcOpt_CuttingVelocityOptLimit_Reg_ + commentId: Overload:Hi.NcOpt.CuttingVelocityOptLimit.Reg + isSpec: "True" + fullName: Hi.NcOpt.CuttingVelocityOptLimit.Reg + nameWithType: CuttingVelocityOptLimit.Reg - uid: Hi.NcOpt.CuttingVelocityOptLimit.ToXElement name: ToXElement() href: api/Hi.NcOpt.CuttingVelocityOptLimit.html#Hi_NcOpt_CuttingVelocityOptLimit_ToXElement @@ -118786,6 +120051,19 @@ references: isSpec: "True" fullName: Hi.NcOpt.FixedFeedPerCycleOptLimit.MinFeedPerCycle_mm nameWithType: FixedFeedPerCycleOptLimit.MinFeedPerCycle_mm +- uid: Hi.NcOpt.FixedFeedPerCycleOptLimit.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcOpt.FixedFeedPerCycleOptLimit.html#Hi_NcOpt_FixedFeedPerCycleOptLimit_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcOpt.FixedFeedPerCycleOptLimit.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcOpt.FixedFeedPerCycleOptLimit.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FixedFeedPerCycleOptLimit.Reg(XFactory) +- uid: Hi.NcOpt.FixedFeedPerCycleOptLimit.Reg* + name: Reg + href: api/Hi.NcOpt.FixedFeedPerCycleOptLimit.html#Hi_NcOpt_FixedFeedPerCycleOptLimit_Reg_ + commentId: Overload:Hi.NcOpt.FixedFeedPerCycleOptLimit.Reg + isSpec: "True" + fullName: Hi.NcOpt.FixedFeedPerCycleOptLimit.Reg + nameWithType: FixedFeedPerCycleOptLimit.Reg - uid: Hi.NcOpt.FixedFeedPerCycleOptLimit.ToXElement name: ToXElement() href: api/Hi.NcOpt.FixedFeedPerCycleOptLimit.html#Hi_NcOpt_FixedFeedPerCycleOptLimit_ToXElement @@ -118930,6 +120208,19 @@ references: isSpec: "True" fullName: Hi.NcOpt.FixedFeedPerToothOptLimit.MinFeedPerTooth_mm nameWithType: FixedFeedPerToothOptLimit.MinFeedPerTooth_mm +- uid: Hi.NcOpt.FixedFeedPerToothOptLimit.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcOpt.FixedFeedPerToothOptLimit.html#Hi_NcOpt_FixedFeedPerToothOptLimit_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcOpt.FixedFeedPerToothOptLimit.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcOpt.FixedFeedPerToothOptLimit.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FixedFeedPerToothOptLimit.Reg(XFactory) +- uid: Hi.NcOpt.FixedFeedPerToothOptLimit.Reg* + name: Reg + href: api/Hi.NcOpt.FixedFeedPerToothOptLimit.html#Hi_NcOpt_FixedFeedPerToothOptLimit_Reg_ + commentId: Overload:Hi.NcOpt.FixedFeedPerToothOptLimit.Reg + isSpec: "True" + fullName: Hi.NcOpt.FixedFeedPerToothOptLimit.Reg + nameWithType: FixedFeedPerToothOptLimit.Reg - uid: Hi.NcOpt.FixedFeedPerToothOptLimit.ToString name: ToString() href: api/Hi.NcOpt.FixedFeedPerToothOptLimit.html#Hi_NcOpt_FixedFeedPerToothOptLimit_ToString @@ -119241,6 +120532,19 @@ references: isSpec: "True" fullName: Hi.NcOpt.MillingCutterOptOption.MinFeedPerTooth_mm nameWithType: MillingCutterOptOption.MinFeedPerTooth_mm +- uid: Hi.NcOpt.MillingCutterOptOption.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcOpt.MillingCutterOptOption.html#Hi_NcOpt_MillingCutterOptOption_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcOpt.MillingCutterOptOption.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcOpt.MillingCutterOptOption.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: MillingCutterOptOption.Reg(XFactory) +- uid: Hi.NcOpt.MillingCutterOptOption.Reg* + name: Reg + href: api/Hi.NcOpt.MillingCutterOptOption.html#Hi_NcOpt_MillingCutterOptOption_Reg_ + commentId: Overload:Hi.NcOpt.MillingCutterOptOption.Reg + isSpec: "True" + fullName: Hi.NcOpt.MillingCutterOptOption.Reg + nameWithType: MillingCutterOptOption.Reg - uid: Hi.NcOpt.MillingCutterOptOption.ToXElement name: ToXElement() href: api/Hi.NcOpt.MillingCutterOptOption.html#Hi_NcOpt_MillingCutterOptOption_ToXElement @@ -119764,6 +121068,19 @@ references: isSpec: "True" fullName: Hi.NcOpt.NcOptOption.RapidFeed_mmds nameWithType: NcOptOption.RapidFeed_mmds +- uid: Hi.NcOpt.NcOptOption.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcOpt.NcOptOption.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcOpt.NcOptOption.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: NcOptOption.Reg(XFactory) +- uid: Hi.NcOpt.NcOptOption.Reg* + name: Reg + href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_Reg_ + commentId: Overload:Hi.NcOpt.NcOptOption.Reg + isSpec: "True" + fullName: Hi.NcOpt.NcOptOption.Reg + nameWithType: NcOptOption.Reg - uid: Hi.NcOpt.NcOptOption.ThermalYieldSafetyFactor name: ThermalYieldSafetyFactor href: api/Hi.NcOpt.NcOptOption.html#Hi_NcOpt_NcOptOption_ThermalYieldSafetyFactor @@ -119963,6 +121280,19 @@ references: isSpec: "True" fullName: Hi.NcOpt.NcOptProc.OptimizeToFiles nameWithType: NcOptProc.OptimizeToFiles +- uid: Hi.NcOpt.NcOptProc.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcOpt.NcOptProc.html#Hi_NcOpt_NcOptProc_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcOpt.NcOptProc.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcOpt.NcOptProc.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: NcOptProc.Reg(XFactory) +- uid: Hi.NcOpt.NcOptProc.Reg* + name: Reg + href: api/Hi.NcOpt.NcOptProc.html#Hi_NcOpt_NcOptProc_Reg_ + commentId: Overload:Hi.NcOpt.NcOptProc.Reg + isSpec: "True" + fullName: Hi.NcOpt.NcOptProc.Reg + nameWithType: NcOptProc.Reg - uid: Hi.NcOpt.NcOptProc.XName name: XName href: api/Hi.NcOpt.NcOptProc.html#Hi_NcOpt_NcOptProc_XName @@ -120205,6 +121535,19 @@ references: isSpec: "True" fullName: Hi.NcOpt.ShapeBasedCutterOptLimit.Radius_mm nameWithType: ShapeBasedCutterOptLimit.Radius_mm +- uid: Hi.NcOpt.ShapeBasedCutterOptLimit.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcOpt.ShapeBasedCutterOptLimit.html#Hi_NcOpt_ShapeBasedCutterOptLimit_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcOpt.ShapeBasedCutterOptLimit.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcOpt.ShapeBasedCutterOptLimit.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ShapeBasedCutterOptLimit.Reg(XFactory) +- uid: Hi.NcOpt.ShapeBasedCutterOptLimit.Reg* + name: Reg + href: api/Hi.NcOpt.ShapeBasedCutterOptLimit.html#Hi_NcOpt_ShapeBasedCutterOptLimit_Reg_ + commentId: Overload:Hi.NcOpt.ShapeBasedCutterOptLimit.Reg + isSpec: "True" + fullName: Hi.NcOpt.ShapeBasedCutterOptLimit.Reg + nameWithType: ShapeBasedCutterOptLimit.Reg - uid: Hi.NcOpt.ShapeBasedCutterOptLimit.SafetyFactor name: SafetyFactor href: api/Hi.NcOpt.ShapeBasedCutterOptLimit.html#Hi_NcOpt_ShapeBasedCutterOptLimit_SafetyFactor @@ -120348,6 +121691,19 @@ references: commentId: F:Hi.NcParsers.Dependencys.CncBrandDependency.Mazak fullName: Hi.NcParsers.Dependencys.CncBrandDependency.Mazak nameWithType: CncBrandDependency.Mazak +- uid: Hi.NcParsers.Dependencys.CncBrandDependency.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.CncBrandDependency.html#Hi_NcParsers_Dependencys_CncBrandDependency_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.CncBrandDependency.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.CncBrandDependency.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CncBrandDependency.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.CncBrandDependency.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.CncBrandDependency.html#Hi_NcParsers_Dependencys_CncBrandDependency_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.CncBrandDependency.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.CncBrandDependency.Reg + nameWithType: CncBrandDependency.Reg - uid: Hi.NcParsers.Dependencys.CncBrandDependency.Siemens name: Siemens href: api/Hi.NcParsers.Dependencys.CncBrandDependency.html#Hi_NcParsers_Dependencys_CncBrandDependency_Siemens @@ -120922,6 +122278,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.MaxIterationsPerTarget nameWithType: FanucGotoIterationDependency.MaxIterationsPerTarget +- uid: Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FanucGotoIterationDependency.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.Reg + nameWithType: FanucGotoIterationDependency.Reg - uid: Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.Reset name: Reset() href: api/Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_Reset @@ -121328,6 +122697,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.ReferencePositionParamId nameWithType: FanucParameterTable.ReferencePositionParamId +- uid: Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.html#Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FanucParameterTable.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.html#Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.Reg + nameWithType: FanucParameterTable.Reg - uid: Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.SetCoordinateOffset(System.String,Hi.Geom.Vec3d) name: SetCoordinateOffset(string, Vec3d) href: api/Hi.NcParsers.Dependencys.Fanuc.FanucParameterTable.html#Hi_NcParsers_Dependencys_Fanuc_FanucParameterTable_SetCoordinateOffset_System_String_Hi_Geom_Vec3d_ @@ -121467,6 +122849,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.Fanuc.FanucPositionVariableLookup.MakeXmlSource nameWithType: FanucPositionVariableLookup.MakeXmlSource +- uid: Hi.NcParsers.Dependencys.Fanuc.FanucPositionVariableLookup.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.Fanuc.FanucPositionVariableLookup.html#Hi_NcParsers_Dependencys_Fanuc_FanucPositionVariableLookup_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.Fanuc.FanucPositionVariableLookup.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.Fanuc.FanucPositionVariableLookup.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FanucPositionVariableLookup.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.Fanuc.FanucPositionVariableLookup.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.Fanuc.FanucPositionVariableLookup.html#Hi_NcParsers_Dependencys_Fanuc_FanucPositionVariableLookup_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.Fanuc.FanucPositionVariableLookup.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.Fanuc.FanucPositionVariableLookup.Reg + nameWithType: FanucPositionVariableLookup.Reg - uid: Hi.NcParsers.Dependencys.Fanuc.FanucPositionVariableLookup.XName name: XName href: api/Hi.NcParsers.Dependencys.Fanuc.FanucPositionVariableLookup.html#Hi_NcParsers_Dependencys_Fanuc_FanucPositionVariableLookup_XName @@ -121546,6 +122941,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.Fanuc.FanucToolOffsetVariableLookup.MakeXmlSource nameWithType: FanucToolOffsetVariableLookup.MakeXmlSource +- uid: Hi.NcParsers.Dependencys.Fanuc.FanucToolOffsetVariableLookup.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.Fanuc.FanucToolOffsetVariableLookup.html#Hi_NcParsers_Dependencys_Fanuc_FanucToolOffsetVariableLookup_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.Fanuc.FanucToolOffsetVariableLookup.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.Fanuc.FanucToolOffsetVariableLookup.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FanucToolOffsetVariableLookup.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.Fanuc.FanucToolOffsetVariableLookup.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.Fanuc.FanucToolOffsetVariableLookup.html#Hi_NcParsers_Dependencys_Fanuc_FanucToolOffsetVariableLookup_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.Fanuc.FanucToolOffsetVariableLookup.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.Fanuc.FanucToolOffsetVariableLookup.Reg + nameWithType: FanucToolOffsetVariableLookup.Reg - uid: Hi.NcParsers.Dependencys.Fanuc.FanucToolOffsetVariableLookup.ToolHeightMax name: ToolHeightMax href: api/Hi.NcParsers.Dependencys.Fanuc.FanucToolOffsetVariableLookup.html#Hi_NcParsers_Dependencys_Fanuc_FanucToolOffsetVariableLookup_ToolHeightMax @@ -121653,6 +123061,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.Fanuc.RetainedCommonVariableTable.MakeXmlSource nameWithType: RetainedCommonVariableTable.MakeXmlSource +- uid: Hi.NcParsers.Dependencys.Fanuc.RetainedCommonVariableTable.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.Fanuc.RetainedCommonVariableTable.html#Hi_NcParsers_Dependencys_Fanuc_RetainedCommonVariableTable_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.Fanuc.RetainedCommonVariableTable.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.Fanuc.RetainedCommonVariableTable.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: RetainedCommonVariableTable.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.Fanuc.RetainedCommonVariableTable.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.Fanuc.RetainedCommonVariableTable.html#Hi_NcParsers_Dependencys_Fanuc_RetainedCommonVariableTable_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.Fanuc.RetainedCommonVariableTable.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.Fanuc.RetainedCommonVariableTable.Reg + nameWithType: RetainedCommonVariableTable.Reg - uid: Hi.NcParsers.Dependencys.Fanuc.RetainedCommonVariableTable.RetainedCommonMax name: RetainedCommonMax href: api/Hi.NcParsers.Dependencys.Fanuc.RetainedCommonVariableTable.html#Hi_NcParsers_Dependencys_Fanuc_RetainedCommonVariableTable_RetainedCommonMax @@ -121776,6 +123197,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.Generic.FallbackConfig.PeckRetractionDistance_mm nameWithType: FallbackConfig.PeckRetractionDistance_mm +- uid: Hi.NcParsers.Dependencys.Generic.FallbackConfig.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.Generic.FallbackConfig.html#Hi_NcParsers_Dependencys_Generic_FallbackConfig_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.Generic.FallbackConfig.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.Generic.FallbackConfig.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FallbackConfig.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.Generic.FallbackConfig.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.Generic.FallbackConfig.html#Hi_NcParsers_Dependencys_Generic_FallbackConfig_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.Generic.FallbackConfig.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.Generic.FallbackConfig.Reg + nameWithType: FallbackConfig.Reg - uid: Hi.NcParsers.Dependencys.Generic.FallbackConfig.XName name: XName href: api/Hi.NcParsers.Dependencys.Generic.FallbackConfig.html#Hi_NcParsers_Dependencys_Generic_FallbackConfig_XName @@ -121868,6 +123302,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.Generic.GenericBlockSkipConfig.MakeXmlSource nameWithType: GenericBlockSkipConfig.MakeXmlSource +- uid: Hi.NcParsers.Dependencys.Generic.GenericBlockSkipConfig.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.Generic.GenericBlockSkipConfig.html#Hi_NcParsers_Dependencys_Generic_GenericBlockSkipConfig_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.Generic.GenericBlockSkipConfig.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.Generic.GenericBlockSkipConfig.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: GenericBlockSkipConfig.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.Generic.GenericBlockSkipConfig.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.Generic.GenericBlockSkipConfig.html#Hi_NcParsers_Dependencys_Generic_GenericBlockSkipConfig_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.Generic.GenericBlockSkipConfig.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.Generic.GenericBlockSkipConfig.Reg + nameWithType: GenericBlockSkipConfig.Reg - uid: Hi.NcParsers.Dependencys.Generic.GenericBlockSkipConfig.SetLayerEnabled(System.Int32,System.Boolean) name: SetLayerEnabled(int, bool) href: api/Hi.NcParsers.Dependencys.Generic.GenericBlockSkipConfig.html#Hi_NcParsers_Dependencys_Generic_GenericBlockSkipConfig_SetLayerEnabled_System_Int32_System_Boolean_ @@ -121992,6 +123439,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.MakeXmlSource nameWithType: IsoCoordinateTable.MakeXmlSource +- uid: Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.html#Hi_NcParsers_Dependencys_Generic_IsoCoordinateTable_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: IsoCoordinateTable.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.html#Hi_NcParsers_Dependencys_Generic_IsoCoordinateTable_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.Reg + nameWithType: IsoCoordinateTable.Reg - uid: Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.SetCoordinateOffset(System.String,Hi.Geom.Vec3d) name: SetCoordinateOffset(string, Vec3d) href: api/Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.html#Hi_NcParsers_Dependencys_Generic_IsoCoordinateTable_SetCoordinateOffset_System_String_Hi_Geom_Vec3d_ @@ -122090,6 +123550,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.MakeXmlSource nameWithType: SubProgramFolderConfig.MakeXmlSource +- uid: Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.html#Hi_NcParsers_Dependencys_Generic_SubProgramFolderConfig_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: SubProgramFolderConfig.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.html#Hi_NcParsers_Dependencys_Generic_SubProgramFolderConfig_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.Reg + nameWithType: SubProgramFolderConfig.Reg - uid: Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.XName name: XName href: api/Hi.NcParsers.Dependencys.Generic.SubProgramFolderConfig.html#Hi_NcParsers_Dependencys_Generic_SubProgramFolderConfig_XName @@ -122310,6 +123783,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.Offsets nameWithType: ToolOffsetTable.Offsets +- uid: Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.html#Hi_NcParsers_Dependencys_Generic_ToolOffsetTable_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ToolOffsetTable.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.html#Hi_NcParsers_Dependencys_Generic_ToolOffsetTable_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.Reg + nameWithType: ToolOffsetTable.Reg - uid: Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.SetToolOffset(System.Int32,System.Double,System.Double,System.Double,System.Double) name: SetToolOffset(int, double, double, double, double) href: api/Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.html#Hi_NcParsers_Dependencys_Generic_ToolOffsetTable_SetToolOffset_System_Int32_System_Double_System_Double_System_Double_System_Double_ @@ -122431,6 +123917,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.Generic.ToolingMcConfig.MakeXmlSource nameWithType: ToolingMcConfig.MakeXmlSource +- uid: Hi.NcParsers.Dependencys.Generic.ToolingMcConfig.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.Generic.ToolingMcConfig.html#Hi_NcParsers_Dependencys_Generic_ToolingMcConfig_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.Generic.ToolingMcConfig.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.Generic.ToolingMcConfig.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ToolingMcConfig.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.Generic.ToolingMcConfig.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.Generic.ToolingMcConfig.html#Hi_NcParsers_Dependencys_Generic_ToolingMcConfig_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.Generic.ToolingMcConfig.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.Generic.ToolingMcConfig.Reg + nameWithType: ToolingMcConfig.Reg - uid: Hi.NcParsers.Dependencys.Generic.ToolingMcConfig.SetToolingPosition(System.String,System.Double) name: SetToolingPosition(string, double) href: api/Hi.NcParsers.Dependencys.Generic.ToolingMcConfig.html#Hi_NcParsers_Dependencys_Generic_ToolingMcConfig_SetToolingPosition_System_String_System_Double_ @@ -122714,6 +124213,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.ReferencePositionParamId nameWithType: HeidenhainParameterTable.ReferencePositionParamId +- uid: Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.html#Hi_NcParsers_Dependencys_Heidenhain_HeidenhainParameterTable_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HeidenhainParameterTable.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.html#Hi_NcParsers_Dependencys_Heidenhain_HeidenhainParameterTable_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.Reg + nameWithType: HeidenhainParameterTable.Reg - uid: Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.StrokeLimitNegParamId name: StrokeLimitNegParamId href: api/Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTable.html#Hi_NcParsers_Dependencys_Heidenhain_HeidenhainParameterTable_StrokeLimitNegParamId @@ -122903,6 +124415,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.HeidenhainDatumTable.MakeXmlSource nameWithType: HeidenhainDatumTable.MakeXmlSource +- uid: Hi.NcParsers.Dependencys.HeidenhainDatumTable.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.HeidenhainDatumTable.html#Hi_NcParsers_Dependencys_HeidenhainDatumTable_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.HeidenhainDatumTable.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.HeidenhainDatumTable.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HeidenhainDatumTable.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.HeidenhainDatumTable.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.HeidenhainDatumTable.html#Hi_NcParsers_Dependencys_HeidenhainDatumTable_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.HeidenhainDatumTable.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.HeidenhainDatumTable.Reg + nameWithType: HeidenhainDatumTable.Reg - uid: Hi.NcParsers.Dependencys.HeidenhainDatumTable.SetCoordinateOffset(System.String,Hi.Geom.Vec3d) name: SetCoordinateOffset(string, Vec3d) href: api/Hi.NcParsers.Dependencys.HeidenhainDatumTable.html#Hi_NcParsers_Dependencys_HeidenhainDatumTable_SetCoordinateOffset_System_String_Hi_Geom_Vec3d_ @@ -123799,6 +125324,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.MakeXmlSource nameWithType: SiemensFrameTable.MakeXmlSource +- uid: Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensFrameTable_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: SiemensFrameTable.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensFrameTable_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.Reg + nameWithType: SiemensFrameTable.Reg - uid: Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.SetCoordinateOffset(System.String,Hi.Geom.Vec3d) name: SetCoordinateOffset(string, Vec3d) href: api/Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensFrameTable_SetCoordinateOffset_System_String_Hi_Geom_Vec3d_ @@ -124044,6 +125582,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.ReferencePositionParamId nameWithType: SiemensMachineDataTable.ReferencePositionParamId +- uid: Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: SiemensMachineDataTable.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.Reg + nameWithType: SiemensMachineDataTable.Reg - uid: Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.StrokeLimitNegParamId name: StrokeLimitNegParamId href: api/Hi.NcParsers.Dependencys.Siemens.SiemensMachineDataTable.html#Hi_NcParsers_Dependencys_Siemens_SiemensMachineDataTable_StrokeLimitNegParamId @@ -124429,6 +125980,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.ReferencePositionParamId nameWithType: SyntecParameterTable.ReferencePositionParamId +- uid: Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.html#Hi_NcParsers_Dependencys_Syntec_SyntecParameterTable_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: SyntecParameterTable.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.html#Hi_NcParsers_Dependencys_Syntec_SyntecParameterTable_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.Reg + nameWithType: SyntecParameterTable.Reg - uid: Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.SetCoordinateOffset(System.String,Hi.Geom.Vec3d) name: SetCoordinateOffset(string, Vec3d) href: api/Hi.NcParsers.Dependencys.Syntec.SyntecParameterTable.html#Hi_NcParsers_Dependencys_Syntec_SyntecParameterTable_SetCoordinateOffset_System_String_Hi_Geom_Vec3d_ @@ -124544,6 +126108,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.MakeXmlSource nameWithType: FileIndexCounterDependency.MakeXmlSource +- uid: Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FileIndexCounterDependency.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.Reg + nameWithType: FileIndexCounterDependency.Reg - uid: Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.Reset name: Reset() href: api/Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reset @@ -124713,6 +126290,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.PnToMc nameWithType: NcKinematicsDependency.PnToMc +- uid: Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.html#Hi_NcParsers_Dependencys_SystemWired_NcKinematicsDependency_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: NcKinematicsDependency.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.html#Hi_NcParsers_Dependencys_SystemWired_NcKinematicsDependency_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.Reg + nameWithType: NcKinematicsDependency.Reg - uid: Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.XName name: XName href: api/Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.html#Hi_NcParsers_Dependencys_SystemWired_NcKinematicsDependency_XName @@ -124802,6 +126392,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.SystemWired.ProjectFolderDependency.MakeXmlSource nameWithType: ProjectFolderDependency.MakeXmlSource +- uid: Hi.NcParsers.Dependencys.SystemWired.ProjectFolderDependency.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.SystemWired.ProjectFolderDependency.html#Hi_NcParsers_Dependencys_SystemWired_ProjectFolderDependency_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.SystemWired.ProjectFolderDependency.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.SystemWired.ProjectFolderDependency.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ProjectFolderDependency.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.SystemWired.ProjectFolderDependency.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.SystemWired.ProjectFolderDependency.html#Hi_NcParsers_Dependencys_SystemWired_ProjectFolderDependency_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.SystemWired.ProjectFolderDependency.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.SystemWired.ProjectFolderDependency.Reg + nameWithType: ProjectFolderDependency.Reg - uid: Hi.NcParsers.Dependencys.SystemWired.ProjectFolderDependency.XName name: XName href: api/Hi.NcParsers.Dependencys.SystemWired.ProjectFolderDependency.html#Hi_NcParsers_Dependencys_SystemWired_ProjectFolderDependency_XName @@ -124865,6 +126468,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.MakeXmlSource nameWithType: SegmenterDependency.MakeXmlSource +- uid: Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.html#Hi_NcParsers_Dependencys_SystemWired_SegmenterDependency_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: SegmenterDependency.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.html#Hi_NcParsers_Dependencys_SystemWired_SegmenterDependency_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.Reg + nameWithType: SegmenterDependency.Reg - uid: Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.Segmenter name: Segmenter href: api/Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.html#Hi_NcParsers_Dependencys_SystemWired_SegmenterDependency_Segmenter @@ -124954,6 +126570,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.MakeXmlSource nameWithType: SyntaxPieceLayerDependency.MakeXmlSource +- uid: Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.html#Hi_NcParsers_Dependencys_SystemWired_SyntaxPieceLayerDependency_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: SyntaxPieceLayerDependency.Reg(XFactory) +- uid: Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.Reg* + name: Reg + href: api/Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.html#Hi_NcParsers_Dependencys_SystemWired_SyntaxPieceLayerDependency_Reg_ + commentId: Overload:Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.Reg + isSpec: "True" + fullName: Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.Reg + nameWithType: SyntaxPieceLayerDependency.Reg - uid: Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.XName name: XName href: api/Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.html#Hi_NcParsers_Dependencys_SystemWired_SyntaxPieceLayerDependency_XName @@ -125258,6 +126887,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.MakeXmlSource nameWithType: LocalVariableLookup.MakeXmlSource +- uid: Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.html#Hi_NcParsers_EvaluationSyntaxs_Evaluation_LocalVariableLookup_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: LocalVariableLookup.Reg(XFactory) +- uid: Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.Reg* + name: Reg + href: api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.html#Hi_NcParsers_EvaluationSyntaxs_Evaluation_LocalVariableLookup_Reg_ + commentId: Overload:Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.Reg + isSpec: "True" + fullName: Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.Reg + nameWithType: LocalVariableLookup.Reg - uid: Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.XName name: XName href: api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.html#Hi_NcParsers_EvaluationSyntaxs_Evaluation_LocalVariableLookup_XName @@ -125809,6 +127451,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.EvaluationSyntaxs.Evaluation.VolatileVariableLookup.MakeXmlSource nameWithType: VolatileVariableLookup.MakeXmlSource +- uid: Hi.NcParsers.EvaluationSyntaxs.Evaluation.VolatileVariableLookup.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.VolatileVariableLookup.html#Hi_NcParsers_EvaluationSyntaxs_Evaluation_VolatileVariableLookup_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.EvaluationSyntaxs.Evaluation.VolatileVariableLookup.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.EvaluationSyntaxs.Evaluation.VolatileVariableLookup.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: VolatileVariableLookup.Reg(XFactory) +- uid: Hi.NcParsers.EvaluationSyntaxs.Evaluation.VolatileVariableLookup.Reg* + name: Reg + href: api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.VolatileVariableLookup.html#Hi_NcParsers_EvaluationSyntaxs_Evaluation_VolatileVariableLookup_Reg_ + commentId: Overload:Hi.NcParsers.EvaluationSyntaxs.Evaluation.VolatileVariableLookup.Reg + isSpec: "True" + fullName: Hi.NcParsers.EvaluationSyntaxs.Evaluation.VolatileVariableLookup.Reg + nameWithType: VolatileVariableLookup.Reg - uid: Hi.NcParsers.EvaluationSyntaxs.Evaluation.VolatileVariableLookup.XName name: XName href: api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.VolatileVariableLookup.html#Hi_NcParsers_EvaluationSyntaxs_Evaluation_VolatileVariableLookup_XName @@ -125920,6 +127575,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.Name nameWithType: FanucGotoSyntax.Name +- uid: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucGotoSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FanucGotoSyntax.Reg(XFactory) +- uid: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucGotoSyntax_Reg_ + commentId: Overload:Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.Reg + nameWithType: FanucGotoSyntax.Reg - uid: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.XName name: XName href: api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucGotoSyntax_XName @@ -126012,6 +127680,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.Name nameWithType: FanucIfThenSyntax.Name +- uid: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucIfThenSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FanucIfThenSyntax.Reg(XFactory) +- uid: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucIfThenSyntax_Reg_ + commentId: Overload:Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.Reg + nameWithType: FanucIfThenSyntax.Reg - uid: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.XName name: XName href: api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucIfThenSyntax_XName @@ -126116,6 +127797,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.Name nameWithType: FanucLocalVariableReadingSyntax.Name +- uid: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucLocalVariableReadingSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FanucLocalVariableReadingSyntax.Reg(XFactory) +- uid: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucLocalVariableReadingSyntax_Reg_ + commentId: Overload:Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.Reg + nameWithType: FanucLocalVariableReadingSyntax.Reg - uid: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.XName name: XName href: api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucLocalVariableReadingSyntax_XName @@ -126220,6 +127914,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax.Name nameWithType: FanucMacroCallSyntax.Name +- uid: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucMacroCallSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FanucMacroCallSyntax.Reg(XFactory) +- uid: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucMacroCallSyntax_Reg_ + commentId: Overload:Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax.Reg + nameWithType: FanucMacroCallSyntax.Reg - uid: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax.XName name: XName href: api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucMacroCallSyntax_XName @@ -126338,6 +128045,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.Phase nameWithType: FanucModalMacroSyntax.Phase +- uid: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucModalMacroSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FanucModalMacroSyntax.Reg(XFactory) +- uid: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucModalMacroSyntax_Reg_ + commentId: Overload:Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.Reg + nameWithType: FanucModalMacroSyntax.Reg - uid: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.Setup name: Setup href: api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucModalMacroSyntax_Setup @@ -126461,6 +128181,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucSystemControlVariableSyntax.Name nameWithType: FanucSystemControlVariableSyntax.Name +- uid: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucSystemControlVariableSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucSystemControlVariableSyntax.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucSystemControlVariableSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucSystemControlVariableSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucSystemControlVariableSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FanucSystemControlVariableSyntax.Reg(XFactory) +- uid: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucSystemControlVariableSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucSystemControlVariableSyntax.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucSystemControlVariableSyntax_Reg_ + commentId: Overload:Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucSystemControlVariableSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucSystemControlVariableSyntax.Reg + nameWithType: FanucSystemControlVariableSyntax.Reg - uid: Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucSystemControlVariableSyntax.SystemControlMax name: SystemControlMax href: api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucSystemControlVariableSyntax.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucSystemControlVariableSyntax_SystemControlMax @@ -126752,6 +128485,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.EvaluationSyntaxs.RetainedCommonVariableReadingSyntax.Name nameWithType: RetainedCommonVariableReadingSyntax.Name +- uid: Hi.NcParsers.EvaluationSyntaxs.RetainedCommonVariableReadingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.EvaluationSyntaxs.RetainedCommonVariableReadingSyntax.html#Hi_NcParsers_EvaluationSyntaxs_RetainedCommonVariableReadingSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.EvaluationSyntaxs.RetainedCommonVariableReadingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.EvaluationSyntaxs.RetainedCommonVariableReadingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: RetainedCommonVariableReadingSyntax.Reg(XFactory) +- uid: Hi.NcParsers.EvaluationSyntaxs.RetainedCommonVariableReadingSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.EvaluationSyntaxs.RetainedCommonVariableReadingSyntax.html#Hi_NcParsers_EvaluationSyntaxs_RetainedCommonVariableReadingSyntax_Reg_ + commentId: Overload:Hi.NcParsers.EvaluationSyntaxs.RetainedCommonVariableReadingSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.EvaluationSyntaxs.RetainedCommonVariableReadingSyntax.Reg + nameWithType: RetainedCommonVariableReadingSyntax.Reg - uid: Hi.NcParsers.EvaluationSyntaxs.RetainedCommonVariableReadingSyntax.XName name: XName href: api/Hi.NcParsers.EvaluationSyntaxs.RetainedCommonVariableReadingSyntax.html#Hi_NcParsers_EvaluationSyntaxs_RetainedCommonVariableReadingSyntax_XName @@ -126844,6 +128590,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.EvaluationSyntaxs.SubProgramCallSyntax.Name nameWithType: SubProgramCallSyntax.Name +- uid: Hi.NcParsers.EvaluationSyntaxs.SubProgramCallSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.EvaluationSyntaxs.SubProgramCallSyntax.html#Hi_NcParsers_EvaluationSyntaxs_SubProgramCallSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.EvaluationSyntaxs.SubProgramCallSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.EvaluationSyntaxs.SubProgramCallSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: SubProgramCallSyntax.Reg(XFactory) +- uid: Hi.NcParsers.EvaluationSyntaxs.SubProgramCallSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.EvaluationSyntaxs.SubProgramCallSyntax.html#Hi_NcParsers_EvaluationSyntaxs_SubProgramCallSyntax_Reg_ + commentId: Overload:Hi.NcParsers.EvaluationSyntaxs.SubProgramCallSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.EvaluationSyntaxs.SubProgramCallSyntax.Reg + nameWithType: SubProgramCallSyntax.Reg - uid: Hi.NcParsers.EvaluationSyntaxs.SubProgramCallSyntax.XName name: XName href: api/Hi.NcParsers.EvaluationSyntaxs.SubProgramCallSyntax.html#Hi_NcParsers_EvaluationSyntaxs_SubProgramCallSyntax_XName @@ -126949,6 +128708,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.EvaluationSyntaxs.SubProgramReturnSyntax.Name nameWithType: SubProgramReturnSyntax.Name +- uid: Hi.NcParsers.EvaluationSyntaxs.SubProgramReturnSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.EvaluationSyntaxs.SubProgramReturnSyntax.html#Hi_NcParsers_EvaluationSyntaxs_SubProgramReturnSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.EvaluationSyntaxs.SubProgramReturnSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.EvaluationSyntaxs.SubProgramReturnSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: SubProgramReturnSyntax.Reg(XFactory) +- uid: Hi.NcParsers.EvaluationSyntaxs.SubProgramReturnSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.EvaluationSyntaxs.SubProgramReturnSyntax.html#Hi_NcParsers_EvaluationSyntaxs_SubProgramReturnSyntax_Reg_ + commentId: Overload:Hi.NcParsers.EvaluationSyntaxs.SubProgramReturnSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.EvaluationSyntaxs.SubProgramReturnSyntax.Reg + nameWithType: SubProgramReturnSyntax.Reg - uid: Hi.NcParsers.EvaluationSyntaxs.SubProgramReturnSyntax.XName name: XName href: api/Hi.NcParsers.EvaluationSyntaxs.SubProgramReturnSyntax.html#Hi_NcParsers_EvaluationSyntaxs_SubProgramReturnSyntax_XName @@ -127041,6 +128813,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.Name nameWithType: VariableEvaluatorSyntax.Name +- uid: Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html#Hi_NcParsers_EvaluationSyntaxs_VariableEvaluatorSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: VariableEvaluatorSyntax.Reg(XFactory) +- uid: Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html#Hi_NcParsers_EvaluationSyntaxs_VariableEvaluatorSyntax_Reg_ + commentId: Overload:Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.Reg + nameWithType: VariableEvaluatorSyntax.Reg - uid: Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.RuntimeVariableLookups name: RuntimeVariableLookups href: api/Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html#Hi_NcParsers_EvaluationSyntaxs_VariableEvaluatorSyntax_RuntimeVariableLookups @@ -127146,6 +128931,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.EvaluationSyntaxs.VolatileVariableReadingSyntax.Name nameWithType: VolatileVariableReadingSyntax.Name +- uid: Hi.NcParsers.EvaluationSyntaxs.VolatileVariableReadingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.EvaluationSyntaxs.VolatileVariableReadingSyntax.html#Hi_NcParsers_EvaluationSyntaxs_VolatileVariableReadingSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.EvaluationSyntaxs.VolatileVariableReadingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.EvaluationSyntaxs.VolatileVariableReadingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: VolatileVariableReadingSyntax.Reg(XFactory) +- uid: Hi.NcParsers.EvaluationSyntaxs.VolatileVariableReadingSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.EvaluationSyntaxs.VolatileVariableReadingSyntax.html#Hi_NcParsers_EvaluationSyntaxs_VolatileVariableReadingSyntax_Reg_ + commentId: Overload:Hi.NcParsers.EvaluationSyntaxs.VolatileVariableReadingSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.EvaluationSyntaxs.VolatileVariableReadingSyntax.Reg + nameWithType: VolatileVariableReadingSyntax.Reg - uid: Hi.NcParsers.EvaluationSyntaxs.VolatileVariableReadingSyntax.VolatileMax name: VolatileMax href: api/Hi.NcParsers.EvaluationSyntaxs.VolatileVariableReadingSyntax.html#Hi_NcParsers_EvaluationSyntaxs_VolatileVariableReadingSyntax_VolatileMax @@ -127364,6 +129162,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Initializers.HomeMcInitializer.Name nameWithType: HomeMcInitializer.Name +- uid: Hi.NcParsers.Initializers.HomeMcInitializer.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Initializers.HomeMcInitializer.html#Hi_NcParsers_Initializers_HomeMcInitializer_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Initializers.HomeMcInitializer.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Initializers.HomeMcInitializer.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HomeMcInitializer.Reg(XFactory) +- uid: Hi.NcParsers.Initializers.HomeMcInitializer.Reg* + name: Reg + href: api/Hi.NcParsers.Initializers.HomeMcInitializer.html#Hi_NcParsers_Initializers_HomeMcInitializer_Reg_ + commentId: Overload:Hi.NcParsers.Initializers.HomeMcInitializer.Reg + isSpec: "True" + fullName: Hi.NcParsers.Initializers.HomeMcInitializer.Reg + nameWithType: HomeMcInitializer.Reg - uid: Hi.NcParsers.Initializers.HomeMcInitializer.XName name: XName href: api/Hi.NcParsers.Initializers.HomeMcInitializer.html#Hi_NcParsers_Initializers_HomeMcInitializer_XName @@ -127543,6 +129354,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Initializers.StaticInitializer.Name nameWithType: StaticInitializer.Name +- uid: Hi.NcParsers.Initializers.StaticInitializer.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Initializers.StaticInitializer.html#Hi_NcParsers_Initializers_StaticInitializer_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Initializers.StaticInitializer.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Initializers.StaticInitializer.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: StaticInitializer.Reg(XFactory) +- uid: Hi.NcParsers.Initializers.StaticInitializer.Reg* + name: Reg + href: api/Hi.NcParsers.Initializers.StaticInitializer.html#Hi_NcParsers_Initializers_StaticInitializer_Reg_ + commentId: Overload:Hi.NcParsers.Initializers.StaticInitializer.Reg + isSpec: "True" + fullName: Hi.NcParsers.Initializers.StaticInitializer.Reg + nameWithType: StaticInitializer.Reg - uid: Hi.NcParsers.Initializers.StaticInitializer.SiemensDefault name: SiemensDefault href: api/Hi.NcParsers.Initializers.StaticInitializer.html#Hi_NcParsers_Initializers_StaticInitializer_SiemensDefault @@ -127667,6 +129491,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.InspectionSyntaxs.CleanupSyntax.Name nameWithType: CleanupSyntax.Name +- uid: Hi.NcParsers.InspectionSyntaxs.CleanupSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.InspectionSyntaxs.CleanupSyntax.html#Hi_NcParsers_InspectionSyntaxs_CleanupSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.InspectionSyntaxs.CleanupSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.InspectionSyntaxs.CleanupSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CleanupSyntax.Reg(XFactory) +- uid: Hi.NcParsers.InspectionSyntaxs.CleanupSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.InspectionSyntaxs.CleanupSyntax.html#Hi_NcParsers_InspectionSyntaxs_CleanupSyntax_Reg_ + commentId: Overload:Hi.NcParsers.InspectionSyntaxs.CleanupSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.InspectionSyntaxs.CleanupSyntax.Reg + nameWithType: CleanupSyntax.Reg - uid: Hi.NcParsers.InspectionSyntaxs.CleanupSyntax.XName name: XName href: api/Hi.NcParsers.InspectionSyntaxs.CleanupSyntax.html#Hi_NcParsers_InspectionSyntaxs_CleanupSyntax_XName @@ -127756,6 +129593,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.Name nameWithType: ProgramXyzBackfillSyntax.Name +- uid: Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.html#Hi_NcParsers_InspectionSyntaxs_ProgramXyzBackfillSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ProgramXyzBackfillSyntax.Reg(XFactory) +- uid: Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.html#Hi_NcParsers_InspectionSyntaxs_ProgramXyzBackfillSyntax_Reg_ + commentId: Overload:Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.Reg + nameWithType: ProgramXyzBackfillSyntax.Reg - uid: Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.XName name: XName href: api/Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.html#Hi_NcParsers_InspectionSyntaxs_ProgramXyzBackfillSyntax_XName @@ -127870,6 +129720,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.InspectionSyntaxs.SnapshotSyntax.Name nameWithType: SnapshotSyntax.Name +- uid: Hi.NcParsers.InspectionSyntaxs.SnapshotSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.InspectionSyntaxs.SnapshotSyntax.html#Hi_NcParsers_InspectionSyntaxs_SnapshotSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.InspectionSyntaxs.SnapshotSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.InspectionSyntaxs.SnapshotSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: SnapshotSyntax.Reg(XFactory) +- uid: Hi.NcParsers.InspectionSyntaxs.SnapshotSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.InspectionSyntaxs.SnapshotSyntax.html#Hi_NcParsers_InspectionSyntaxs_SnapshotSyntax_Reg_ + commentId: Overload:Hi.NcParsers.InspectionSyntaxs.SnapshotSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.InspectionSyntaxs.SnapshotSyntax.Reg + nameWithType: SnapshotSyntax.Reg - uid: Hi.NcParsers.InspectionSyntaxs.SnapshotSyntax.SectionName name: SectionName href: api/Hi.NcParsers.InspectionSyntaxs.SnapshotSyntax.html#Hi_NcParsers_InspectionSyntaxs_SnapshotSyntax_SectionName @@ -127994,6 +129857,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.InspectionSyntaxs.UnconsumedCheckSyntax.Name nameWithType: UnconsumedCheckSyntax.Name +- uid: Hi.NcParsers.InspectionSyntaxs.UnconsumedCheckSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.InspectionSyntaxs.UnconsumedCheckSyntax.html#Hi_NcParsers_InspectionSyntaxs_UnconsumedCheckSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.InspectionSyntaxs.UnconsumedCheckSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.InspectionSyntaxs.UnconsumedCheckSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: UnconsumedCheckSyntax.Reg(XFactory) +- uid: Hi.NcParsers.InspectionSyntaxs.UnconsumedCheckSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.InspectionSyntaxs.UnconsumedCheckSyntax.html#Hi_NcParsers_InspectionSyntaxs_UnconsumedCheckSyntax_Reg_ + commentId: Overload:Hi.NcParsers.InspectionSyntaxs.UnconsumedCheckSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.InspectionSyntaxs.UnconsumedCheckSyntax.Reg + nameWithType: UnconsumedCheckSyntax.Reg - uid: Hi.NcParsers.InspectionSyntaxs.UnconsumedCheckSyntax.XName name: XName href: api/Hi.NcParsers.InspectionSyntaxs.UnconsumedCheckSyntax.html#Hi_NcParsers_InspectionSyntaxs_UnconsumedCheckSyntax_XName @@ -130834,6 +132710,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.BackBoringSyntax.Name nameWithType: BackBoringSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.BackBoringSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.BackBoringSyntax.html#Hi_NcParsers_LogicSyntaxs_BackBoringSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.BackBoringSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.BackBoringSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: BackBoringSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.BackBoringSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.BackBoringSyntax.html#Hi_NcParsers_LogicSyntaxs_BackBoringSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.BackBoringSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.BackBoringSyntax.Reg + nameWithType: BackBoringSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.BackBoringSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.BackBoringSyntax.html#Hi_NcParsers_LogicSyntaxs_BackBoringSyntax_XName @@ -130944,6 +132833,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.BoringCycleSyntax.Name nameWithType: BoringCycleSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.BoringCycleSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.BoringCycleSyntax.html#Hi_NcParsers_LogicSyntaxs_BoringCycleSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.BoringCycleSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.BoringCycleSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: BoringCycleSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.BoringCycleSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.BoringCycleSyntax.html#Hi_NcParsers_LogicSyntaxs_BoringCycleSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.BoringCycleSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.BoringCycleSyntax.Reg + nameWithType: BoringCycleSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.BoringCycleSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.BoringCycleSyntax.html#Hi_NcParsers_LogicSyntaxs_BoringCycleSyntax_XName @@ -131021,6 +132923,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.Name nameWithType: CannedCycleResolveSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html#Hi_NcParsers_LogicSyntaxs_CannedCycleResolveSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CannedCycleResolveSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html#Hi_NcParsers_LogicSyntaxs_CannedCycleResolveSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.Reg + nameWithType: CannedCycleResolveSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html#Hi_NcParsers_LogicSyntaxs_CannedCycleResolveSyntax_XName @@ -131113,6 +133028,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.Name nameWithType: CircularMotionSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.html#Hi_NcParsers_LogicSyntaxs_CircularMotionSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CircularMotionSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.html#Hi_NcParsers_LogicSyntaxs_CircularMotionSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.Reg + nameWithType: CircularMotionSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.html#Hi_NcParsers_LogicSyntaxs_CircularMotionSyntax_XName @@ -131205,6 +133133,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.CoolantSyntax.Name nameWithType: CoolantSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.CoolantSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.CoolantSyntax.html#Hi_NcParsers_LogicSyntaxs_CoolantSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.CoolantSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.CoolantSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CoolantSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.CoolantSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.CoolantSyntax.html#Hi_NcParsers_LogicSyntaxs_CoolantSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.CoolantSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.CoolantSyntax.Reg + nameWithType: CoolantSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.CoolantSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.CoolantSyntax.html#Hi_NcParsers_LogicSyntaxs_CoolantSyntax_XName @@ -131383,6 +133324,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.DrillingCycleSyntax.Name nameWithType: DrillingCycleSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.DrillingCycleSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.DrillingCycleSyntax.html#Hi_NcParsers_LogicSyntaxs_DrillingCycleSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.DrillingCycleSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.DrillingCycleSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: DrillingCycleSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.DrillingCycleSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.DrillingCycleSyntax.html#Hi_NcParsers_LogicSyntaxs_DrillingCycleSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.DrillingCycleSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.DrillingCycleSyntax.Reg + nameWithType: DrillingCycleSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.DrillingCycleSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.DrillingCycleSyntax.html#Hi_NcParsers_LogicSyntaxs_DrillingCycleSyntax_XName @@ -131475,6 +133429,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.Name nameWithType: FanucPathSmoothingSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.html#Hi_NcParsers_LogicSyntaxs_FanucPathSmoothingSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FanucPathSmoothingSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.html#Hi_NcParsers_LogicSyntaxs_FanucPathSmoothingSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.Reg + nameWithType: FanucPathSmoothingSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.FanucPathSmoothingSyntax.html#Hi_NcParsers_LogicSyntaxs_FanucPathSmoothingSyntax_XName @@ -131567,6 +133534,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.FeedrateSyntax.Name nameWithType: FeedrateSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.FeedrateSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.FeedrateSyntax.html#Hi_NcParsers_LogicSyntaxs_FeedrateSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.FeedrateSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.FeedrateSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FeedrateSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.FeedrateSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.FeedrateSyntax.html#Hi_NcParsers_LogicSyntaxs_FeedrateSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.FeedrateSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.FeedrateSyntax.Reg + nameWithType: FeedrateSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.FeedrateSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.FeedrateSyntax.html#Hi_NcParsers_LogicSyntaxs_FeedrateSyntax_XName @@ -131659,6 +133639,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.FineBoringSyntax.Name nameWithType: FineBoringSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.FineBoringSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.FineBoringSyntax.html#Hi_NcParsers_LogicSyntaxs_FineBoringSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.FineBoringSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.FineBoringSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FineBoringSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.FineBoringSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.FineBoringSyntax.html#Hi_NcParsers_LogicSyntaxs_FineBoringSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.FineBoringSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.FineBoringSyntax.Reg + nameWithType: FineBoringSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.FineBoringSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.FineBoringSyntax.html#Hi_NcParsers_LogicSyntaxs_FineBoringSyntax_XName @@ -131751,6 +133744,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.Name nameWithType: G43p4RtcpSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.html#Hi_NcParsers_LogicSyntaxs_G43p4RtcpSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: G43p4RtcpSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.html#Hi_NcParsers_LogicSyntaxs_G43p4RtcpSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.Reg + nameWithType: G43p4RtcpSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.html#Hi_NcParsers_LogicSyntaxs_G43p4RtcpSyntax_XName @@ -131843,6 +133849,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.G53p1RotaryPositionSyntax.Name nameWithType: G53p1RotaryPositionSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.G53p1RotaryPositionSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.G53p1RotaryPositionSyntax.html#Hi_NcParsers_LogicSyntaxs_G53p1RotaryPositionSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.G53p1RotaryPositionSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.G53p1RotaryPositionSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: G53p1RotaryPositionSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.G53p1RotaryPositionSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.G53p1RotaryPositionSyntax.html#Hi_NcParsers_LogicSyntaxs_G53p1RotaryPositionSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.G53p1RotaryPositionSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.G53p1RotaryPositionSyntax.Reg + nameWithType: G53p1RotaryPositionSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.G53p1RotaryPositionSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.G53p1RotaryPositionSyntax.html#Hi_NcParsers_LogicSyntaxs_G53p1RotaryPositionSyntax_XName @@ -131941,6 +133960,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCoordinateOffsetSyntax.Name nameWithType: HeidenhainCoordinateOffsetSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCoordinateOffsetSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCoordinateOffsetSyntax.html#Hi_NcParsers_LogicSyntaxs_Heidenhain_HeidenhainCoordinateOffsetSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCoordinateOffsetSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCoordinateOffsetSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HeidenhainCoordinateOffsetSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCoordinateOffsetSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCoordinateOffsetSyntax.html#Hi_NcParsers_LogicSyntaxs_Heidenhain_HeidenhainCoordinateOffsetSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCoordinateOffsetSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCoordinateOffsetSyntax.Reg + nameWithType: HeidenhainCoordinateOffsetSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCoordinateOffsetSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.Heidenhain.HeidenhainCoordinateOffsetSyntax.html#Hi_NcParsers_LogicSyntaxs_Heidenhain_HeidenhainCoordinateOffsetSyntax_XName @@ -132033,6 +134065,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.HighSpeedPeckCycleSyntax.Name nameWithType: HighSpeedPeckCycleSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.HighSpeedPeckCycleSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.HighSpeedPeckCycleSyntax.html#Hi_NcParsers_LogicSyntaxs_HighSpeedPeckCycleSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.HighSpeedPeckCycleSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.HighSpeedPeckCycleSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HighSpeedPeckCycleSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.HighSpeedPeckCycleSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.HighSpeedPeckCycleSyntax.html#Hi_NcParsers_LogicSyntaxs_HighSpeedPeckCycleSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.HighSpeedPeckCycleSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.HighSpeedPeckCycleSyntax.Reg + nameWithType: HighSpeedPeckCycleSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.HighSpeedPeckCycleSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.HighSpeedPeckCycleSyntax.html#Hi_NcParsers_LogicSyntaxs_HighSpeedPeckCycleSyntax_XName @@ -132138,6 +134183,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.Name nameWithType: IncrementalResolveSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.html#Hi_NcParsers_LogicSyntaxs_IncrementalResolveSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: IncrementalResolveSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.html#Hi_NcParsers_LogicSyntaxs_IncrementalResolveSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.Reg + nameWithType: IncrementalResolveSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.WorkingPathList name: WorkingPathList href: api/Hi.NcParsers.LogicSyntaxs.IncrementalResolveSyntax.html#Hi_NcParsers_LogicSyntaxs_IncrementalResolveSyntax_WorkingPathList @@ -132243,6 +134301,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.Name nameWithType: IsoCoordinateOffsetSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.html#Hi_NcParsers_LogicSyntaxs_IsoCoordinateOffsetSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: IsoCoordinateOffsetSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.html#Hi_NcParsers_LogicSyntaxs_IsoCoordinateOffsetSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.Reg + nameWithType: IsoCoordinateOffsetSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.IsoCoordinateOffsetSyntax.html#Hi_NcParsers_LogicSyntaxs_IsoCoordinateOffsetSyntax_XName @@ -132335,6 +134406,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.Name nameWithType: IsoG68RotationSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.html#Hi_NcParsers_LogicSyntaxs_IsoG68RotationSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: IsoG68RotationSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.html#Hi_NcParsers_LogicSyntaxs_IsoG68RotationSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.Reg + nameWithType: IsoG68RotationSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.html#Hi_NcParsers_LogicSyntaxs_IsoG68RotationSyntax_XName @@ -132427,6 +134511,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.Name nameWithType: IsoG68p2TiltSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.html#Hi_NcParsers_LogicSyntaxs_IsoG68p2TiltSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: IsoG68p2TiltSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.html#Hi_NcParsers_LogicSyntaxs_IsoG68p2TiltSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.Reg + nameWithType: IsoG68p2TiltSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.html#Hi_NcParsers_LogicSyntaxs_IsoG68p2TiltSyntax_XName @@ -132519,6 +134616,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.IsoLocalCoordinateOffsetSyntax.Name nameWithType: IsoLocalCoordinateOffsetSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.IsoLocalCoordinateOffsetSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.IsoLocalCoordinateOffsetSyntax.html#Hi_NcParsers_LogicSyntaxs_IsoLocalCoordinateOffsetSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.IsoLocalCoordinateOffsetSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.IsoLocalCoordinateOffsetSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: IsoLocalCoordinateOffsetSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.IsoLocalCoordinateOffsetSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.IsoLocalCoordinateOffsetSyntax.html#Hi_NcParsers_LogicSyntaxs_IsoLocalCoordinateOffsetSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.IsoLocalCoordinateOffsetSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.IsoLocalCoordinateOffsetSyntax.Reg + nameWithType: IsoLocalCoordinateOffsetSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.IsoLocalCoordinateOffsetSyntax.TransformSource name: TransformSource href: api/Hi.NcParsers.LogicSyntaxs.IsoLocalCoordinateOffsetSyntax.html#Hi_NcParsers_LogicSyntaxs_IsoLocalCoordinateOffsetSyntax_TransformSource @@ -132617,6 +134727,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.Name nameWithType: LinearMotionSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html#Hi_NcParsers_LogicSyntaxs_LinearMotionSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: LinearMotionSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html#Hi_NcParsers_LogicSyntaxs_LinearMotionSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.Reg + nameWithType: LinearMotionSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html#Hi_NcParsers_LogicSyntaxs_LinearMotionSyntax_XName @@ -132709,6 +134832,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.Name nameWithType: MachineCoordSelectSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.html#Hi_NcParsers_LogicSyntaxs_MachineCoordSelectSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: MachineCoordSelectSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.html#Hi_NcParsers_LogicSyntaxs_MachineCoordSelectSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.Reg + nameWithType: MachineCoordSelectSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.MachineCoordSelectSyntax.html#Hi_NcParsers_LogicSyntaxs_MachineCoordSelectSyntax_XName @@ -132801,6 +134937,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.Name nameWithType: McAbcCyclicPathSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.html#Hi_NcParsers_LogicSyntaxs_McAbcCyclicPathSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: McAbcCyclicPathSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.html#Hi_NcParsers_LogicSyntaxs_McAbcCyclicPathSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.Reg + nameWithType: McAbcCyclicPathSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.html#Hi_NcParsers_LogicSyntaxs_McAbcCyclicPathSyntax_XName @@ -132865,6 +135014,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.McAbcSyntax.Name nameWithType: McAbcSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.McAbcSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html#Hi_NcParsers_LogicSyntaxs_McAbcSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.McAbcSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.McAbcSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: McAbcSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.McAbcSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html#Hi_NcParsers_LogicSyntaxs_McAbcSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.McAbcSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.McAbcSyntax.Reg + nameWithType: McAbcSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.McAbcSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.McAbcSyntax.html#Hi_NcParsers_LogicSyntaxs_McAbcSyntax_XName @@ -132929,6 +135091,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.McAbcXyzFallbackSyntax.Name nameWithType: McAbcXyzFallbackSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.McAbcXyzFallbackSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.McAbcXyzFallbackSyntax.html#Hi_NcParsers_LogicSyntaxs_McAbcXyzFallbackSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.McAbcXyzFallbackSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.McAbcXyzFallbackSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: McAbcXyzFallbackSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.McAbcXyzFallbackSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.McAbcXyzFallbackSyntax.html#Hi_NcParsers_LogicSyntaxs_McAbcXyzFallbackSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.McAbcXyzFallbackSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.McAbcXyzFallbackSyntax.Reg + nameWithType: McAbcXyzFallbackSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.McAbcXyzFallbackSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.McAbcXyzFallbackSyntax.html#Hi_NcParsers_LogicSyntaxs_McAbcXyzFallbackSyntax_XName @@ -132993,6 +135168,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.McXyzSyntax.Name nameWithType: McXyzSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.McXyzSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.McXyzSyntax.html#Hi_NcParsers_LogicSyntaxs_McXyzSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.McXyzSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.McXyzSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: McXyzSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.McXyzSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.McXyzSyntax.html#Hi_NcParsers_LogicSyntaxs_McXyzSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.McXyzSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.McXyzSyntax.Reg + nameWithType: McXyzSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.McXyzSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.McXyzSyntax.html#Hi_NcParsers_LogicSyntaxs_McXyzSyntax_XName @@ -133085,6 +135273,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.Name nameWithType: PeckDrillingCycleSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.html#Hi_NcParsers_LogicSyntaxs_PeckDrillingCycleSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: PeckDrillingCycleSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.html#Hi_NcParsers_LogicSyntaxs_PeckDrillingCycleSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.Reg + nameWithType: PeckDrillingCycleSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.html#Hi_NcParsers_LogicSyntaxs_PeckDrillingCycleSyntax_XName @@ -133177,6 +135378,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.PivotTransformationSyntax.Name nameWithType: PivotTransformationSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.PivotTransformationSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.PivotTransformationSyntax.html#Hi_NcParsers_LogicSyntaxs_PivotTransformationSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.PivotTransformationSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.PivotTransformationSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: PivotTransformationSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.PivotTransformationSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.PivotTransformationSyntax.html#Hi_NcParsers_LogicSyntaxs_PivotTransformationSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.PivotTransformationSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.PivotTransformationSyntax.Reg + nameWithType: PivotTransformationSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.PivotTransformationSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.PivotTransformationSyntax.html#Hi_NcParsers_LogicSyntaxs_PivotTransformationSyntax_XName @@ -133267,6 +135481,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.Name nameWithType: PlaneSelectSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.html#Hi_NcParsers_LogicSyntaxs_PlaneSelectSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: PlaneSelectSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.html#Hi_NcParsers_LogicSyntaxs_PlaneSelectSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.Reg + nameWithType: PlaneSelectSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.html#Hi_NcParsers_LogicSyntaxs_PlaneSelectSyntax_XName @@ -133344,6 +135571,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.PositioningSyntax.Name nameWithType: PositioningSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.PositioningSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.PositioningSyntax.html#Hi_NcParsers_LogicSyntaxs_PositioningSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.PositioningSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.PositioningSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: PositioningSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.PositioningSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.PositioningSyntax.html#Hi_NcParsers_LogicSyntaxs_PositioningSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.PositioningSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.PositioningSyntax.Reg + nameWithType: PositioningSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.PositioningSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.PositioningSyntax.html#Hi_NcParsers_LogicSyntaxs_PositioningSyntax_XName @@ -133436,6 +135676,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.ProgramEndCleanSyntax.Name nameWithType: ProgramEndCleanSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.ProgramEndCleanSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.ProgramEndCleanSyntax.html#Hi_NcParsers_LogicSyntaxs_ProgramEndCleanSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.ProgramEndCleanSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.ProgramEndCleanSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ProgramEndCleanSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.ProgramEndCleanSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.ProgramEndCleanSyntax.html#Hi_NcParsers_LogicSyntaxs_ProgramEndCleanSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.ProgramEndCleanSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.ProgramEndCleanSyntax.Reg + nameWithType: ProgramEndCleanSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.ProgramEndCleanSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.ProgramEndCleanSyntax.html#Hi_NcParsers_LogicSyntaxs_ProgramEndCleanSyntax_XName @@ -133528,6 +135781,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.Name nameWithType: ProgramEndSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.html#Hi_NcParsers_LogicSyntaxs_ProgramEndSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ProgramEndSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.html#Hi_NcParsers_LogicSyntaxs_ProgramEndSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.Reg + nameWithType: ProgramEndSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.ProgramEndSyntax.html#Hi_NcParsers_LogicSyntaxs_ProgramEndSyntax_XName @@ -133620,6 +135886,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.ProgramStopSyntax.Name nameWithType: ProgramStopSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.ProgramStopSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.ProgramStopSyntax.html#Hi_NcParsers_LogicSyntaxs_ProgramStopSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.ProgramStopSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.ProgramStopSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ProgramStopSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.ProgramStopSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.ProgramStopSyntax.html#Hi_NcParsers_LogicSyntaxs_ProgramStopSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.ProgramStopSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.ProgramStopSyntax.Reg + nameWithType: ProgramStopSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.ProgramStopSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.ProgramStopSyntax.html#Hi_NcParsers_LogicSyntaxs_ProgramStopSyntax_XName @@ -133725,6 +136004,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.Name nameWithType: ProgramXyzSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.html#Hi_NcParsers_LogicSyntaxs_ProgramXyzSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ProgramXyzSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.html#Hi_NcParsers_LogicSyntaxs_ProgramXyzSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.Reg + nameWithType: ProgramXyzSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.WorkingPathList name: WorkingPathList href: api/Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.html#Hi_NcParsers_LogicSyntaxs_ProgramXyzSyntax_WorkingPathList @@ -133990,6 +136282,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.Name nameWithType: ReferenceReturnSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html#Hi_NcParsers_LogicSyntaxs_ReferenceReturnSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ReferenceReturnSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html#Hi_NcParsers_LogicSyntaxs_ReferenceReturnSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.Reg + nameWithType: ReferenceReturnSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html#Hi_NcParsers_LogicSyntaxs_ReferenceReturnSyntax_XName @@ -134123,6 +136428,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.Siemens.SiemensCoordinateOffsetSyntax.Name nameWithType: SiemensCoordinateOffsetSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.Siemens.SiemensCoordinateOffsetSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.Siemens.SiemensCoordinateOffsetSyntax.html#Hi_NcParsers_LogicSyntaxs_Siemens_SiemensCoordinateOffsetSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.Siemens.SiemensCoordinateOffsetSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.Siemens.SiemensCoordinateOffsetSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: SiemensCoordinateOffsetSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.Siemens.SiemensCoordinateOffsetSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.Siemens.SiemensCoordinateOffsetSyntax.html#Hi_NcParsers_LogicSyntaxs_Siemens_SiemensCoordinateOffsetSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.Siemens.SiemensCoordinateOffsetSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.Siemens.SiemensCoordinateOffsetSyntax.Reg + nameWithType: SiemensCoordinateOffsetSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.Siemens.SiemensCoordinateOffsetSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.Siemens.SiemensCoordinateOffsetSyntax.html#Hi_NcParsers_LogicSyntaxs_Siemens_SiemensCoordinateOffsetSyntax_XName @@ -134215,6 +136533,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.Name nameWithType: SpindleSpeedSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.html#Hi_NcParsers_LogicSyntaxs_SpindleSpeedSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: SpindleSpeedSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.html#Hi_NcParsers_LogicSyntaxs_SpindleSpeedSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.Reg + nameWithType: SpindleSpeedSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.SpindleSpeedSyntax.html#Hi_NcParsers_LogicSyntaxs_SpindleSpeedSyntax_XName @@ -134307,6 +136638,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.TappingCycleSyntax.Name nameWithType: TappingCycleSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.TappingCycleSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.TappingCycleSyntax.html#Hi_NcParsers_LogicSyntaxs_TappingCycleSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.TappingCycleSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.TappingCycleSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: TappingCycleSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.TappingCycleSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.TappingCycleSyntax.html#Hi_NcParsers_LogicSyntaxs_TappingCycleSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.TappingCycleSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.TappingCycleSyntax.Reg + nameWithType: TappingCycleSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.TappingCycleSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.TappingCycleSyntax.html#Hi_NcParsers_LogicSyntaxs_TappingCycleSyntax_XName @@ -134492,6 +136836,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.ToolChangeSyntax.Name nameWithType: ToolChangeSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.ToolChangeSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.ToolChangeSyntax.html#Hi_NcParsers_LogicSyntaxs_ToolChangeSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.ToolChangeSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.ToolChangeSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ToolChangeSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.ToolChangeSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.ToolChangeSyntax.html#Hi_NcParsers_LogicSyntaxs_ToolChangeSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.ToolChangeSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.ToolChangeSyntax.Reg + nameWithType: ToolChangeSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.ToolChangeSyntax.SectionName name: SectionName href: api/Hi.NcParsers.LogicSyntaxs.ToolChangeSyntax.html#Hi_NcParsers_LogicSyntaxs_ToolChangeSyntax_SectionName @@ -134602,6 +136959,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.ToolHeightOffsetSyntax.Name nameWithType: ToolHeightOffsetSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.ToolHeightOffsetSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.ToolHeightOffsetSyntax.html#Hi_NcParsers_LogicSyntaxs_ToolHeightOffsetSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.ToolHeightOffsetSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.ToolHeightOffsetSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ToolHeightOffsetSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.ToolHeightOffsetSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.ToolHeightOffsetSyntax.html#Hi_NcParsers_LogicSyntaxs_ToolHeightOffsetSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.ToolHeightOffsetSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.ToolHeightOffsetSyntax.Reg + nameWithType: ToolHeightOffsetSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.ToolHeightOffsetSyntax.ToolOrientationKey name: ToolOrientationKey href: api/Hi.NcParsers.LogicSyntaxs.ToolHeightOffsetSyntax.html#Hi_NcParsers_LogicSyntaxs_ToolHeightOffsetSyntax_ToolOrientationKey @@ -134719,6 +137089,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.Name nameWithType: UnitModeSyntax.Name +- uid: Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.html#Hi_NcParsers_LogicSyntaxs_UnitModeSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: UnitModeSyntax.Reg(XFactory) +- uid: Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.html#Hi_NcParsers_LogicSyntaxs_UnitModeSyntax_Reg_ + commentId: Overload:Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.Reg + nameWithType: UnitModeSyntax.Reg - uid: Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.XName name: XName href: api/Hi.NcParsers.LogicSyntaxs.UnitModeSyntax.html#Hi_NcParsers_LogicSyntaxs_UnitModeSyntax_XName @@ -135281,6 +137664,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.BlockSkipSyntax.Name nameWithType: BlockSkipSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.BlockSkipSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.BlockSkipSyntax.html#Hi_NcParsers_ParsingSyntaxs_BlockSkipSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.BlockSkipSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.BlockSkipSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: BlockSkipSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.BlockSkipSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.BlockSkipSyntax.html#Hi_NcParsers_ParsingSyntaxs_BlockSkipSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.BlockSkipSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.BlockSkipSyntax.Reg + nameWithType: BlockSkipSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.BlockSkipSyntax.XName name: XName href: api/Hi.NcParsers.ParsingSyntaxs.BlockSkipSyntax.html#Hi_NcParsers_ParsingSyntaxs_BlockSkipSyntax_XName @@ -135379,6 +137775,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.Name nameWithType: QuoteCommentSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.html#Hi_NcParsers_ParsingSyntaxs_CommentSyntaxs_QuoteCommentSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: QuoteCommentSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.html#Hi_NcParsers_ParsingSyntaxs_CommentSyntaxs_QuoteCommentSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.Reg + nameWithType: QuoteCommentSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.XName name: XName href: api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.html#Hi_NcParsers_ParsingSyntaxs_CommentSyntaxs_QuoteCommentSyntax_XName @@ -135471,6 +137880,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.TailCommentSyntax.Name nameWithType: TailCommentSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.TailCommentSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.TailCommentSyntax.html#Hi_NcParsers_ParsingSyntaxs_CommentSyntaxs_TailCommentSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.TailCommentSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.TailCommentSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: TailCommentSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.TailCommentSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.TailCommentSyntax.html#Hi_NcParsers_ParsingSyntaxs_CommentSyntaxs_TailCommentSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.TailCommentSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.TailCommentSyntax.Reg + nameWithType: TailCommentSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.TailCommentSyntax.TailSymbol name: TailSymbol href: api/Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.TailCommentSyntax.html#Hi_NcParsers_ParsingSyntaxs_CommentSyntaxs_TailCommentSyntax_TailSymbol @@ -135614,6 +138036,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.PreMarker nameWithType: CsScriptSyntax.PreMarker +- uid: Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.html#Hi_NcParsers_ParsingSyntaxs_CsScriptSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CsScriptSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.html#Hi_NcParsers_ParsingSyntaxs_CsScriptSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.Reg + nameWithType: CsScriptSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.XName name: XName href: api/Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.html#Hi_NcParsers_ParsingSyntaxs_CsScriptSyntax_XName @@ -135712,6 +138147,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucGotoParsingSyntax.Name nameWithType: FanucGotoParsingSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucGotoParsingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucGotoParsingSyntax.html#Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucGotoParsingSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucGotoParsingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucGotoParsingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FanucGotoParsingSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucGotoParsingSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucGotoParsingSyntax.html#Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucGotoParsingSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucGotoParsingSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucGotoParsingSyntax.Reg + nameWithType: FanucGotoParsingSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucGotoParsingSyntax.XName name: XName href: api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucGotoParsingSyntax.html#Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucGotoParsingSyntax_XName @@ -135804,6 +138252,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.Name nameWithType: FanucIfThenParsingSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.html#Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucIfThenParsingSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FanucIfThenParsingSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.html#Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucIfThenParsingSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.Reg + nameWithType: FanucIfThenParsingSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.XName name: XName href: api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.html#Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucIfThenParsingSyntax_XName @@ -135896,6 +138357,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucProgramNumberSyntax.Name nameWithType: FanucProgramNumberSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucProgramNumberSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucProgramNumberSyntax.html#Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucProgramNumberSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucProgramNumberSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucProgramNumberSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FanucProgramNumberSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucProgramNumberSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucProgramNumberSyntax.html#Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucProgramNumberSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucProgramNumberSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucProgramNumberSyntax.Reg + nameWithType: FanucProgramNumberSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucProgramNumberSyntax.XName name: XName href: api/Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucProgramNumberSyntax.html#Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucProgramNumberSyntax_XName @@ -136014,6 +138488,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.FlagSyntax.Name nameWithType: FlagSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.FlagSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.FlagSyntax.html#Hi_NcParsers_ParsingSyntaxs_FlagSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.FlagSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.FlagSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FlagSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.FlagSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.FlagSyntax.html#Hi_NcParsers_ParsingSyntaxs_FlagSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.FlagSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.FlagSyntax.Reg + nameWithType: FlagSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.FlagSyntax.XName name: XName href: api/Hi.NcParsers.ParsingSyntaxs.FlagSyntax.html#Hi_NcParsers_ParsingSyntaxs_FlagSyntax_XName @@ -136061,6 +138548,19 @@ references: fullName.vb: Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.New nameWithType: FloatTagValueSyntax.FloatTagValueSyntax nameWithType.vb: FloatTagValueSyntax.New +- uid: Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.html#Hi_NcParsers_ParsingSyntaxs_FloatTagValueSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FloatTagValueSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.html#Hi_NcParsers_ParsingSyntaxs_FloatTagValueSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.Reg + nameWithType: FloatTagValueSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.ToFloat(System.String) name: ToFloat(string) href: api/Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.html#Hi_NcParsers_ParsingSyntaxs_FloatTagValueSyntax_ToFloat_System_String_ @@ -136198,6 +138698,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.Name nameWithType: HeadIndexSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.html#Hi_NcParsers_ParsingSyntaxs_HeadIndexSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HeadIndexSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.html#Hi_NcParsers_ParsingSyntaxs_HeadIndexSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.Reg + nameWithType: HeadIndexSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.XName name: XName href: api/Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.html#Hi_NcParsers_ParsingSyntaxs_HeadIndexSyntax_XName @@ -136302,6 +138815,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumSettingSyntax.Name nameWithType: HeidenhainDatumSettingSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumSettingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumSettingSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_CyclDefSyntaxs_HeidenhainDatumSettingSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumSettingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumSettingSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HeidenhainDatumSettingSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumSettingSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumSettingSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_CyclDefSyntaxs_HeidenhainDatumSettingSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumSettingSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumSettingSyntax.Reg + nameWithType: HeidenhainDatumSettingSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumSettingSyntax.TagList name: TagList href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumSettingSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_CyclDefSyntaxs_HeidenhainDatumSettingSyntax_TagList @@ -136407,6 +138933,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.Name nameWithType: HeidenhainDatumShiftSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_CyclDefSyntaxs_HeidenhainDatumShiftSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HeidenhainDatumShiftSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_CyclDefSyntaxs_HeidenhainDatumShiftSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.Reg + nameWithType: HeidenhainDatumShiftSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.TagList name: TagList href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_CyclDefSyntaxs_HeidenhainDatumShiftSyntax_TagList @@ -136518,6 +139057,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainBlkFormSyntax.Name nameWithType: HeidenhainBlkFormSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainBlkFormSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainBlkFormSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainBlkFormSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainBlkFormSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainBlkFormSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HeidenhainBlkFormSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainBlkFormSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainBlkFormSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainBlkFormSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainBlkFormSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainBlkFormSyntax.Reg + nameWithType: HeidenhainBlkFormSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainBlkFormSyntax.XName name: XName href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainBlkFormSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainBlkFormSyntax_XName @@ -136610,6 +139162,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCallSyntax.Name nameWithType: HeidenhainCallSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCallSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCallSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainCallSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCallSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCallSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HeidenhainCallSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCallSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCallSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainCallSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCallSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCallSyntax.Reg + nameWithType: HeidenhainCallSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCallSyntax.XName name: XName href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCallSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainCallSyntax_XName @@ -136708,6 +139273,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCyclDefSyntax.Name nameWithType: HeidenhainCyclDefSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCyclDefSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCyclDefSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainCyclDefSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCyclDefSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCyclDefSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HeidenhainCyclDefSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCyclDefSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCyclDefSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainCyclDefSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCyclDefSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCyclDefSyntax.Reg + nameWithType: HeidenhainCyclDefSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCyclDefSyntax.XName name: XName href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCyclDefSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainCyclDefSyntax_XName @@ -136755,6 +139333,19 @@ references: fullName.vb: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.New nameWithType: HeidenhainFnAssignmentSyntax.HeidenhainFnAssignmentSyntax nameWithType.vb: HeidenhainFnAssignmentSyntax.New +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainFnAssignmentSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HeidenhainFnAssignmentSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainFnAssignmentSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.Reg + nameWithType: HeidenhainFnAssignmentSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.TryStripPrefix(System.String@) name: TryStripPrefix(ref string) href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainFnAssignmentSyntax_TryStripPrefix_System_String__ @@ -136863,6 +139454,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLSyntax.Name nameWithType: HeidenhainLSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainLSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HeidenhainLSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainLSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLSyntax.Reg + nameWithType: HeidenhainLSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLSyntax.TagList name: TagList href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainLSyntax_TagList @@ -136968,6 +139572,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLblSyntax.Name nameWithType: HeidenhainLblSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLblSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLblSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainLblSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLblSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLblSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HeidenhainLblSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLblSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLblSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainLblSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLblSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLblSyntax.Reg + nameWithType: HeidenhainLblSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLblSyntax.XName name: XName href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainLblSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainLblSyntax_XName @@ -137066,6 +139683,19 @@ references: commentId: F:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainPlaneSyntax.ProjectedTagList fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainPlaneSyntax.ProjectedTagList nameWithType: HeidenhainPlaneSyntax.ProjectedTagList +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainPlaneSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainPlaneSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainPlaneSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainPlaneSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainPlaneSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HeidenhainPlaneSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainPlaneSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainPlaneSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainPlaneSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainPlaneSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainPlaneSyntax.Reg + nameWithType: HeidenhainPlaneSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainPlaneSyntax.SpatialTagList name: SpatialTagList href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainPlaneSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainPlaneSyntax_SpatialTagList @@ -137164,6 +139794,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.Name nameWithType: HeidenhainProgramSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainProgramSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HeidenhainProgramSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainProgramSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.Reg + nameWithType: HeidenhainProgramSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.XName name: XName href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainProgramSyntax_XName @@ -137256,6 +139899,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainToolCallSyntax.Name nameWithType: HeidenhainToolCallSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainToolCallSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainToolCallSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainToolCallSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainToolCallSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainToolCallSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HeidenhainToolCallSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainToolCallSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainToolCallSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainToolCallSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainToolCallSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainToolCallSyntax.Reg + nameWithType: HeidenhainToolCallSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainToolCallSyntax.XName name: XName href: api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainToolCallSyntax.html#Hi_NcParsers_ParsingSyntaxs_Heidenhain_HeidenhainToolCallSyntax_XName @@ -137303,6 +139959,19 @@ references: fullName.vb: Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.New nameWithType: IntegerTagValueSyntax.IntegerTagValueSyntax nameWithType.vb: IntegerTagValueSyntax.New +- uid: Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.html#Hi_NcParsers_ParsingSyntaxs_IntegerTagValueSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: IntegerTagValueSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.html#Hi_NcParsers_ParsingSyntaxs_IntegerTagValueSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.Reg + nameWithType: IntegerTagValueSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.ToInteger(System.String) name: ToInteger(string) href: api/Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.html#Hi_NcParsers_ParsingSyntaxs_IntegerTagValueSyntax_ToInteger_System_String_ @@ -137459,6 +140128,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.NamedVarAssignmentSyntax.Name nameWithType: NamedVarAssignmentSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.NamedVarAssignmentSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.NamedVarAssignmentSyntax.html#Hi_NcParsers_ParsingSyntaxs_NamedVarAssignmentSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.NamedVarAssignmentSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.NamedVarAssignmentSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: NamedVarAssignmentSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.NamedVarAssignmentSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.NamedVarAssignmentSyntax.html#Hi_NcParsers_ParsingSyntaxs_NamedVarAssignmentSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.NamedVarAssignmentSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.NamedVarAssignmentSyntax.Reg + nameWithType: NamedVarAssignmentSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.NamedVarAssignmentSyntax.TerminateWords name: TerminateWords href: api/Hi.NcParsers.ParsingSyntaxs.NamedVarAssignmentSyntax.html#Hi_NcParsers_ParsingSyntaxs_NamedVarAssignmentSyntax_TerminateWords @@ -137619,6 +140301,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.Name nameWithType: NumberedFlagSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.html#Hi_NcParsers_ParsingSyntaxs_NumberedFlagSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: NumberedFlagSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.html#Hi_NcParsers_ParsingSyntaxs_NumberedFlagSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.Reg + nameWithType: NumberedFlagSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.XName name: XName href: api/Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.html#Hi_NcParsers_ParsingSyntaxs_NumberedFlagSyntax_XName @@ -137776,6 +140471,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.ParamPrefixes nameWithType: ParameterizedFlagSyntax.ParamPrefixes +- uid: Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html#Hi_NcParsers_ParsingSyntaxs_ParameterizedFlagSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ParameterizedFlagSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html#Hi_NcParsers_ParsingSyntaxs_ParameterizedFlagSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.Reg + nameWithType: ParameterizedFlagSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.TerminateWords name: TerminateWords href: api/Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html#Hi_NcParsers_ParsingSyntaxs_ParameterizedFlagSyntax_TerminateWords @@ -137879,6 +140587,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.ShrinkIfNoDecimalPointSyntax.Name nameWithType: ShrinkIfNoDecimalPointSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.ShrinkIfNoDecimalPointSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.ShrinkIfNoDecimalPointSyntax.html#Hi_NcParsers_ParsingSyntaxs_ShrinkIfNoDecimalPointSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.ShrinkIfNoDecimalPointSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.ShrinkIfNoDecimalPointSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ShrinkIfNoDecimalPointSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.ShrinkIfNoDecimalPointSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.ShrinkIfNoDecimalPointSyntax.html#Hi_NcParsers_ParsingSyntaxs_ShrinkIfNoDecimalPointSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.ShrinkIfNoDecimalPointSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.ShrinkIfNoDecimalPointSyntax.Reg + nameWithType: ShrinkIfNoDecimalPointSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.ShrinkIfNoDecimalPointSyntax.Tags name: Tags href: api/Hi.NcParsers.ParsingSyntaxs.ShrinkIfNoDecimalPointSyntax.html#Hi_NcParsers_ParsingSyntaxs_ShrinkIfNoDecimalPointSyntax_Tags @@ -138010,6 +140731,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.Name nameWithType: TagAssignmentSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.html#Hi_NcParsers_ParsingSyntaxs_TagAssignmentSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: TagAssignmentSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.html#Hi_NcParsers_ParsingSyntaxs_TagAssignmentSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.Reg + nameWithType: TagAssignmentSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.TagList name: TagList href: api/Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.html#Hi_NcParsers_ParsingSyntaxs_TagAssignmentSyntax_TagList @@ -138186,6 +140920,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.TagValueSyntax.Name nameWithType: TagValueSyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.TagValueSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.TagValueSyntax.html#Hi_NcParsers_ParsingSyntaxs_TagValueSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.TagValueSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.TagValueSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: TagValueSyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.TagValueSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.TagValueSyntax.html#Hi_NcParsers_ParsingSyntaxs_TagValueSyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.TagValueSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.TagValueSyntax.Reg + nameWithType: TagValueSyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.TagValueSyntax.TagList name: TagList href: api/Hi.NcParsers.ParsingSyntaxs.TagValueSyntax.html#Hi_NcParsers_ParsingSyntaxs_TagValueSyntax_TagList @@ -138336,6 +141083,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.ParsingSyntaxs.TapeBoundarySyntax.Name nameWithType: TapeBoundarySyntax.Name +- uid: Hi.NcParsers.ParsingSyntaxs.TapeBoundarySyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.ParsingSyntaxs.TapeBoundarySyntax.html#Hi_NcParsers_ParsingSyntaxs_TapeBoundarySyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.ParsingSyntaxs.TapeBoundarySyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.ParsingSyntaxs.TapeBoundarySyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: TapeBoundarySyntax.Reg(XFactory) +- uid: Hi.NcParsers.ParsingSyntaxs.TapeBoundarySyntax.Reg* + name: Reg + href: api/Hi.NcParsers.ParsingSyntaxs.TapeBoundarySyntax.html#Hi_NcParsers_ParsingSyntaxs_TapeBoundarySyntax_Reg_ + commentId: Overload:Hi.NcParsers.ParsingSyntaxs.TapeBoundarySyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.ParsingSyntaxs.TapeBoundarySyntax.Reg + nameWithType: TapeBoundarySyntax.Reg - uid: Hi.NcParsers.ParsingSyntaxs.TapeBoundarySyntax.XName name: XName href: api/Hi.NcParsers.ParsingSyntaxs.TapeBoundarySyntax.html#Hi_NcParsers_ParsingSyntaxs_TapeBoundarySyntax_XName @@ -138479,6 +141239,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.PostLogic nameWithType: ModalCarrySyntax.PostLogic +- uid: Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html#Hi_NcParsers_PostLogicSyntaxs_ModalCarrySyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ModalCarrySyntax.Reg(XFactory) +- uid: Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.Reg* + name: Reg + href: api/Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html#Hi_NcParsers_PostLogicSyntaxs_ModalCarrySyntax_Reg_ + commentId: Overload:Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.Reg + nameWithType: ModalCarrySyntax.Reg - uid: Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.TrackedKeys name: TrackedKeys href: api/Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html#Hi_NcParsers_PostLogicSyntaxs_ModalCarrySyntax_TrackedKeys @@ -138596,6 +141369,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.PostLogicSyntaxs.RadiusCompensationSyntax.Name nameWithType: RadiusCompensationSyntax.Name +- uid: Hi.NcParsers.PostLogicSyntaxs.RadiusCompensationSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.PostLogicSyntaxs.RadiusCompensationSyntax.html#Hi_NcParsers_PostLogicSyntaxs_RadiusCompensationSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.PostLogicSyntaxs.RadiusCompensationSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.PostLogicSyntaxs.RadiusCompensationSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: RadiusCompensationSyntax.Reg(XFactory) +- uid: Hi.NcParsers.PostLogicSyntaxs.RadiusCompensationSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.PostLogicSyntaxs.RadiusCompensationSyntax.html#Hi_NcParsers_PostLogicSyntaxs_RadiusCompensationSyntax_Reg_ + commentId: Overload:Hi.NcParsers.PostLogicSyntaxs.RadiusCompensationSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.PostLogicSyntaxs.RadiusCompensationSyntax.Reg + nameWithType: RadiusCompensationSyntax.Reg - uid: Hi.NcParsers.PostLogicSyntaxs.RadiusCompensationSyntax.XName name: XName href: api/Hi.NcParsers.PostLogicSyntaxs.RadiusCompensationSyntax.html#Hi_NcParsers_PostLogicSyntaxs_RadiusCompensationSyntax_XName @@ -138669,6 +141455,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Segmenters.HeidenhainSegmenter.Name nameWithType: HeidenhainSegmenter.Name +- uid: Hi.NcParsers.Segmenters.HeidenhainSegmenter.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Segmenters.HeidenhainSegmenter.html#Hi_NcParsers_Segmenters_HeidenhainSegmenter_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Segmenters.HeidenhainSegmenter.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Segmenters.HeidenhainSegmenter.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HeidenhainSegmenter.Reg(XFactory) +- uid: Hi.NcParsers.Segmenters.HeidenhainSegmenter.Reg* + name: Reg + href: api/Hi.NcParsers.Segmenters.HeidenhainSegmenter.html#Hi_NcParsers_Segmenters_HeidenhainSegmenter_Reg_ + commentId: Overload:Hi.NcParsers.Segmenters.HeidenhainSegmenter.Reg + isSpec: "True" + fullName: Hi.NcParsers.Segmenters.HeidenhainSegmenter.Reg + nameWithType: HeidenhainSegmenter.Reg - uid: Hi.NcParsers.Segmenters.HeidenhainSegmenter.ToXElement name: ToXElement() href: api/Hi.NcParsers.Segmenters.HeidenhainSegmenter.html#Hi_NcParsers_Segmenters_HeidenhainSegmenter_ToXElement @@ -138812,6 +141611,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.Name nameWithType: InlineDelimiterSegmenter.Name +- uid: Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.html#Hi_NcParsers_Segmenters_InlineDelimiterSegmenter_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: InlineDelimiterSegmenter.Reg(XFactory) +- uid: Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.Reg* + name: Reg + href: api/Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.html#Hi_NcParsers_Segmenters_InlineDelimiterSegmenter_Reg_ + commentId: Overload:Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.Reg + isSpec: "True" + fullName: Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.Reg + nameWithType: InlineDelimiterSegmenter.Reg - uid: Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.ToXElement name: ToXElement() href: api/Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.html#Hi_NcParsers_Segmenters_InlineDelimiterSegmenter_ToXElement @@ -138873,6 +141685,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Segmenters.SingleLineSegmenter.Name nameWithType: SingleLineSegmenter.Name +- uid: Hi.NcParsers.Segmenters.SingleLineSegmenter.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Segmenters.SingleLineSegmenter.html#Hi_NcParsers_Segmenters_SingleLineSegmenter_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Segmenters.SingleLineSegmenter.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Segmenters.SingleLineSegmenter.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: SingleLineSegmenter.Reg(XFactory) +- uid: Hi.NcParsers.Segmenters.SingleLineSegmenter.Reg* + name: Reg + href: api/Hi.NcParsers.Segmenters.SingleLineSegmenter.html#Hi_NcParsers_Segmenters_SingleLineSegmenter_Reg_ + commentId: Overload:Hi.NcParsers.Segmenters.SingleLineSegmenter.Reg + isSpec: "True" + fullName: Hi.NcParsers.Segmenters.SingleLineSegmenter.Reg + nameWithType: SingleLineSegmenter.Reg - uid: Hi.NcParsers.Segmenters.SingleLineSegmenter.ToXElement name: ToXElement() href: api/Hi.NcParsers.Segmenters.SingleLineSegmenter.html#Hi_NcParsers_Segmenters_SingleLineSegmenter_ToXElement @@ -138940,6 +141765,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Semantics.ClLinearMotionSemantic.MakeXmlSource nameWithType: ClLinearMotionSemantic.MakeXmlSource +- uid: Hi.NcParsers.Semantics.ClLinearMotionSemantic.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Semantics.ClLinearMotionSemantic.html#Hi_NcParsers_Semantics_ClLinearMotionSemantic_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Semantics.ClLinearMotionSemantic.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Semantics.ClLinearMotionSemantic.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ClLinearMotionSemantic.Reg(XFactory) +- uid: Hi.NcParsers.Semantics.ClLinearMotionSemantic.Reg* + name: Reg + href: api/Hi.NcParsers.Semantics.ClLinearMotionSemantic.html#Hi_NcParsers_Semantics_ClLinearMotionSemantic_Reg_ + commentId: Overload:Hi.NcParsers.Semantics.ClLinearMotionSemantic.Reg + isSpec: "True" + fullName: Hi.NcParsers.Semantics.ClLinearMotionSemantic.Reg + nameWithType: ClLinearMotionSemantic.Reg - uid: Hi.NcParsers.Semantics.ClLinearMotionSemantic.Resolve(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},Hi.NcParsers.NcDiagnosticProgress) name: Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) href: api/Hi.NcParsers.Semantics.ClLinearMotionSemantic.html#Hi_NcParsers_Semantics_ClLinearMotionSemantic_Resolve_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_ @@ -139004,6 +141842,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Semantics.CompoundMotionSemantic.MakeXmlSource nameWithType: CompoundMotionSemantic.MakeXmlSource +- uid: Hi.NcParsers.Semantics.CompoundMotionSemantic.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Semantics.CompoundMotionSemantic.html#Hi_NcParsers_Semantics_CompoundMotionSemantic_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Semantics.CompoundMotionSemantic.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Semantics.CompoundMotionSemantic.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CompoundMotionSemantic.Reg(XFactory) +- uid: Hi.NcParsers.Semantics.CompoundMotionSemantic.Reg* + name: Reg + href: api/Hi.NcParsers.Semantics.CompoundMotionSemantic.html#Hi_NcParsers_Semantics_CompoundMotionSemantic_Reg_ + commentId: Overload:Hi.NcParsers.Semantics.CompoundMotionSemantic.Reg + isSpec: "True" + fullName: Hi.NcParsers.Semantics.CompoundMotionSemantic.Reg + nameWithType: CompoundMotionSemantic.Reg - uid: Hi.NcParsers.Semantics.CompoundMotionSemantic.Resolve(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},Hi.NcParsers.NcDiagnosticProgress) name: Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) href: api/Hi.NcParsers.Semantics.CompoundMotionSemantic.html#Hi_NcParsers_Semantics_CompoundMotionSemantic_Resolve_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_ @@ -139068,6 +141919,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Semantics.CoolantSemantic.MakeXmlSource nameWithType: CoolantSemantic.MakeXmlSource +- uid: Hi.NcParsers.Semantics.CoolantSemantic.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Semantics.CoolantSemantic.html#Hi_NcParsers_Semantics_CoolantSemantic_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Semantics.CoolantSemantic.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Semantics.CoolantSemantic.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CoolantSemantic.Reg(XFactory) +- uid: Hi.NcParsers.Semantics.CoolantSemantic.Reg* + name: Reg + href: api/Hi.NcParsers.Semantics.CoolantSemantic.html#Hi_NcParsers_Semantics_CoolantSemantic_Reg_ + commentId: Overload:Hi.NcParsers.Semantics.CoolantSemantic.Reg + isSpec: "True" + fullName: Hi.NcParsers.Semantics.CoolantSemantic.Reg + nameWithType: CoolantSemantic.Reg - uid: Hi.NcParsers.Semantics.CoolantSemantic.Resolve(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},Hi.NcParsers.NcDiagnosticProgress) name: Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) href: api/Hi.NcParsers.Semantics.CoolantSemantic.html#Hi_NcParsers_Semantics_CoolantSemantic_Resolve_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_ @@ -139132,6 +141996,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Semantics.CsScriptBeginSemantic.MakeXmlSource nameWithType: CsScriptBeginSemantic.MakeXmlSource +- uid: Hi.NcParsers.Semantics.CsScriptBeginSemantic.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Semantics.CsScriptBeginSemantic.html#Hi_NcParsers_Semantics_CsScriptBeginSemantic_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Semantics.CsScriptBeginSemantic.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Semantics.CsScriptBeginSemantic.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CsScriptBeginSemantic.Reg(XFactory) +- uid: Hi.NcParsers.Semantics.CsScriptBeginSemantic.Reg* + name: Reg + href: api/Hi.NcParsers.Semantics.CsScriptBeginSemantic.html#Hi_NcParsers_Semantics_CsScriptBeginSemantic_Reg_ + commentId: Overload:Hi.NcParsers.Semantics.CsScriptBeginSemantic.Reg + isSpec: "True" + fullName: Hi.NcParsers.Semantics.CsScriptBeginSemantic.Reg + nameWithType: CsScriptBeginSemantic.Reg - uid: Hi.NcParsers.Semantics.CsScriptBeginSemantic.ScriptKey name: ScriptKey href: api/Hi.NcParsers.Semantics.CsScriptBeginSemantic.html#Hi_NcParsers_Semantics_CsScriptBeginSemantic_ScriptKey @@ -139193,6 +142070,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Semantics.CsScriptEndSemantic.MakeXmlSource nameWithType: CsScriptEndSemantic.MakeXmlSource +- uid: Hi.NcParsers.Semantics.CsScriptEndSemantic.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Semantics.CsScriptEndSemantic.html#Hi_NcParsers_Semantics_CsScriptEndSemantic_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Semantics.CsScriptEndSemantic.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Semantics.CsScriptEndSemantic.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CsScriptEndSemantic.Reg(XFactory) +- uid: Hi.NcParsers.Semantics.CsScriptEndSemantic.Reg* + name: Reg + href: api/Hi.NcParsers.Semantics.CsScriptEndSemantic.html#Hi_NcParsers_Semantics_CsScriptEndSemantic_Reg_ + commentId: Overload:Hi.NcParsers.Semantics.CsScriptEndSemantic.Reg + isSpec: "True" + fullName: Hi.NcParsers.Semantics.CsScriptEndSemantic.Reg + nameWithType: CsScriptEndSemantic.Reg - uid: Hi.NcParsers.Semantics.CsScriptEndSemantic.ScriptKey name: ScriptKey href: api/Hi.NcParsers.Semantics.CsScriptEndSemantic.html#Hi_NcParsers_Semantics_CsScriptEndSemantic_ScriptKey @@ -139366,6 +142256,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Semantics.MachineCoordinateStepSemantic.MakeXmlSource nameWithType: MachineCoordinateStepSemantic.MakeXmlSource +- uid: Hi.NcParsers.Semantics.MachineCoordinateStepSemantic.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Semantics.MachineCoordinateStepSemantic.html#Hi_NcParsers_Semantics_MachineCoordinateStepSemantic_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Semantics.MachineCoordinateStepSemantic.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Semantics.MachineCoordinateStepSemantic.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: MachineCoordinateStepSemantic.Reg(XFactory) +- uid: Hi.NcParsers.Semantics.MachineCoordinateStepSemantic.Reg* + name: Reg + href: api/Hi.NcParsers.Semantics.MachineCoordinateStepSemantic.html#Hi_NcParsers_Semantics_MachineCoordinateStepSemantic_Reg_ + commentId: Overload:Hi.NcParsers.Semantics.MachineCoordinateStepSemantic.Reg + isSpec: "True" + fullName: Hi.NcParsers.Semantics.MachineCoordinateStepSemantic.Reg + nameWithType: MachineCoordinateStepSemantic.Reg - uid: Hi.NcParsers.Semantics.MachineCoordinateStepSemantic.Resolve(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},Hi.NcParsers.NcDiagnosticProgress) name: Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) href: api/Hi.NcParsers.Semantics.MachineCoordinateStepSemantic.html#Hi_NcParsers_Semantics_MachineCoordinateStepSemantic_Resolve_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_ @@ -139430,6 +142333,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Semantics.McArcMotionSemantic.MakeXmlSource nameWithType: McArcMotionSemantic.MakeXmlSource +- uid: Hi.NcParsers.Semantics.McArcMotionSemantic.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Semantics.McArcMotionSemantic.html#Hi_NcParsers_Semantics_McArcMotionSemantic_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Semantics.McArcMotionSemantic.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Semantics.McArcMotionSemantic.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: McArcMotionSemantic.Reg(XFactory) +- uid: Hi.NcParsers.Semantics.McArcMotionSemantic.Reg* + name: Reg + href: api/Hi.NcParsers.Semantics.McArcMotionSemantic.html#Hi_NcParsers_Semantics_McArcMotionSemantic_Reg_ + commentId: Overload:Hi.NcParsers.Semantics.McArcMotionSemantic.Reg + isSpec: "True" + fullName: Hi.NcParsers.Semantics.McArcMotionSemantic.Reg + nameWithType: McArcMotionSemantic.Reg - uid: Hi.NcParsers.Semantics.McArcMotionSemantic.Resolve(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},Hi.NcParsers.NcDiagnosticProgress) name: Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) href: api/Hi.NcParsers.Semantics.McArcMotionSemantic.html#Hi_NcParsers_Semantics_McArcMotionSemantic_Resolve_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_ @@ -139494,6 +142410,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Semantics.McLinearMotionSemantic.MakeXmlSource nameWithType: McLinearMotionSemantic.MakeXmlSource +- uid: Hi.NcParsers.Semantics.McLinearMotionSemantic.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Semantics.McLinearMotionSemantic.html#Hi_NcParsers_Semantics_McLinearMotionSemantic_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Semantics.McLinearMotionSemantic.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Semantics.McLinearMotionSemantic.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: McLinearMotionSemantic.Reg(XFactory) +- uid: Hi.NcParsers.Semantics.McLinearMotionSemantic.Reg* + name: Reg + href: api/Hi.NcParsers.Semantics.McLinearMotionSemantic.html#Hi_NcParsers_Semantics_McLinearMotionSemantic_Reg_ + commentId: Overload:Hi.NcParsers.Semantics.McLinearMotionSemantic.Reg + isSpec: "True" + fullName: Hi.NcParsers.Semantics.McLinearMotionSemantic.Reg + nameWithType: McLinearMotionSemantic.Reg - uid: Hi.NcParsers.Semantics.McLinearMotionSemantic.Resolve(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},Hi.NcParsers.NcDiagnosticProgress) name: Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) href: api/Hi.NcParsers.Semantics.McLinearMotionSemantic.html#Hi_NcParsers_Semantics_McLinearMotionSemantic_Resolve_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_ @@ -139558,6 +142487,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Semantics.SpindleSpeedSemantic.MakeXmlSource nameWithType: SpindleSpeedSemantic.MakeXmlSource +- uid: Hi.NcParsers.Semantics.SpindleSpeedSemantic.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Semantics.SpindleSpeedSemantic.html#Hi_NcParsers_Semantics_SpindleSpeedSemantic_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Semantics.SpindleSpeedSemantic.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Semantics.SpindleSpeedSemantic.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: SpindleSpeedSemantic.Reg(XFactory) +- uid: Hi.NcParsers.Semantics.SpindleSpeedSemantic.Reg* + name: Reg + href: api/Hi.NcParsers.Semantics.SpindleSpeedSemantic.html#Hi_NcParsers_Semantics_SpindleSpeedSemantic_Reg_ + commentId: Overload:Hi.NcParsers.Semantics.SpindleSpeedSemantic.Reg + isSpec: "True" + fullName: Hi.NcParsers.Semantics.SpindleSpeedSemantic.Reg + nameWithType: SpindleSpeedSemantic.Reg - uid: Hi.NcParsers.Semantics.SpindleSpeedSemantic.Resolve(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},Hi.NcParsers.NcDiagnosticProgress) name: Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) href: api/Hi.NcParsers.Semantics.SpindleSpeedSemantic.html#Hi_NcParsers_Semantics_SpindleSpeedSemantic_Resolve_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_ @@ -139622,6 +142564,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Semantics.StrokeLimitCheckSemantic.MakeXmlSource nameWithType: StrokeLimitCheckSemantic.MakeXmlSource +- uid: Hi.NcParsers.Semantics.StrokeLimitCheckSemantic.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Semantics.StrokeLimitCheckSemantic.html#Hi_NcParsers_Semantics_StrokeLimitCheckSemantic_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Semantics.StrokeLimitCheckSemantic.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Semantics.StrokeLimitCheckSemantic.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: StrokeLimitCheckSemantic.Reg(XFactory) +- uid: Hi.NcParsers.Semantics.StrokeLimitCheckSemantic.Reg* + name: Reg + href: api/Hi.NcParsers.Semantics.StrokeLimitCheckSemantic.html#Hi_NcParsers_Semantics_StrokeLimitCheckSemantic_Reg_ + commentId: Overload:Hi.NcParsers.Semantics.StrokeLimitCheckSemantic.Reg + isSpec: "True" + fullName: Hi.NcParsers.Semantics.StrokeLimitCheckSemantic.Reg + nameWithType: StrokeLimitCheckSemantic.Reg - uid: Hi.NcParsers.Semantics.StrokeLimitCheckSemantic.Resolve(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},Hi.NcParsers.NcDiagnosticProgress) name: Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) href: api/Hi.NcParsers.Semantics.StrokeLimitCheckSemantic.html#Hi_NcParsers_Semantics_StrokeLimitCheckSemantic_Resolve_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_ @@ -139686,6 +142641,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Semantics.ToolChangeSemantic.MakeXmlSource nameWithType: ToolChangeSemantic.MakeXmlSource +- uid: Hi.NcParsers.Semantics.ToolChangeSemantic.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Semantics.ToolChangeSemantic.html#Hi_NcParsers_Semantics_ToolChangeSemantic_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Semantics.ToolChangeSemantic.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Semantics.ToolChangeSemantic.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ToolChangeSemantic.Reg(XFactory) +- uid: Hi.NcParsers.Semantics.ToolChangeSemantic.Reg* + name: Reg + href: api/Hi.NcParsers.Semantics.ToolChangeSemantic.html#Hi_NcParsers_Semantics_ToolChangeSemantic_Reg_ + commentId: Overload:Hi.NcParsers.Semantics.ToolChangeSemantic.Reg + isSpec: "True" + fullName: Hi.NcParsers.Semantics.ToolChangeSemantic.Reg + nameWithType: ToolChangeSemantic.Reg - uid: Hi.NcParsers.Semantics.ToolChangeSemantic.Resolve(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},Hi.NcParsers.NcDiagnosticProgress) name: Resolve(LazyLinkedListNode, List, NcDiagnosticProgress) href: api/Hi.NcParsers.Semantics.ToolChangeSemantic.html#Hi_NcParsers_Semantics_ToolChangeSemantic_Resolve_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_ @@ -140019,6 +142987,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.SoftNcRunner.NcSyntaxList nameWithType: SoftNcRunner.NcSyntaxList +- uid: Hi.NcParsers.SoftNcRunner.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.SoftNcRunner.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.SoftNcRunner.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: SoftNcRunner.Reg(XFactory) +- uid: Hi.NcParsers.SoftNcRunner.Reg* + name: Reg + href: api/Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_Reg_ + commentId: Overload:Hi.NcParsers.SoftNcRunner.Reg + isSpec: "True" + fullName: Hi.NcParsers.SoftNcRunner.Reg + nameWithType: SoftNcRunner.Reg - uid: Hi.NcParsers.SoftNcRunner.RunControlLines(System.String,System.Collections.Generic.IEnumerable{System.String},Hi.MachiningProcs.MachiningSession,Hi.MachiningProcs.SessionProgress,System.Threading.CancellationToken) name: RunControlLines(string, IEnumerable, MachiningSession, SessionProgress, CancellationToken) href: api/Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_RunControlLines_System_String_System_Collections_Generic_IEnumerable_System_String__Hi_MachiningProcs_MachiningSession_Hi_MachiningProcs_SessionProgress_System_Threading_CancellationToken_ @@ -140461,6 +143442,19 @@ references: isSpec: "True" fullName: Hi.NcParsers.Syntaxs.BundleSyntax.Name nameWithType: BundleSyntax.Name +- uid: Hi.NcParsers.Syntaxs.BundleSyntax.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.NcParsers.Syntaxs.BundleSyntax.html#Hi_NcParsers_Syntaxs_BundleSyntax_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.NcParsers.Syntaxs.BundleSyntax.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.NcParsers.Syntaxs.BundleSyntax.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: BundleSyntax.Reg(XFactory) +- uid: Hi.NcParsers.Syntaxs.BundleSyntax.Reg* + name: Reg + href: api/Hi.NcParsers.Syntaxs.BundleSyntax.html#Hi_NcParsers_Syntaxs_BundleSyntax_Reg_ + commentId: Overload:Hi.NcParsers.Syntaxs.BundleSyntax.Reg + isSpec: "True" + fullName: Hi.NcParsers.Syntaxs.BundleSyntax.Reg + nameWithType: BundleSyntax.Reg - uid: Hi.NcParsers.Syntaxs.BundleSyntax.SyntaxList name: SyntaxList href: api/Hi.NcParsers.Syntaxs.BundleSyntax.html#Hi_NcParsers_Syntaxs_BundleSyntax_SyntaxList @@ -144211,6 +147205,19 @@ references: isSpec: "True" fullName: Hi.Numerical.FilePlayers.CsvRunnerConfig.ParsingDictionary nameWithType: CsvRunnerConfig.ParsingDictionary +- uid: Hi.Numerical.FilePlayers.CsvRunnerConfig.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Numerical.FilePlayers.CsvRunnerConfig.html#Hi_Numerical_FilePlayers_CsvRunnerConfig_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Numerical.FilePlayers.CsvRunnerConfig.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Numerical.FilePlayers.CsvRunnerConfig.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CsvRunnerConfig.Reg(XFactory) +- uid: Hi.Numerical.FilePlayers.CsvRunnerConfig.Reg* + name: Reg + href: api/Hi.Numerical.FilePlayers.CsvRunnerConfig.html#Hi_Numerical_FilePlayers_CsvRunnerConfig_Reg_ + commentId: Overload:Hi.Numerical.FilePlayers.CsvRunnerConfig.Reg + isSpec: "True" + fullName: Hi.Numerical.FilePlayers.CsvRunnerConfig.Reg + nameWithType: CsvRunnerConfig.Reg - uid: Hi.Numerical.FilePlayers.CsvRunnerConfig.SpindleDirectionTag name: SpindleDirectionTag href: api/Hi.Numerical.FilePlayers.CsvRunnerConfig.html#Hi_Numerical_FilePlayers_CsvRunnerConfig_SpindleDirectionTag @@ -144839,6 +147846,19 @@ references: isSpec: "True" fullName: Hi.Numerical.HardNcEnv.RefNcLineOnInit nameWithType: HardNcEnv.RefNcLineOnInit +- uid: Hi.Numerical.HardNcEnv.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Numerical.HardNcEnv.html#Hi_Numerical_HardNcEnv_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Numerical.HardNcEnv.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Numerical.HardNcEnv.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: HardNcEnv.Reg(XFactory) +- uid: Hi.Numerical.HardNcEnv.Reg* + name: Reg + href: api/Hi.Numerical.HardNcEnv.html#Hi_Numerical_HardNcEnv_Reg_ + commentId: Overload:Hi.Numerical.HardNcEnv.Reg + isSpec: "True" + fullName: Hi.Numerical.HardNcEnv.Reg + nameWithType: HardNcEnv.Reg - uid: Hi.Numerical.HardNcEnv.StrokeLimitAbc_rad name: StrokeLimitAbc_rad href: api/Hi.Numerical.HardNcEnv.html#Hi_Numerical_HardNcEnv_StrokeLimitAbc_rad @@ -146609,6 +149629,19 @@ references: isSpec: "True" fullName: Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.MinLinearResolution_mm nameWithType: FeedPerCycleMachiningMotionResolution.MinLinearResolution_mm +- uid: Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.html#Hi_Numerical_MachiningMotionResolutionUtils_FeedPerCycleMachiningMotionResolution_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FeedPerCycleMachiningMotionResolution.Reg(XFactory) +- uid: Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.Reg* + name: Reg + href: api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.html#Hi_Numerical_MachiningMotionResolutionUtils_FeedPerCycleMachiningMotionResolution_Reg_ + commentId: Overload:Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.Reg + isSpec: "True" + fullName: Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.Reg + nameWithType: FeedPerCycleMachiningMotionResolution.Reg - uid: Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.RotaryResolution_deg name: RotaryResolution_deg href: api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.html#Hi_Numerical_MachiningMotionResolutionUtils_FeedPerCycleMachiningMotionResolution_RotaryResolution_deg @@ -146744,6 +149777,19 @@ references: isSpec: "True" fullName: Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.MakeXmlSource nameWithType: FeedPerToothMachiningMotionResolution.MakeXmlSource +- uid: Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.html#Hi_Numerical_MachiningMotionResolutionUtils_FeedPerToothMachiningMotionResolution_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FeedPerToothMachiningMotionResolution.Reg(XFactory) +- uid: Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.Reg* + name: Reg + href: api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.html#Hi_Numerical_MachiningMotionResolutionUtils_FeedPerToothMachiningMotionResolution_Reg_ + commentId: Overload:Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.Reg + isSpec: "True" + fullName: Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.Reg + nameWithType: FeedPerToothMachiningMotionResolution.Reg - uid: Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.RotaryResolution_deg name: RotaryResolution_deg href: api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.html#Hi_Numerical_MachiningMotionResolutionUtils_FeedPerToothMachiningMotionResolution_RotaryResolution_deg @@ -146868,6 +149914,19 @@ references: isSpec: "True" fullName: Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.MakeXmlSource nameWithType: FixedMachiningMotionResolution.MakeXmlSource +- uid: Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.html#Hi_Numerical_MachiningMotionResolutionUtils_FixedMachiningMotionResolution_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: FixedMachiningMotionResolution.Reg(XFactory) +- uid: Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.Reg* + name: Reg + href: api/Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.html#Hi_Numerical_MachiningMotionResolutionUtils_FixedMachiningMotionResolution_Reg_ + commentId: Overload:Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.Reg + isSpec: "True" + fullName: Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.Reg + nameWithType: FixedMachiningMotionResolution.Reg - uid: Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.RotaryResolution_deg name: RotaryResolution_deg href: api/Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.html#Hi_Numerical_MachiningMotionResolutionUtils_FixedMachiningMotionResolution_RotaryResolution_deg @@ -147088,6 +150147,19 @@ references: isSpec: "True" fullName: Hi.Numerical.MillingToolOffsetTable.MakeXmlSource nameWithType: MillingToolOffsetTable.MakeXmlSource +- uid: Hi.Numerical.MillingToolOffsetTable.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Numerical.MillingToolOffsetTable.html#Hi_Numerical_MillingToolOffsetTable_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Numerical.MillingToolOffsetTable.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Numerical.MillingToolOffsetTable.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: MillingToolOffsetTable.Reg(XFactory) +- uid: Hi.Numerical.MillingToolOffsetTable.Reg* + name: Reg + href: api/Hi.Numerical.MillingToolOffsetTable.html#Hi_Numerical_MillingToolOffsetTable_Reg_ + commentId: Overload:Hi.Numerical.MillingToolOffsetTable.Reg + isSpec: "True" + fullName: Hi.Numerical.MillingToolOffsetTable.Reg + nameWithType: MillingToolOffsetTable.Reg - uid: Hi.Numerical.MillingToolOffsetTable.UpdateIdealMillingToolOffsetTableByToolHouse(Hi.Machining.MachiningToolHouse) name: UpdateIdealMillingToolOffsetTableByToolHouse(MachiningToolHouse) href: api/Hi.Numerical.MillingToolOffsetTable.html#Hi_Numerical_MillingToolOffsetTable_UpdateIdealMillingToolOffsetTableByToolHouse_Hi_Machining_MachiningToolHouse_ @@ -147219,6 +150291,19 @@ references: isSpec: "True" fullName: Hi.Numerical.MillingToolOffsetTableRow.RadialWear_mm nameWithType: MillingToolOffsetTableRow.RadialWear_mm +- uid: Hi.Numerical.MillingToolOffsetTableRow.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Numerical.MillingToolOffsetTableRow.html#Hi_Numerical_MillingToolOffsetTableRow_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Numerical.MillingToolOffsetTableRow.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Numerical.MillingToolOffsetTableRow.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: MillingToolOffsetTableRow.Reg(XFactory) +- uid: Hi.Numerical.MillingToolOffsetTableRow.Reg* + name: Reg + href: api/Hi.Numerical.MillingToolOffsetTableRow.html#Hi_Numerical_MillingToolOffsetTableRow_Reg_ + commentId: Overload:Hi.Numerical.MillingToolOffsetTableRow.Reg + isSpec: "True" + fullName: Hi.Numerical.MillingToolOffsetTableRow.Reg + nameWithType: MillingToolOffsetTableRow.Reg - uid: Hi.Numerical.MillingToolOffsetTableRow.ToXElement name: ToXElement() href: api/Hi.Numerical.MillingToolOffsetTableRow.html#Hi_Numerical_MillingToolOffsetTableRow_ToXElement @@ -150768,6 +153853,19 @@ references: isSpec: "True" fullName: Hi.Numerical.StepSelectionUtils.BoundSelector.MakeXmlSource nameWithType: BoundSelector.MakeXmlSource +- uid: Hi.Numerical.StepSelectionUtils.BoundSelector.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Numerical.StepSelectionUtils.BoundSelector.html#Hi_Numerical_StepSelectionUtils_BoundSelector_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Numerical.StepSelectionUtils.BoundSelector.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Numerical.StepSelectionUtils.BoundSelector.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: BoundSelector.Reg(XFactory) +- uid: Hi.Numerical.StepSelectionUtils.BoundSelector.Reg* + name: Reg + href: api/Hi.Numerical.StepSelectionUtils.BoundSelector.html#Hi_Numerical_StepSelectionUtils_BoundSelector_Reg_ + commentId: Overload:Hi.Numerical.StepSelectionUtils.BoundSelector.Reg + isSpec: "True" + fullName: Hi.Numerical.StepSelectionUtils.BoundSelector.Reg + nameWithType: BoundSelector.Reg - uid: Hi.Numerical.StepSelectionUtils.BoundSelector.Shift name: Shift href: api/Hi.Numerical.StepSelectionUtils.BoundSelector.html#Hi_Numerical_StepSelectionUtils_BoundSelector_Shift @@ -150936,6 +154034,19 @@ references: isSpec: "True" fullName: Hi.Numerical.StepSelectionUtils.BoundSelectorHost.MakeXmlSource nameWithType: BoundSelectorHost.MakeXmlSource +- uid: Hi.Numerical.StepSelectionUtils.BoundSelectorHost.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Numerical.StepSelectionUtils.BoundSelectorHost.html#Hi_Numerical_StepSelectionUtils_BoundSelectorHost_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Numerical.StepSelectionUtils.BoundSelectorHost.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Numerical.StepSelectionUtils.BoundSelectorHost.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: BoundSelectorHost.Reg(XFactory) +- uid: Hi.Numerical.StepSelectionUtils.BoundSelectorHost.Reg* + name: Reg + href: api/Hi.Numerical.StepSelectionUtils.BoundSelectorHost.html#Hi_Numerical_StepSelectionUtils_BoundSelectorHost_Reg_ + commentId: Overload:Hi.Numerical.StepSelectionUtils.BoundSelectorHost.Reg + isSpec: "True" + fullName: Hi.Numerical.StepSelectionUtils.BoundSelectorHost.Reg + nameWithType: BoundSelectorHost.Reg - uid: Hi.Numerical.StepSelectionUtils.BoundSelectorHost.XName name: XName href: api/Hi.Numerical.StepSelectionUtils.BoundSelectorHost.html#Hi_Numerical_StepSelectionUtils_BoundSelectorHost_XName @@ -151056,6 +154167,19 @@ references: isSpec: "True" fullName: Hi.Numerical.StepSelectionUtils.BoundSelectorPair.MakeXmlSource nameWithType: BoundSelectorPair.MakeXmlSource +- uid: Hi.Numerical.StepSelectionUtils.BoundSelectorPair.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Numerical.StepSelectionUtils.BoundSelectorPair.html#Hi_Numerical_StepSelectionUtils_BoundSelectorPair_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Numerical.StepSelectionUtils.BoundSelectorPair.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Numerical.StepSelectionUtils.BoundSelectorPair.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: BoundSelectorPair.Reg(XFactory) +- uid: Hi.Numerical.StepSelectionUtils.BoundSelectorPair.Reg* + name: Reg + href: api/Hi.Numerical.StepSelectionUtils.BoundSelectorPair.html#Hi_Numerical_StepSelectionUtils_BoundSelectorPair_Reg_ + commentId: Overload:Hi.Numerical.StepSelectionUtils.BoundSelectorPair.Reg + isSpec: "True" + fullName: Hi.Numerical.StepSelectionUtils.BoundSelectorPair.Reg + nameWithType: BoundSelectorPair.Reg - uid: Hi.Numerical.StepSelectionUtils.BoundSelectorPair.XName name: XName href: api/Hi.Numerical.StepSelectionUtils.BoundSelectorPair.html#Hi_Numerical_StepSelectionUtils_BoundSelectorPair_XName @@ -151158,6 +154282,19 @@ references: isSpec: "True" fullName: Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.MakeXmlSource nameWithType: BoundSelectorStepSectionBundle.MakeXmlSource +- uid: Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.html#Hi_Numerical_StepSelectionUtils_BoundSelectorStepSectionBundle_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: BoundSelectorStepSectionBundle.Reg(XFactory) +- uid: Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.Reg* + name: Reg + href: api/Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.html#Hi_Numerical_StepSelectionUtils_BoundSelectorStepSectionBundle_Reg_ + commentId: Overload:Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.Reg + isSpec: "True" + fullName: Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.Reg + nameWithType: BoundSelectorStepSectionBundle.Reg - uid: Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.XName name: XName href: api/Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.html#Hi_Numerical_StepSelectionUtils_BoundSelectorStepSectionBundle_XName @@ -151269,6 +154406,19 @@ references: isSpec: "True" fullName: Hi.Numerical.StepSelectionUtils.DistanceShift.MakeXmlSource nameWithType: DistanceShift.MakeXmlSource +- uid: Hi.Numerical.StepSelectionUtils.DistanceShift.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Numerical.StepSelectionUtils.DistanceShift.html#Hi_Numerical_StepSelectionUtils_DistanceShift_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Numerical.StepSelectionUtils.DistanceShift.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Numerical.StepSelectionUtils.DistanceShift.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: DistanceShift.Reg(XFactory) +- uid: Hi.Numerical.StepSelectionUtils.DistanceShift.Reg* + name: Reg + href: api/Hi.Numerical.StepSelectionUtils.DistanceShift.html#Hi_Numerical_StepSelectionUtils_DistanceShift_Reg_ + commentId: Overload:Hi.Numerical.StepSelectionUtils.DistanceShift.Reg + isSpec: "True" + fullName: Hi.Numerical.StepSelectionUtils.DistanceShift.Reg + nameWithType: DistanceShift.Reg - uid: Hi.Numerical.StepSelectionUtils.DistanceShift.XName name: XName href: api/Hi.Numerical.StepSelectionUtils.DistanceShift.html#Hi_Numerical_StepSelectionUtils_DistanceShift_XName @@ -151383,6 +154533,19 @@ references: isSpec: "True" fullName: Hi.Numerical.StepSelectionUtils.TimeShift.MakeXmlSource nameWithType: TimeShift.MakeXmlSource +- uid: Hi.Numerical.StepSelectionUtils.TimeShift.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Numerical.StepSelectionUtils.TimeShift.html#Hi_Numerical_StepSelectionUtils_TimeShift_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Numerical.StepSelectionUtils.TimeShift.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Numerical.StepSelectionUtils.TimeShift.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: TimeShift.Reg(XFactory) +- uid: Hi.Numerical.StepSelectionUtils.TimeShift.Reg* + name: Reg + href: api/Hi.Numerical.StepSelectionUtils.TimeShift.html#Hi_Numerical_StepSelectionUtils_TimeShift_Reg_ + commentId: Overload:Hi.Numerical.StepSelectionUtils.TimeShift.Reg + isSpec: "True" + fullName: Hi.Numerical.StepSelectionUtils.TimeShift.Reg + nameWithType: TimeShift.Reg - uid: Hi.Numerical.StepSelectionUtils.TimeShift.ShiftTimeSpan name: ShiftTimeSpan href: api/Hi.Numerical.StepSelectionUtils.TimeShift.html#Hi_Numerical_StepSelectionUtils_TimeShift_ShiftTimeSpan @@ -152013,6 +155176,19 @@ references: isSpec: "True" fullName: Hi.Numerical.Xyzabc.CodeXyzabcChain.McTransformers nameWithType: CodeXyzabcChain.McTransformers +- uid: Hi.Numerical.Xyzabc.CodeXyzabcChain.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Numerical.Xyzabc.CodeXyzabcChain.html#Hi_Numerical_Xyzabc_CodeXyzabcChain_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Numerical.Xyzabc.CodeXyzabcChain.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Numerical.Xyzabc.CodeXyzabcChain.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CodeXyzabcChain.Reg(XFactory) +- uid: Hi.Numerical.Xyzabc.CodeXyzabcChain.Reg* + name: Reg + href: api/Hi.Numerical.Xyzabc.CodeXyzabcChain.html#Hi_Numerical_Xyzabc_CodeXyzabcChain_Reg_ + commentId: Overload:Hi.Numerical.Xyzabc.CodeXyzabcChain.Reg + isSpec: "True" + fullName: Hi.Numerical.Xyzabc.CodeXyzabcChain.Reg + nameWithType: CodeXyzabcChain.Reg - uid: Hi.Numerical.Xyzabc.CodeXyzabcChain.RootAnchor name: RootAnchor href: api/Hi.Numerical.Xyzabc.CodeXyzabcChain.html#Hi_Numerical_Xyzabc_CodeXyzabcChain_RootAnchor @@ -152427,6 +155603,19 @@ references: isSpec: "True" fullName: Hi.Numerical.Xyzabc.GeneralXyzabcChain.McTransformers nameWithType: GeneralXyzabcChain.McTransformers +- uid: Hi.Numerical.Xyzabc.GeneralXyzabcChain.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Numerical.Xyzabc.GeneralXyzabcChain.html#Hi_Numerical_Xyzabc_GeneralXyzabcChain_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Numerical.Xyzabc.GeneralXyzabcChain.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Numerical.Xyzabc.GeneralXyzabcChain.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: GeneralXyzabcChain.Reg(XFactory) +- uid: Hi.Numerical.Xyzabc.GeneralXyzabcChain.Reg* + name: Reg + href: api/Hi.Numerical.Xyzabc.GeneralXyzabcChain.html#Hi_Numerical_Xyzabc_GeneralXyzabcChain_Reg_ + commentId: Overload:Hi.Numerical.Xyzabc.GeneralXyzabcChain.Reg + isSpec: "True" + fullName: Hi.Numerical.Xyzabc.GeneralXyzabcChain.Reg + nameWithType: GeneralXyzabcChain.Reg - uid: Hi.Numerical.Xyzabc.GeneralXyzabcChain.TableBuckleTransformer name: TableBuckleTransformer href: api/Hi.Numerical.Xyzabc.GeneralXyzabcChain.html#Hi_Numerical_Xyzabc_GeneralXyzabcChain_TableBuckleTransformer @@ -156548,6 +159737,19 @@ references: isSpec: "True" fullName: Hi.Physics.CoatingMaterial.PreferedThickness_um nameWithType: CoatingMaterial.PreferedThickness_um +- uid: Hi.Physics.CoatingMaterial.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Physics.CoatingMaterial.html#Hi_Physics_CoatingMaterial_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Physics.CoatingMaterial.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Physics.CoatingMaterial.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CoatingMaterial.Reg(XFactory) +- uid: Hi.Physics.CoatingMaterial.Reg* + name: Reg + href: api/Hi.Physics.CoatingMaterial.html#Hi_Physics_CoatingMaterial_Reg_ + commentId: Overload:Hi.Physics.CoatingMaterial.Reg + isSpec: "True" + fullName: Hi.Physics.CoatingMaterial.Reg + nameWithType: CoatingMaterial.Reg - uid: Hi.Physics.CoatingMaterial.ToXElement name: ToXElement() href: api/Hi.Physics.CoatingMaterial.html#Hi_Physics_CoatingMaterial_ToXElement @@ -156728,6 +159930,19 @@ references: isSpec: "True" fullName: Hi.Physics.CoolantHeatCondition.OffConvectionCoefficient_Wdm2K nameWithType: CoolantHeatCondition.OffConvectionCoefficient_Wdm2K +- uid: Hi.Physics.CoolantHeatCondition.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Physics.CoolantHeatCondition.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Physics.CoolantHeatCondition.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CoolantHeatCondition.Reg(XFactory) +- uid: Hi.Physics.CoolantHeatCondition.Reg* + name: Reg + href: api/Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_Reg_ + commentId: Overload:Hi.Physics.CoolantHeatCondition.Reg + isSpec: "True" + fullName: Hi.Physics.CoolantHeatCondition.Reg + nameWithType: CoolantHeatCondition.Reg - uid: Hi.Physics.CoolantHeatCondition.XName name: XName href: api/Hi.Physics.CoolantHeatCondition.html#Hi_Physics_CoolantHeatCondition_XName @@ -156985,6 +160200,19 @@ references: isSpec: "True" fullName: Hi.Physics.CutterMaterial.PoissonRatio nameWithType: CutterMaterial.PoissonRatio +- uid: Hi.Physics.CutterMaterial.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Physics.CutterMaterial.html#Hi_Physics_CutterMaterial_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Physics.CutterMaterial.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Physics.CutterMaterial.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: CutterMaterial.Reg(XFactory) +- uid: Hi.Physics.CutterMaterial.Reg* + name: Reg + href: api/Hi.Physics.CutterMaterial.html#Hi_Physics_CutterMaterial_Reg_ + commentId: Overload:Hi.Physics.CutterMaterial.Reg + isSpec: "True" + fullName: Hi.Physics.CutterMaterial.Reg + nameWithType: CutterMaterial.Reg - uid: Hi.Physics.CutterMaterial.TemperatureVsHardnessCurve name: TemperatureVsHardnessCurve href: api/Hi.Physics.CutterMaterial.html#Hi_Physics_CutterMaterial_TemperatureVsHardnessCurve @@ -157982,6 +161210,19 @@ references: isSpec: "True" fullName: Hi.Physics.StructureMaterial.PoissonRatio nameWithType: StructureMaterial.PoissonRatio +- uid: Hi.Physics.StructureMaterial.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Physics.StructureMaterial.html#Hi_Physics_StructureMaterial_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Physics.StructureMaterial.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Physics.StructureMaterial.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: StructureMaterial.Reg(XFactory) +- uid: Hi.Physics.StructureMaterial.Reg* + name: Reg + href: api/Hi.Physics.StructureMaterial.html#Hi_Physics_StructureMaterial_Reg_ + commentId: Overload:Hi.Physics.StructureMaterial.Reg + isSpec: "True" + fullName: Hi.Physics.StructureMaterial.Reg + nameWithType: StructureMaterial.Reg - uid: Hi.Physics.StructureMaterial.TensileStrength_MPa name: TensileStrength_MPa href: api/Hi.Physics.StructureMaterial.html#Hi_Physics_StructureMaterial_TensileStrength_MPa @@ -158283,6 +161524,19 @@ references: isSpec: "True" fullName: Hi.Physics.ThermalLayer1D.Material nameWithType: ThermalLayer1D.Material +- uid: Hi.Physics.ThermalLayer1D.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Physics.ThermalLayer1D.html#Hi_Physics_ThermalLayer1D_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Physics.ThermalLayer1D.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Physics.ThermalLayer1D.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ThermalLayer1D.Reg(XFactory) +- uid: Hi.Physics.ThermalLayer1D.Reg* + name: Reg + href: api/Hi.Physics.ThermalLayer1D.html#Hi_Physics_ThermalLayer1D_Reg_ + commentId: Overload:Hi.Physics.ThermalLayer1D.Reg + isSpec: "True" + fullName: Hi.Physics.ThermalLayer1D.Reg + nameWithType: ThermalLayer1D.Reg - uid: Hi.Physics.ThermalLayer1D.XName name: XName href: api/Hi.Physics.ThermalLayer1D.html#Hi_Physics_ThermalLayer1D_XName @@ -158877,6 +162131,19 @@ references: isSpec: "True" fullName: Hi.Physics.WorkpieceMaterial.PreferredFileName nameWithType: WorkpieceMaterial.PreferredFileName +- uid: Hi.Physics.WorkpieceMaterial.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.Physics.WorkpieceMaterial.html#Hi_Physics_WorkpieceMaterial_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.Physics.WorkpieceMaterial.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.Physics.WorkpieceMaterial.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: WorkpieceMaterial.Reg(XFactory) +- uid: Hi.Physics.WorkpieceMaterial.Reg* + name: Reg + href: api/Hi.Physics.WorkpieceMaterial.html#Hi_Physics_WorkpieceMaterial_Reg_ + commentId: Overload:Hi.Physics.WorkpieceMaterial.Reg + isSpec: "True" + fullName: Hi.Physics.WorkpieceMaterial.Reg + nameWithType: WorkpieceMaterial.Reg - uid: Hi.Physics.WorkpieceMaterial.TensileYieldStrength_MPa name: TensileYieldStrength_MPa href: api/Hi.Physics.WorkpieceMaterial.html#Hi_Physics_WorkpieceMaterial_TensileYieldStrength_MPa @@ -158994,6 +162261,19 @@ references: isSpec: "True" fullName: Hi.SessionCommands.EnablingWrapper.MakeXmlSource nameWithType: EnablingWrapper.MakeXmlSource +- uid: Hi.SessionCommands.EnablingWrapper.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.SessionCommands.EnablingWrapper.html#Hi_SessionCommands_EnablingWrapper_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.SessionCommands.EnablingWrapper.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.SessionCommands.EnablingWrapper.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: EnablingWrapper.Reg(XFactory) +- uid: Hi.SessionCommands.EnablingWrapper.Reg* + name: Reg + href: api/Hi.SessionCommands.EnablingWrapper.html#Hi_SessionCommands_EnablingWrapper_Reg_ + commentId: Overload:Hi.SessionCommands.EnablingWrapper.Reg + isSpec: "True" + fullName: Hi.SessionCommands.EnablingWrapper.Reg + nameWithType: EnablingWrapper.Reg - uid: Hi.SessionCommands.EnablingWrapper.Run(Hi.MachiningProcs.SessionShell) name: Run(SessionShell) href: api/Hi.SessionCommands.EnablingWrapper.html#Hi_SessionCommands_EnablingWrapper_Run_Hi_MachiningProcs_SessionShell_ @@ -159089,6 +162369,19 @@ references: isSpec: "True" fullName: Hi.SessionCommands.GeomDiffCommand.MakeXmlSource nameWithType: GeomDiffCommand.MakeXmlSource +- uid: Hi.SessionCommands.GeomDiffCommand.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.SessionCommands.GeomDiffCommand.html#Hi_SessionCommands_GeomDiffCommand_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.SessionCommands.GeomDiffCommand.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.SessionCommands.GeomDiffCommand.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: GeomDiffCommand.Reg(XFactory) +- uid: Hi.SessionCommands.GeomDiffCommand.Reg* + name: Reg + href: api/Hi.SessionCommands.GeomDiffCommand.html#Hi_SessionCommands_GeomDiffCommand_Reg_ + commentId: Overload:Hi.SessionCommands.GeomDiffCommand.Reg + isSpec: "True" + fullName: Hi.SessionCommands.GeomDiffCommand.Reg + nameWithType: GeomDiffCommand.Reg - uid: Hi.SessionCommands.GeomDiffCommand.Run(Hi.MachiningProcs.SessionShell) name: Run(SessionShell) href: api/Hi.SessionCommands.GeomDiffCommand.html#Hi_SessionCommands_GeomDiffCommand_Run_Hi_MachiningProcs_SessionShell_ @@ -159235,6 +162528,19 @@ references: isSpec: "True" fullName: Hi.SessionCommands.ListCommand.MakeXmlSource nameWithType: ListCommand.MakeXmlSource +- uid: Hi.SessionCommands.ListCommand.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.SessionCommands.ListCommand.html#Hi_SessionCommands_ListCommand_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.SessionCommands.ListCommand.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.SessionCommands.ListCommand.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ListCommand.Reg(XFactory) +- uid: Hi.SessionCommands.ListCommand.Reg* + name: Reg + href: api/Hi.SessionCommands.ListCommand.html#Hi_SessionCommands_ListCommand_Reg_ + commentId: Overload:Hi.SessionCommands.ListCommand.Reg + isSpec: "True" + fullName: Hi.SessionCommands.ListCommand.Reg + nameWithType: ListCommand.Reg - uid: Hi.SessionCommands.ListCommand.Run(Hi.MachiningProcs.SessionShell) name: Run(SessionShell) href: api/Hi.SessionCommands.ListCommand.html#Hi_SessionCommands_ListCommand_Run_Hi_MachiningProcs_SessionShell_ @@ -159324,6 +162630,19 @@ references: isSpec: "True" fullName: Hi.SessionCommands.MachiningMotionResolutionCommand.MakeXmlSource nameWithType: MachiningMotionResolutionCommand.MakeXmlSource +- uid: Hi.SessionCommands.MachiningMotionResolutionCommand.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.SessionCommands.MachiningMotionResolutionCommand.html#Hi_SessionCommands_MachiningMotionResolutionCommand_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.SessionCommands.MachiningMotionResolutionCommand.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.SessionCommands.MachiningMotionResolutionCommand.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: MachiningMotionResolutionCommand.Reg(XFactory) +- uid: Hi.SessionCommands.MachiningMotionResolutionCommand.Reg* + name: Reg + href: api/Hi.SessionCommands.MachiningMotionResolutionCommand.html#Hi_SessionCommands_MachiningMotionResolutionCommand_Reg_ + commentId: Overload:Hi.SessionCommands.MachiningMotionResolutionCommand.Reg + isSpec: "True" + fullName: Hi.SessionCommands.MachiningMotionResolutionCommand.Reg + nameWithType: MachiningMotionResolutionCommand.Reg - uid: Hi.SessionCommands.MachiningMotionResolutionCommand.Run(Hi.MachiningProcs.SessionShell) name: Run(SessionShell) href: api/Hi.SessionCommands.MachiningMotionResolutionCommand.html#Hi_SessionCommands_MachiningMotionResolutionCommand_Run_Hi_MachiningProcs_SessionShell_ @@ -159435,6 +162754,19 @@ references: isSpec: "True" fullName: Hi.SessionCommands.NcCodeCommand.NcText nameWithType: NcCodeCommand.NcText +- uid: Hi.SessionCommands.NcCodeCommand.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.SessionCommands.NcCodeCommand.html#Hi_SessionCommands_NcCodeCommand_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.SessionCommands.NcCodeCommand.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.SessionCommands.NcCodeCommand.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: NcCodeCommand.Reg(XFactory) +- uid: Hi.SessionCommands.NcCodeCommand.Reg* + name: Reg + href: api/Hi.SessionCommands.NcCodeCommand.html#Hi_SessionCommands_NcCodeCommand_Reg_ + commentId: Overload:Hi.SessionCommands.NcCodeCommand.Reg + isSpec: "True" + fullName: Hi.SessionCommands.NcCodeCommand.Reg + nameWithType: NcCodeCommand.Reg - uid: Hi.SessionCommands.NcCodeCommand.Run(Hi.MachiningProcs.SessionShell) name: Run(SessionShell) href: api/Hi.SessionCommands.NcCodeCommand.html#Hi_SessionCommands_NcCodeCommand_Run_Hi_MachiningProcs_SessionShell_ @@ -159559,6 +162891,19 @@ references: isSpec: "True" fullName: Hi.SessionCommands.NcFileCommand.NcFile nameWithType: NcFileCommand.NcFile +- uid: Hi.SessionCommands.NcFileCommand.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.SessionCommands.NcFileCommand.html#Hi_SessionCommands_NcFileCommand_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.SessionCommands.NcFileCommand.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.SessionCommands.NcFileCommand.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: NcFileCommand.Reg(XFactory) +- uid: Hi.SessionCommands.NcFileCommand.Reg* + name: Reg + href: api/Hi.SessionCommands.NcFileCommand.html#Hi_SessionCommands_NcFileCommand_Reg_ + commentId: Overload:Hi.SessionCommands.NcFileCommand.Reg + isSpec: "True" + fullName: Hi.SessionCommands.NcFileCommand.Reg + nameWithType: NcFileCommand.Reg - uid: Hi.SessionCommands.NcFileCommand.Run(Hi.MachiningProcs.SessionShell) name: Run(SessionShell) href: api/Hi.SessionCommands.NcFileCommand.html#Hi_SessionCommands_NcFileCommand_Run_Hi_MachiningProcs_SessionShell_ @@ -159648,6 +162993,19 @@ references: isSpec: "True" fullName: Hi.SessionCommands.NcFileListCommand.NcFileList nameWithType: NcFileListCommand.NcFileList +- uid: Hi.SessionCommands.NcFileListCommand.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.SessionCommands.NcFileListCommand.html#Hi_SessionCommands_NcFileListCommand_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.SessionCommands.NcFileListCommand.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.SessionCommands.NcFileListCommand.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: NcFileListCommand.Reg(XFactory) +- uid: Hi.SessionCommands.NcFileListCommand.Reg* + name: Reg + href: api/Hi.SessionCommands.NcFileListCommand.html#Hi_SessionCommands_NcFileListCommand_Reg_ + commentId: Overload:Hi.SessionCommands.NcFileListCommand.Reg + isSpec: "True" + fullName: Hi.SessionCommands.NcFileListCommand.Reg + nameWithType: NcFileListCommand.Reg - uid: Hi.SessionCommands.NcFileListCommand.Run(Hi.MachiningProcs.SessionShell) name: Run(SessionShell) href: api/Hi.SessionCommands.NcFileListCommand.html#Hi_SessionCommands_NcFileListCommand_Run_Hi_MachiningProcs_SessionShell_ @@ -159750,6 +163108,19 @@ references: isSpec: "True" fullName: Hi.SessionCommands.NcOptOptionCommand.NcOptOption nameWithType: NcOptOptionCommand.NcOptOption +- uid: Hi.SessionCommands.NcOptOptionCommand.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.SessionCommands.NcOptOptionCommand.html#Hi_SessionCommands_NcOptOptionCommand_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.SessionCommands.NcOptOptionCommand.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.SessionCommands.NcOptOptionCommand.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: NcOptOptionCommand.Reg(XFactory) +- uid: Hi.SessionCommands.NcOptOptionCommand.Reg* + name: Reg + href: api/Hi.SessionCommands.NcOptOptionCommand.html#Hi_SessionCommands_NcOptOptionCommand_Reg_ + commentId: Overload:Hi.SessionCommands.NcOptOptionCommand.Reg + isSpec: "True" + fullName: Hi.SessionCommands.NcOptOptionCommand.Reg + nameWithType: NcOptOptionCommand.Reg - uid: Hi.SessionCommands.NcOptOptionCommand.Run(Hi.MachiningProcs.SessionShell) name: Run(SessionShell) href: api/Hi.SessionCommands.NcOptOptionCommand.html#Hi_SessionCommands_NcOptOptionCommand_Run_Hi_MachiningProcs_SessionShell_ @@ -159826,6 +163197,19 @@ references: isSpec: "True" fullName: Hi.SessionCommands.OptimizeToFilesCommand.MakeXmlSource nameWithType: OptimizeToFilesCommand.MakeXmlSource +- uid: Hi.SessionCommands.OptimizeToFilesCommand.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.SessionCommands.OptimizeToFilesCommand.html#Hi_SessionCommands_OptimizeToFilesCommand_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.SessionCommands.OptimizeToFilesCommand.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.SessionCommands.OptimizeToFilesCommand.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: OptimizeToFilesCommand.Reg(XFactory) +- uid: Hi.SessionCommands.OptimizeToFilesCommand.Reg* + name: Reg + href: api/Hi.SessionCommands.OptimizeToFilesCommand.html#Hi_SessionCommands_OptimizeToFilesCommand_Reg_ + commentId: Overload:Hi.SessionCommands.OptimizeToFilesCommand.Reg + isSpec: "True" + fullName: Hi.SessionCommands.OptimizeToFilesCommand.Reg + nameWithType: OptimizeToFilesCommand.Reg - uid: Hi.SessionCommands.OptimizeToFilesCommand.RelFileTemplate name: RelFileTemplate href: api/Hi.SessionCommands.OptimizeToFilesCommand.html#Hi_SessionCommands_OptimizeToFilesCommand_RelFileTemplate @@ -160019,6 +163403,19 @@ references: isSpec: "True" fullName: Hi.SessionCommands.PostExecutionCommand.OptimizationFileTemplate nameWithType: PostExecutionCommand.OptimizationFileTemplate +- uid: Hi.SessionCommands.PostExecutionCommand.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.SessionCommands.PostExecutionCommand.html#Hi_SessionCommands_PostExecutionCommand_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.SessionCommands.PostExecutionCommand.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.SessionCommands.PostExecutionCommand.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: PostExecutionCommand.Reg(XFactory) +- uid: Hi.SessionCommands.PostExecutionCommand.Reg* + name: Reg + href: api/Hi.SessionCommands.PostExecutionCommand.html#Hi_SessionCommands_PostExecutionCommand_Reg_ + commentId: Overload:Hi.SessionCommands.PostExecutionCommand.Reg + isSpec: "True" + fullName: Hi.SessionCommands.PostExecutionCommand.Reg + nameWithType: PostExecutionCommand.Reg - uid: Hi.SessionCommands.PostExecutionCommand.Run(Hi.MachiningProcs.SessionShell) name: Run(SessionShell) href: api/Hi.SessionCommands.PostExecutionCommand.html#Hi_SessionCommands_PostExecutionCommand_Run_Hi_MachiningProcs_SessionShell_ @@ -160238,6 +163635,19 @@ references: isSpec: "True" fullName: Hi.SessionCommands.PreSettingCommand.MakeXmlSource nameWithType: PreSettingCommand.MakeXmlSource +- uid: Hi.SessionCommands.PreSettingCommand.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.SessionCommands.PreSettingCommand.html#Hi_SessionCommands_PreSettingCommand_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.SessionCommands.PreSettingCommand.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.SessionCommands.PreSettingCommand.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: PreSettingCommand.Reg(XFactory) +- uid: Hi.SessionCommands.PreSettingCommand.Reg* + name: Reg + href: api/Hi.SessionCommands.PreSettingCommand.html#Hi_SessionCommands_PreSettingCommand_Reg_ + commentId: Overload:Hi.SessionCommands.PreSettingCommand.Reg + isSpec: "True" + fullName: Hi.SessionCommands.PreSettingCommand.Reg + nameWithType: PreSettingCommand.Reg - uid: Hi.SessionCommands.PreSettingCommand.Run(Hi.MachiningProcs.SessionShell) name: Run(SessionShell) href: api/Hi.SessionCommands.PreSettingCommand.html#Hi_SessionCommands_PreSettingCommand_Run_Hi_MachiningProcs_SessionShell_ @@ -160370,6 +163780,19 @@ references: isSpec: "True" fullName: Hi.SessionCommands.RecordRuntimeGeomCommand.MakeXmlSource nameWithType: RecordRuntimeGeomCommand.MakeXmlSource +- uid: Hi.SessionCommands.RecordRuntimeGeomCommand.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.SessionCommands.RecordRuntimeGeomCommand.html#Hi_SessionCommands_RecordRuntimeGeomCommand_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.SessionCommands.RecordRuntimeGeomCommand.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.SessionCommands.RecordRuntimeGeomCommand.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: RecordRuntimeGeomCommand.Reg(XFactory) +- uid: Hi.SessionCommands.RecordRuntimeGeomCommand.Reg* + name: Reg + href: api/Hi.SessionCommands.RecordRuntimeGeomCommand.html#Hi_SessionCommands_RecordRuntimeGeomCommand_Reg_ + commentId: Overload:Hi.SessionCommands.RecordRuntimeGeomCommand.Reg + isSpec: "True" + fullName: Hi.SessionCommands.RecordRuntimeGeomCommand.Reg + nameWithType: RecordRuntimeGeomCommand.Reg - uid: Hi.SessionCommands.RecordRuntimeGeomCommand.RelFile name: RelFile href: api/Hi.SessionCommands.RecordRuntimeGeomCommand.html#Hi_SessionCommands_RecordRuntimeGeomCommand_RelFile @@ -160537,6 +163960,19 @@ references: isSpec: "True" fullName: Hi.SessionCommands.ScriptCommand.PreSettingTemplate nameWithType: ScriptCommand.PreSettingTemplate +- uid: Hi.SessionCommands.ScriptCommand.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.SessionCommands.ScriptCommand.html#Hi_SessionCommands_ScriptCommand_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.SessionCommands.ScriptCommand.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.SessionCommands.ScriptCommand.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ScriptCommand.Reg(XFactory) +- uid: Hi.SessionCommands.ScriptCommand.Reg* + name: Reg + href: api/Hi.SessionCommands.ScriptCommand.html#Hi_SessionCommands_ScriptCommand_Reg_ + commentId: Overload:Hi.SessionCommands.ScriptCommand.Reg + isSpec: "True" + fullName: Hi.SessionCommands.ScriptCommand.Reg + nameWithType: ScriptCommand.Reg - uid: Hi.SessionCommands.ScriptCommand.Run(Hi.MachiningProcs.SessionShell) name: Run(SessionShell) href: api/Hi.SessionCommands.ScriptCommand.html#Hi_SessionCommands_ScriptCommand_Run_Hi_MachiningProcs_SessionShell_ @@ -160830,6 +164266,19 @@ references: isSpec: "True" fullName: Hi.SessionCommands.SimpleSessionCommand.OptimizationFileTemplate nameWithType: SimpleSessionCommand.OptimizationFileTemplate +- uid: Hi.SessionCommands.SimpleSessionCommand.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.SessionCommands.SimpleSessionCommand.html#Hi_SessionCommands_SimpleSessionCommand_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.SessionCommands.SimpleSessionCommand.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.SessionCommands.SimpleSessionCommand.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: SimpleSessionCommand.Reg(XFactory) +- uid: Hi.SessionCommands.SimpleSessionCommand.Reg* + name: Reg + href: api/Hi.SessionCommands.SimpleSessionCommand.html#Hi_SessionCommands_SimpleSessionCommand_Reg_ + commentId: Overload:Hi.SessionCommands.SimpleSessionCommand.Reg + isSpec: "True" + fullName: Hi.SessionCommands.SimpleSessionCommand.Reg + nameWithType: SimpleSessionCommand.Reg - uid: Hi.SessionCommands.SimpleSessionCommand.Run(Hi.MachiningProcs.SessionShell) name: Run(SessionShell) href: api/Hi.SessionCommands.SimpleSessionCommand.html#Hi_SessionCommands_SimpleSessionCommand_Run_Hi_MachiningProcs_SessionShell_ @@ -160971,6 +164420,19 @@ references: isSpec: "True" fullName: Hi.SessionCommands.WriteRuntimeGeomToStlCommand.MakeXmlSource nameWithType: WriteRuntimeGeomToStlCommand.MakeXmlSource +- uid: Hi.SessionCommands.WriteRuntimeGeomToStlCommand.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.SessionCommands.WriteRuntimeGeomToStlCommand.html#Hi_SessionCommands_WriteRuntimeGeomToStlCommand_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.SessionCommands.WriteRuntimeGeomToStlCommand.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.SessionCommands.WriteRuntimeGeomToStlCommand.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: WriteRuntimeGeomToStlCommand.Reg(XFactory) +- uid: Hi.SessionCommands.WriteRuntimeGeomToStlCommand.Reg* + name: Reg + href: api/Hi.SessionCommands.WriteRuntimeGeomToStlCommand.html#Hi_SessionCommands_WriteRuntimeGeomToStlCommand_Reg_ + commentId: Overload:Hi.SessionCommands.WriteRuntimeGeomToStlCommand.Reg + isSpec: "True" + fullName: Hi.SessionCommands.WriteRuntimeGeomToStlCommand.Reg + nameWithType: WriteRuntimeGeomToStlCommand.Reg - uid: Hi.SessionCommands.WriteRuntimeGeomToStlCommand.RelFile name: RelFile href: api/Hi.SessionCommands.WriteRuntimeGeomToStlCommand.html#Hi_SessionCommands_WriteRuntimeGeomToStlCommand_RelFile @@ -161073,6 +164535,19 @@ references: isSpec: "True" fullName: Hi.SessionCommands.WriteShotFilesCommand.MakeXmlSource nameWithType: WriteShotFilesCommand.MakeXmlSource +- uid: Hi.SessionCommands.WriteShotFilesCommand.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.SessionCommands.WriteShotFilesCommand.html#Hi_SessionCommands_WriteShotFilesCommand_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.SessionCommands.WriteShotFilesCommand.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.SessionCommands.WriteShotFilesCommand.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: WriteShotFilesCommand.Reg(XFactory) +- uid: Hi.SessionCommands.WriteShotFilesCommand.Reg* + name: Reg + href: api/Hi.SessionCommands.WriteShotFilesCommand.html#Hi_SessionCommands_WriteShotFilesCommand_Reg_ + commentId: Overload:Hi.SessionCommands.WriteShotFilesCommand.Reg + isSpec: "True" + fullName: Hi.SessionCommands.WriteShotFilesCommand.Reg + nameWithType: WriteShotFilesCommand.Reg - uid: Hi.SessionCommands.WriteShotFilesCommand.RelFileTemplate name: RelFileTemplate href: api/Hi.SessionCommands.WriteShotFilesCommand.html#Hi_SessionCommands_WriteShotFilesCommand_RelFileTemplate @@ -161175,6 +164650,19 @@ references: isSpec: "True" fullName: Hi.SessionCommands.WriteStepFilesCommand.MakeXmlSource nameWithType: WriteStepFilesCommand.MakeXmlSource +- uid: Hi.SessionCommands.WriteStepFilesCommand.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/Hi.SessionCommands.WriteStepFilesCommand.html#Hi_SessionCommands_WriteStepFilesCommand_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Hi.SessionCommands.WriteStepFilesCommand.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Hi.SessionCommands.WriteStepFilesCommand.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: WriteStepFilesCommand.Reg(XFactory) +- uid: Hi.SessionCommands.WriteStepFilesCommand.Reg* + name: Reg + href: api/Hi.SessionCommands.WriteStepFilesCommand.html#Hi_SessionCommands_WriteStepFilesCommand_Reg_ + commentId: Overload:Hi.SessionCommands.WriteStepFilesCommand.Reg + isSpec: "True" + fullName: Hi.SessionCommands.WriteStepFilesCommand.Reg + nameWithType: WriteStepFilesCommand.Reg - uid: Hi.SessionCommands.WriteStepFilesCommand.RelFileTemplate name: RelFileTemplate href: api/Hi.SessionCommands.WriteStepFilesCommand.html#Hi_SessionCommands_WriteStepFilesCommand_RelFileTemplate @@ -165205,6 +168693,19 @@ references: isSpec: "True" fullName: HiMachining.Milling.ClMillingDevice.McTransformers nameWithType: ClMillingDevice.McTransformers +- uid: HiMachining.Milling.ClMillingDevice.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/HiMachining.Milling.ClMillingDevice.html#HiMachining_Milling_ClMillingDevice_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:HiMachining.Milling.ClMillingDevice.Reg(Hi.Common.XmlUtils.XFactory) + fullName: HiMachining.Milling.ClMillingDevice.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: ClMillingDevice.Reg(XFactory) +- uid: HiMachining.Milling.ClMillingDevice.Reg* + name: Reg + href: api/HiMachining.Milling.ClMillingDevice.html#HiMachining_Milling_ClMillingDevice_Reg_ + commentId: Overload:HiMachining.Milling.ClMillingDevice.Reg + isSpec: "True" + fullName: HiMachining.Milling.ClMillingDevice.Reg + nameWithType: ClMillingDevice.Reg - uid: HiMachining.Milling.ClMillingDevice.TableBuckle name: TableBuckle href: api/HiMachining.Milling.ClMillingDevice.html#HiMachining_Milling_ClMillingDevice_TableBuckle @@ -165341,6 +168842,19 @@ references: isSpec: "True" fullName: HiNc.Grpcs.MachiningProjectGrpcServer.MakeXmlSource nameWithType: MachiningProjectGrpcServer.MakeXmlSource +- uid: HiNc.Grpcs.MachiningProjectGrpcServer.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: api/HiNc.Grpcs.MachiningProjectGrpcServer.html#HiNc_Grpcs_MachiningProjectGrpcServer_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:HiNc.Grpcs.MachiningProjectGrpcServer.Reg(Hi.Common.XmlUtils.XFactory) + fullName: HiNc.Grpcs.MachiningProjectGrpcServer.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: MachiningProjectGrpcServer.Reg(XFactory) +- uid: HiNc.Grpcs.MachiningProjectGrpcServer.Reg* + name: Reg + href: api/HiNc.Grpcs.MachiningProjectGrpcServer.html#HiNc_Grpcs_MachiningProjectGrpcServer_Reg_ + commentId: Overload:HiNc.Grpcs.MachiningProjectGrpcServer.Reg + isSpec: "True" + fullName: HiNc.Grpcs.MachiningProjectGrpcServer.Reg + nameWithType: MachiningProjectGrpcServer.Reg - uid: HiNc.Grpcs.MachiningProjectGrpcServer.ServicePort name: ServicePort href: api/HiNc.Grpcs.MachiningProjectGrpcServer.html#HiNc_Grpcs_MachiningProjectGrpcServer_ServicePort @@ -165878,6 +169392,19 @@ references: isSpec: "True" fullName: Sample.MachineTool.DemoBuildMachineTool.GetXyzabcMachineTool nameWithType: DemoBuildMachineTool.GetXyzabcMachineTool +- uid: Sample.MachineTool.DemoBuildMachineTool.Reg(Hi.Common.XmlUtils.XFactory) + name: Reg(XFactory) + href: sample/Sample.MachineTool.DemoBuildMachineTool.html#Sample_MachineTool_DemoBuildMachineTool_Reg_Hi_Common_XmlUtils_XFactory_ + commentId: M:Sample.MachineTool.DemoBuildMachineTool.Reg(Hi.Common.XmlUtils.XFactory) + fullName: Sample.MachineTool.DemoBuildMachineTool.Reg(Hi.Common.XmlUtils.XFactory) + nameWithType: DemoBuildMachineTool.Reg(XFactory) +- uid: Sample.MachineTool.DemoBuildMachineTool.Reg* + name: Reg + href: sample/Sample.MachineTool.DemoBuildMachineTool.html#Sample_MachineTool_DemoBuildMachineTool_Reg_ + commentId: Overload:Sample.MachineTool.DemoBuildMachineTool.Reg + isSpec: "True" + fullName: Sample.MachineTool.DemoBuildMachineTool.Reg + nameWithType: DemoBuildMachineTool.Reg - uid: Sample.MachineTool.DemoBuildMachineTool.ToXElement name: ToXElement() href: sample/Sample.MachineTool.DemoBuildMachineTool.html#Sample_MachineTool_DemoBuildMachineTool_ToXElement diff --git a/App/zh-Hans/HiMech.resources.dll b/App/zh-Hans/HiMech.resources.dll index 3f052435..90ded7f8 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 4eeec304..cf379088 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 cc08da97..885cb600 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 8a24c9b3..70cbc45d 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 1cce83bc..a1221ffa 100644 Binary files a/App/zh-Hant/HiNc.resources.dll and b/App/zh-Hant/HiNc.resources.dll differ