diff --git a/App/Hi.WpfPlus.dll b/App/Hi.WpfPlus.dll index 14a5b54..8dd594f 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 bfcb6fe..1863027 100644 Binary files a/App/HiCbtr.dll and b/App/HiCbtr.dll differ diff --git a/App/HiDisp.dll b/App/HiDisp.dll index 761dc18..8d03af5 100644 Binary files a/App/HiDisp.dll and b/App/HiDisp.dll differ diff --git a/App/HiGeom.dll b/App/HiGeom.dll index a5d01ef..d44459e 100644 Binary files a/App/HiGeom.dll and b/App/HiGeom.dll differ diff --git a/App/HiLicense.dll b/App/HiLicense.dll index 4362220..a35b030 100644 Binary files a/App/HiLicense.dll and b/App/HiLicense.dll differ diff --git a/App/HiMech.dll b/App/HiMech.dll index 10b2457..9c1bc98 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 35a236b..a2e7f08 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.126", - "HiNc": "3.1.159", - "HiNc-Resource": "3.1.42", + "Hi.WpfPlus": "3.1.127", + "HiNc": "3.1.160", + "HiNc-Resource": "3.1.43", "runtimepack.Microsoft.NETCore.App.Runtime.win-x64": "10.0.4", "runtimepack.Microsoft.WindowsDesktop.App.Runtime.win-x64": "10.0.4", "runtimepack.Microsoft.AspNetCore.App.Runtime.win-x64": "10.0.4" @@ -1673,36 +1673,36 @@ } } }, - "Hi.WpfPlus/3.1.126": { + "Hi.WpfPlus/3.1.127": { "dependencies": { - "HiDisp": "3.1.129" + "HiDisp": "3.1.130" }, "runtime": { "lib/net10.0-windows7.0/Hi.WpfPlus.dll": { - "assemblyVersion": "3.1.126.0", - "fileVersion": "3.1.126.0" + "assemblyVersion": "3.1.127.0", + "fileVersion": "3.1.127.0" } } }, - "HiCbtr/3.1.129": { + "HiCbtr/3.1.130": { "dependencies": { - "HiDisp": "3.1.129" + "HiDisp": "3.1.130" }, "runtime": { "lib/net10.0/HiCbtr.dll": { - "assemblyVersion": "3.1.129.0", - "fileVersion": "3.1.129.0" + "assemblyVersion": "3.1.130.0", + "fileVersion": "3.1.130.0" } } }, - "HiDisp/3.1.129": { + "HiDisp/3.1.130": { "dependencies": { - "HiGeom": "3.1.119" + "HiGeom": "3.1.120" }, "runtime": { "lib/net10.0/HiDisp.dll": { - "assemblyVersion": "3.1.129.0", - "fileVersion": "3.1.129.0" + "assemblyVersion": "3.1.130.0", + "fileVersion": "3.1.130.0" } }, "native": { @@ -1720,7 +1720,7 @@ } } }, - "HiGeom/3.1.119": { + "HiGeom/3.1.120": { "dependencies": { "Google.Protobuf": "3.28.3", "Grpc.AspNetCore": "2.66.0", @@ -1730,8 +1730,8 @@ }, "runtime": { "lib/net10.0/HiGeom.dll": { - "assemblyVersion": "3.1.119.0", - "fileVersion": "3.1.119.0" + "assemblyVersion": "3.1.120.0", + "fileVersion": "3.1.120.0" } }, "resources": { @@ -1743,27 +1743,27 @@ } } }, - "HiLicense/3.1.120": { + "HiLicense/3.1.121": { "dependencies": { - "HiGeom": "3.1.119" + "HiGeom": "3.1.120" }, "runtime": { "lib/net10.0/HiLicense.dll": { - "assemblyVersion": "3.1.120.0", - "fileVersion": "3.1.120.0" + "assemblyVersion": "3.1.121.0", + "fileVersion": "3.1.121.0" } } }, - "HiMech/3.1.140": { + "HiMech/3.1.141": { "dependencies": { "CommandLineParser": "2.9.1", - "HiCbtr": "3.1.129", + "HiCbtr": "3.1.130", "Microsoft.CodeAnalysis.CSharp.Scripting": "5.3.0" }, "runtime": { "lib/net10.0/HiMech.dll": { - "assemblyVersion": "3.1.140.0", - "fileVersion": "3.1.140.0" + "assemblyVersion": "3.1.141.0", + "fileVersion": "3.1.141.0" } }, "resources": { @@ -1778,21 +1778,21 @@ } } }, - "HiNc/3.1.159": { + "HiNc/3.1.160": { "dependencies": { "Dapper": "2.1.35", "Google.Protobuf": "3.28.3", "Grpc.AspNetCore": "2.66.0", "Grpc.Net.Client": "2.66.0", - "HiLicense": "3.1.120", - "HiMech": "3.1.140", - "HiUniNc": "3.1.136", + "HiLicense": "3.1.121", + "HiMech": "3.1.141", + "HiUniNc": "3.1.137", "Microsoft.Data.Sqlite": "9.0.0" }, "runtime": { "lib/net10.0/HiNc.dll": { - "assemblyVersion": "3.1.159.0", - "fileVersion": "3.1.159.0" + "assemblyVersion": "3.1.160.0", + "fileVersion": "3.1.160.0" } }, "resources": { @@ -1804,22 +1804,22 @@ } } }, - "HiNc-Resource/3.1.42": { + "HiNc-Resource/3.1.43": { "runtime": { "lib/net10.0/HiNc-Resource.dll": { - "assemblyVersion": "3.1.42.0", - "fileVersion": "3.1.42.0" + "assemblyVersion": "3.1.43.0", + "fileVersion": "3.1.43.0" } } }, - "HiUniNc/3.1.136": { + "HiUniNc/3.1.137": { "dependencies": { - "HiMech": "3.1.140" + "HiMech": "3.1.141" }, "runtime": { "lib/net10.0/HiUniNc.dll": { - "assemblyVersion": "3.1.136.0", - "fileVersion": "3.1.136.0" + "assemblyVersion": "3.1.137.0", + "fileVersion": "3.1.137.0" } } }, @@ -2201,68 +2201,68 @@ "path": "grpc.net.common/2.66.0", "hashPath": "grpc.net.common.2.66.0.nupkg.sha512" }, - "Hi.WpfPlus/3.1.126": { + "Hi.WpfPlus/3.1.127": { "type": "package", "serviceable": true, - "sha512": "sha512-rCK0sclXahv3QqVJbDVF3dOELd3mLmB9YXoFhk2cWXxLmxPyfbHU1pR5s95Cu3gGb3YhaGzZkWbZCqa41EnY5A==", - "path": "hi.wpfplus/3.1.126", - "hashPath": "hi.wpfplus.3.1.126.nupkg.sha512" + "sha512": "sha512-tzIrdlQfzHIvH6nKSgSiJ7tOsbobYx//xmtPQ0NhHmcXvQNHlYGhEzqkjEpxzkUHA1EsJn7RHs8Ak76TSK2CBw==", + "path": "hi.wpfplus/3.1.127", + "hashPath": "hi.wpfplus.3.1.127.nupkg.sha512" }, - "HiCbtr/3.1.129": { + "HiCbtr/3.1.130": { "type": "package", "serviceable": true, - "sha512": "sha512-7Xf+m6K5AfRyP4NlerzQItDmovRfK/5WaN9EQ1rj/hxXHas78SVfOp7wtS4oa+hF9je0CZbJt3kFiLMOpqxZ8w==", - "path": "hicbtr/3.1.129", - "hashPath": "hicbtr.3.1.129.nupkg.sha512" + "sha512": "sha512-zc79gQmcq7ZNfmb05pQp5QhWQOgbtXvUZXx58OFMChx5HTBLxJxUq7gCi6jdJ3nnhw2vL8KmXZO11wkQ/OeefA==", + "path": "hicbtr/3.1.130", + "hashPath": "hicbtr.3.1.130.nupkg.sha512" }, - "HiDisp/3.1.129": { + "HiDisp/3.1.130": { "type": "package", "serviceable": true, - "sha512": "sha512-c9VV5i4zMj1MEAgFNVciM1J9mqrVi8P5GASZc6eS6o79zjX0xnTVsx9wq5LSMNw/aGkN1PDxXsth+vFZwiEjyQ==", - "path": "hidisp/3.1.129", - "hashPath": "hidisp.3.1.129.nupkg.sha512" + "sha512": "sha512-qMufVri+Xo0WYdyUfZFyNeqCehNB5ZkB06tUj6ElsDCPLiSqdSI2oldCcTfuMy/qYZDSekRwCNSUSPsOkix5EA==", + "path": "hidisp/3.1.130", + "hashPath": "hidisp.3.1.130.nupkg.sha512" }, - "HiGeom/3.1.119": { + "HiGeom/3.1.120": { "type": "package", "serviceable": true, - "sha512": "sha512-Dy58sxg29KP3V84RCiuKeQUl1cd1YdjGBnD0jcu1Nonuj0mt0N8WP3LRjBa6jpyAzwrmQe1gMxoWuIYb0EzNzA==", - "path": "higeom/3.1.119", - "hashPath": "higeom.3.1.119.nupkg.sha512" + "sha512": "sha512-gRtjrDvm6OxJj/snmV45ZwuWuxjQpgxWi5L2Zu+wmo6EfNsmDgBQQhtfJ9E3U33puIGXRZoJp99klJMJkp0Z+g==", + "path": "higeom/3.1.120", + "hashPath": "higeom.3.1.120.nupkg.sha512" }, - "HiLicense/3.1.120": { + "HiLicense/3.1.121": { "type": "package", "serviceable": true, - "sha512": "sha512-ABQ8aUJxGBRrnvAlD/Z+2xpB+/in3BNm5OlrdEoyxhj45NgHkPD8BC44MRjaKrYfutbxi3SNI2TiQ9LtL2y51w==", - "path": "hilicense/3.1.120", - "hashPath": "hilicense.3.1.120.nupkg.sha512" + "sha512": "sha512-VXQIHfUCbaHNR+k5Z95BXgsBU2fHq3r6EGVsJzUhC4UyB9eYZz/xAVqG8l2qx9yaZQE/BbpL5bO3P4C8LHfrVw==", + "path": "hilicense/3.1.121", + "hashPath": "hilicense.3.1.121.nupkg.sha512" }, - "HiMech/3.1.140": { + "HiMech/3.1.141": { "type": "package", "serviceable": true, - "sha512": "sha512-xXDfdTAybz/XwtAWSr5AGvbx2YMieGFCwFldWs10HvPQzfBxSdfbU+YtGGRto5gY1JgMUoC+CsGZNsXGqlY7Ow==", - "path": "himech/3.1.140", - "hashPath": "himech.3.1.140.nupkg.sha512" + "sha512": "sha512-0zeUO4bOjlZGe9KxDwyhWc8+NgDB3txf+0I8vqgokNpPmzxeLRQHcdbXYaK7iqvHP9wy2t4lJvFLCWjyptPfRA==", + "path": "himech/3.1.141", + "hashPath": "himech.3.1.141.nupkg.sha512" }, - "HiNc/3.1.159": { + "HiNc/3.1.160": { "type": "package", "serviceable": true, - "sha512": "sha512-nPSJwsBrgz/tAmXj+cMmM8sGugzDJW3ybYGAH1PxY5hiUom8wgtBTJLYmcxx1vo4WvbuPsLixNg9CcPxCiso4w==", - "path": "hinc/3.1.159", - "hashPath": "hinc.3.1.159.nupkg.sha512" + "sha512": "sha512-0dnt/d4xpM6spupeSy+WrN5AGX8IfpSE/b8hF8w00IW8IAS7zrRqadW1GcDmENlzy8D6yiMcxvN1q18MQdMVEg==", + "path": "hinc/3.1.160", + "hashPath": "hinc.3.1.160.nupkg.sha512" }, - "HiNc-Resource/3.1.42": { + "HiNc-Resource/3.1.43": { "type": "package", "serviceable": true, - "sha512": "sha512-W6eExdcI7gbMVMmqNdyNYzqLMZItevp/FQUaCIPkBeaBOgZ+D9/4ZkdCMycnv3ozyO/x+zVkwU5SqyMvCL007Q==", - "path": "hinc-resource/3.1.42", - "hashPath": "hinc-resource.3.1.42.nupkg.sha512" + "sha512": "sha512-buNh2JYL0iUwW74dzv9/v7uvPKYj3LFJ0noGvUArKz0JuMiZNu+YKOa3Kr7KDdkLB5p/9EmI7tOt6GUhypQviw==", + "path": "hinc-resource/3.1.43", + "hashPath": "hinc-resource.3.1.43.nupkg.sha512" }, - "HiUniNc/3.1.136": { + "HiUniNc/3.1.137": { "type": "package", "serviceable": true, - "sha512": "sha512-6P0meP3P+DD9CsGYrysZNONsbB6Fn7YHLA3JRHM5zChJphP31ZrGHa4H3qy5evqDn0FpiMcAvU0QDrVxLrH1QQ==", - "path": "hiuninc/3.1.136", - "hashPath": "hiuninc.3.1.136.nupkg.sha512" + "sha512": "sha512-uIJKufgUfl4Hm//WejTrG6IDWS6bpVnI03QxHDMTTli9J1QkV3ywn5+UpxdE9/Yp3tSEO8l9ZboUtwbZIdM3nw==", + "path": "hiuninc/3.1.137", + "hashPath": "hiuninc.3.1.137.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 98c0527..810e1dc 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 7e8c17e..eae6b88 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 2875efb..8cc7231 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 4fb29c0..830cf58 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 f5dc394..847c5ba 100644 Binary files a/App/HiNc.dll and b/App/HiNc.dll differ diff --git a/App/HiUniNc.dll b/App/HiUniNc.dll index 0b62b4b..85e70a2 100644 Binary files a/App/HiUniNc.dll and b/App/HiUniNc.dll differ diff --git a/App/core.dll b/App/core.dll index 3be61ed..69bb380 100644 Binary files a/App/core.dll and b/App/core.dll differ diff --git a/App/en/HiGeom.resources.dll b/App/en/HiGeom.resources.dll index 36c13a9..bce6a3a 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 c35bec8..d409d38 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.Coloring.RangeColorRule.html b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.RangeColorRule.html index 730112c..9c674f4 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.RangeColorRule.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.RangeColorRule.html @@ -164,10 +164,10 @@ Class RangeColorRule InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.RgbSeed.html b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.RgbSeed.html index 6ea6584..d3c0278 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.RgbSeed.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Coloring.RgbSeed.html @@ -164,10 +164,10 @@ Class RgbSeed InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.BlockingTimer.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.BlockingTimer.html index 86d6531..1ff329c 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.BlockingTimer.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.BlockingTimer.html @@ -167,10 +167,10 @@ If the execution time is over the InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.FileLines.FileLineIndex.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.FileLines.FileLineIndex.html index ed6875f..e0278eb 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.FileLines.FileLineIndex.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.FileLines.FileLineIndex.html @@ -174,10 +174,10 @@ Class FileLineIndex FileLineUtil.MixedIndex(IGetFileLineIndex)
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.IndexSegment.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.IndexSegment.html index 08b85a2..a94c603 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.IndexSegment.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.IndexSegment.html @@ -156,10 +156,10 @@ Used for defining segment of data in collections or arrays.

InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) 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 34a49e1..bd13f31 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.IntegerKeyDictionaryConverter-1.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.IntegerKeyDictionaryConverter-1.html @@ -169,10 +169,10 @@ Class IntegerKeyDictionaryConverter<TValue> InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.IntegerKeyDictionaryConverter.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.IntegerKeyDictionaryConverter.html index 3fbab89..3afed21 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.IntegerKeyDictionaryConverter.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.IntegerKeyDictionaryConverter.html @@ -163,10 +163,10 @@ Class IntegerKeyDictionaryConverter InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.PathUtils.PathUtil.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.PathUtils.PathUtil.html index 533642f..e90b4d4 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.PathUtils.PathUtil.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.PathUtils.PathUtil.html @@ -269,96 +269,6 @@ Class PathUtil - - -

- CombineAsSubDirectory(string, string, string) - -

- -

Combines a base directory with a relative file path and appends a suffix -to derive a sub-directory path. The suffix is only appended when -relFile is not null or whitespace.

-
-
- -
-
public static string CombineAsSubDirectory(string baseDirectory, string relFile, string suffixIfAdded = "-src")
-
- -

Parameters

-
-
baseDirectory string
-

The base directory.

-
-
relFile string
-

The relative file path.

-
-
suffixIfAdded string
-

The suffix appended to the combined path -when relFile is not null or whitespace.

-
-
- -

Returns

-
-
string
-

The combined sub-directory path with forward slashes as directory separators.

-
-
- - - - - - - - - - - - - -

- GetConcatedDirectoryName(string, string) - -

- -

Gets the directory name from a combined base directory and relative file path.

-
-
- -
-
public static string GetConcatedDirectoryName(string baseDirectory, string relFile)
-
- -

Parameters

-
-
baseDirectory string
-

The base directory

-
-
relFile string
-

The relative file path

-
-
- -

Returns

-
-
string
-

The directory name of the combined path with forward slashes as directory separators

-
-
- - - - - - - - - - -

@@ -398,10 +308,52 @@ when relFile is not null or whitespace.

- + -

- GetParentIgnoreTailSlash(string) +

+ GetFileDirectory(string, string) + +

+ +

Gets the directory name from a combined base directory and relative file path.

+
+
+ +
+
public static string GetFileDirectory(string baseDirectory, string relFile)
+
+ +

Parameters

+
+
baseDirectory string
+

The base directory

+
+
relFile string
+

The relative file path

+
+
+ +

Returns

+
+
string
+

The directory name of the combined path with forward slashes as directory separators

+
+
+ + + + + + + + + + + + + +

+ GetParentDirectory(string)

@@ -410,7 +362,7 @@ when relFile is not null or whitespace.

-
public static string GetParentIgnoreTailSlash(this string path)
+
public static string GetParentDirectory(this string path)

Parameters

@@ -527,10 +479,10 @@ when relFile is not null or whitespace.

- + -

- GetRelativePathIfIsDescendant(string, string) +

+ GetRelativePathIfDescendant(string, string)

@@ -539,7 +491,7 @@ when relFile is not null or whitespace.

-
public static string GetRelativePathIfIsDescendant(string relativeTo, string path)
+
public static string GetRelativePathIfDescendant(string relativeTo, string path)

Parameters

@@ -570,6 +522,54 @@ Forward slashes are used as directory separators in either case.

+ + +

+ GetResourceDirectory(string, string, string) + +

+ +

Combines a base directory with a relative file path and appends a suffix +to derive a sub-directory path. The suffix is only appended when +relFile is not null or whitespace.

+
+
+ +
+
public static string GetResourceDirectory(string baseDirectory, string relFile, string suffixIfAdded = "-src")
+
+ +

Parameters

+
+
baseDirectory string
+

The base directory.

+
+
relFile string
+

The relative file path.

+
+
suffixIfAdded string
+

The suffix appended to the combined path +when relFile is not null or whitespace.

+
+
+ +

Returns

+
+
string
+

The combined sub-directory path with forward slashes as directory separators.

+
+
+ + + + + + + + + + +

@@ -654,91 +654,10 @@ Forward slashes are used as directory separators in either case.

- + -

- IsDescendantByRelPath(string, string) - -

- -

Determines whether a path is a descendant of a specified directory using relative path calculation.

-
-
- -
-
public static bool IsDescendantByRelPath(string ascendentDirectory, string descendantPath)
-
- -

Parameters

-
-
ascendentDirectory string
-

The potential ancestor directory path

-
-
descendantPath string
-

The path to check

-
-
- -

Returns

-
-
bool
-

True if the path is a descendant of the directory; otherwise, false

-
-
- - - - - - - - - - - - - -

- RemoveTailSlashIfExisted(string) - -

- -

Removes the trailing slash or backslash from a path if it exists.

-
-
- -
-
public static string RemoveTailSlashIfExisted(this string path)
-
- -

Parameters

-
-
path string
-

The path to process

-
-
- -

Returns

-
-
string
-

The path without a trailing slash or backslash

-
-
- - - - - - - - - - - - - -

- ReplaceDirectorySeparator(string) +

+ NormalizeToForwardSlash(string)

@@ -747,7 +666,7 @@ Forward slashes are used as directory separators in either case.

-
public static string ReplaceDirectorySeparator(this string src)
+
public static string NormalizeToForwardSlash(this string src)

Parameters

@@ -782,9 +701,9 @@ Forward slashes are used as directory separators in either case.

Resolves the sub-directory for loading with legacy fallback. -Returns the CombineAsSubDirectory(string, string, string) path if it exists; -otherwise falls back to the legacy GetConcatedDirectoryName(string, string) path -if it exists; otherwise defaults to the CombineAsSubDirectory(string, string, string) path.

+Returns the GetResourceDirectory(string, string, string) path if it exists; +otherwise falls back to the legacy GetFileDirectory(string, string) path +if it exists; otherwise defaults to the GetResourceDirectory(string, string, string) path.

@@ -822,6 +741,45 @@ if it exists; otherwise defaults to the + +

+ TrimTrailingSlash(string) + +

+ +

Removes the trailing slash or backslash from a path if it exists.

+
+
+ +
+
public static string TrimTrailingSlash(this string path)
+
+ +

Parameters

+
+
path string
+

The path to process

+
+
+ +

Returns

+
+
string
+

The path without a trailing slash or backslash

+
+
+ + + + + + + + + + + diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.RoutineBlocker.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.RoutineBlocker.html index 16b450c..3c53e45 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.RoutineBlocker.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.RoutineBlocker.html @@ -164,10 +164,10 @@ Class RoutineBlocker InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.RoutineBlocker0.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.RoutineBlocker0.html index 7341b3f..d8f43f6 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.RoutineBlocker0.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.RoutineBlocker0.html @@ -163,10 +163,10 @@ Class RoutineBlocker0 InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XmlSourceAndFile-1.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.FileRefSource-1.html similarity index 80% rename from App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XmlSourceAndFile-1.html rename to App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.FileRefSource-1.html index 2a4b7cc..01cfa15 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XmlSourceAndFile-1.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.FileRefSource-1.html @@ -2,9 +2,9 @@ - Class XmlSourceAndFile<T> | HiAPI-C# 2025 + Class FileRefSource<T> | HiAPI-C# 2025 - + @@ -84,12 +84,12 @@
-
+
-

-Class XmlSourceAndFile<T> +

+Class FileRefSource<T>

@@ -102,7 +102,7 @@ Class XmlSourceAndFile<T>
-
public class XmlSourceAndFile<T> : ISourceFile where T : class, IMakeXmlSource
+
public class FileRefSource<T> : ISourceFile where T : class, IMakeXmlSource
@@ -118,7 +118,7 @@ Class XmlSourceAndFile<T>
Inheritance
object
-
XmlSourceAndFile<T>
+
FileRefSource<T>
@@ -190,10 +190,10 @@ Class XmlSourceAndFile<T> - + -

- XmlSourceAndFile() +

+ FileRefSource()

@@ -202,7 +202,7 @@ Class XmlSourceAndFile<T>
-
public XmlSourceAndFile()
+
public FileRefSource()
@@ -217,10 +217,10 @@ Class XmlSourceAndFile<T> - + -

- XmlSourceAndFile(string, T) +

+ FileRefSource(string, T)

@@ -229,7 +229,7 @@ Class XmlSourceAndFile<T>
-
public XmlSourceAndFile(string file, T data)
+
public FileRefSource(string file, T data)

Parameters

@@ -257,9 +257,9 @@ Class XmlSourceAndFile<T> - + -

+

Data

@@ -289,9 +289,9 @@ Class XmlSourceAndFile<T> - + -

+

SourceFile

@@ -325,10 +325,10 @@ Class XmlSourceAndFile<T> - + -

- MakeXmlSourceWithRebaseFile(string) +

+ MakeXmlSourceToFileRef(string)

@@ -337,7 +337,7 @@ Class XmlSourceAndFile<T>
-
public XElement MakeXmlSourceWithRebaseFile(string baseDirectory)
+
public XElement MakeXmlSourceToFileRef(string baseDirectory)

Parameters

@@ -364,10 +364,10 @@ Class XmlSourceAndFile<T> - + -

- Set(XmlSourceAndFile<T>) +

+ Set(FileRefSource<T>)

@@ -376,12 +376,12 @@ Class XmlSourceAndFile<T>
-
public void Set(XmlSourceAndFile<T> src)
+
public void Set(FileRefSource<T> src)

Parameters

-
src XmlSourceAndFile<T>
+
src FileRefSource<T>

The source XmlSource to copy from

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.IMakeXmlSource.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.IMakeXmlSource.html index 518b10b..ade81b7 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.IMakeXmlSource.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.IMakeXmlSource.html @@ -125,10 +125,10 @@ Interface IMakeXmlSource InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) 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 a3696af..7e1b718 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XFactory.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XFactory.html @@ -358,10 +358,10 @@ This overload discards the relative file path output.

- + -

- GenXmlFileSourceByChild<T>(XElement, string, GenMode, params object[]) +

+ GenFileRefSourceByChild<T>(XElement, string, GenMode, params object[])

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

-
public static XmlSourceAndFile<T> GenXmlFileSourceByChild<T>(XElement src, string baseDirectory, GenMode genMode, params object[] res) where T : class, IMakeXmlSource
+
public static FileRefSource<T> GenFileRefSourceByChild<T>(XElement src, string baseDirectory, GenMode genMode, params object[] res) where T : class, IMakeXmlSource

Parameters

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

Returns

-
XmlSourceAndFile<T>
+
FileRefSource<T>

An XmlSourceAndFile object containing the generated object and its file path

@@ -412,10 +412,10 @@ This overload discards the relative file path output.

- + -

- GenXmlFileSourceByFile<T>(string, string, GenMode, params object[]) +

+ GenFileRefSourceByFile<T>(string, string, GenMode, params object[])

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

-
public static XmlSourceAndFile<T> GenXmlFileSourceByFile<T>(string baseDirectory, string relFile, GenMode genMode, params object[] res) where T : class, IMakeXmlSource
+
public static FileRefSource<T> GenFileRefSourceByFile<T>(string baseDirectory, string relFile, GenMode genMode, params object[] res) where T : class, IMakeXmlSource

Parameters

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

Returns

-
XmlSourceAndFile<T>
+
FileRefSource<T>

An XmlSourceAndFile object containing the generated object and its file path

@@ -466,10 +466,10 @@ This overload discards the relative file path output.

- + -

- GenXmlSourceAndFile<T>(XElement, string, GenMode, params object[]) +

+ GenFileRefSource<T>(XElement, string, GenMode, params object[])

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

-
public static XmlSourceAndFile<T> GenXmlSourceAndFile<T>(XElement src, string baseDirectory, GenMode genMode, params object[] res) where T : class, IMakeXmlSource
+
public static FileRefSource<T> GenFileRefSource<T>(XElement src, string baseDirectory, GenMode genMode, params object[] res) where T : class, IMakeXmlSource

Parameters

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

Returns

-
XmlSourceAndFile<T>
+
FileRefSource<T>

An XmlSourceAndFile object containing the generated object and its file path

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XmlUtil.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XmlUtil.html index 12dd2cb..a4514ad 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XmlUtil.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.XmlUtil.html @@ -154,37 +154,6 @@ Class XmlUtil -

- FileXName - -

- -

Alias for XmlFileXName, used for backward compatibility.

-
-
- -
-
public const string FileXName = "XmlSource"
-
- - - - -

Field Value

-
-
string
-
-
- - - - - - - - - -

SelfHostName @@ -301,101 +270,6 @@ Class XmlUtil - - -

- GetFileUnwrappedXElement(XElement, string, out string) - -

- -

Unwraps a file reference XML element to load its actual content.

-
-
- -
-
public static XElement GetFileUnwrappedXElement(this XElement src, string baseDirectory, out string relFile)
-
- -

Parameters

-
-
src XElement
-

The source XML element that may be a file reference

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

-
-
- -

Returns

-
-
XElement
-

If src is a file reference element, returns the XML content loaded from the referenced file; -otherwise, returns the original element

-
-
- - - - - - - - - - - - - -

- GetFileWrappedXElement(XElement, string, string, bool) - -

- -

Wraps an XML element in a file reference element or returns it as-is.

-
-
- -
-
public static XElement GetFileWrappedXElement(this XElement src, string baseDirectory, string sourceFile, bool exhibitionOnly)
-
- -

Parameters

-
-
src XElement
-

The source XML element to wrap

-
-
baseDirectory string
-

The base directory for resolving paths

-
-
sourceFile string
-

The relative file path to save the element to, or null to return the element as-is

-
-
exhibitionOnly bool
-

See MakeXmlSource(string, string, bool) for parameter description.

-
-
- -

Returns

-
-
XElement
-

If sourceFile is null, returns the original element; -otherwise, saves the element to the specified file and returns a file reference element

-
-
- - - - - - - - - - -

@@ -528,10 +402,102 @@ otherwise, saves the element to the specified file and returns a file reference - + -

- MakeXmlSourceFile(IMakeXmlSource, string, bool) +

+ LoadFromFileRef(XElement, string, out string) + +

+ +

Unwraps a file reference XML element to load its actual content.

+
+
+ +
+
public static XElement LoadFromFileRef(this XElement src, string baseDirectory, out string relFile)
+
+ +

Parameters

+
+
src XElement
+

The source XML element that may be a file reference

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

+
+
+ +

Returns

+
+
XElement
+

If src is a file reference element, returns the XML content loaded from the referenced file; +otherwise, returns the original element

+
+
+ + + + + + + + + + + + + +

+ LoadWithFileRefSupport(XElement, string, SetFileDelegate) + +

+ +

Unwraps an XML element if it contains a file reference element.

+
+
+ +
+
public static XElement LoadWithFileRefSupport(this XElement src, string baseDirectory, SetFileDelegate setFileAction)
+
+ +

Parameters

+
+
src XElement
+

The source XML element that may contain a file reference

+
+
baseDirectory string
+

The base directory for resolving paths

+
+
setFileAction SetFileDelegate
+

Action to execute with the file path, or null if no file reference is found

+
+
+ +

Returns

+
+
XElement
+

If the source element contains a file reference, returns the XML content loaded from the referenced file; +otherwise, returns the original element

+
+
+ + + + + + + + + + + + + +

+ MakeXmlSourceToFile(IMakeXmlSource, string, bool)

@@ -540,7 +506,7 @@ otherwise, saves the element to the specified file and returns a file reference
-
public static void MakeXmlSourceFile(this IMakeXmlSource src, string filePath, bool exhibitionOnly = false)
+
public static void MakeXmlSourceToFile(this IMakeXmlSource src, string filePath, bool exhibitionOnly = false)

Parameters

@@ -567,10 +533,10 @@ otherwise, saves the element to the specified file and returns a file reference - + -

- MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) +

+ MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)

@@ -579,7 +545,7 @@ otherwise, saves the element to the specified file and returns a file reference
-
public static XElement MakeXmlSourceWithRebaseFile(this IMakeXmlSource src, string baseDirectory, string relFile, bool exhibitionOnly)
+
public static XElement MakeXmlSourceToFileRef(this IMakeXmlSource src, string baseDirectory, string relFile, bool exhibitionOnly)

Parameters

@@ -709,6 +675,55 @@ otherwise, saves the XML to the specified file and returns a file reference elem + + +

+ SaveToFileRef(XElement, string, string, bool) + +

+ +

Wraps an XML element in a file reference element or returns it as-is.

+
+
+ +
+
public static XElement SaveToFileRef(this XElement src, string baseDirectory, string sourceFile, bool exhibitionOnly)
+
+ +

Parameters

+
+
src XElement
+

The source XML element to wrap

+
+
baseDirectory string
+

The base directory for resolving paths

+
+
sourceFile string
+

The relative file path to save the element to, or null to return the element as-is

+
+
exhibitionOnly bool
+

See MakeXmlSource(string, string, bool) for parameter description.

+
+
+ +

Returns

+
+
XElement
+

If sourceFile is null, returns the original element; +otherwise, saves the element to the specified file and returns a file reference element

+
+
+ + + + + + + + + + +

@@ -793,52 +808,6 @@ otherwise, saves the XML to the specified file and returns a file reference elem - - -

- UnWrapIfFileBased(XElement, string, SetFileDelegate) - -

- -

Unwraps an XML element if it contains a file reference element.

-
-
- -
-
public static XElement UnWrapIfFileBased(this XElement src, string baseDirectory, SetFileDelegate setFileAction)
-
- -

Parameters

-
-
src XElement
-

The source XML element that may contain a file reference

-
-
baseDirectory string
-

The base directory for resolving paths

-
-
setFileAction SetFileDelegate
-

Action to execute with the file path, or null if no file reference is found

-
-
- -

Returns

-
-
XElement
-

If the source element contains a file reference, returns the XML content loaded from the referenced file; -otherwise, returns the original element

-
-
- - - - - - - - - - -
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.html b/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.html index b8eea0f..54f8f11 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Common.XmlUtils.html @@ -95,13 +95,13 @@ Classes
-
XFactory
-

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

+
FileRefSource<T>
+

A class that combines an XML-serializable data object with its source file path.

-
XmlSourceAndFile<T>
-

A class that combines an XML-serializable data object with its source file path.

+
XFactory
+

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

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Box3d.html b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Box3d.html index c630c71..d092089 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Box3d.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Box3d.html @@ -159,10 +159,10 @@ The data contains in a Box3d is BinIoUtil.ToBytes(IWriteBin)
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Cylindroid.html b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Cylindroid.html index 7abec7d..cb0cc59 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Cylindroid.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Cylindroid.html @@ -162,10 +162,10 @@ Class Cylindroid
Extension Methods
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.ExtendedCylinder.html b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.ExtendedCylinder.html index cff9cac..1389d03 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.ExtendedCylinder.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.ExtendedCylinder.html @@ -162,10 +162,10 @@ Class ExtendedCylinder
Extension Methods
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.GeomCombination.html b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.GeomCombination.html index 3975a14..af3c38c 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.GeomCombination.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.GeomCombination.html @@ -157,10 +157,10 @@ Class GeomCombination
Extension Methods
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.IStlSource.html b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.IStlSource.html index 82c642e..509e896 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.IStlSource.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.IStlSource.html @@ -126,10 +126,10 @@ Interface IStlSource
Extension Methods
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.PairZr.html b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.PairZr.html index 5329b3e..6cd3317 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.PairZr.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.PairZr.html @@ -152,10 +152,10 @@ Class PairZr
Extension Methods
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) 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 06aef3f..d64466b 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Resolution.PolarResolution2d.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.Resolution.PolarResolution2d.html @@ -156,10 +156,10 @@ Class PolarResolution2d
Extension Methods
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.StlFile.html b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.StlFile.html index 809b8e6..03fe566 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Geom.StlFile.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Geom.StlFile.html @@ -160,10 +160,10 @@ Class StlFile
Extension Methods
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Mappings.FileTimeSection.html b/App/wwwroot/HiAPI-docsite/api/Hi.Mappings.FileTimeSection.html index fbadd47..cd97403 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Mappings.FileTimeSection.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Mappings.FileTimeSection.html @@ -151,10 +151,10 @@ Class FileTimeSection
Extension Methods
- XmlUtil.MakeXmlSourceFile(IMakeXmlSource, string, bool) + XmlUtil.MakeXmlSourceToFile(IMakeXmlSource, string, bool)
- XmlUtil.MakeXmlSourceWithRebaseFile(IMakeXmlSource, string, string, bool) + XmlUtil.MakeXmlSourceToFileRef(IMakeXmlSource, string, string, bool)
XmlUtil.SaveToByteArrayAsync(IMakeXmlSource, string) 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 e6304d8..dc56e49 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.IsoG68p2TiltSyntax.html @@ -192,6 +192,14 @@ Heidenhain equivalent: PLANE SPATIAL (separate syntax).

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

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.TiltTransformUtil.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.TiltTransformUtil.html index 8e699dc..6b4563a 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.TiltTransformUtil.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.LogicSyntaxs.TiltTransformUtil.html @@ -372,44 +372,6 @@ Returns identity if not found.

- - -

- ParseDouble(JsonNode) - -

- -

Parses a double from a JsonNode that may be a number or a string. -Returns 0 if null or unparseable.

-
-
- -
-
public static double ParseDouble(JsonNode node)
-
- -

Parameters

-
-
node JsonNode
-
-
- -

Returns

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

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 509e0e1..38cc535 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html @@ -184,8 +184,11 @@ Note that the Remarks

-

Examples:

-
  • G54.1P1 → {"G54.1": {"P": "1"}}
  • G10L2P1 → {"G10": {"L": "2", "P": "1"}}
  • G54.1P#1 → {"G54.1": {"P": "#1"}} (Fanuc variable)
  • G54.1PQ1 → {"G54.1": {"P": "Q1"}} (Heidenhain variable)
+

Parameters can be stored as typed values via FloatParamPrefixes +and IntParamPrefixes (set via property initializer):

+ +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)
@@ -200,7 +203,9 @@ Note that the

Creates a new ParameterizedFlagSyntax instance.

+
@@ -337,6 +342,74 @@ Note that the + +

+ FloatParamPrefixes + +

+ +

Parameter prefixes stored as double when parseable, +string otherwise (for variable references). +Set via property initializer for typed G-code parameters.

+
+
+ +
+
public List<string> FloatParamPrefixes { get; set; }
+
+ + + + + +

Property Value

+
+
List<string>
+
+
+ + + + + + + + + + +

+ IntParamPrefixes + +

+ +

Parameter prefixes stored as int when parseable, +string otherwise (for variable references). +Set via property initializer for typed G-code parameters.

+
+
+ +
+
public List<string> IntParamPrefixes { get; set; }
+
+ + + + + +

Property Value

+
+
List<string>
+
+
+ + + + + + + +

@@ -375,7 +448,7 @@ Note that the

Parameter prefixes to extract (e.g., [“P”, “L”, “H”]). +

Parameter prefixes to extract as text string (e.g., [“P”, “L”, “H”]). Multiple parameters can be attached to one code.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.SoftNcUtil.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.SoftNcUtil.html index 744a524..6a6c8d6 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.SoftNcUtil.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.SoftNcUtil.html @@ -394,6 +394,120 @@ The text is changed by replacing tag and value to empty string.

+
+ +

+ HasFlagInArray(JsonObject, string) + +

+ +

Checks if a specific flag string exists in the Parsing.Flags JsonArray.

+
+
+ +
+
public static bool HasFlagInArray(this JsonObject parsing, string flag)
+
+ +

Parameters

+
+
parsing JsonObject
+
+
flag string
+
+
+ +

Returns

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

+ ParseDouble(JsonNode) + +

+ +

Parses a double from a JsonNode that may be a number or a string. +Extends GetDouble(JsonNode) with string parsing support +(needed for values from ParameterizedFlagSyntax +which stores values as strings like “180”). +Returns 0 if null or unparseable.

+
+
+ +
+
public static double ParseDouble(this JsonNode node)
+
+ +

Parameters

+
+
node JsonNode
+
+
+ +

Returns

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

+ RemoveFlagFromArray(JsonObject, string) + +

+ +

Removes a specific flag string from the Parsing.Flags JsonArray.

+
+
+ +
+
public static void RemoveFlagFromArray(this JsonObject parsing, string flag)
+
+ +

Parameters

+
+
parsing JsonObject
+
+
flag string
+
+
+ + + + + + + + + + + +

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Syntaxs.GeneralSyntaxKit.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Syntaxs.GeneralSyntaxKit.html index 1388e28..25c2578 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Syntaxs.GeneralSyntaxKit.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Syntaxs.GeneralSyntaxKit.html @@ -414,7 +414,8 @@ G43.4 (TCPM) is Fanuc-specific — see

G68 Coordinate rotation syntax.

+

G68 Coordinate rotation syntax. +X/Y/Z (center), I/J/K (axis), R (angle) stored as doubles.

@@ -446,7 +447,10 @@ G43.4 (TCPM) is Fanuc-specific — see

G68.2 Tilted work plane syntax.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Syntaxs.SyntaxPiece.html b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Syntaxs.SyntaxPiece.html index d173968..3c2e470 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Syntaxs.SyntaxPiece.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Syntaxs.SyntaxPiece.html @@ -170,6 +170,18 @@ Class SyntaxPiece

Remarks

The design pattern of Sentence and JsonObject are one-one mapping.

+

JSON value type convention: +Prefer base types (double, int) over string for numeric values in JsonObject. +This applies to both parsing syntaxes and logic syntaxes. +Strings should only be used when the value is genuinely textual +(e.g., macro variable references like "#1", "Q2", coordinate IDs like "G54") +or when the value cannot be parsed to a number. +Use FloatTagSetupSyntax, +IntegerTagSetupSyntax, +or FloatParamPrefixes +/ IntParamPrefixes +to store typed values at parse time. +

diff --git a/App/wwwroot/HiAPI-docsite/api/toc.html b/App/wwwroot/HiAPI-docsite/api/toc.html index ce7b3dc..800f936 100644 --- a/App/wwwroot/HiAPI-docsite/api/toc.html +++ b/App/wwwroot/HiAPI-docsite/api/toc.html @@ -655,6 +655,9 @@ Hi.Common.XmlUtils