deploy fixed MRR drift and webservice CylindroidHolder buckle branch update issue.
This commit is contained in:
parent
d7836db45f
commit
95b5790622
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
App/HiCbtr.dll
BIN
App/HiCbtr.dll
Binary file not shown.
BIN
App/HiDisp.dll
BIN
App/HiDisp.dll
Binary file not shown.
BIN
App/HiGeom.dll
BIN
App/HiGeom.dll
Binary file not shown.
Binary file not shown.
BIN
App/HiMech.dll
BIN
App/HiMech.dll
Binary file not shown.
@ -11,9 +11,9 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"AvalonEdit": "6.3.0.90",
|
"AvalonEdit": "6.3.0.90",
|
||||||
"FontAwesome.Sharp": "6.3.0",
|
"FontAwesome.Sharp": "6.3.0",
|
||||||
"Hi.WpfPlus": "3.1.140",
|
"Hi.WpfPlus": "3.1.142",
|
||||||
"HiNc": "3.1.173",
|
"HiNc": "3.1.174",
|
||||||
"HiNc-Resource": "3.1.55",
|
"HiNc-Resource": "3.1.57",
|
||||||
"Serilog.Extensions.Hosting": "10.0.0",
|
"Serilog.Extensions.Hosting": "10.0.0",
|
||||||
"Serilog.Sinks.Console": "6.1.1",
|
"Serilog.Sinks.Console": "6.1.1",
|
||||||
"Serilog.Sinks.File": "7.0.0",
|
"Serilog.Sinks.File": "7.0.0",
|
||||||
@ -1598,114 +1598,36 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Google.Protobuf/3.28.3": {
|
"Hi.WpfPlus/3.1.142": {
|
||||||
"runtime": {
|
|
||||||
"lib/net5.0/Google.Protobuf.dll": {
|
|
||||||
"assemblyVersion": "3.28.3.0",
|
|
||||||
"fileVersion": "3.28.3.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Grpc.AspNetCore/2.66.0": {
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Google.Protobuf": "3.28.3",
|
"HiDisp": "3.1.148"
|
||||||
"Grpc.AspNetCore.Server.ClientFactory": "2.66.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Grpc.AspNetCore.Server/2.66.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Grpc.Net.Common": "2.66.0"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net9.0/Grpc.AspNetCore.Server.dll": {
|
|
||||||
"assemblyVersion": "2.0.0.0",
|
|
||||||
"fileVersion": "2.66.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Grpc.AspNetCore.Server.ClientFactory/2.66.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Grpc.AspNetCore.Server": "2.66.0",
|
|
||||||
"Grpc.Net.ClientFactory": "2.66.0"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net9.0/Grpc.AspNetCore.Server.ClientFactory.dll": {
|
|
||||||
"assemblyVersion": "2.0.0.0",
|
|
||||||
"fileVersion": "2.66.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Grpc.Core.Api/2.66.0": {
|
|
||||||
"runtime": {
|
|
||||||
"lib/netstandard2.1/Grpc.Core.Api.dll": {
|
|
||||||
"assemblyVersion": "2.0.0.0",
|
|
||||||
"fileVersion": "2.66.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Grpc.Net.Client/2.66.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Grpc.Net.Common": "2.66.0"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net8.0/Grpc.Net.Client.dll": {
|
|
||||||
"assemblyVersion": "2.0.0.0",
|
|
||||||
"fileVersion": "2.66.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Grpc.Net.ClientFactory/2.66.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Grpc.Net.Client": "2.66.0"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net8.0/Grpc.Net.ClientFactory.dll": {
|
|
||||||
"assemblyVersion": "2.0.0.0",
|
|
||||||
"fileVersion": "2.66.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Grpc.Net.Common/2.66.0": {
|
|
||||||
"dependencies": {
|
|
||||||
"Grpc.Core.Api": "2.66.0"
|
|
||||||
},
|
|
||||||
"runtime": {
|
|
||||||
"lib/net8.0/Grpc.Net.Common.dll": {
|
|
||||||
"assemblyVersion": "2.0.0.0",
|
|
||||||
"fileVersion": "2.66.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Hi.WpfPlus/3.1.140": {
|
|
||||||
"dependencies": {
|
|
||||||
"HiDisp": "3.1.146"
|
|
||||||
},
|
},
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"lib/net10.0-windows7.0/Hi.WpfPlus.dll": {
|
"lib/net10.0-windows7.0/Hi.WpfPlus.dll": {
|
||||||
"assemblyVersion": "3.1.140.0",
|
"assemblyVersion": "3.1.142.0",
|
||||||
"fileVersion": "3.1.140.0"
|
"fileVersion": "3.1.142.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"HiCbtr/3.1.143": {
|
"HiCbtr/3.1.145": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"HiDisp": "3.1.146"
|
"HiDisp": "3.1.148"
|
||||||
},
|
},
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"lib/net10.0/HiCbtr.dll": {
|
"lib/net10.0/HiCbtr.dll": {
|
||||||
"assemblyVersion": "3.1.143.0",
|
"assemblyVersion": "3.1.145.0",
|
||||||
"fileVersion": "3.1.143.0"
|
"fileVersion": "3.1.145.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"HiDisp/3.1.146": {
|
"HiDisp/3.1.148": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"HiGeom": "3.1.135"
|
"HiGeom": "3.1.136"
|
||||||
},
|
},
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"lib/net10.0/HiDisp.dll": {
|
"lib/net10.0/HiDisp.dll": {
|
||||||
"assemblyVersion": "3.1.146.0",
|
"assemblyVersion": "3.1.148.0",
|
||||||
"fileVersion": "3.1.146.0"
|
"fileVersion": "3.1.148.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"native": {
|
"native": {
|
||||||
@ -1723,18 +1645,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"HiGeom/3.1.135": {
|
"HiGeom/3.1.136": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Google.Protobuf": "3.28.3",
|
|
||||||
"Grpc.AspNetCore": "2.66.0",
|
|
||||||
"Grpc.Net.Client": "2.66.0",
|
|
||||||
"MathNet.Numerics": "5.0.0",
|
"MathNet.Numerics": "5.0.0",
|
||||||
"Microsoft.CodeAnalysis.Scripting.Common": "5.3.0"
|
"Microsoft.CodeAnalysis.Scripting.Common": "5.3.0"
|
||||||
},
|
},
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"lib/net10.0/HiGeom.dll": {
|
"lib/net10.0/HiGeom.dll": {
|
||||||
"assemblyVersion": "3.1.135.0",
|
"assemblyVersion": "3.1.136.0",
|
||||||
"fileVersion": "3.1.135.0"
|
"fileVersion": "3.1.136.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"resources": {
|
"resources": {
|
||||||
@ -1746,27 +1665,27 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"HiLicense/3.1.136": {
|
"HiLicense/3.1.138": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"HiGeom": "3.1.135"
|
"HiGeom": "3.1.136"
|
||||||
},
|
},
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"lib/net10.0/HiLicense.dll": {
|
"lib/net10.0/HiLicense.dll": {
|
||||||
"assemblyVersion": "3.1.136.0",
|
"assemblyVersion": "3.1.138.0",
|
||||||
"fileVersion": "3.1.136.0"
|
"fileVersion": "3.1.138.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"HiMech/3.1.154": {
|
"HiMech/3.1.156": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"CommandLineParser": "2.9.1",
|
"CommandLineParser": "2.9.1",
|
||||||
"HiCbtr": "3.1.143",
|
"HiCbtr": "3.1.145",
|
||||||
"Microsoft.CodeAnalysis.CSharp.Scripting": "5.3.0"
|
"Microsoft.CodeAnalysis.CSharp.Scripting": "5.3.0"
|
||||||
},
|
},
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"lib/net10.0/HiMech.dll": {
|
"lib/net10.0/HiMech.dll": {
|
||||||
"assemblyVersion": "3.1.154.0",
|
"assemblyVersion": "3.1.156.0",
|
||||||
"fileVersion": "3.1.154.0"
|
"fileVersion": "3.1.156.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"resources": {
|
"resources": {
|
||||||
@ -1781,21 +1700,18 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"HiNc/3.1.173": {
|
"HiNc/3.1.174": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Dapper": "2.1.35",
|
"Dapper": "2.1.35",
|
||||||
"Google.Protobuf": "3.28.3",
|
"HiLicense": "3.1.138",
|
||||||
"Grpc.AspNetCore": "2.66.0",
|
"HiMech": "3.1.156",
|
||||||
"Grpc.Net.Client": "2.66.0",
|
"HiUniNc": "3.1.151",
|
||||||
"HiLicense": "3.1.136",
|
|
||||||
"HiMech": "3.1.154",
|
|
||||||
"HiUniNc": "3.1.150",
|
|
||||||
"Microsoft.Data.Sqlite": "9.0.0"
|
"Microsoft.Data.Sqlite": "9.0.0"
|
||||||
},
|
},
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"lib/net10.0/HiNc.dll": {
|
"lib/net10.0/HiNc.dll": {
|
||||||
"assemblyVersion": "3.1.173.0",
|
"assemblyVersion": "3.1.174.0",
|
||||||
"fileVersion": "3.1.173.0"
|
"fileVersion": "3.1.174.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"resources": {
|
"resources": {
|
||||||
@ -1807,22 +1723,22 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"HiNc-Resource/3.1.55": {
|
"HiNc-Resource/3.1.57": {
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"lib/net10.0/HiNc-Resource.dll": {
|
"lib/net10.0/HiNc-Resource.dll": {
|
||||||
"assemblyVersion": "3.1.55.0",
|
"assemblyVersion": "3.1.57.0",
|
||||||
"fileVersion": "3.1.55.0"
|
"fileVersion": "3.1.57.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"HiUniNc/3.1.150": {
|
"HiUniNc/3.1.151": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"HiMech": "3.1.154"
|
"HiMech": "3.1.156"
|
||||||
},
|
},
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"lib/net10.0/HiUniNc.dll": {
|
"lib/net10.0/HiUniNc.dll": {
|
||||||
"assemblyVersion": "3.1.150.0",
|
"assemblyVersion": "3.1.151.0",
|
||||||
"fileVersion": "3.1.150.0"
|
"fileVersion": "3.1.151.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -2201,124 +2117,68 @@
|
|||||||
"path": "fontawesome.sharp/6.3.0",
|
"path": "fontawesome.sharp/6.3.0",
|
||||||
"hashPath": "fontawesome.sharp.6.3.0.nupkg.sha512"
|
"hashPath": "fontawesome.sharp.6.3.0.nupkg.sha512"
|
||||||
},
|
},
|
||||||
"Google.Protobuf/3.28.3": {
|
"Hi.WpfPlus/3.1.142": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"serviceable": true,
|
"serviceable": true,
|
||||||
"sha512": "sha512-OewySX3aQCdKfMJsj2DzBMXQJPI+lm0CBzamU9ViFu3CU9tXYrQWqJ1CZ+/UWtkwOjUeIzbXmoOjRc7B8pbMrA==",
|
"sha512": "sha512-I1O7HrANDPwLaB+zfRXs9GflyFNxtiJ2zGNKDLHAvF5Mo+lFUtU5rxYCxq/fRZJbcjv2Crrc8mlJ8namoIcHUQ==",
|
||||||
"path": "google.protobuf/3.28.3",
|
"path": "hi.wpfplus/3.1.142",
|
||||||
"hashPath": "google.protobuf.3.28.3.nupkg.sha512"
|
"hashPath": "hi.wpfplus.3.1.142.nupkg.sha512"
|
||||||
},
|
},
|
||||||
"Grpc.AspNetCore/2.66.0": {
|
"HiCbtr/3.1.145": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"serviceable": true,
|
"serviceable": true,
|
||||||
"sha512": "sha512-b4V5V/yiCeK94wiQReUyHPB/Xj/fCaDWhlcFnYzSCm3pQtyADAN9t3g7V631PzLjFZQnPn9iIN3M6BHnVx3nfA==",
|
"sha512": "sha512-Ab/TIbJYrnQnuWpu1N27nTf+f5kGEiBAh86o1hVLUT4xVYQDxpnTSJ9m2M3iulDtcWhYWElonGMGbAu4yyr/gQ==",
|
||||||
"path": "grpc.aspnetcore/2.66.0",
|
"path": "hicbtr/3.1.145",
|
||||||
"hashPath": "grpc.aspnetcore.2.66.0.nupkg.sha512"
|
"hashPath": "hicbtr.3.1.145.nupkg.sha512"
|
||||||
},
|
},
|
||||||
"Grpc.AspNetCore.Server/2.66.0": {
|
"HiDisp/3.1.148": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"serviceable": true,
|
"serviceable": true,
|
||||||
"sha512": "sha512-SogFEs8bLvcRtEWMdueOJeMxiaLryvyivWtmBwz/vLtS5xlN4Zrfv+npMbn1PS4iT99AqBY+R+bRxdIFfvfeIA==",
|
"sha512": "sha512-hQzKxONIuGYUWKT7/tc9Pjye440gdWIYQ5eKoklFVCc6r3IN40UST18T98y92sq158cypuQ57cN2X/4iE7o6zw==",
|
||||||
"path": "grpc.aspnetcore.server/2.66.0",
|
"path": "hidisp/3.1.148",
|
||||||
"hashPath": "grpc.aspnetcore.server.2.66.0.nupkg.sha512"
|
"hashPath": "hidisp.3.1.148.nupkg.sha512"
|
||||||
},
|
},
|
||||||
"Grpc.AspNetCore.Server.ClientFactory/2.66.0": {
|
"HiGeom/3.1.136": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"serviceable": true,
|
"serviceable": true,
|
||||||
"sha512": "sha512-glLCZ5K8iBSzzd2eIKjMBYBApygvwJqGJ87FBJrHL4bSrnBTywCUFfLj2EckiPjvvW6SNwLtapwdY4Sj0WwWQg==",
|
"sha512": "sha512-QisKmDbZ2SoEa4clTi397VB+FlbmuUR+vW5oqdMO5HU3XDTqWZ2y3XUt99K+zSoB7ngtHAXAVkRJQDvOsS9ZaA==",
|
||||||
"path": "grpc.aspnetcore.server.clientfactory/2.66.0",
|
"path": "higeom/3.1.136",
|
||||||
"hashPath": "grpc.aspnetcore.server.clientfactory.2.66.0.nupkg.sha512"
|
"hashPath": "higeom.3.1.136.nupkg.sha512"
|
||||||
},
|
},
|
||||||
"Grpc.Core.Api/2.66.0": {
|
"HiLicense/3.1.138": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"serviceable": true,
|
"serviceable": true,
|
||||||
"sha512": "sha512-HsjsQVAHe4hqP4t4rpUnmq+MZvPdyrlPsWF4T5fbMvyP3o/lMV+KVJfDlaNH8+v0aGQTVT3EsDFufbhaWb52cw==",
|
"sha512": "sha512-zsReBAVZ7Pjh9ZxEvZkLzvBAKWLaw2rNb5uIMaudrb/sdJwcFvATeAe/8BGn3rTASjrpXBB9wFFTadtfpf5t8w==",
|
||||||
"path": "grpc.core.api/2.66.0",
|
"path": "hilicense/3.1.138",
|
||||||
"hashPath": "grpc.core.api.2.66.0.nupkg.sha512"
|
"hashPath": "hilicense.3.1.138.nupkg.sha512"
|
||||||
},
|
},
|
||||||
"Grpc.Net.Client/2.66.0": {
|
"HiMech/3.1.156": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"serviceable": true,
|
"serviceable": true,
|
||||||
"sha512": "sha512-GwkSsssXFgN9+M2U+UQWdErf61sn1iqgP+2NRBlDXATcP9vlxda0wySxd/eIL8U522+SnyFNUXlvQ5tAzGk9cA==",
|
"sha512": "sha512-76pYizkB6Tzr9RkHiiu36eUejIEhmwy/37GoFGR4UFJY3zLJVBtlku1BYq4FsRCG/HJOtAzGCxweqix1jkmGbQ==",
|
||||||
"path": "grpc.net.client/2.66.0",
|
"path": "himech/3.1.156",
|
||||||
"hashPath": "grpc.net.client.2.66.0.nupkg.sha512"
|
"hashPath": "himech.3.1.156.nupkg.sha512"
|
||||||
},
|
},
|
||||||
"Grpc.Net.ClientFactory/2.66.0": {
|
"HiNc/3.1.174": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"serviceable": true,
|
"serviceable": true,
|
||||||
"sha512": "sha512-I6HUbtcqb24OiQlbvxpBLruCxQ8wrmJ5tUtU96QK7nqyerrMLeqLDDbhotznPAnZtR8x1bJvck/Xt4fgvVo92Q==",
|
"sha512": "sha512-BUs6pZ4aDLArmwSc9JP/cgUf+JuRj4/d8ZSUbccV+t8rDuZ7vtNSWtPPiPKEmPJDIRR2OHp5Jy0odzfpP8KaXA==",
|
||||||
"path": "grpc.net.clientfactory/2.66.0",
|
"path": "hinc/3.1.174",
|
||||||
"hashPath": "grpc.net.clientfactory.2.66.0.nupkg.sha512"
|
"hashPath": "hinc.3.1.174.nupkg.sha512"
|
||||||
},
|
},
|
||||||
"Grpc.Net.Common/2.66.0": {
|
"HiNc-Resource/3.1.57": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"serviceable": true,
|
"serviceable": true,
|
||||||
"sha512": "sha512-YJpQpIvpo0HKlsG6SHwaieyji08qfv0DdEDIewCAA0egQY08637sHOj1netLGUhzBEsCqlGC3e92TZ2uqhxnvw==",
|
"sha512": "sha512-lYgRxhqeGNycGkhoRRg0TlF6xwXc0D26tDilhoiNkd34/U5Ev4LhnjhKoDSij9xWxi8ZyOX7vvLfdjPK56d26Q==",
|
||||||
"path": "grpc.net.common/2.66.0",
|
"path": "hinc-resource/3.1.57",
|
||||||
"hashPath": "grpc.net.common.2.66.0.nupkg.sha512"
|
"hashPath": "hinc-resource.3.1.57.nupkg.sha512"
|
||||||
},
|
},
|
||||||
"Hi.WpfPlus/3.1.140": {
|
"HiUniNc/3.1.151": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"serviceable": true,
|
"serviceable": true,
|
||||||
"sha512": "sha512-SkgBcnsPESMlOaauLdV0uLnPysvhI2zrIzjQqc1uuegy4r0X5yqmAPVwFdfkNc3YoV17qIOTGir29Ktx45aimg==",
|
"sha512": "sha512-8Acx1Tue9MxUpo9wOK9TrjHOhFlulaXTtPzcpH+LrZg3OduJKxd/pM9ZuOprgXrpzaxdn3A84u2CM8yw9DMzIA==",
|
||||||
"path": "hi.wpfplus/3.1.140",
|
"path": "hiuninc/3.1.151",
|
||||||
"hashPath": "hi.wpfplus.3.1.140.nupkg.sha512"
|
"hashPath": "hiuninc.3.1.151.nupkg.sha512"
|
||||||
},
|
|
||||||
"HiCbtr/3.1.143": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-SIpuwSOy1WB6cv25Hs7Zm5/sfhkhv3Im6se80SpUXWa0p4OqSYnUDjU2d3lOQyXgi505v1ba10g9iMXVyZO+CA==",
|
|
||||||
"path": "hicbtr/3.1.143",
|
|
||||||
"hashPath": "hicbtr.3.1.143.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"HiDisp/3.1.146": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-Q9OZZBS7FxLXLXO1Ov5O6hewPjqMsxUKWAGM4ckxupqwJt+4jHYgoOtB3UfK1cWOd9uEP+TaTFOmlY4tTEzZDg==",
|
|
||||||
"path": "hidisp/3.1.146",
|
|
||||||
"hashPath": "hidisp.3.1.146.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"HiGeom/3.1.135": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-DWyxMTuXlK3MiB+XaSBdXS1jfT4XhVsoFXE30LJybBjhjBlbgPxWocruXu8mHcU0yVHzM2fN0wuDipY5KEUQWA==",
|
|
||||||
"path": "higeom/3.1.135",
|
|
||||||
"hashPath": "higeom.3.1.135.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"HiLicense/3.1.136": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-0HH1O8vm/N3je+nxh+qLmswl0P83htSmm2NH8yrazgiEWwZ9+t+7JzBEC9xT9esrjs9zakldesAn9fYZo0l+RA==",
|
|
||||||
"path": "hilicense/3.1.136",
|
|
||||||
"hashPath": "hilicense.3.1.136.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"HiMech/3.1.154": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-7grSGnaxe11EAOkLg+cmRSPO1t7+qS8+NJouqbsfA22WmWPOqIPEYmaiEuRC6lCfn0iBAX+rh9F8OQYjPDDVDA==",
|
|
||||||
"path": "himech/3.1.154",
|
|
||||||
"hashPath": "himech.3.1.154.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"HiNc/3.1.173": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-pGoDJaOdBCKU6DQTEJVnKmvzMSGQ3v6BApHiYzwDMkQdV2y5KlFk3MZIgLRBWM6+nI4UiUFtFdjq8LUi0Yof1A==",
|
|
||||||
"path": "hinc/3.1.173",
|
|
||||||
"hashPath": "hinc.3.1.173.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"HiNc-Resource/3.1.55": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-X16YILf69BaRN3PiJKwKQoiRv58gpMezTz9wuzUsdFkl6N0w9Vwa1A5aAUa6VaALB+1RJ3J5RgRriJIvayHnjQ==",
|
|
||||||
"path": "hinc-resource/3.1.55",
|
|
||||||
"hashPath": "hinc-resource.3.1.55.nupkg.sha512"
|
|
||||||
},
|
|
||||||
"HiUniNc/3.1.150": {
|
|
||||||
"type": "package",
|
|
||||||
"serviceable": true,
|
|
||||||
"sha512": "sha512-llavC4EZKaS421BsnfX/8vNDq2TZlpsCXVDec5wLcUPN06qQ8b0A6Jd09/fWvi3zwjNkQn4kdSXeKOjDUJuSNg==",
|
|
||||||
"path": "hiuninc/3.1.150",
|
|
||||||
"hashPath": "hiuninc.3.1.150.nupkg.sha512"
|
|
||||||
},
|
},
|
||||||
"MathNet.Numerics/5.0.0": {
|
"MathNet.Numerics/5.0.0": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
App/HiNc.dll
BIN
App/HiNc.dll
Binary file not shown.
BIN
App/HiUniNc.dll
BIN
App/HiUniNc.dll
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -309,6 +309,52 @@ Class CsvInputKit
|
|||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_Common_CsvUtils_CsvInputKit_GetCsvDictionary_" data-uid="Hi.Common.CsvUtils.CsvInputKit.GetCsvDictionary*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_Common_CsvUtils_CsvInputKit_GetCsvDictionary_System_Collections_Generic_IList_System_String__System_String_" data-uid="Hi.Common.CsvUtils.CsvInputKit.GetCsvDictionary(System.Collections.Generic.IList{System.String},System.String)">
|
||||||
|
GetCsvDictionary(IList<string>, string)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Splits a CSV row into a title→cell dictionary. Stateless allocation-light
|
||||||
|
variant of <a class="xref" href="Hi.Common.CsvUtils.CsvInputKit.html#Hi_Common_CsvUtils_CsvInputKit_GetCsvDictionary_System_String_">GetCsvDictionary(string)</a>; use this when the
|
||||||
|
caller already has the title list and does not need to hold a
|
||||||
|
<a class="xref" href="Hi.Common.CsvUtils.CsvInputKit.html">CsvInputKit</a> instance.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public static Dictionary<string, string> GetCsvDictionary(IList<string> titleList, string row)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>titleList</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ilist-1">IList</a><<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>></dt>
|
||||||
|
<dd><p>Column titles, in CSV column order.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>row</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd><p>CSV data row (not the header line).</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h4 class="section">Returns</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.dictionary-2">Dictionary</a><<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>></dt>
|
||||||
|
<dd><p>Dictionary keyed by column title; cells past <code class="paramref">titleList</code>
|
||||||
|
are keyed by <code>column[i]</code>.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Common_CsvUtils_CsvInputKit_GetCsvDictionary_" data-uid="Hi.Common.CsvUtils.CsvInputKit.GetCsvDictionary*"></a>
|
<a id="Hi_Common_CsvUtils_CsvInputKit_GetCsvDictionary_" data-uid="Hi.Common.CsvUtils.CsvInputKit.GetCsvDictionary*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Common_CsvUtils_CsvInputKit_GetCsvDictionary_System_String_" data-uid="Hi.Common.CsvUtils.CsvInputKit.GetCsvDictionary(System.String)">
|
<h3 id="Hi_Common_CsvUtils_CsvInputKit_GetCsvDictionary_System_String_" data-uid="Hi.Common.CsvUtils.CsvInputKit.GetCsvDictionary(System.String)">
|
||||||
|
|||||||
@ -211,7 +211,7 @@ factory's registry must look up the delegate via
|
|||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Process-wide default factory used by the static <code>Gen<T></code>
|
<div class="markdown level1 summary"><p>Process-wide default factory used by the static <code>Gen<T></code>
|
||||||
family. Reg-style methods register here when called with
|
family. <code>Reg</code>-style methods register here when called with
|
||||||
no explicit factory argument.</p>
|
no explicit factory argument.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|||||||
@ -180,7 +180,8 @@ Class DispEngine
|
|||||||
|
|
||||||
|
|
||||||
<h2 id="Hi_Disp_DispEngine_remarks">Remarks</h2>
|
<h2 id="Hi_Disp_DispEngine_remarks">Remarks</h2>
|
||||||
<div class="markdown level0 remarks"><p>The <code>DispEngine</code> is the core rendering and interaction engine for HiAPI applications.</p>
|
<div class="markdown level0 remarks">
|
||||||
|
<p>The <code>DispEngine</code> is the core rendering and interaction engine for HiAPI applications.</p>
|
||||||
<h2 id="related-documentation">Related Documentation</h2>
|
<h2 id="related-documentation">Related Documentation</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="../fundamentals/rendering/rendering-canvas/index.html">Using RenderingCanvas with DispEngine</a></li>
|
<li><a href="../fundamentals/rendering/rendering-canvas/index.html">Using RenderingCanvas with DispEngine</a></li>
|
||||||
|
|||||||
@ -1,302 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>Class ClStripService.ClStripServiceBase | HiAPI-C# 2025 </title>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta name="title" content="Class ClStripService.ClStripServiceBase | HiAPI-C# 2025 ">
|
|
||||||
|
|
||||||
<meta name="description" content="Base class for server-side implementations of ClStripService">
|
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
|
||||||
<meta name="docfx:navrel" content="../toc.html">
|
|
||||||
<meta name="docfx:tocrel" content="toc.html">
|
|
||||||
|
|
||||||
<meta name="docfx:rel" content="../">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<meta name="loc:inThisArticle" content="In this article">
|
|
||||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
|
||||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
|
||||||
<meta name="loc:tocFilter" content="Filter by title">
|
|
||||||
<meta name="loc:nextArticle" content="Next">
|
|
||||||
<meta name="loc:prevArticle" content="Previous">
|
|
||||||
<meta name="loc:themeLight" content="Light">
|
|
||||||
<meta name="loc:themeDark" content="Dark">
|
|
||||||
<meta name="loc:themeAuto" content="Auto">
|
|
||||||
<meta name="loc:changeTheme" content="Change theme">
|
|
||||||
<meta name="loc:copy" content="Copy">
|
|
||||||
<meta name="loc:downloadPdf" content="Download PDF">
|
|
||||||
|
|
||||||
<script type="module" src="./../public/docfx.min.js"></script>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
const theme = localStorage.getItem('theme') || 'auto'
|
|
||||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
|
||||||
<header class="bg-body border-bottom">
|
|
||||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
|
||||||
<div class="container-xxl flex-nowrap">
|
|
||||||
<a class="navbar-brand" href="../index.html">
|
|
||||||
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
|
||||||
|
|
||||||
</a>
|
|
||||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<i class="bi bi-three-dots"></i>
|
|
||||||
</button>
|
|
||||||
<div class="collapse navbar-collapse" id="navpanel">
|
|
||||||
<div id="navbar">
|
|
||||||
<form class="search" role="search" id="search">
|
|
||||||
<i class="bi bi-search"></i>
|
|
||||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<main class="container-xxl">
|
|
||||||
<div class="toc-offcanvas">
|
|
||||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
|
||||||
<div class="offcanvas-header">
|
|
||||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
|
||||||
</div>
|
|
||||||
<div class="offcanvas-body">
|
|
||||||
<nav class="toc" id="toc"></nav>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="content">
|
|
||||||
<div class="actionbar">
|
|
||||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
|
||||||
<i class="bi bi-list"></i>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<nav id="breadcrumb"></nav>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<article data-uid="Hi.Grpcs.ClStripService.ClStripServiceBase">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1 id="Hi_Grpcs_ClStripService_ClStripServiceBase" data-uid="Hi.Grpcs.ClStripService.ClStripServiceBase" class="text-break">
|
|
||||||
Class ClStripService.ClStripServiceBase
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<div class="facts text-secondary">
|
|
||||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Grpcs.html">Grpcs</a></dd></dl>
|
|
||||||
<dl><dt>Assembly</dt><dd>HiNc.dll</dd></dl>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="markdown summary"><p>Base class for server-side implementations of ClStripService</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">[BindServiceMethod(typeof(ClStripService), "BindService")]
|
|
||||||
public abstract class ClStripService.ClStripServiceBase</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist inheritance">
|
|
||||||
<dt>Inheritance</dt>
|
|
||||||
<dd>
|
|
||||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
|
||||||
<div><span class="xref">ClStripService.ClStripServiceBase</span></div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist derived">
|
|
||||||
<dt>Derived</dt>
|
|
||||||
<dd>
|
|
||||||
<div><a class="xref" href="Hi.Grpcs.ClStripServiceRunner.html">ClStripServiceRunner</a></div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<dl class="typelist inheritedMembers">
|
|
||||||
<dt>Inherited Members</dt>
|
|
||||||
<dd>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
|
||||||
</div>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="typelist extensionMethods">
|
|
||||||
<dt>Extension Methods</dt>
|
|
||||||
<dd>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
|
||||||
</div>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="methods">Methods
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_ClStripService_ClStripServiceBase_StepRan_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceBase.StepRan*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_ClStripService_ClStripServiceBase_StepRan_Google_Protobuf_WellKnownTypes_Empty_Grpc_Core_IServerStreamWriter_Hi_Grpcs_DictionaryStep__Grpc_Core_ServerCallContext_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceBase.StepRan(Google.Protobuf.WellKnownTypes.Empty,Grpc.Core.IServerStreamWriter{Hi.Grpcs.DictionaryStep},Grpc.Core.ServerCallContext)">
|
|
||||||
StepRan(Empty, IServerStreamWriter<DictionaryStep>, ServerCallContext)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>data returned if step ran.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public virtual Task StepRan(Empty request, IServerStreamWriter<DictionaryStep> responseStream, ServerCallContext context)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>request</code> <span class="xref">Empty</span></dt>
|
|
||||||
<dd><p>The request received from the client.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>responseStream</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/IServerStreamWriter.cs">IServerStreamWriter</a><<a class="xref" href="Hi.Grpcs.DictionaryStep.html">DictionaryStep</a>></dt>
|
|
||||||
<dd><p>Used for sending responses back to the client.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>context</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ServerCallContext.cs">ServerCallContext</a></dt>
|
|
||||||
<dd><p>The context of the server-side call handler being invoked.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task">Task</a></dt>
|
|
||||||
<dd><p>A task indicating completion of the handler.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_ClStripService_ClStripServiceBase_StepSelected_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceBase.StepSelected*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_ClStripService_ClStripServiceBase_StepSelected_Google_Protobuf_WellKnownTypes_Empty_Grpc_Core_IServerStreamWriter_Hi_Grpcs_DictionaryStep__Grpc_Core_ServerCallContext_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceBase.StepSelected(Google.Protobuf.WellKnownTypes.Empty,Grpc.Core.IServerStreamWriter{Hi.Grpcs.DictionaryStep},Grpc.Core.ServerCallContext)">
|
|
||||||
StepSelected(Empty, IServerStreamWriter<DictionaryStep>, ServerCallContext)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>data returned if step selected.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public virtual Task StepSelected(Empty request, IServerStreamWriter<DictionaryStep> responseStream, ServerCallContext context)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>request</code> <span class="xref">Empty</span></dt>
|
|
||||||
<dd><p>The request received from the client.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>responseStream</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/IServerStreamWriter.cs">IServerStreamWriter</a><<a class="xref" href="Hi.Grpcs.DictionaryStep.html">DictionaryStep</a>></dt>
|
|
||||||
<dd><p>Used for sending responses back to the client.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>context</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ServerCallContext.cs">ServerCallContext</a></dt>
|
|
||||||
<dd><p>The context of the server-side call handler being invoked.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task">Task</a></dt>
|
|
||||||
<dd><p>A task indicating completion of the handler.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</article>
|
|
||||||
|
|
||||||
<div class="contribution d-print-none">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="affix">
|
|
||||||
<nav id="affix"></nav>
|
|
||||||
</div>
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<div class="container-xxl search-results" id="search-results"></div>
|
|
||||||
|
|
||||||
<footer class="border-top text-secondary">
|
|
||||||
<div class="container-xxl">
|
|
||||||
<div class="flex-fill">
|
|
||||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@ -1,560 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>Class ClStripService.ClStripServiceClient | HiAPI-C# 2025 </title>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta name="title" content="Class ClStripService.ClStripServiceClient | HiAPI-C# 2025 ">
|
|
||||||
|
|
||||||
<meta name="description" content="Client for ClStripService">
|
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
|
||||||
<meta name="docfx:navrel" content="../toc.html">
|
|
||||||
<meta name="docfx:tocrel" content="toc.html">
|
|
||||||
|
|
||||||
<meta name="docfx:rel" content="../">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<meta name="loc:inThisArticle" content="In this article">
|
|
||||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
|
||||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
|
||||||
<meta name="loc:tocFilter" content="Filter by title">
|
|
||||||
<meta name="loc:nextArticle" content="Next">
|
|
||||||
<meta name="loc:prevArticle" content="Previous">
|
|
||||||
<meta name="loc:themeLight" content="Light">
|
|
||||||
<meta name="loc:themeDark" content="Dark">
|
|
||||||
<meta name="loc:themeAuto" content="Auto">
|
|
||||||
<meta name="loc:changeTheme" content="Change theme">
|
|
||||||
<meta name="loc:copy" content="Copy">
|
|
||||||
<meta name="loc:downloadPdf" content="Download PDF">
|
|
||||||
|
|
||||||
<script type="module" src="./../public/docfx.min.js"></script>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
const theme = localStorage.getItem('theme') || 'auto'
|
|
||||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
|
||||||
<header class="bg-body border-bottom">
|
|
||||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
|
||||||
<div class="container-xxl flex-nowrap">
|
|
||||||
<a class="navbar-brand" href="../index.html">
|
|
||||||
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
|
||||||
|
|
||||||
</a>
|
|
||||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<i class="bi bi-three-dots"></i>
|
|
||||||
</button>
|
|
||||||
<div class="collapse navbar-collapse" id="navpanel">
|
|
||||||
<div id="navbar">
|
|
||||||
<form class="search" role="search" id="search">
|
|
||||||
<i class="bi bi-search"></i>
|
|
||||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<main class="container-xxl">
|
|
||||||
<div class="toc-offcanvas">
|
|
||||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
|
||||||
<div class="offcanvas-header">
|
|
||||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
|
||||||
</div>
|
|
||||||
<div class="offcanvas-body">
|
|
||||||
<nav class="toc" id="toc"></nav>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="content">
|
|
||||||
<div class="actionbar">
|
|
||||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
|
||||||
<i class="bi bi-list"></i>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<nav id="breadcrumb"></nav>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<article data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1 id="Hi_Grpcs_ClStripService_ClStripServiceClient" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient" class="text-break">
|
|
||||||
Class ClStripService.ClStripServiceClient
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<div class="facts text-secondary">
|
|
||||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Grpcs.html">Grpcs</a></dd></dl>
|
|
||||||
<dl><dt>Assembly</dt><dd>HiNc.dll</dd></dl>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="markdown summary"><p>Client for ClStripService</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public class ClStripService.ClStripServiceClient : ClientBase<ClStripService.ClStripServiceClient></code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist inheritance">
|
|
||||||
<dt>Inheritance</dt>
|
|
||||||
<dd>
|
|
||||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
|
||||||
<div><a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ClientBase.cs">ClientBase</a></div>
|
|
||||||
<div><a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ClientBase.cs">ClientBase</a><<a class="xref" href="Hi.Grpcs.ClStripService.html">ClStripService</a>.<a class="xref" href="Hi.Grpcs.ClStripService.ClStripServiceClient.html">ClStripServiceClient</a>></div>
|
|
||||||
<div><span class="xref">ClStripService.ClStripServiceClient</span></div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist inheritedMembers">
|
|
||||||
<dt>Inherited Members</dt>
|
|
||||||
<dd>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ClientBase.cs">ClientBase<ClStripService.ClStripServiceClient>.WithHost(string)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ClientBase.cs">ClientBase.CallInvoker</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
|
||||||
</div>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="typelist extensionMethods">
|
|
||||||
<dt>Extension Methods</dt>
|
|
||||||
<dd>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
|
||||||
</div>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="constructors">Constructors
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_ClStripService_ClStripServiceClient__ctor_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient.#ctor*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_ClStripService_ClStripServiceClient__ctor" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient.#ctor">
|
|
||||||
ClStripServiceClient()
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Protected parameterless constructor to allow creation of test doubles.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">protected ClStripServiceClient()</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_ClStripService_ClStripServiceClient__ctor_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient.#ctor*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_ClStripService_ClStripServiceClient__ctor_Grpc_Core_CallInvoker_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient.#ctor(Grpc.Core.CallInvoker)">
|
|
||||||
ClStripServiceClient(CallInvoker)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Creates a new client for ClStripService that uses a custom <code>CallInvoker</code>.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public ClStripServiceClient(CallInvoker callInvoker)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>callInvoker</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/CallInvoker.cs">CallInvoker</a></dt>
|
|
||||||
<dd><p>The callInvoker to use to make remote calls.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_ClStripService_ClStripServiceClient__ctor_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient.#ctor*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_ClStripService_ClStripServiceClient__ctor_Grpc_Core_ChannelBase_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient.#ctor(Grpc.Core.ChannelBase)">
|
|
||||||
ClStripServiceClient(ChannelBase)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Creates a new client for ClStripService</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public ClStripServiceClient(ChannelBase channel)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>channel</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ChannelBase.cs">ChannelBase</a></dt>
|
|
||||||
<dd><p>The channel to use to make remote calls.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_ClStripService_ClStripServiceClient__ctor_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient.#ctor*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_ClStripService_ClStripServiceClient__ctor_Grpc_Core_ClientBase_ClientBaseConfiguration_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient.#ctor(Grpc.Core.ClientBase.ClientBaseConfiguration)">
|
|
||||||
ClStripServiceClient(ClientBaseConfiguration)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Protected constructor to allow creation of configured clients.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">protected ClStripServiceClient(ClientBase.ClientBaseConfiguration configuration)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>configuration</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ClientBase.cs">ClientBase</a>.<a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ClientBase.cs">ClientBaseConfiguration</a></dt>
|
|
||||||
<dd><p>The client configuration.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="methods">Methods
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_ClStripService_ClStripServiceClient_NewInstance_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient.NewInstance*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_ClStripService_ClStripServiceClient_NewInstance_Grpc_Core_ClientBase_ClientBaseConfiguration_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient.NewInstance(Grpc.Core.ClientBase.ClientBaseConfiguration)">
|
|
||||||
NewInstance(ClientBaseConfiguration)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Creates a new instance of client from given <code>ClientBaseConfiguration</code>.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">protected override ClStripService.ClStripServiceClient NewInstance(ClientBase.ClientBaseConfiguration configuration)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>configuration</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ClientBase.cs">ClientBase</a>.<a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ClientBase.cs">ClientBaseConfiguration</a></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="Hi.Grpcs.ClStripService.html">ClStripService</a>.<a class="xref" href="Hi.Grpcs.ClStripService.ClStripServiceClient.html">ClStripServiceClient</a></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_ClStripService_ClStripServiceClient_StepRan_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient.StepRan*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_ClStripService_ClStripServiceClient_StepRan_Google_Protobuf_WellKnownTypes_Empty_Grpc_Core_CallOptions_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient.StepRan(Google.Protobuf.WellKnownTypes.Empty,Grpc.Core.CallOptions)">
|
|
||||||
StepRan(Empty, CallOptions)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>data returned if step ran.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public virtual AsyncServerStreamingCall<DictionaryStep> StepRan(Empty request, CallOptions options)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>request</code> <span class="xref">Empty</span></dt>
|
|
||||||
<dd><p>The request to send to the server.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>options</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/CallOptions.cs">CallOptions</a></dt>
|
|
||||||
<dd><p>The options for the call.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/AsyncServerStreamingCall.cs">AsyncServerStreamingCall</a><<a class="xref" href="Hi.Grpcs.DictionaryStep.html">DictionaryStep</a>></dt>
|
|
||||||
<dd><p>The call object.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_ClStripService_ClStripServiceClient_StepRan_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient.StepRan*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_ClStripService_ClStripServiceClient_StepRan_Google_Protobuf_WellKnownTypes_Empty_Grpc_Core_Metadata_System_Nullable_System_DateTime__System_Threading_CancellationToken_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient.StepRan(Google.Protobuf.WellKnownTypes.Empty,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
|
|
||||||
StepRan(Empty, Metadata, DateTime?, CancellationToken)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>data returned if step ran.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public virtual AsyncServerStreamingCall<DictionaryStep> StepRan(Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>request</code> <span class="xref">Empty</span></dt>
|
|
||||||
<dd><p>The request to send to the server.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>headers</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/Metadata.cs">Metadata</a></dt>
|
|
||||||
<dd><p>The initial metadata to send with the call. This parameter is optional.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>deadline</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.datetime">DateTime</a>?</dt>
|
|
||||||
<dd><p>An optional deadline for the call. The call will be cancelled if deadline is hit.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>cancellationToken</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken">CancellationToken</a></dt>
|
|
||||||
<dd><p>An optional token for canceling the call.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/AsyncServerStreamingCall.cs">AsyncServerStreamingCall</a><<a class="xref" href="Hi.Grpcs.DictionaryStep.html">DictionaryStep</a>></dt>
|
|
||||||
<dd><p>The call object.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_ClStripService_ClStripServiceClient_StepSelected_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient.StepSelected*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_ClStripService_ClStripServiceClient_StepSelected_Google_Protobuf_WellKnownTypes_Empty_Grpc_Core_CallOptions_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient.StepSelected(Google.Protobuf.WellKnownTypes.Empty,Grpc.Core.CallOptions)">
|
|
||||||
StepSelected(Empty, CallOptions)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>data returned if step selected.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public virtual AsyncServerStreamingCall<DictionaryStep> StepSelected(Empty request, CallOptions options)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>request</code> <span class="xref">Empty</span></dt>
|
|
||||||
<dd><p>The request to send to the server.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>options</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/CallOptions.cs">CallOptions</a></dt>
|
|
||||||
<dd><p>The options for the call.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/AsyncServerStreamingCall.cs">AsyncServerStreamingCall</a><<a class="xref" href="Hi.Grpcs.DictionaryStep.html">DictionaryStep</a>></dt>
|
|
||||||
<dd><p>The call object.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_ClStripService_ClStripServiceClient_StepSelected_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient.StepSelected*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_ClStripService_ClStripServiceClient_StepSelected_Google_Protobuf_WellKnownTypes_Empty_Grpc_Core_Metadata_System_Nullable_System_DateTime__System_Threading_CancellationToken_" data-uid="Hi.Grpcs.ClStripService.ClStripServiceClient.StepSelected(Google.Protobuf.WellKnownTypes.Empty,Grpc.Core.Metadata,System.Nullable{System.DateTime},System.Threading.CancellationToken)">
|
|
||||||
StepSelected(Empty, Metadata, DateTime?, CancellationToken)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>data returned if step selected.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public virtual AsyncServerStreamingCall<DictionaryStep> StepSelected(Empty request, Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = default)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>request</code> <span class="xref">Empty</span></dt>
|
|
||||||
<dd><p>The request to send to the server.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>headers</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/Metadata.cs">Metadata</a></dt>
|
|
||||||
<dd><p>The initial metadata to send with the call. This parameter is optional.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>deadline</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.datetime">DateTime</a>?</dt>
|
|
||||||
<dd><p>An optional deadline for the call. The call will be cancelled if deadline is hit.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>cancellationToken</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken">CancellationToken</a></dt>
|
|
||||||
<dd><p>An optional token for canceling the call.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/AsyncServerStreamingCall.cs">AsyncServerStreamingCall</a><<a class="xref" href="Hi.Grpcs.DictionaryStep.html">DictionaryStep</a>></dt>
|
|
||||||
<dd><p>The call object.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</article>
|
|
||||||
|
|
||||||
<div class="contribution d-print-none">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="affix">
|
|
||||||
<nav id="affix"></nav>
|
|
||||||
</div>
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<div class="container-xxl search-results" id="search-results"></div>
|
|
||||||
|
|
||||||
<footer class="border-top text-secondary">
|
|
||||||
<div class="container-xxl">
|
|
||||||
<div class="flex-fill">
|
|
||||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@ -1,212 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>Class ClStripServiceReflection | HiAPI-C# 2025 </title>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta name="title" content="Class ClStripServiceReflection | HiAPI-C# 2025 ">
|
|
||||||
|
|
||||||
<meta name="description" content="Holder for reflection information generated from Grpcs/ClStripService.proto">
|
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
|
||||||
<meta name="docfx:navrel" content="../toc.html">
|
|
||||||
<meta name="docfx:tocrel" content="toc.html">
|
|
||||||
|
|
||||||
<meta name="docfx:rel" content="../">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<meta name="loc:inThisArticle" content="In this article">
|
|
||||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
|
||||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
|
||||||
<meta name="loc:tocFilter" content="Filter by title">
|
|
||||||
<meta name="loc:nextArticle" content="Next">
|
|
||||||
<meta name="loc:prevArticle" content="Previous">
|
|
||||||
<meta name="loc:themeLight" content="Light">
|
|
||||||
<meta name="loc:themeDark" content="Dark">
|
|
||||||
<meta name="loc:themeAuto" content="Auto">
|
|
||||||
<meta name="loc:changeTheme" content="Change theme">
|
|
||||||
<meta name="loc:copy" content="Copy">
|
|
||||||
<meta name="loc:downloadPdf" content="Download PDF">
|
|
||||||
|
|
||||||
<script type="module" src="./../public/docfx.min.js"></script>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
const theme = localStorage.getItem('theme') || 'auto'
|
|
||||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
|
||||||
<header class="bg-body border-bottom">
|
|
||||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
|
||||||
<div class="container-xxl flex-nowrap">
|
|
||||||
<a class="navbar-brand" href="../index.html">
|
|
||||||
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
|
||||||
|
|
||||||
</a>
|
|
||||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<i class="bi bi-three-dots"></i>
|
|
||||||
</button>
|
|
||||||
<div class="collapse navbar-collapse" id="navpanel">
|
|
||||||
<div id="navbar">
|
|
||||||
<form class="search" role="search" id="search">
|
|
||||||
<i class="bi bi-search"></i>
|
|
||||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<main class="container-xxl">
|
|
||||||
<div class="toc-offcanvas">
|
|
||||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
|
||||||
<div class="offcanvas-header">
|
|
||||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
|
||||||
</div>
|
|
||||||
<div class="offcanvas-body">
|
|
||||||
<nav class="toc" id="toc"></nav>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="content">
|
|
||||||
<div class="actionbar">
|
|
||||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
|
||||||
<i class="bi bi-list"></i>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<nav id="breadcrumb"></nav>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<article data-uid="Hi.Grpcs.ClStripServiceReflection">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1 id="Hi_Grpcs_ClStripServiceReflection" data-uid="Hi.Grpcs.ClStripServiceReflection" class="text-break">
|
|
||||||
Class ClStripServiceReflection
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<div class="facts text-secondary">
|
|
||||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Grpcs.html">Grpcs</a></dd></dl>
|
|
||||||
<dl><dt>Assembly</dt><dd>HiNc.dll</dd></dl>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="markdown summary"><p>Holder for reflection information generated from Grpcs/ClStripService.proto</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public static class ClStripServiceReflection</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist inheritance">
|
|
||||||
<dt>Inheritance</dt>
|
|
||||||
<dd>
|
|
||||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
|
||||||
<div><span class="xref">ClStripServiceReflection</span></div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist inheritedMembers">
|
|
||||||
<dt>Inherited Members</dt>
|
|
||||||
<dd>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
|
||||||
</div>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="properties">Properties
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_ClStripServiceReflection_Descriptor_" data-uid="Hi.Grpcs.ClStripServiceReflection.Descriptor*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_ClStripServiceReflection_Descriptor" data-uid="Hi.Grpcs.ClStripServiceReflection.Descriptor">
|
|
||||||
Descriptor
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>File descriptor for Grpcs/ClStripService.proto</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public static FileDescriptor Descriptor { get; }</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section">Property Value</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><span class="xref">FileDescriptor</span></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</article>
|
|
||||||
|
|
||||||
<div class="contribution d-print-none">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="affix">
|
|
||||||
<nav id="affix"></nav>
|
|
||||||
</div>
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<div class="container-xxl search-results" id="search-results"></div>
|
|
||||||
|
|
||||||
<footer class="border-top text-secondary">
|
|
||||||
<div class="container-xxl">
|
|
||||||
<div class="flex-fill">
|
|
||||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@ -1,333 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>Class ClStripServiceRunner | HiAPI-C# 2025 </title>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta name="title" content="Class ClStripServiceRunner | HiAPI-C# 2025 ">
|
|
||||||
|
|
||||||
<meta name="description" content="Service runner for the ClStrip gRPC service.">
|
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
|
||||||
<meta name="docfx:navrel" content="../toc.html">
|
|
||||||
<meta name="docfx:tocrel" content="toc.html">
|
|
||||||
|
|
||||||
<meta name="docfx:rel" content="../">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<meta name="loc:inThisArticle" content="In this article">
|
|
||||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
|
||||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
|
||||||
<meta name="loc:tocFilter" content="Filter by title">
|
|
||||||
<meta name="loc:nextArticle" content="Next">
|
|
||||||
<meta name="loc:prevArticle" content="Previous">
|
|
||||||
<meta name="loc:themeLight" content="Light">
|
|
||||||
<meta name="loc:themeDark" content="Dark">
|
|
||||||
<meta name="loc:themeAuto" content="Auto">
|
|
||||||
<meta name="loc:changeTheme" content="Change theme">
|
|
||||||
<meta name="loc:copy" content="Copy">
|
|
||||||
<meta name="loc:downloadPdf" content="Download PDF">
|
|
||||||
|
|
||||||
<script type="module" src="./../public/docfx.min.js"></script>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
const theme = localStorage.getItem('theme') || 'auto'
|
|
||||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
|
||||||
<header class="bg-body border-bottom">
|
|
||||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
|
||||||
<div class="container-xxl flex-nowrap">
|
|
||||||
<a class="navbar-brand" href="../index.html">
|
|
||||||
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
|
||||||
|
|
||||||
</a>
|
|
||||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<i class="bi bi-three-dots"></i>
|
|
||||||
</button>
|
|
||||||
<div class="collapse navbar-collapse" id="navpanel">
|
|
||||||
<div id="navbar">
|
|
||||||
<form class="search" role="search" id="search">
|
|
||||||
<i class="bi bi-search"></i>
|
|
||||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<main class="container-xxl">
|
|
||||||
<div class="toc-offcanvas">
|
|
||||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
|
||||||
<div class="offcanvas-header">
|
|
||||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
|
||||||
</div>
|
|
||||||
<div class="offcanvas-body">
|
|
||||||
<nav class="toc" id="toc"></nav>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="content">
|
|
||||||
<div class="actionbar">
|
|
||||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
|
||||||
<i class="bi bi-list"></i>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<nav id="breadcrumb"></nav>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<article data-uid="Hi.Grpcs.ClStripServiceRunner">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1 id="Hi_Grpcs_ClStripServiceRunner" data-uid="Hi.Grpcs.ClStripServiceRunner" class="text-break">
|
|
||||||
Class ClStripServiceRunner
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<div class="facts text-secondary">
|
|
||||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Grpcs.html">Grpcs</a></dd></dl>
|
|
||||||
<dl><dt>Assembly</dt><dd>HiNc.dll</dd></dl>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="markdown summary"><p>Service runner for the ClStrip gRPC service.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public class ClStripServiceRunner : ClStripService.ClStripServiceBase</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist inheritance">
|
|
||||||
<dt>Inheritance</dt>
|
|
||||||
<dd>
|
|
||||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
|
||||||
<div><a class="xref" href="Hi.Grpcs.ClStripService.html">ClStripService</a>.<a class="xref" href="Hi.Grpcs.ClStripService.ClStripServiceBase.html">ClStripServiceBase</a></div>
|
|
||||||
<div><span class="xref">ClStripServiceRunner</span></div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist inheritedMembers">
|
|
||||||
<dt>Inherited Members</dt>
|
|
||||||
<dd>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
|
||||||
</div>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="typelist extensionMethods">
|
|
||||||
<dt>Extension Methods</dt>
|
|
||||||
<dd>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
|
||||||
</div>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="constructors">Constructors
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_ClStripServiceRunner__ctor_" data-uid="Hi.Grpcs.ClStripServiceRunner.#ctor*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_ClStripServiceRunner__ctor_Hi_MachiningProcs_LocalProjectService_" data-uid="Hi.Grpcs.ClStripServiceRunner.#ctor(Hi.MachiningProcs.LocalProjectService)">
|
|
||||||
ClStripServiceRunner(LocalProjectService)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Hi.Grpcs.ClStripServiceRunner.html">ClStripServiceRunner</a> class.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public ClStripServiceRunner(LocalProjectService machiningProjectHost)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>machiningProjectHost</code> <a class="xref" href="Hi.MachiningProcs.LocalProjectService.html">LocalProjectService</a></dt>
|
|
||||||
<dd><p>Function to provide access to the current MachiningProject instance</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="methods">Methods
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_ClStripServiceRunner_StepRan_" data-uid="Hi.Grpcs.ClStripServiceRunner.StepRan*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_ClStripServiceRunner_StepRan_Google_Protobuf_WellKnownTypes_Empty_Grpc_Core_IServerStreamWriter_Hi_Grpcs_DictionaryStep__Grpc_Core_ServerCallContext_" data-uid="Hi.Grpcs.ClStripServiceRunner.StepRan(Google.Protobuf.WellKnownTypes.Empty,Grpc.Core.IServerStreamWriter{Hi.Grpcs.DictionaryStep},Grpc.Core.ServerCallContext)">
|
|
||||||
StepRan(Empty, IServerStreamWriter<DictionaryStep>, ServerCallContext)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Streams step data as steps are executed.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public override Task StepRan(Empty request, IServerStreamWriter<DictionaryStep> responseStream, ServerCallContext context)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>request</code> <span class="xref">Empty</span></dt>
|
|
||||||
<dd><p>Empty request</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>responseStream</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/IServerStreamWriter.cs">IServerStreamWriter</a><<a class="xref" href="Hi.Grpcs.DictionaryStep.html">DictionaryStep</a>></dt>
|
|
||||||
<dd><p>Stream to write step data to</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>context</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ServerCallContext.cs">ServerCallContext</a></dt>
|
|
||||||
<dd><p>Server call context</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task">Task</a></dt>
|
|
||||||
<dd><p>Task representing the asynchronous operation</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_ClStripServiceRunner_StepSelected_" data-uid="Hi.Grpcs.ClStripServiceRunner.StepSelected*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_ClStripServiceRunner_StepSelected_Google_Protobuf_WellKnownTypes_Empty_Grpc_Core_IServerStreamWriter_Hi_Grpcs_DictionaryStep__Grpc_Core_ServerCallContext_" data-uid="Hi.Grpcs.ClStripServiceRunner.StepSelected(Google.Protobuf.WellKnownTypes.Empty,Grpc.Core.IServerStreamWriter{Hi.Grpcs.DictionaryStep},Grpc.Core.ServerCallContext)">
|
|
||||||
StepSelected(Empty, IServerStreamWriter<DictionaryStep>, ServerCallContext)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Streams step data when a step is selected in the UI.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public override Task StepSelected(Empty request, IServerStreamWriter<DictionaryStep> responseStream, ServerCallContext context)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>request</code> <span class="xref">Empty</span></dt>
|
|
||||||
<dd><p>Empty request</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>responseStream</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/IServerStreamWriter.cs">IServerStreamWriter</a><<a class="xref" href="Hi.Grpcs.DictionaryStep.html">DictionaryStep</a>></dt>
|
|
||||||
<dd><p>Stream to write step data to</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>context</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ServerCallContext.cs">ServerCallContext</a></dt>
|
|
||||||
<dd><p>Server call context</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task">Task</a></dt>
|
|
||||||
<dd><p>Task representing the asynchronous operation</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</article>
|
|
||||||
|
|
||||||
<div class="contribution d-print-none">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="affix">
|
|
||||||
<nav id="affix"></nav>
|
|
||||||
</div>
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<div class="container-xxl search-results" id="search-results"></div>
|
|
||||||
|
|
||||||
<footer class="border-top text-secondary">
|
|
||||||
<div class="container-xxl">
|
|
||||||
<div class="flex-fill">
|
|
||||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@ -1,710 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>Class DictionaryStep | HiAPI-C# 2025 </title>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta name="title" content="Class DictionaryStep | HiAPI-C# 2025 ">
|
|
||||||
|
|
||||||
<meta name="description" content="step which data type is dictionary">
|
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
|
||||||
<meta name="docfx:navrel" content="../toc.html">
|
|
||||||
<meta name="docfx:tocrel" content="toc.html">
|
|
||||||
|
|
||||||
<meta name="docfx:rel" content="../">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<meta name="loc:inThisArticle" content="In this article">
|
|
||||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
|
||||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
|
||||||
<meta name="loc:tocFilter" content="Filter by title">
|
|
||||||
<meta name="loc:nextArticle" content="Next">
|
|
||||||
<meta name="loc:prevArticle" content="Previous">
|
|
||||||
<meta name="loc:themeLight" content="Light">
|
|
||||||
<meta name="loc:themeDark" content="Dark">
|
|
||||||
<meta name="loc:themeAuto" content="Auto">
|
|
||||||
<meta name="loc:changeTheme" content="Change theme">
|
|
||||||
<meta name="loc:copy" content="Copy">
|
|
||||||
<meta name="loc:downloadPdf" content="Download PDF">
|
|
||||||
|
|
||||||
<script type="module" src="./../public/docfx.min.js"></script>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
const theme = localStorage.getItem('theme') || 'auto'
|
|
||||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
|
||||||
<header class="bg-body border-bottom">
|
|
||||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
|
||||||
<div class="container-xxl flex-nowrap">
|
|
||||||
<a class="navbar-brand" href="../index.html">
|
|
||||||
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
|
||||||
|
|
||||||
</a>
|
|
||||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<i class="bi bi-three-dots"></i>
|
|
||||||
</button>
|
|
||||||
<div class="collapse navbar-collapse" id="navpanel">
|
|
||||||
<div id="navbar">
|
|
||||||
<form class="search" role="search" id="search">
|
|
||||||
<i class="bi bi-search"></i>
|
|
||||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<main class="container-xxl">
|
|
||||||
<div class="toc-offcanvas">
|
|
||||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
|
||||||
<div class="offcanvas-header">
|
|
||||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
|
||||||
</div>
|
|
||||||
<div class="offcanvas-body">
|
|
||||||
<nav class="toc" id="toc"></nav>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="content">
|
|
||||||
<div class="actionbar">
|
|
||||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
|
||||||
<i class="bi bi-list"></i>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<nav id="breadcrumb"></nav>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<article data-uid="Hi.Grpcs.DictionaryStep">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1 id="Hi_Grpcs_DictionaryStep" data-uid="Hi.Grpcs.DictionaryStep" class="text-break">
|
|
||||||
Class DictionaryStep
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<div class="facts text-secondary">
|
|
||||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Grpcs.html">Grpcs</a></dd></dl>
|
|
||||||
<dl><dt>Assembly</dt><dd>HiNc.dll</dd></dl>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="markdown summary"><p>step which data type is dictionary</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public sealed class DictionaryStep : IMessage<DictionaryStep>, IEquatable<DictionaryStep>, IDeepCloneable<DictionaryStep>, IBufferMessage, IMessage</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist inheritance">
|
|
||||||
<dt>Inheritance</dt>
|
|
||||||
<dd>
|
|
||||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
|
||||||
<div><span class="xref">DictionaryStep</span></div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<dl class="typelist implements">
|
|
||||||
<dt>Implements</dt>
|
|
||||||
<dd>
|
|
||||||
<div><span class="xref">IMessage</span><<a class="xref" href="Hi.Grpcs.DictionaryStep.html">DictionaryStep</a>></div>
|
|
||||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iequatable-1">IEquatable</a><<a class="xref" href="Hi.Grpcs.DictionaryStep.html">DictionaryStep</a>></div>
|
|
||||||
<div><span class="xref">IDeepCloneable</span><<a class="xref" href="Hi.Grpcs.DictionaryStep.html">DictionaryStep</a>></div>
|
|
||||||
<div><span class="xref">IBufferMessage</span></div>
|
|
||||||
<div><span class="xref">IMessage</span></div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist inheritedMembers">
|
|
||||||
<dt>Inherited Members</dt>
|
|
||||||
<dd>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
|
||||||
</div>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="typelist extensionMethods">
|
|
||||||
<dt>Extension Methods</dt>
|
|
||||||
<dd>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
|
||||||
</div>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="constructors">Constructors
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_DictionaryStep__ctor_" data-uid="Hi.Grpcs.DictionaryStep.#ctor*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_DictionaryStep__ctor" data-uid="Hi.Grpcs.DictionaryStep.#ctor">
|
|
||||||
DictionaryStep()
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"></div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public DictionaryStep()</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_DictionaryStep__ctor_" data-uid="Hi.Grpcs.DictionaryStep.#ctor*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_DictionaryStep__ctor_Hi_Grpcs_DictionaryStep_" data-uid="Hi.Grpcs.DictionaryStep.#ctor(Hi.Grpcs.DictionaryStep)">
|
|
||||||
DictionaryStep(DictionaryStep)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"></div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public DictionaryStep(DictionaryStep other)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>other</code> <a class="xref" href="Hi.Grpcs.DictionaryStep.html">DictionaryStep</a></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="fields">Fields
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_DictionaryStep_DictionaryFieldNumber" data-uid="Hi.Grpcs.DictionaryStep.DictionaryFieldNumber">
|
|
||||||
DictionaryFieldNumber
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Field number for the “Dictionary” field.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public const int DictionaryFieldNumber = 1</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section">Field Value</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="properties">Properties
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_DictionaryStep_Descriptor_" data-uid="Hi.Grpcs.DictionaryStep.Descriptor*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_DictionaryStep_Descriptor" data-uid="Hi.Grpcs.DictionaryStep.Descriptor">
|
|
||||||
Descriptor
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"></div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public static MessageDescriptor Descriptor { get; }</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section">Property Value</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><span class="xref">MessageDescriptor</span></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_DictionaryStep_Dictionary_" data-uid="Hi.Grpcs.DictionaryStep.Dictionary*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_DictionaryStep_Dictionary" data-uid="Hi.Grpcs.DictionaryStep.Dictionary">
|
|
||||||
Dictionary
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>all data in dictionary type.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public MapField<string, string> Dictionary { get; }</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section">Property Value</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><span class="xref">MapField</span><<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_DictionaryStep_Parser_" data-uid="Hi.Grpcs.DictionaryStep.Parser*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_DictionaryStep_Parser" data-uid="Hi.Grpcs.DictionaryStep.Parser">
|
|
||||||
Parser
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"></div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public static MessageParser<DictionaryStep> Parser { get; }</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section">Property Value</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><span class="xref">MessageParser</span><<a class="xref" href="Hi.Grpcs.DictionaryStep.html">DictionaryStep</a>></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="methods">Methods
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_DictionaryStep_CalculateSize_" data-uid="Hi.Grpcs.DictionaryStep.CalculateSize*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_DictionaryStep_CalculateSize" data-uid="Hi.Grpcs.DictionaryStep.CalculateSize">
|
|
||||||
CalculateSize()
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Calculates the size of this message in Protocol Buffer wire format, in bytes.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public int CalculateSize()</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
|
|
||||||
<dd><p>The number of bytes required to write this message
|
|
||||||
to a coded output stream.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_DictionaryStep_Clone_" data-uid="Hi.Grpcs.DictionaryStep.Clone*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_DictionaryStep_Clone" data-uid="Hi.Grpcs.DictionaryStep.Clone">
|
|
||||||
Clone()
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Creates a deep clone of this object.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public DictionaryStep Clone()</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="Hi.Grpcs.DictionaryStep.html">DictionaryStep</a></dt>
|
|
||||||
<dd><p>A deep clone of this object.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_DictionaryStep_Equals_" data-uid="Hi.Grpcs.DictionaryStep.Equals*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_DictionaryStep_Equals_Hi_Grpcs_DictionaryStep_" data-uid="Hi.Grpcs.DictionaryStep.Equals(Hi.Grpcs.DictionaryStep)">
|
|
||||||
Equals(DictionaryStep)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Indicates whether the current object is equal to another object of the same type.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public bool Equals(DictionaryStep other)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>other</code> <a class="xref" href="Hi.Grpcs.DictionaryStep.html">DictionaryStep</a></dt>
|
|
||||||
<dd><p>An object to compare with this object.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
|
|
||||||
<dd><p><a href="https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool">true</a> if the current object is equal to the <code class="paramref">other</code> parameter; otherwise, <a href="https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool">false</a>.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_DictionaryStep_Equals_" data-uid="Hi.Grpcs.DictionaryStep.Equals*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_DictionaryStep_Equals_System_Object_" data-uid="Hi.Grpcs.DictionaryStep.Equals(System.Object)">
|
|
||||||
Equals(object)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Determines whether the specified object is equal to the current object.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public override bool Equals(object other)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>other</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
|
|
||||||
<dd><p><a href="https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool">true</a> if the specified object is equal to the current object; otherwise, <a href="https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/bool">false</a>.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_DictionaryStep_GetHashCode_" data-uid="Hi.Grpcs.DictionaryStep.GetHashCode*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_DictionaryStep_GetHashCode" data-uid="Hi.Grpcs.DictionaryStep.GetHashCode">
|
|
||||||
GetHashCode()
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Serves as the default hash function.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public override int GetHashCode()</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
|
|
||||||
<dd><p>A hash code for the current object.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_DictionaryStep_MergeFrom_" data-uid="Hi.Grpcs.DictionaryStep.MergeFrom*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_DictionaryStep_MergeFrom_Google_Protobuf_CodedInputStream_" data-uid="Hi.Grpcs.DictionaryStep.MergeFrom(Google.Protobuf.CodedInputStream)">
|
|
||||||
MergeFrom(CodedInputStream)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Merges the data from the specified coded input stream with the current message.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public void MergeFrom(CodedInputStream input)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>input</code> <span class="xref">CodedInputStream</span></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section" id="Hi_Grpcs_DictionaryStep_MergeFrom_Google_Protobuf_CodedInputStream__remarks">Remarks</h4>
|
|
||||||
<div class="markdown level1 remarks"><p>See the user guide for precise merge semantics.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_DictionaryStep_MergeFrom_" data-uid="Hi.Grpcs.DictionaryStep.MergeFrom*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_DictionaryStep_MergeFrom_Hi_Grpcs_DictionaryStep_" data-uid="Hi.Grpcs.DictionaryStep.MergeFrom(Hi.Grpcs.DictionaryStep)">
|
|
||||||
MergeFrom(DictionaryStep)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Merges the given message into this one.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public void MergeFrom(DictionaryStep other)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>other</code> <a class="xref" href="Hi.Grpcs.DictionaryStep.html">DictionaryStep</a></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section" id="Hi_Grpcs_DictionaryStep_MergeFrom_Hi_Grpcs_DictionaryStep__remarks">Remarks</h4>
|
|
||||||
<div class="markdown level1 remarks"><p>See the user guide for precise merge semantics.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_DictionaryStep_ToString_" data-uid="Hi.Grpcs.DictionaryStep.ToString*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_DictionaryStep_ToString" data-uid="Hi.Grpcs.DictionaryStep.ToString">
|
|
||||||
ToString()
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Returns a string that represents the current object.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public override string ToString()</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
|
||||||
<dd><p>A string that represents the current object.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_DictionaryStep_WriteTo_" data-uid="Hi.Grpcs.DictionaryStep.WriteTo*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_DictionaryStep_WriteTo_Google_Protobuf_CodedOutputStream_" data-uid="Hi.Grpcs.DictionaryStep.WriteTo(Google.Protobuf.CodedOutputStream)">
|
|
||||||
WriteTo(CodedOutputStream)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Writes the data to the given coded output stream.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public void WriteTo(CodedOutputStream output)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>output</code> <span class="xref">CodedOutputStream</span></dt>
|
|
||||||
<dd><p>Coded output stream to write the data to. Must not be null.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</article>
|
|
||||||
|
|
||||||
<div class="contribution d-print-none">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="affix">
|
|
||||||
<nav id="affix"></nav>
|
|
||||||
</div>
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<div class="container-xxl search-results" id="search-results"></div>
|
|
||||||
|
|
||||||
<footer class="border-top text-secondary">
|
|
||||||
<div class="container-xxl">
|
|
||||||
<div class="flex-fill">
|
|
||||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@ -1,380 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>Class PlayerService.PlayerServiceBase | HiAPI-C# 2025 </title>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta name="title" content="Class PlayerService.PlayerServiceBase | HiAPI-C# 2025 ">
|
|
||||||
|
|
||||||
<meta name="description" content="Base class for server-side implementations of PlayerService">
|
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
|
||||||
<meta name="docfx:navrel" content="../toc.html">
|
|
||||||
<meta name="docfx:tocrel" content="toc.html">
|
|
||||||
|
|
||||||
<meta name="docfx:rel" content="../">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<meta name="loc:inThisArticle" content="In this article">
|
|
||||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
|
||||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
|
||||||
<meta name="loc:tocFilter" content="Filter by title">
|
|
||||||
<meta name="loc:nextArticle" content="Next">
|
|
||||||
<meta name="loc:prevArticle" content="Previous">
|
|
||||||
<meta name="loc:themeLight" content="Light">
|
|
||||||
<meta name="loc:themeDark" content="Dark">
|
|
||||||
<meta name="loc:themeAuto" content="Auto">
|
|
||||||
<meta name="loc:changeTheme" content="Change theme">
|
|
||||||
<meta name="loc:copy" content="Copy">
|
|
||||||
<meta name="loc:downloadPdf" content="Download PDF">
|
|
||||||
|
|
||||||
<script type="module" src="./../public/docfx.min.js"></script>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
const theme = localStorage.getItem('theme') || 'auto'
|
|
||||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
|
||||||
<header class="bg-body border-bottom">
|
|
||||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
|
||||||
<div class="container-xxl flex-nowrap">
|
|
||||||
<a class="navbar-brand" href="../index.html">
|
|
||||||
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
|
||||||
|
|
||||||
</a>
|
|
||||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<i class="bi bi-three-dots"></i>
|
|
||||||
</button>
|
|
||||||
<div class="collapse navbar-collapse" id="navpanel">
|
|
||||||
<div id="navbar">
|
|
||||||
<form class="search" role="search" id="search">
|
|
||||||
<i class="bi bi-search"></i>
|
|
||||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<main class="container-xxl">
|
|
||||||
<div class="toc-offcanvas">
|
|
||||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
|
||||||
<div class="offcanvas-header">
|
|
||||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
|
||||||
</div>
|
|
||||||
<div class="offcanvas-body">
|
|
||||||
<nav class="toc" id="toc"></nav>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="content">
|
|
||||||
<div class="actionbar">
|
|
||||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
|
||||||
<i class="bi bi-list"></i>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<nav id="breadcrumb"></nav>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<article data-uid="Hi.Grpcs.PlayerService.PlayerServiceBase">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1 id="Hi_Grpcs_PlayerService_PlayerServiceBase" data-uid="Hi.Grpcs.PlayerService.PlayerServiceBase" class="text-break">
|
|
||||||
Class PlayerService.PlayerServiceBase
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<div class="facts text-secondary">
|
|
||||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Grpcs.html">Grpcs</a></dd></dl>
|
|
||||||
<dl><dt>Assembly</dt><dd>HiNc.dll</dd></dl>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="markdown summary"><p>Base class for server-side implementations of PlayerService</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">[BindServiceMethod(typeof(PlayerService), "BindService")]
|
|
||||||
public abstract class PlayerService.PlayerServiceBase</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist inheritance">
|
|
||||||
<dt>Inheritance</dt>
|
|
||||||
<dd>
|
|
||||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
|
||||||
<div><span class="xref">PlayerService.PlayerServiceBase</span></div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist derived">
|
|
||||||
<dt>Derived</dt>
|
|
||||||
<dd>
|
|
||||||
<div><a class="xref" href="Hi.Grpcs.PlayerServiceRunner.html">PlayerServiceRunner</a></div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<dl class="typelist inheritedMembers">
|
|
||||||
<dt>Inherited Members</dt>
|
|
||||||
<dd>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
|
||||||
</div>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="typelist extensionMethods">
|
|
||||||
<dt>Extension Methods</dt>
|
|
||||||
<dd>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
|
||||||
</div>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="methods">Methods
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_PlayerService_PlayerServiceBase_Pause_" data-uid="Hi.Grpcs.PlayerService.PlayerServiceBase.Pause*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_PlayerService_PlayerServiceBase_Pause_Google_Protobuf_WellKnownTypes_Empty_Grpc_Core_ServerCallContext_" data-uid="Hi.Grpcs.PlayerService.PlayerServiceBase.Pause(Google.Protobuf.WellKnownTypes.Empty,Grpc.Core.ServerCallContext)">
|
|
||||||
Pause(Empty, ServerCallContext)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Pause file playing if playing; otherwise do nothing.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public virtual Task<Empty> Pause(Empty request, ServerCallContext context)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>request</code> <span class="xref">Empty</span></dt>
|
|
||||||
<dd><p>The request received from the client.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>context</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ServerCallContext.cs">ServerCallContext</a></dt>
|
|
||||||
<dd><p>The context of the server-side call handler being invoked.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task-1">Task</a><<span class="xref">Empty</span>></dt>
|
|
||||||
<dd><p>The response to send back to the client (wrapped by a task).</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_PlayerService_PlayerServiceBase_Reset_" data-uid="Hi.Grpcs.PlayerService.PlayerServiceBase.Reset*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_PlayerService_PlayerServiceBase_Reset_Google_Protobuf_WellKnownTypes_Empty_Grpc_Core_ServerCallContext_" data-uid="Hi.Grpcs.PlayerService.PlayerServiceBase.Reset(Google.Protobuf.WellKnownTypes.Empty,Grpc.Core.ServerCallContext)">
|
|
||||||
Reset(Empty, ServerCallContext)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Reset file player to the state as before running Start function.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public virtual Task<Empty> Reset(Empty request, ServerCallContext context)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>request</code> <span class="xref">Empty</span></dt>
|
|
||||||
<dd><p>The request received from the client.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>context</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ServerCallContext.cs">ServerCallContext</a></dt>
|
|
||||||
<dd><p>The context of the server-side call handler being invoked.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task-1">Task</a><<span class="xref">Empty</span>></dt>
|
|
||||||
<dd><p>The response to send back to the client (wrapped by a task).</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_PlayerService_PlayerServiceBase_Resume_" data-uid="Hi.Grpcs.PlayerService.PlayerServiceBase.Resume*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_PlayerService_PlayerServiceBase_Resume_Google_Protobuf_WellKnownTypes_Empty_Grpc_Core_ServerCallContext_" data-uid="Hi.Grpcs.PlayerService.PlayerServiceBase.Resume(Google.Protobuf.WellKnownTypes.Empty,Grpc.Core.ServerCallContext)">
|
|
||||||
Resume(Empty, ServerCallContext)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Resume file playing if paused; otherwise do nothing.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public virtual Task<Empty> Resume(Empty request, ServerCallContext context)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>request</code> <span class="xref">Empty</span></dt>
|
|
||||||
<dd><p>The request received from the client.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>context</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ServerCallContext.cs">ServerCallContext</a></dt>
|
|
||||||
<dd><p>The context of the server-side call handler being invoked.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task-1">Task</a><<span class="xref">Empty</span>></dt>
|
|
||||||
<dd><p>The response to send back to the client (wrapped by a task).</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_PlayerService_PlayerServiceBase_Start_" data-uid="Hi.Grpcs.PlayerService.PlayerServiceBase.Start*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_PlayerService_PlayerServiceBase_Start_Google_Protobuf_WellKnownTypes_Empty_Grpc_Core_ServerCallContext_" data-uid="Hi.Grpcs.PlayerService.PlayerServiceBase.Start(Google.Protobuf.WellKnownTypes.Empty,Grpc.Core.ServerCallContext)">
|
|
||||||
Start(Empty, ServerCallContext)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Start file playing.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public virtual Task<Empty> Start(Empty request, ServerCallContext context)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>request</code> <span class="xref">Empty</span></dt>
|
|
||||||
<dd><p>The request received from the client.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>context</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ServerCallContext.cs">ServerCallContext</a></dt>
|
|
||||||
<dd><p>The context of the server-side call handler being invoked.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task-1">Task</a><<span class="xref">Empty</span>></dt>
|
|
||||||
<dd><p>The response to send back to the client (wrapped by a task).</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</article>
|
|
||||||
|
|
||||||
<div class="contribution d-print-none">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="affix">
|
|
||||||
<nav id="affix"></nav>
|
|
||||||
</div>
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<div class="container-xxl search-results" id="search-results"></div>
|
|
||||||
|
|
||||||
<footer class="border-top text-secondary">
|
|
||||||
<div class="container-xxl">
|
|
||||||
<div class="flex-fill">
|
|
||||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
File diff suppressed because it is too large
Load Diff
@ -1,212 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>Class PlayerServiceReflection | HiAPI-C# 2025 </title>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta name="title" content="Class PlayerServiceReflection | HiAPI-C# 2025 ">
|
|
||||||
|
|
||||||
<meta name="description" content="Holder for reflection information generated from Grpcs/PlayerService.proto">
|
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
|
||||||
<meta name="docfx:navrel" content="../toc.html">
|
|
||||||
<meta name="docfx:tocrel" content="toc.html">
|
|
||||||
|
|
||||||
<meta name="docfx:rel" content="../">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<meta name="loc:inThisArticle" content="In this article">
|
|
||||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
|
||||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
|
||||||
<meta name="loc:tocFilter" content="Filter by title">
|
|
||||||
<meta name="loc:nextArticle" content="Next">
|
|
||||||
<meta name="loc:prevArticle" content="Previous">
|
|
||||||
<meta name="loc:themeLight" content="Light">
|
|
||||||
<meta name="loc:themeDark" content="Dark">
|
|
||||||
<meta name="loc:themeAuto" content="Auto">
|
|
||||||
<meta name="loc:changeTheme" content="Change theme">
|
|
||||||
<meta name="loc:copy" content="Copy">
|
|
||||||
<meta name="loc:downloadPdf" content="Download PDF">
|
|
||||||
|
|
||||||
<script type="module" src="./../public/docfx.min.js"></script>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
const theme = localStorage.getItem('theme') || 'auto'
|
|
||||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
|
||||||
<header class="bg-body border-bottom">
|
|
||||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
|
||||||
<div class="container-xxl flex-nowrap">
|
|
||||||
<a class="navbar-brand" href="../index.html">
|
|
||||||
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
|
||||||
|
|
||||||
</a>
|
|
||||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<i class="bi bi-three-dots"></i>
|
|
||||||
</button>
|
|
||||||
<div class="collapse navbar-collapse" id="navpanel">
|
|
||||||
<div id="navbar">
|
|
||||||
<form class="search" role="search" id="search">
|
|
||||||
<i class="bi bi-search"></i>
|
|
||||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<main class="container-xxl">
|
|
||||||
<div class="toc-offcanvas">
|
|
||||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
|
||||||
<div class="offcanvas-header">
|
|
||||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
|
||||||
</div>
|
|
||||||
<div class="offcanvas-body">
|
|
||||||
<nav class="toc" id="toc"></nav>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="content">
|
|
||||||
<div class="actionbar">
|
|
||||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
|
||||||
<i class="bi bi-list"></i>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<nav id="breadcrumb"></nav>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<article data-uid="Hi.Grpcs.PlayerServiceReflection">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1 id="Hi_Grpcs_PlayerServiceReflection" data-uid="Hi.Grpcs.PlayerServiceReflection" class="text-break">
|
|
||||||
Class PlayerServiceReflection
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<div class="facts text-secondary">
|
|
||||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Grpcs.html">Grpcs</a></dd></dl>
|
|
||||||
<dl><dt>Assembly</dt><dd>HiNc.dll</dd></dl>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="markdown summary"><p>Holder for reflection information generated from Grpcs/PlayerService.proto</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public static class PlayerServiceReflection</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist inheritance">
|
|
||||||
<dt>Inheritance</dt>
|
|
||||||
<dd>
|
|
||||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
|
||||||
<div><span class="xref">PlayerServiceReflection</span></div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist inheritedMembers">
|
|
||||||
<dt>Inherited Members</dt>
|
|
||||||
<dd>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
|
||||||
</div>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="properties">Properties
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_PlayerServiceReflection_Descriptor_" data-uid="Hi.Grpcs.PlayerServiceReflection.Descriptor*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_PlayerServiceReflection_Descriptor" data-uid="Hi.Grpcs.PlayerServiceReflection.Descriptor">
|
|
||||||
Descriptor
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>File descriptor for Grpcs/PlayerService.proto</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public static FileDescriptor Descriptor { get; }</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section">Property Value</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><span class="xref">FileDescriptor</span></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</article>
|
|
||||||
|
|
||||||
<div class="contribution d-print-none">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="affix">
|
|
||||||
<nav id="affix"></nav>
|
|
||||||
</div>
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<div class="container-xxl search-results" id="search-results"></div>
|
|
||||||
|
|
||||||
<footer class="border-top text-secondary">
|
|
||||||
<div class="container-xxl">
|
|
||||||
<div class="flex-fill">
|
|
||||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@ -1,177 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>Namespace Hi.Grpcs | HiAPI-C# 2025 </title>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta name="title" content="Namespace Hi.Grpcs | HiAPI-C# 2025 ">
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
|
||||||
<meta name="docfx:navrel" content="../toc.html">
|
|
||||||
<meta name="docfx:tocrel" content="toc.html">
|
|
||||||
|
|
||||||
<meta name="docfx:rel" content="../">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<meta name="loc:inThisArticle" content="In this article">
|
|
||||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
|
||||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
|
||||||
<meta name="loc:tocFilter" content="Filter by title">
|
|
||||||
<meta name="loc:nextArticle" content="Next">
|
|
||||||
<meta name="loc:prevArticle" content="Previous">
|
|
||||||
<meta name="loc:themeLight" content="Light">
|
|
||||||
<meta name="loc:themeDark" content="Dark">
|
|
||||||
<meta name="loc:themeAuto" content="Auto">
|
|
||||||
<meta name="loc:changeTheme" content="Change theme">
|
|
||||||
<meta name="loc:copy" content="Copy">
|
|
||||||
<meta name="loc:downloadPdf" content="Download PDF">
|
|
||||||
|
|
||||||
<script type="module" src="./../public/docfx.min.js"></script>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
const theme = localStorage.getItem('theme') || 'auto'
|
|
||||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
|
||||||
<header class="bg-body border-bottom">
|
|
||||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
|
||||||
<div class="container-xxl flex-nowrap">
|
|
||||||
<a class="navbar-brand" href="../index.html">
|
|
||||||
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
|
||||||
|
|
||||||
</a>
|
|
||||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<i class="bi bi-three-dots"></i>
|
|
||||||
</button>
|
|
||||||
<div class="collapse navbar-collapse" id="navpanel">
|
|
||||||
<div id="navbar">
|
|
||||||
<form class="search" role="search" id="search">
|
|
||||||
<i class="bi bi-search"></i>
|
|
||||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<main class="container-xxl">
|
|
||||||
<div class="toc-offcanvas">
|
|
||||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
|
||||||
<div class="offcanvas-header">
|
|
||||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
|
||||||
</div>
|
|
||||||
<div class="offcanvas-body">
|
|
||||||
<nav class="toc" id="toc"></nav>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="content">
|
|
||||||
<div class="actionbar">
|
|
||||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
|
||||||
<i class="bi bi-list"></i>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<nav id="breadcrumb"></nav>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<article data-uid="Hi.Grpcs">
|
|
||||||
|
|
||||||
<h1 id="Hi_Grpcs" data-uid="Hi.Grpcs" class="text-break">Namespace Hi.Grpcs</h1>
|
|
||||||
<div class="markdown level0 summary"></div>
|
|
||||||
<div class="markdown level0 conceptual"></div>
|
|
||||||
<div class="markdown level0 remarks"></div>
|
|
||||||
|
|
||||||
<h3 id="classes">
|
|
||||||
Classes
|
|
||||||
</h3>
|
|
||||||
<dl class="jumplist">
|
|
||||||
<dt><a class="xref" href="Hi.Grpcs.ClStripService.html">ClStripService</a></dt>
|
|
||||||
<dd><p>milling process service based on dictionary data type.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="jumplist">
|
|
||||||
<dt><a class="xref" href="Hi.Grpcs.ClStripService.ClStripServiceBase.html">ClStripService.ClStripServiceBase</a></dt>
|
|
||||||
<dd><p>Base class for server-side implementations of ClStripService</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="jumplist">
|
|
||||||
<dt><a class="xref" href="Hi.Grpcs.ClStripService.ClStripServiceClient.html">ClStripService.ClStripServiceClient</a></dt>
|
|
||||||
<dd><p>Client for ClStripService</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="jumplist">
|
|
||||||
<dt><a class="xref" href="Hi.Grpcs.ClStripServiceReflection.html">ClStripServiceReflection</a></dt>
|
|
||||||
<dd><p>Holder for reflection information generated from Grpcs/ClStripService.proto</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="jumplist">
|
|
||||||
<dt><a class="xref" href="Hi.Grpcs.ClStripServiceRunner.html">ClStripServiceRunner</a></dt>
|
|
||||||
<dd><p>Service runner for the ClStrip gRPC service.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="jumplist">
|
|
||||||
<dt><a class="xref" href="Hi.Grpcs.DictionaryStep.html">DictionaryStep</a></dt>
|
|
||||||
<dd><p>step which data type is dictionary</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="jumplist">
|
|
||||||
<dt><a class="xref" href="Hi.Grpcs.PlayerService.html">PlayerService</a></dt>
|
|
||||||
<dd><p>numerical file player service.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="jumplist">
|
|
||||||
<dt><a class="xref" href="Hi.Grpcs.PlayerService.PlayerServiceBase.html">PlayerService.PlayerServiceBase</a></dt>
|
|
||||||
<dd><p>Base class for server-side implementations of PlayerService</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="jumplist">
|
|
||||||
<dt><a class="xref" href="Hi.Grpcs.PlayerService.PlayerServiceClient.html">PlayerService.PlayerServiceClient</a></dt>
|
|
||||||
<dd><p>Client for PlayerService</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="jumplist">
|
|
||||||
<dt><a class="xref" href="Hi.Grpcs.PlayerServiceReflection.html">PlayerServiceReflection</a></dt>
|
|
||||||
<dd><p>Holder for reflection information generated from Grpcs/PlayerService.proto</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="jumplist">
|
|
||||||
<dt><a class="xref" href="Hi.Grpcs.PlayerServiceRunner.html">PlayerServiceRunner</a></dt>
|
|
||||||
<dd><p>Service runner for the Player gRPC service.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
</article>
|
|
||||||
|
|
||||||
<div class="contribution d-print-none">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="affix">
|
|
||||||
<nav id="affix"></nav>
|
|
||||||
</div>
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<div class="container-xxl search-results" id="search-results"></div>
|
|
||||||
|
|
||||||
<footer class="border-top text-secondary">
|
|
||||||
<div class="container-xxl">
|
|
||||||
<div class="flex-fill">
|
|
||||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@ -155,6 +155,9 @@ Interface IMachiningEquipment
|
|||||||
<div>
|
<div>
|
||||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentUtil_AlignWorkpieceProgramZeroToIso_Hi_Machining_MachiningEquipmentUtils_IMachiningEquipment_Hi_Geom_Vec3d_">MachiningEquipmentUtil.AlignWorkpieceProgramZeroToIso(IMachiningEquipment, Vec3d)</a>
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<a class="xref" href="Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentUtil_GetIsoCoordinatePosition_Hi_Machining_MachiningEquipmentUtils_IMachiningEquipment_Hi_Geom_Vec3d_">MachiningEquipmentUtil.GetIsoCoordinatePosition(IMachiningEquipment, Vec3d)</a>
|
<a class="xref" href="Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentUtil_GetIsoCoordinatePosition_Hi_Machining_MachiningEquipmentUtils_IMachiningEquipment_Hi_Geom_Vec3d_">MachiningEquipmentUtil.GetIsoCoordinatePosition(IMachiningEquipment, Vec3d)</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -166,6 +166,9 @@ Class MachiningEquipment
|
|||||||
<div>
|
<div>
|
||||||
<a class="xref" href="Hi.Disp.DispUtil.html#Hi_Disp_DispUtil_Display_Hi_Disp_IDisplayee_Hi_Disp_Bind_Hi_Geom_Mat4d_">DispUtil.Display(IDisplayee, Bind, Mat4d)</a>
|
<a class="xref" href="Hi.Disp.DispUtil.html#Hi_Disp_DispUtil_Display_Hi_Disp_IDisplayee_Hi_Disp_Bind_Hi_Geom_Mat4d_">DispUtil.Display(IDisplayee, Bind, Mat4d)</a>
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentUtil_AlignWorkpieceProgramZeroToIso_Hi_Machining_MachiningEquipmentUtils_IMachiningEquipment_Hi_Geom_Vec3d_">MachiningEquipmentUtil.AlignWorkpieceProgramZeroToIso(IMachiningEquipment, Vec3d)</a>
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<a class="xref" href="Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentUtil_GetIsoCoordinatePosition_Hi_Machining_MachiningEquipmentUtils_IMachiningEquipment_Hi_Geom_Vec3d_">MachiningEquipmentUtil.GetIsoCoordinatePosition(IMachiningEquipment, Vec3d)</a>
|
<a class="xref" href="Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentUtil_GetIsoCoordinatePosition_Hi_Machining_MachiningEquipmentUtils_IMachiningEquipment_Hi_Geom_Vec3d_">MachiningEquipmentUtil.GetIsoCoordinatePosition(IMachiningEquipment, Vec3d)</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -153,6 +153,56 @@ Class MachiningEquipmentUtil
|
|||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentUtil_AlignWorkpieceProgramZeroToIso_" data-uid="Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.AlignWorkpieceProgramZeroToIso*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentUtil_AlignWorkpieceProgramZeroToIso_Hi_Machining_MachiningEquipmentUtils_IMachiningEquipment_Hi_Geom_Vec3d_" data-uid="Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.AlignWorkpieceProgramZeroToIso(Hi.Machining.MachiningEquipmentUtils.IMachiningEquipment,Hi.Geom.Vec3d)">
|
||||||
|
AlignWorkpieceProgramZeroToIso(IMachiningEquipment, Vec3d)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Places <a class="xref" href="Hi.Machining.MachiningEquipmentUtils.IMachiningEquipment.html#Hi_Machining_MachiningEquipmentUtils_IMachiningEquipment_Fixture">Fixture</a> under the kinematic
|
||||||
|
chain so that <a class="xref" href="Hi.NcMech.Workpieces.Workpiece.html#Hi_NcMech_Workpieces_Workpiece_ProgramZeroAnchor">ProgramZeroAnchor</a> coincides with
|
||||||
|
the world position the spindle reaches when the machine coordinate
|
||||||
|
equals <code class="paramref">isoOffset</code> (a G54/G55/… entry).</p>
|
||||||
|
<p>Other anchors (<a class="xref" href="Hi.NcMech.Workpieces.Workpiece.html#Hi_NcMech_Workpieces_Workpiece_FixtureBuckle">FixtureBuckle</a>,
|
||||||
|
<a class="xref" href="Hi.NcMech.Workpieces.Workpiece.html#Hi_NcMech_Workpieces_Workpiece_ProgramZeroAnchor">ProgramZeroAnchor</a>,
|
||||||
|
<a class="xref" href="Hi.NcMech.Fixtures.Fixture.html#Hi_NcMech_Fixtures_Fixture_WorkpieceBuckle">WorkpieceBuckle</a>) must already be at their intended
|
||||||
|
geometric positions (typically via the buckle “general rule”:
|
||||||
|
bottom/top centers of geom). Only
|
||||||
|
<a class="xref" href="Hi.NcMech.Fixtures.Fixture.html#Hi_NcMech_Fixtures_Fixture_GeomToTableTransformer">GeomToTableTransformer</a> is mutated.</p>
|
||||||
|
<p>Returns the assigned translation, or <code>null</code> when workpiece /
|
||||||
|
fixture / Xyzabc machine tool is missing.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public static Vec3d AlignWorkpieceProgramZeroToIso(this IMachiningEquipment equipment, Vec3d isoOffset)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>equipment</code> <a class="xref" href="Hi.Machining.MachiningEquipmentUtils.IMachiningEquipment.html">IMachiningEquipment</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
<dt><code>isoOffset</code> <a class="xref" href="Hi.Geom.Vec3d.html">Vec3d</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h4 class="section">Returns</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="Hi.Geom.Vec3d.html">Vec3d</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentUtil_GetIsoCoordinatePosition_" data-uid="Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.GetIsoCoordinatePosition*"></a>
|
<a id="Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentUtil_GetIsoCoordinatePosition_" data-uid="Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.GetIsoCoordinatePosition*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentUtil_GetIsoCoordinatePosition_Hi_Machining_MachiningEquipmentUtils_IMachiningEquipment_Hi_Geom_Vec3d_" data-uid="Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.GetIsoCoordinatePosition(Hi.Machining.MachiningEquipmentUtils.IMachiningEquipment,Hi.Geom.Vec3d)">
|
<h3 id="Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentUtil_GetIsoCoordinatePosition_Hi_Machining_MachiningEquipmentUtils_IMachiningEquipment_Hi_Geom_Vec3d_" data-uid="Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.GetIsoCoordinatePosition(Hi.Machining.MachiningEquipmentUtils.IMachiningEquipment,Hi.Geom.Vec3d)">
|
||||||
|
|||||||
@ -581,6 +581,41 @@ Class MachiningProject
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_MachiningProcs_MachiningProject_SoftNcRunnerFile_" data-uid="Hi.MachiningProcs.MachiningProject.SoftNcRunnerFile*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_MachiningProcs_MachiningProject_SoftNcRunnerFile" data-uid="Hi.MachiningProcs.MachiningProject.SoftNcRunnerFile">
|
||||||
|
SoftNcRunnerFile
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Gets or sets the project-relative file path of the <a class="xref" href="Hi.MachiningProcs.MachiningProject.html#Hi_MachiningProcs_MachiningProject_SoftNcRunner">SoftNcRunner</a>
|
||||||
|
XML. When non-null, <a class="xref" href="Hi.MachiningProcs.MachiningProject.html#Hi_MachiningProcs_MachiningProject_MakeXmlSource_System_String_System_String_System_Boolean_">MakeXmlSource(string, string, bool)</a> writes the runner to this
|
||||||
|
side file and embeds a file reference in the project XML; when null the
|
||||||
|
runner is inlined. Mirrors <a class="xref" href="Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipment_MachiningChainFile">MachiningChainFile</a>.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public string SoftNcRunnerFile { get; set; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_MachiningProcs_MachiningProject_TimeMapping_" data-uid="Hi.MachiningProcs.MachiningProject.TimeMapping*"></a>
|
<a id="Hi_MachiningProcs_MachiningProject_TimeMapping_" data-uid="Hi.MachiningProcs.MachiningProject.TimeMapping*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_MachiningProcs_MachiningProject_TimeMapping" data-uid="Hi.MachiningProcs.MachiningProject.TimeMapping">
|
<h3 id="Hi_MachiningProcs_MachiningProject_TimeMapping" data-uid="Hi.MachiningProcs.MachiningProject.TimeMapping">
|
||||||
|
|||||||
@ -156,9 +156,6 @@ Class MachiningProjectDisplayee
|
|||||||
<dl class="typelist extensionMethods">
|
<dl class="typelist extensionMethods">
|
||||||
<dt>Extension Methods</dt>
|
<dt>Extension Methods</dt>
|
||||||
<dd>
|
<dd>
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Disp.DispUtil.html#Hi_Disp_DispUtil_Display_Hi_Disp_IDisplayee_Hi_Disp_Bind_Hi_Geom_Mat4d_">DispUtil.Display(IDisplayee, Bind, Mat4d)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
<div>
|
||||||
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
||||||
</div>
|
</div>
|
||||||
@ -168,12 +165,6 @@ Class MachiningProjectDisplayee
|
|||||||
<div>
|
<div>
|
||||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Mech.Topo.TopoUtil.html#Hi_Mech_Topo_TopoUtil_Display_Hi_Mech_Topo_IGetAnchor_Hi_Disp_Bind_System_Collections_Generic_Dictionary_Hi_Mech_Topo_Anchor_Hi_Geom_Mat4d__">TopoUtil.Display(IGetAnchor, Bind, Dictionary<Anchor, Mat4d>)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Mech.Topo.TopoUtil.html#Hi_Mech_Topo_TopoUtil_ExpandToBox3d_Hi_Mech_Topo_IGetAnchor_Hi_Geom_Box3d_System_Collections_Generic_Dictionary_Hi_Mech_Topo_Anchor_Hi_Geom_Mat4d__">TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary<Anchor, Mat4d>)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
<div>
|
||||||
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -2292,6 +2292,49 @@ public FeedPerCycleMachiningMotionResolution AdjustedFeedPerCycle(double scale,
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_MachiningProcs_SessionShell_AlignWorkpieceProgramZeroToIso_" data-uid="Hi.MachiningProcs.SessionShell.AlignWorkpieceProgramZeroToIso*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_MachiningProcs_SessionShell_AlignWorkpieceProgramZeroToIso_System_String_" data-uid="Hi.MachiningProcs.SessionShell.AlignWorkpieceProgramZeroToIso(System.String)">
|
||||||
|
AlignWorkpieceProgramZeroToIso(string)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Places workpiece + fixture so that <a class="xref" href="Hi.NcMech.Workpieces.Workpiece.html#Hi_NcMech_Workpieces_Workpiece_ProgramZeroAnchor">ProgramZeroAnchor</a>
|
||||||
|
coincides with the world position the spindle reaches when the machine
|
||||||
|
coordinate equals <code class="paramref">isoCoordId</code>'s entry (G54/G55/...).
|
||||||
|
The buckle anchors must already be set per the general rule (typically by
|
||||||
|
the project XML): <a class="xref" href="Hi.NcMech.Workpieces.Workpiece.html#Hi_NcMech_Workpieces_Workpiece_FixtureBuckle">FixtureBuckle</a> at the bottom
|
||||||
|
center of the workpiece geom, <a class="xref" href="Hi.NcMech.Fixtures.Fixture.html#Hi_NcMech_Fixtures_Fixture_WorkpieceBuckle">WorkpieceBuckle</a> at the
|
||||||
|
top center of the fixture geom, <a class="xref" href="Hi.NcMech.Workpieces.Workpiece.html#Hi_NcMech_Workpieces_Workpiece_ProgramZeroAnchor">ProgramZeroAnchor</a>
|
||||||
|
at the workpiece-geom top center (or any chosen tip). Only
|
||||||
|
<a class="xref" href="Hi.NcMech.Fixtures.Fixture.html#Hi_NcMech_Fixtures_Fixture_GeomToTableTransformer">GeomToTableTransformer</a> is mutated. Delegates topology
|
||||||
|
math to <a class="xref" href="Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentUtil.html#Hi_Machining_MachiningEquipmentUtils_MachiningEquipmentUtil_AlignWorkpieceProgramZeroToIso_Hi_Machining_MachiningEquipmentUtils_IMachiningEquipment_Hi_Geom_Vec3d_">AlignWorkpieceProgramZeroToIso(IMachiningEquipment, Vec3d)</a>.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">[JsAce]
|
||||||
|
public void AlignWorkpieceProgramZeroToIso(string isoCoordId)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>isoCoordId</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd><p>ID into the IsoCoordinateTable, e.g. <code>“G54”</code>.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_MachiningProcs_SessionShell_AppendMessagesToFile_" data-uid="Hi.MachiningProcs.SessionShell.AppendMessagesToFile*"></a>
|
<a id="Hi_MachiningProcs_SessionShell_AppendMessagesToFile_" data-uid="Hi.MachiningProcs.SessionShell.AppendMessagesToFile*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_MachiningProcs_SessionShell_AppendMessagesToFile_System_String_System_String___" data-uid="Hi.MachiningProcs.SessionShell.AppendMessagesToFile(System.String,System.String[])">
|
<h3 id="Hi_MachiningProcs_SessionShell_AppendMessagesToFile_System_String_System_String___" data-uid="Hi.MachiningProcs.SessionShell.AppendMessagesToFile(System.String,System.String[])">
|
||||||
|
|||||||
@ -2,11 +2,11 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>Class UniversalNcService.UniversalNcServiceBase | HiAPI-C# 2025 </title>
|
<title>Interface IStepPropertyAccessHost | HiAPI-C# 2025 </title>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="title" content="Class UniversalNcService.UniversalNcServiceBase | HiAPI-C# 2025 ">
|
<meta name="title" content="Interface IStepPropertyAccessHost | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
<meta name="description" content="Base class for server-side implementations of UniversalNcService">
|
<meta name="description" content="Narrow host contract for accessing the step-variable registry and registering new step variables. Exposed as a dedicated surface so pipelines that only need step-variable wiring (e.g. ) do not have to depend on the broader .">
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
@ -84,70 +84,49 @@
|
|||||||
<nav id="breadcrumb"></nav>
|
<nav id="breadcrumb"></nav>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<article data-uid="numerical.UniversalNcService.UniversalNcServiceBase">
|
<article data-uid="Hi.MachiningSteps.IStepPropertyAccessHost">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1 id="numerical_UniversalNcService_UniversalNcServiceBase" data-uid="numerical.UniversalNcService.UniversalNcServiceBase" class="text-break">
|
<h1 id="Hi_MachiningSteps_IStepPropertyAccessHost" data-uid="Hi.MachiningSteps.IStepPropertyAccessHost" class="text-break">
|
||||||
Class UniversalNcService.UniversalNcServiceBase
|
Interface IStepPropertyAccessHost
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<div class="facts text-secondary">
|
<div class="facts text-secondary">
|
||||||
<dl><dt>Namespace</dt><dd><a class="xref" href="numerical.html">numerical</a></dd></dl>
|
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.MachiningSteps.html">MachiningSteps</a></dd></dl>
|
||||||
<dl><dt>Assembly</dt><dd>HiGeom.dll</dd></dl>
|
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="markdown summary"><p>Base class for server-side implementations of UniversalNcService</p>
|
<div class="markdown summary"><p>Narrow host contract for accessing the step-variable registry and registering
|
||||||
|
new step variables. Exposed as a dedicated surface so pipelines that only
|
||||||
|
need step-variable wiring (e.g. <a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSyntax.html">CsvRowSyntax</a>)
|
||||||
|
do not have to depend on the broader <a class="xref" href="Hi.MachiningSteps.IMachiningService.html">IMachiningService</a>.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown conceptual"></div>
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">[BindServiceMethod(typeof(UniversalNcService), "BindService")]
|
<pre><code class="lang-csharp hljs">public interface IStepPropertyAccessHost</code></pre>
|
||||||
public abstract class UniversalNcService.UniversalNcServiceBase</code></pre>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist inheritance">
|
|
||||||
<dt>Inheritance</dt>
|
|
||||||
<dd>
|
|
||||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
|
||||||
<div><span class="xref">UniversalNcService.UniversalNcServiceBase</span></div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist inheritedMembers">
|
|
||||||
<dt>Inherited Members</dt>
|
|
||||||
<dd>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
|
||||||
</div>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="typelist extensionMethods">
|
<dl class="typelist extensionMethods">
|
||||||
<dt>Extension Methods</dt>
|
<dt>Extension Methods</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
||||||
</div>
|
</div>
|
||||||
@ -160,52 +139,91 @@ public abstract class UniversalNcService.UniversalNcServiceBase</code></pre>
|
|||||||
<div>
|
<div>
|
||||||
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
|
||||||
</div>
|
|
||||||
</dd></dl>
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="properties">Properties
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_MachiningSteps_IStepPropertyAccessHost_StepPropertyAccessDictionary_" data-uid="Hi.MachiningSteps.IStepPropertyAccessHost.StepPropertyAccessDictionary*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_MachiningSteps_IStepPropertyAccessHost_StepPropertyAccessDictionary" data-uid="Hi.MachiningSteps.IStepPropertyAccessHost.StepPropertyAccessDictionary">
|
||||||
|
StepPropertyAccessDictionary
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Dictionary of step-property accessors keyed by property name. Used by
|
||||||
|
CSV title-row processing to decide whether a column already maps to a
|
||||||
|
reserved step property; new columns are registered via
|
||||||
|
<a class="xref" href="Hi.MachiningSteps.IStepPropertyAccessHost.html#Hi_MachiningSteps_IStepPropertyAccessHost_RegisterStepVariable_System_String_System_String_System_String_System_String_System_Func_Hi_MachiningSteps_MachiningStep_System_Object__">RegisterStepVariable(string, string, string, string, Func<MachiningStep, object>)</a>.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">ConcurrentDictionary<string, PropertyAccess<MachiningStep>> StepPropertyAccessDictionary { get; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.concurrent.concurrentdictionary-2">ConcurrentDictionary</a><<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>, <a class="xref" href="Hi.MachiningSteps.PropertyAccess-1.html">PropertyAccess</a><<a class="xref" href="Hi.MachiningSteps.MachiningStep.html">MachiningStep</a>>></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="methods">Methods
|
<h2 class="section" id="methods">Methods
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
<a id="numerical_UniversalNcService_UniversalNcServiceBase_GetNcStepGrpcCsvRowDictionary_" data-uid="numerical.UniversalNcService.UniversalNcServiceBase.GetNcStepGrpcCsvRowDictionary*"></a>
|
<a id="Hi_MachiningSteps_IStepPropertyAccessHost_RegisterStepVariable_" data-uid="Hi.MachiningSteps.IStepPropertyAccessHost.RegisterStepVariable*"></a>
|
||||||
|
|
||||||
<h3 id="numerical_UniversalNcService_UniversalNcServiceBase_GetNcStepGrpcCsvRowDictionary_numerical_GrpcNcStep_Grpc_Core_ServerCallContext_" data-uid="numerical.UniversalNcService.UniversalNcServiceBase.GetNcStepGrpcCsvRowDictionary(numerical.GrpcNcStep,Grpc.Core.ServerCallContext)">
|
<h3 id="Hi_MachiningSteps_IStepPropertyAccessHost_RegisterStepVariable_System_String_System_String_System_String_System_String_System_Func_Hi_MachiningSteps_MachiningStep_System_Object__" data-uid="Hi.MachiningSteps.IStepPropertyAccessHost.RegisterStepVariable(System.String,System.String,System.String,System.String,System.Func{Hi.MachiningSteps.MachiningStep,System.Object})">
|
||||||
GetNcStepGrpcCsvRowDictionary(GrpcNcStep, ServerCallContext)
|
RegisterStepVariable(string, string, string, string, Func<MachiningStep, object>)
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="markdown level1 summary"></div>
|
<div class="markdown level1 summary"><p>Registers a step variable so downstream components (strip charts,
|
||||||
|
CSV exports, scripting) can read it from <a class="xref" href="Hi.MachiningSteps.MachiningStep.html">MachiningStep</a>.
|
||||||
|
Idempotent on <code class="paramref">key</code>.</p>
|
||||||
|
</div>
|
||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public virtual Task<GrpcNcStep> GetNcStepGrpcCsvRowDictionary(GrpcNcStep request, ServerCallContext context)</code></pre>
|
<pre><code class="lang-csharp hljs">void RegisterStepVariable(string key, string name, string unit, string formatString, Func<MachiningStep, object> variableFunc = null)</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
<h4 class="section">Parameters</h4>
|
||||||
<dl class="parameters">
|
<dl class="parameters">
|
||||||
<dt><code>request</code> <a class="xref" href="numerical.GrpcNcStep.html">GrpcNcStep</a></dt>
|
<dt><code>key</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
<dd></dd>
|
<dd><p>Unique key.</p>
|
||||||
<dt><code>context</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ServerCallContext.cs">ServerCallContext</a></dt>
|
</dd>
|
||||||
<dd></dd>
|
<dt><code>name</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd><p>Human-readable name; may equal <code class="paramref">key</code>.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>unit</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd><p>Physical unit name (<code>PhysicsUnit</code>); nullable.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>formatString</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd><p>Display format string; nullable.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>variableFunc</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.func-2">Func</a><<a class="xref" href="Hi.MachiningSteps.MachiningStep.html">MachiningStep</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a>></dt>
|
||||||
|
<dd><p>Optional value extractor; nullable when the value comes from the step's flex dictionary.</p>
|
||||||
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task-1">Task</a><<a class="xref" href="numerical.GrpcNcStep.html">GrpcNcStep</a>></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -142,6 +142,14 @@ Interfaces
|
|||||||
<dl class="jumplist">
|
<dl class="jumplist">
|
||||||
<dt><a class="xref" href="Hi.MachiningSteps.IMachiningService.html">IMachiningService</a></dt>
|
<dt><a class="xref" href="Hi.MachiningSteps.IMachiningService.html">IMachiningService</a></dt>
|
||||||
<dd><p>Represents a host interface for milling steps that provides access to milling equipment and related resources.</p>
|
<dd><p>Represents a host interface for milling steps that provides access to milling equipment and related resources.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="jumplist">
|
||||||
|
<dt><a class="xref" href="Hi.MachiningSteps.IStepPropertyAccessHost.html">IStepPropertyAccessHost</a></dt>
|
||||||
|
<dd><p>Narrow host contract for accessing the step-variable registry and registering
|
||||||
|
new step variables. Exposed as a dedicated surface so pipelines that only
|
||||||
|
need step-variable wiring (e.g. <a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSyntax.html">CsvRowSyntax</a>)
|
||||||
|
do not have to depend on the broader <a class="xref" href="Hi.MachiningSteps.IMachiningService.html">IMachiningService</a>.</p>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="title" content="Class CodeXyzabcMachineTool | HiAPI-C# 2025 ">
|
<meta name="title" content="Class CodeXyzabcMachineTool | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
<meta name="description" content="For legacy compatible. Use instead.">
|
<meta name="description" content="This machine tool class helps very quick test by the code configuration. For general/end-user use, apply instead.">
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
@ -97,7 +97,8 @@ Class CodeXyzabcMachineTool
|
|||||||
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="markdown summary"><p>For legacy compatible. Use <a class="xref" href="Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.html">GeneralXyzabcMachineTool</a> instead.</p>
|
<div class="markdown summary"><p>This machine tool class helps very quick test by the code configuration.
|
||||||
|
For general/end-user use, apply <a class="xref" href="Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.html">GeneralXyzabcMachineTool</a> instead.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown conceptual"></div>
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
|
|||||||
@ -96,7 +96,8 @@ Classes
|
|||||||
</h3>
|
</h3>
|
||||||
<dl class="jumplist">
|
<dl class="jumplist">
|
||||||
<dt><a class="xref" href="Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.html">CodeXyzabcMachineTool</a></dt>
|
<dt><a class="xref" href="Hi.NcMech.Xyzabc.CodeXyzabcMachineTool.html">CodeXyzabcMachineTool</a></dt>
|
||||||
<dd><p>For legacy compatible. Use <a class="xref" href="Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.html">GeneralXyzabcMachineTool</a> instead.</p>
|
<dd><p>This machine tool class helps very quick test by the code configuration.
|
||||||
|
For general/end-user use, apply <a class="xref" href="Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.html">GeneralXyzabcMachineTool</a> instead.</p>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="jumplist">
|
<dl class="jumplist">
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="title" content="Class FanucGotoIterationDependency | HiAPI-C# 2025 ">
|
<meta name="title" content="Class FanucGotoIterationDependency | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
<meta name="description" content="Watchdog for Fanuc Custom Macro B GOTO loops. Holds a 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 ( — not serialised, cleared at session start by ). 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 rather than because nothing outside the syntax pipeline writes it; 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 — 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 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.">
|
<meta name="description" content="Watchdog for Fanuc Custom Macro B GOTO loops. Holds a 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 ( — not serialised, cleared at session start by the sweep in ). 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 rather than because nothing outside the syntax pipeline writes it; is the session-init hook the runner invokes through , 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 — 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 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.">
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
@ -102,7 +102,8 @@ Class FanucGotoIterationDependency
|
|||||||
the soft cap above which the upcoming
|
the soft cap above which the upcoming
|
||||||
<code>FanucGotoSyntax</code> stops firing and emits a warning) plus a
|
<code>FanucGotoSyntax</code> stops firing and emits a warning) plus a
|
||||||
runtime per-target hit counter (<a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_CountByTarget">CountByTarget</a> — not
|
runtime per-target hit counter (<a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_CountByTarget">CountByTarget</a> — not
|
||||||
serialised, cleared at session start by
|
serialised, cleared at session start by the
|
||||||
|
<a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a> sweep in
|
||||||
<a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a>).</p>
|
<a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a>).</p>
|
||||||
<p>
|
<p>
|
||||||
The dependency is syntax-managed: <code>FanucGotoSyntax</code> reads the
|
The dependency is syntax-managed: <code>FanucGotoSyntax</code> reads the
|
||||||
@ -110,8 +111,9 @@ limit, increments the counter, and decides whether to fire. There is
|
|||||||
no host <code>Func</code> provider — the dep is placed in
|
no host <code>Func</code> provider — the dep is placed in
|
||||||
<a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.html">Hi.NcParsers.Dependencys.Fanuc</a> rather than
|
<a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.html">Hi.NcParsers.Dependencys.Fanuc</a> rather than
|
||||||
<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.html">Hi.NcParsers.Dependencys.SystemWired</a> because nothing outside the
|
<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.html">Hi.NcParsers.Dependencys.SystemWired</a> because nothing outside the
|
||||||
syntax pipeline writes it; <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_Reset">Reset()</a> is a plain method call
|
syntax pipeline writes it; <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_OnSessionReset">OnSessionReset()</a> is the
|
||||||
the runner invokes, not a host-wired Func.
|
session-init hook the runner invokes through
|
||||||
|
<a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a>, not a host-wired Func.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The counter key is <code>(FileName, TargetN)</code> where <code>FileName</code>
|
The counter key is <code>(FileName, TargetN)</code> where <code>FileName</code>
|
||||||
@ -134,7 +136,7 @@ the project XML.
|
|||||||
<div class="markdown conceptual"></div>
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public class FanucGotoIterationDependency : INcDependency, IMakeXmlSource</code></pre>
|
<pre><code class="lang-csharp hljs">public class FanucGotoIterationDependency : INcDependency, IMakeXmlSource, ISessionResettable</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@ -153,6 +155,7 @@ the project XML.
|
|||||||
<dd>
|
<dd>
|
||||||
<div><a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a></div>
|
<div><a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a></div>
|
||||||
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
|
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
|
||||||
|
<div><a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a></div>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
@ -327,8 +330,8 @@ hit it fast.</p>
|
|||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Per-target hit counter keyed by <code>(FileName, TargetN)</code>.
|
<div class="markdown level1 summary"><p>Per-target hit counter keyed by <code>(FileName, TargetN)</code>.
|
||||||
Runtime-only; not serialised. Cleared by <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_Reset">Reset()</a> on
|
Runtime-only; not serialised. Cleared by <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_OnSessionReset">OnSessionReset()</a>
|
||||||
the session-init edge so a brand-preset runner reused across
|
on the session-init edge so a brand-preset runner reused across
|
||||||
sessions does not leak counts.</p>
|
sessions does not leak counts.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
@ -477,6 +480,33 @@ Since the folder can be moving with the configuration file.</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_OnSessionReset_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.OnSessionReset*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_OnSessionReset" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.OnSessionReset">
|
||||||
|
OnSessionReset()
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Clears <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_CountByTarget">CountByTarget</a>; leaves <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_MaxIterationsPerTarget">MaxIterationsPerTarget</a> untouched.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public void OnSessionReset()</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_Reg_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.Reg*"></a>
|
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_Reg_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.Reg*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.Reg(Hi.Common.XmlUtils.XFactory)">
|
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.Reg(Hi.Common.XmlUtils.XFactory)">
|
||||||
@ -511,33 +541,6 @@ Since the folder can be moving with the configuration file.</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_Reset_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.Reset*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_Reset" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.Reset">
|
|
||||||
Reset()
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Clears <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_CountByTarget">CountByTarget</a>; leaves <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_MaxIterationsPerTarget">MaxIterationsPerTarget</a> untouched.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public void Reset()</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,559 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Class FanucWhileDoIterationDependency | HiAPI-C# 2025 </title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="title" content="Class FanucWhileDoIterationDependency | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
|
<meta name="description" content="Watchdog for Fanuc Custom Macro B WHILE/END m bounded loops. Sibling to with the same &ldquo;soft-cap + runtime counter + session-init &rdquo; shape, but kept as a separate dep (rather than sharing the GOTO bucket) so loop and jump iteration limits can be tuned independently and so diagnostic codes do not cross. The counter key is (FileName, LoopId) where FileName is the source-level file path of the WHILE/END pair (the relative path form carried on ). Source-level keying means multiple inline invocations of the same subprogram pool their counts (same source-code loop), while two different files each with their own WHILE DO 1 stay isolated. The consuming syntax () increments the counter at the END m reverse-jump step — not on the WHILE entry — so a loop that exits on first WHILE evaluation (condition false from the outset) consumes zero iterations. Above , the END m block emits a warning and suppresses the redirect; subsequent flow falls through past END. Default is 10000 — higher than the GOTO equivalent (1000) because WHILE/END is the legitimate iteration primitive that NcOpt-generated programs (drill grids, adaptive sweeps) depend on, and 1000 is too tight for those.">
|
||||||
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
|
<meta name="docfx:navrel" content="../toc.html">
|
||||||
|
<meta name="docfx:tocrel" content="toc.html">
|
||||||
|
|
||||||
|
<meta name="docfx:rel" content="../">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta name="loc:inThisArticle" content="In this article">
|
||||||
|
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||||
|
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||||
|
<meta name="loc:tocFilter" content="Filter by title">
|
||||||
|
<meta name="loc:nextArticle" content="Next">
|
||||||
|
<meta name="loc:prevArticle" content="Previous">
|
||||||
|
<meta name="loc:themeLight" content="Light">
|
||||||
|
<meta name="loc:themeDark" content="Dark">
|
||||||
|
<meta name="loc:themeAuto" content="Auto">
|
||||||
|
<meta name="loc:changeTheme" content="Change theme">
|
||||||
|
<meta name="loc:copy" content="Copy">
|
||||||
|
<meta name="loc:downloadPdf" content="Download PDF">
|
||||||
|
|
||||||
|
<script type="module" src="./../public/docfx.min.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const theme = localStorage.getItem('theme') || 'auto'
|
||||||
|
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
||||||
|
<header class="bg-body border-bottom">
|
||||||
|
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||||
|
<div class="container-xxl flex-nowrap">
|
||||||
|
<a class="navbar-brand" href="../index.html">
|
||||||
|
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
||||||
|
|
||||||
|
</a>
|
||||||
|
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<i class="bi bi-three-dots"></i>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navpanel">
|
||||||
|
<div id="navbar">
|
||||||
|
<form class="search" role="search" id="search">
|
||||||
|
<i class="bi bi-search"></i>
|
||||||
|
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<main class="container-xxl">
|
||||||
|
<div class="toc-offcanvas">
|
||||||
|
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||||
|
<div class="offcanvas-header">
|
||||||
|
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="offcanvas-body">
|
||||||
|
<nav class="toc" id="toc"></nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
<div class="actionbar">
|
||||||
|
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||||
|
<i class="bi bi-list"></i>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<nav id="breadcrumb"></nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<article data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency" class="text-break">
|
||||||
|
Class FanucWhileDoIterationDependency
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="facts text-secondary">
|
||||||
|
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.NcParsers.html">NcParsers</a>.<a class="xref" href="Hi.NcParsers.Dependencys.html">Dependencys</a>.<a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.html">Fanuc</a></dd></dl>
|
||||||
|
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="markdown summary"><p>Watchdog for Fanuc Custom Macro B WHILE/END m bounded loops. Sibling
|
||||||
|
to <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html">FanucGotoIterationDependency</a> with the same
|
||||||
|
“soft-cap + runtime counter + session-init <a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a>”
|
||||||
|
shape, but kept as a separate dep (rather than sharing the GOTO
|
||||||
|
bucket) so loop and jump iteration limits can be tuned independently
|
||||||
|
and so diagnostic codes do not cross.</p>
|
||||||
|
<p>
|
||||||
|
The counter key is <code>(FileName, LoopId)</code> where <code>FileName</code>
|
||||||
|
is the source-level file path of the WHILE/END pair (the relative
|
||||||
|
path form carried on <a class="xref" href="Hi.NcParsers.Sentence.html#Hi_NcParsers_Sentence_FilePath">FilePath</a>). Source-level
|
||||||
|
keying means multiple inline invocations of the same subprogram
|
||||||
|
pool their counts (same source-code loop), while two different files
|
||||||
|
each with their own <code>WHILE DO 1</code> stay isolated.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The consuming syntax (<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.html">FanucWhileDoSyntax</a>)
|
||||||
|
increments the counter at the END m reverse-jump step — not on the
|
||||||
|
WHILE entry — so a loop that exits on first WHILE evaluation
|
||||||
|
(condition false from the outset) consumes zero iterations. Above
|
||||||
|
<a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_MaxIterationsPerLoopId">MaxIterationsPerLoopId</a>, the END m block emits a warning
|
||||||
|
and suppresses the redirect; subsequent flow falls through past END.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Default <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_MaxIterationsPerLoopId">MaxIterationsPerLoopId</a> is 10000 — higher than
|
||||||
|
the GOTO equivalent (1000) because WHILE/END is the legitimate
|
||||||
|
iteration primitive that NcOpt-generated programs (drill grids,
|
||||||
|
adaptive sweeps) depend on, and 1000 is too tight for those.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public class FanucWhileDoIterationDependency : INcDependency, IMakeXmlSource, ISessionResettable</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<dl class="typelist inheritance">
|
||||||
|
<dt>Inheritance</dt>
|
||||||
|
<dd>
|
||||||
|
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||||
|
<div><span class="xref">FanucWhileDoIterationDependency</span></div>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<dl class="typelist implements">
|
||||||
|
<dt>Implements</dt>
|
||||||
|
<dd>
|
||||||
|
<div><a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a></div>
|
||||||
|
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
|
||||||
|
<div><a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a></div>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
<dl class="typelist inheritedMembers">
|
||||||
|
<dt>Inherited Members</dt>
|
||||||
|
<dd>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||||
|
</div>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="typelist extensionMethods">
|
||||||
|
<dt>Extension Methods</dt>
|
||||||
|
<dd>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
||||||
|
</div>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="constructors">Constructors
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency__ctor_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.#ctor*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency__ctor" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.#ctor">
|
||||||
|
FanucWhileDoIterationDependency()
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Initializes a new instance with the default limit and an empty counter.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public FanucWhileDoIterationDependency()</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency__ctor_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.#ctor*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency__ctor_System_Xml_Linq_XElement_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.#ctor(System.Xml.Linq.XElement)">
|
||||||
|
FanucWhileDoIterationDependency(XElement)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Loads <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_MaxIterationsPerLoopId">MaxIterationsPerLoopId</a> from XML produced by <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_MakeXmlSource_System_String_System_String_System_Boolean_">MakeXmlSource(string, string, bool)</a>; absent element falls back to <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_DefaultMaxIterationsPerLoopId">DefaultMaxIterationsPerLoopId</a>.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public FanucWhileDoIterationDependency(XElement src)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>src</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a></dt>
|
||||||
|
<dd><p>Root element named <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_XName">XName</a>.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="fields">Fields
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_DefaultMaxIterationsPerLoopId" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.DefaultMaxIterationsPerLoopId">
|
||||||
|
DefaultMaxIterationsPerLoopId
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Default for <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_MaxIterationsPerLoopId">MaxIterationsPerLoopId</a>. Sized for
|
||||||
|
legitimate macro iteration (NcOpt drill grids, calibration
|
||||||
|
sweeps) while still catching runaway loops in a tractable time.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public const int DefaultMaxIterationsPerLoopId = 10000</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Field Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="properties">Properties
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_CountByLoop_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.CountByLoop*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_CountByLoop" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.CountByLoop">
|
||||||
|
CountByLoop
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Per-loop hit counter keyed by <code>(FileName, LoopId)</code>.
|
||||||
|
Runtime-only; not serialised. Cleared by <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_OnSessionReset">OnSessionReset()</a>
|
||||||
|
on the session-init edge so a brand-preset runner reused across
|
||||||
|
sessions does not leak counts.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public Dictionary<(string FileName, int LoopId), int> CountByLoop { get; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.dictionary-2">Dictionary</a><(<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.valuetuple-system.string,system.int32-.filename">FileName</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.valuetuple-system.string,system.int32-.targetn">TargetN</a>), <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a>></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_MaxIterationsPerLoopId_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.MaxIterationsPerLoopId*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_MaxIterationsPerLoopId" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.MaxIterationsPerLoopId">
|
||||||
|
MaxIterationsPerLoopId
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Soft cap on consecutive END m reverse-jumps for any single
|
||||||
|
<code>(FileName, LoopId)</code> pair. Above this the END m block emits
|
||||||
|
<code>FanucWhileDo–IterationLimitExceeded</code> and suppresses the
|
||||||
|
redirect; flow falls through past END.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public int MaxIterationsPerLoopId { get; set; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_XName_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.XName*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_XName" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.XName">
|
||||||
|
XName
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>XML element name used to register this dependency with <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a>.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public static string XName { get; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="methods">Methods
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_MakeXmlSource_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.MakeXmlSource*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_MakeXmlSource_System_String_System_String_System_Boolean_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.MakeXmlSource(System.String,System.String,System.Boolean)">
|
||||||
|
MakeXmlSource(string, string, bool)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Creates an XML representation of the object.
|
||||||
|
This method may also generate additional resources such as related files.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>baseDirectory</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd><p>The base directory for resolving relative paths</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>relFile</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd><p>The relative file path for the XML source</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>exhibitionOnly</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
|
||||||
|
<dd><p>if true, the extended file creation is suppressed.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h4 class="section">Returns</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a></dt>
|
||||||
|
<dd><p>An XML element representing the object's state</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section" id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_MakeXmlSource_System_String_System_String_System_Boolean__remarks">Remarks</h4>
|
||||||
|
<div class="markdown level1 remarks"><p>For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied.
|
||||||
|
The <code class="paramref">baseDirectory</code> is typically the folder at the nearest configuration file folder.
|
||||||
|
Since the folder can be moving with the configuration file.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_OnSessionReset_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.OnSessionReset*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_OnSessionReset" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.OnSessionReset">
|
||||||
|
OnSessionReset()
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Clears <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_CountByLoop">CountByLoop</a>; leaves <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_MaxIterationsPerLoopId">MaxIterationsPerLoopId</a> untouched.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public void OnSessionReset()</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_Reg_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.Reg*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.Reg(Hi.Common.XmlUtils.XFactory)">
|
||||||
|
Reg(XFactory)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Registers this type's deserializer with the given <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a>
|
||||||
|
(or <a class="xref" href="Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Default">Default</a> when <code class="paramref">factory</code> is
|
||||||
|
<code>null</code>). Idempotent.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public static void Reg(XFactory factory = null)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>factory</code> <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<div class="contribution d-print-none">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="affix">
|
||||||
|
<nav id="affix"></nav>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<div class="container-xxl search-results" id="search-results"></div>
|
||||||
|
|
||||||
|
<footer class="border-top text-secondary">
|
||||||
|
<div class="container-xxl">
|
||||||
|
<div class="flex-fill">
|
||||||
|
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -101,7 +101,8 @@ Classes
|
|||||||
the soft cap above which the upcoming
|
the soft cap above which the upcoming
|
||||||
<code>FanucGotoSyntax</code> stops firing and emits a warning) plus a
|
<code>FanucGotoSyntax</code> stops firing and emits a warning) plus a
|
||||||
runtime per-target hit counter (<a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_CountByTarget">CountByTarget</a> — not
|
runtime per-target hit counter (<a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_CountByTarget">CountByTarget</a> — not
|
||||||
serialised, cleared at session start by
|
serialised, cleared at session start by the
|
||||||
|
<a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a> sweep in
|
||||||
<a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a>).</p>
|
<a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a>).</p>
|
||||||
<p>
|
<p>
|
||||||
The dependency is syntax-managed: <code>FanucGotoSyntax</code> reads the
|
The dependency is syntax-managed: <code>FanucGotoSyntax</code> reads the
|
||||||
@ -109,8 +110,9 @@ limit, increments the counter, and decides whether to fire. There is
|
|||||||
no host <code>Func</code> provider — the dep is placed in
|
no host <code>Func</code> provider — the dep is placed in
|
||||||
<a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.html">Hi.NcParsers.Dependencys.Fanuc</a> rather than
|
<a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.html">Hi.NcParsers.Dependencys.Fanuc</a> rather than
|
||||||
<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.html">Hi.NcParsers.Dependencys.SystemWired</a> because nothing outside the
|
<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.html">Hi.NcParsers.Dependencys.SystemWired</a> because nothing outside the
|
||||||
syntax pipeline writes it; <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_Reset">Reset()</a> is a plain method call
|
syntax pipeline writes it; <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucGotoIterationDependency_OnSessionReset">OnSessionReset()</a> is the
|
||||||
the runner invokes, not a host-wired Func.
|
session-init hook the runner invokes through
|
||||||
|
<a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a>, not a host-wired Func.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The counter key is <code>(FileName, TargetN)</code> where <code>FileName</code>
|
The counter key is <code>(FileName, TargetN)</code> where <code>FileName</code>
|
||||||
@ -174,6 +176,38 @@ long-lived data, only the Fanuc-style id addressing scheme. The
|
|||||||
underlying <a class="xref" href="Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.html">ToolOffsetTable</a> still lives in
|
underlying <a class="xref" href="Hi.NcParsers.Dependencys.Generic.ToolOffsetTable.html">ToolOffsetTable</a> still lives in
|
||||||
<code>NcDependencyList</code> as the data dependency.
|
<code>NcDependencyList</code> as the data dependency.
|
||||||
</p>
|
</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="jumplist">
|
||||||
|
<dt><a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.html">FanucWhileDoIterationDependency</a></dt>
|
||||||
|
<dd><p>Watchdog for Fanuc Custom Macro B WHILE/END m bounded loops. Sibling
|
||||||
|
to <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html">FanucGotoIterationDependency</a> with the same
|
||||||
|
“soft-cap + runtime counter + session-init <a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a>”
|
||||||
|
shape, but kept as a separate dep (rather than sharing the GOTO
|
||||||
|
bucket) so loop and jump iteration limits can be tuned independently
|
||||||
|
and so diagnostic codes do not cross.</p>
|
||||||
|
<p>
|
||||||
|
The counter key is <code>(FileName, LoopId)</code> where <code>FileName</code>
|
||||||
|
is the source-level file path of the WHILE/END pair (the relative
|
||||||
|
path form carried on <a class="xref" href="Hi.NcParsers.Sentence.html#Hi_NcParsers_Sentence_FilePath">FilePath</a>). Source-level
|
||||||
|
keying means multiple inline invocations of the same subprogram
|
||||||
|
pool their counts (same source-code loop), while two different files
|
||||||
|
each with their own <code>WHILE DO 1</code> stay isolated.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The consuming syntax (<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.html">FanucWhileDoSyntax</a>)
|
||||||
|
increments the counter at the END m reverse-jump step — not on the
|
||||||
|
WHILE entry — so a loop that exits on first WHILE evaluation
|
||||||
|
(condition false from the outset) consumes zero iterations. Above
|
||||||
|
<a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_MaxIterationsPerLoopId">MaxIterationsPerLoopId</a>, the END m block emits a warning
|
||||||
|
and suppresses the redirect; subsequent flow falls through past END.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Default <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_MaxIterationsPerLoopId">MaxIterationsPerLoopId</a> is 10000 — higher than
|
||||||
|
the GOTO equivalent (1000) because WHILE/END is the legitimate
|
||||||
|
iteration primitive that NcOpt-generated programs (drill grids,
|
||||||
|
adaptive sweeps) depend on, and 1000 is too tight for those.
|
||||||
|
</p>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="jumplist">
|
<dl class="jumplist">
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="title" content="Class FileIndexCounterDependency | HiAPI-C# 2025 ">
|
<meta name="title" content="Class FileIndexCounterDependency | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
<meta name="description" content="Per-session monotonically-increasing file index allocator. Holds the counter as a private field; returns the next unused value and increments. rewinds to 0 — the owning calls on the same edge that initializes a fresh , so a controller power-reset clears both the syntax-piece pipeline and this counter in lock-step. Two consumers share one allocator: allocates one index per top-level NC file that streams through the runner. 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 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.">
|
<meta name="description" content="Per-session monotonically-increasing file index allocator. Holds the counter as a private field; returns the next unused value and increments. rewinds to 0 — the owning invokes it via the sweep on the same edge that initializes a fresh , so a controller power-reset clears both the syntax-piece pipeline and this counter in lock-step. Two consumers share one allocator: allocates one index per top-level NC file that streams through the runner. 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 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.">
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
@ -99,12 +99,12 @@ Class FileIndexCounterDependency
|
|||||||
|
|
||||||
<div class="markdown summary"><p>Per-session monotonically-increasing file index allocator. Holds the
|
<div class="markdown summary"><p>Per-session monotonically-increasing file index allocator. Holds the
|
||||||
counter as a private field; <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Allocate">Allocate()</a> returns the next
|
counter as a private field; <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Allocate">Allocate()</a> returns the next
|
||||||
unused value and increments. <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reset">Reset()</a> rewinds to 0 — the
|
unused value and increments. <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_OnSessionReset">OnSessionReset()</a> rewinds to 0 —
|
||||||
owning <a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a> calls
|
the owning <a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a> invokes it via
|
||||||
<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reset">Reset()</a> on the same edge that initializes a fresh
|
the <a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a> sweep on the same edge that
|
||||||
<a class="xref" href="Hi.MachiningProcs.NcRunnerSessionState.html">NcRunnerSessionState</a>, so a controller
|
initializes a fresh <a class="xref" href="Hi.MachiningProcs.NcRunnerSessionState.html">NcRunnerSessionState</a>,
|
||||||
power-reset clears both the syntax-piece pipeline and this counter
|
so a controller power-reset clears both the syntax-piece pipeline and
|
||||||
in lock-step.</p>
|
this counter in lock-step.</p>
|
||||||
<p>
|
<p>
|
||||||
Two consumers share one allocator:
|
Two consumers share one allocator:
|
||||||
<ul><li><a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a> allocates one
|
<ul><li><a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a> allocates one
|
||||||
@ -123,7 +123,7 @@ from session-state visibility.
|
|||||||
<div class="markdown conceptual"></div>
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public class FileIndexCounterDependency : INcDependency, IMakeXmlSource</code></pre>
|
<pre><code class="lang-csharp hljs">public class FileIndexCounterDependency : INcDependency, IMakeXmlSource, ISessionResettable</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@ -142,6 +142,7 @@ from session-state visibility.
|
|||||||
<dd>
|
<dd>
|
||||||
<div><a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a></div>
|
<div><a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a></div>
|
||||||
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
|
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
|
||||||
|
<div><a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a></div>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
@ -281,7 +282,7 @@ from session-state visibility.
|
|||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Returns the next unused file index and post-increments the
|
<div class="markdown level1 summary"><p>Returns the next unused file index and post-increments the
|
||||||
counter. First call after construction or <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reset">Reset()</a>
|
counter. First call after construction or <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_OnSessionReset">OnSessionReset()</a>
|
||||||
returns 0.</p>
|
returns 0.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
@ -351,6 +352,38 @@ the counter implicitly reset to 0.</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_OnSessionReset_" data-uid="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.OnSessionReset*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_OnSessionReset" data-uid="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.OnSessionReset">
|
||||||
|
OnSessionReset()
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Rewinds the counter to 0. Called by
|
||||||
|
<a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a> via the
|
||||||
|
<a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a> sweep 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.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public void OnSessionReset()</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reg_" data-uid="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.Reg*"></a>
|
<a id="Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reg_" data-uid="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.Reg*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.Reg(Hi.Common.XmlUtils.XFactory)">
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.Reg(Hi.Common.XmlUtils.XFactory)">
|
||||||
@ -385,37 +418,6 @@ the counter implicitly reset to 0.</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reset_" data-uid="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.Reset*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reset" data-uid="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.Reset">
|
|
||||||
Reset()
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Rewinds the counter to 0. Called by
|
|
||||||
<a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a> 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.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public void Reset()</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,459 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Class MachiningServiceDependency | HiAPI-C# 2025 </title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="title" content="Class MachiningServiceDependency | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
|
<meta name="description" content="Exposes the full surface to NC pipeline components — currently provided for client-authored syntaxes / semantics that need broad host access (machining equipment, session, tool house, time mapping, …). The built-in CSV pipeline does not consume this dependency; it uses the narrower instead.">
|
||||||
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
|
<meta name="docfx:navrel" content="../toc.html">
|
||||||
|
<meta name="docfx:tocrel" content="toc.html">
|
||||||
|
|
||||||
|
<meta name="docfx:rel" content="../">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta name="loc:inThisArticle" content="In this article">
|
||||||
|
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||||
|
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||||
|
<meta name="loc:tocFilter" content="Filter by title">
|
||||||
|
<meta name="loc:nextArticle" content="Next">
|
||||||
|
<meta name="loc:prevArticle" content="Previous">
|
||||||
|
<meta name="loc:themeLight" content="Light">
|
||||||
|
<meta name="loc:themeDark" content="Dark">
|
||||||
|
<meta name="loc:themeAuto" content="Auto">
|
||||||
|
<meta name="loc:changeTheme" content="Change theme">
|
||||||
|
<meta name="loc:copy" content="Copy">
|
||||||
|
<meta name="loc:downloadPdf" content="Download PDF">
|
||||||
|
|
||||||
|
<script type="module" src="./../public/docfx.min.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const theme = localStorage.getItem('theme') || 'auto'
|
||||||
|
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
||||||
|
<header class="bg-body border-bottom">
|
||||||
|
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||||
|
<div class="container-xxl flex-nowrap">
|
||||||
|
<a class="navbar-brand" href="../index.html">
|
||||||
|
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
||||||
|
|
||||||
|
</a>
|
||||||
|
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<i class="bi bi-three-dots"></i>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navpanel">
|
||||||
|
<div id="navbar">
|
||||||
|
<form class="search" role="search" id="search">
|
||||||
|
<i class="bi bi-search"></i>
|
||||||
|
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<main class="container-xxl">
|
||||||
|
<div class="toc-offcanvas">
|
||||||
|
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||||
|
<div class="offcanvas-header">
|
||||||
|
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="offcanvas-body">
|
||||||
|
<nav class="toc" id="toc"></nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
<div class="actionbar">
|
||||||
|
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||||
|
<i class="bi bi-list"></i>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<nav id="breadcrumb"></nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<article data-uid="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="Hi_NcParsers_Dependencys_SystemWired_MachiningServiceDependency" data-uid="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency" class="text-break">
|
||||||
|
Class MachiningServiceDependency
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="facts text-secondary">
|
||||||
|
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.NcParsers.html">NcParsers</a>.<a class="xref" href="Hi.NcParsers.Dependencys.html">Dependencys</a>.<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.html">SystemWired</a></dd></dl>
|
||||||
|
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="markdown summary"><p>Exposes the full <a class="xref" href="Hi.MachiningSteps.IMachiningService.html">IMachiningService</a> surface to NC pipeline
|
||||||
|
components — currently provided for client-authored syntaxes / semantics
|
||||||
|
that need broad host access (machining equipment, session, tool house,
|
||||||
|
time mapping, …). The built-in CSV pipeline does not consume this
|
||||||
|
dependency; it uses the narrower
|
||||||
|
<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.html">StepPropertyAccessDictionaryDependency</a> instead.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public class MachiningServiceDependency : INcDependency, IMakeXmlSource</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<dl class="typelist inheritance">
|
||||||
|
<dt>Inheritance</dt>
|
||||||
|
<dd>
|
||||||
|
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||||
|
<div><span class="xref">MachiningServiceDependency</span></div>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<dl class="typelist implements">
|
||||||
|
<dt>Implements</dt>
|
||||||
|
<dd>
|
||||||
|
<div><a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a></div>
|
||||||
|
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
<dl class="typelist inheritedMembers">
|
||||||
|
<dt>Inherited Members</dt>
|
||||||
|
<dd>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||||
|
</div>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="typelist extensionMethods">
|
||||||
|
<dt>Extension Methods</dt>
|
||||||
|
<dd>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
||||||
|
</div>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="constructors">Constructors
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_SystemWired_MachiningServiceDependency__ctor_" data-uid="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.#ctor*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_MachiningServiceDependency__ctor" data-uid="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.#ctor">
|
||||||
|
MachiningServiceDependency()
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Initializes a new instance with no <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.html#Hi_NcParsers_Dependencys_SystemWired_MachiningServiceDependency_ServiceProvider">ServiceProvider</a>; the host wires one before queries.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public MachiningServiceDependency()</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_SystemWired_MachiningServiceDependency__ctor_" data-uid="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.#ctor*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_MachiningServiceDependency__ctor_System_Func_Hi_MachiningSteps_IMachiningService__" data-uid="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.#ctor(System.Func{Hi.MachiningSteps.IMachiningService})">
|
||||||
|
MachiningServiceDependency(Func<IMachiningService>)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Initializes a new instance with the given <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.html#Hi_NcParsers_Dependencys_SystemWired_MachiningServiceDependency_ServiceProvider">ServiceProvider</a>.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public MachiningServiceDependency(Func<IMachiningService> provider)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>provider</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.func-1">Func</a><<a class="xref" href="Hi.MachiningSteps.IMachiningService.html">IMachiningService</a>></dt>
|
||||||
|
<dd><p>Delegate that resolves the live service at lookup time.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="properties">Properties
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_SystemWired_MachiningServiceDependency_Service_" data-uid="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.Service*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_MachiningServiceDependency_Service" data-uid="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.Service">
|
||||||
|
Service
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>The live machining service, or null when <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.html#Hi_NcParsers_Dependencys_SystemWired_MachiningServiceDependency_ServiceProvider">ServiceProvider</a> is unset or returns null.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public IMachiningService Service { get; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="Hi.MachiningSteps.IMachiningService.html">IMachiningService</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_SystemWired_MachiningServiceDependency_ServiceProvider_" data-uid="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.ServiceProvider*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_MachiningServiceDependency_ServiceProvider" data-uid="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.ServiceProvider">
|
||||||
|
ServiceProvider
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Runtime provider for the machining service. Null provider or null
|
||||||
|
return means the host is not wired; consumers must null-check.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public Func<IMachiningService> ServiceProvider { get; set; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.func-1">Func</a><<a class="xref" href="Hi.MachiningSteps.IMachiningService.html">IMachiningService</a>></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_SystemWired_MachiningServiceDependency_XName_" data-uid="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.XName*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_MachiningServiceDependency_XName" data-uid="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.XName">
|
||||||
|
XName
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>XML element name used to register this dependency with <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a>.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public static string XName { get; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="methods">Methods
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_SystemWired_MachiningServiceDependency_MakeXmlSource_" data-uid="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.MakeXmlSource*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_MachiningServiceDependency_MakeXmlSource_System_String_System_String_System_Boolean_" data-uid="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.MakeXmlSource(System.String,System.String,System.Boolean)">
|
||||||
|
MakeXmlSource(string, string, bool)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Runtime-only dependency — the provider is wired per host and not
|
||||||
|
meaningful to persist; serialization writes only the empty element
|
||||||
|
so the dependency survives an XML round-trip.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>baseDirectory</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
<dt><code>relFile</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
<dt><code>exhibitionOnly</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h4 class="section">Returns</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_SystemWired_MachiningServiceDependency_Reg_" data-uid="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.Reg*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_MachiningServiceDependency_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.Reg(Hi.Common.XmlUtils.XFactory)">
|
||||||
|
Reg(XFactory)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Registers this type's deserializer with the given <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a>
|
||||||
|
(or <a class="xref" href="Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Default">Default</a> when <code class="paramref">factory</code> is
|
||||||
|
<code>null</code>). Idempotent.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public static void Reg(XFactory factory = null)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>factory</code> <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<div class="contribution d-print-none">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="affix">
|
||||||
|
<nav id="affix"></nav>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<div class="container-xxl search-results" id="search-results"></div>
|
||||||
|
|
||||||
|
<footer class="border-top text-secondary">
|
||||||
|
<div class="container-xxl">
|
||||||
|
<div class="flex-fill">
|
||||||
|
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,471 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Class StepPropertyAccessDictionaryDependency | HiAPI-C# 2025 </title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="title" content="Class StepPropertyAccessDictionaryDependency | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
|
<meta name="description" content="Exposes the host's step-variable registry to NC pipeline components (today: ) as a narrow surface. The provider is wired by the host (e.g. LocalProjectService) so the dependency does not carry strong references to host types; this lets the runner be created before the host is fully constructed and reused across project loads. A sibling exposes the broader surface to client-authored syntaxes. The two dependencies are independent — production hosts typically wire both providers to the same backing object, but a test fixture can supply just this narrow one.">
|
||||||
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
|
<meta name="docfx:navrel" content="../toc.html">
|
||||||
|
<meta name="docfx:tocrel" content="toc.html">
|
||||||
|
|
||||||
|
<meta name="docfx:rel" content="../">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta name="loc:inThisArticle" content="In this article">
|
||||||
|
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||||
|
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||||
|
<meta name="loc:tocFilter" content="Filter by title">
|
||||||
|
<meta name="loc:nextArticle" content="Next">
|
||||||
|
<meta name="loc:prevArticle" content="Previous">
|
||||||
|
<meta name="loc:themeLight" content="Light">
|
||||||
|
<meta name="loc:themeDark" content="Dark">
|
||||||
|
<meta name="loc:themeAuto" content="Auto">
|
||||||
|
<meta name="loc:changeTheme" content="Change theme">
|
||||||
|
<meta name="loc:copy" content="Copy">
|
||||||
|
<meta name="loc:downloadPdf" content="Download PDF">
|
||||||
|
|
||||||
|
<script type="module" src="./../public/docfx.min.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const theme = localStorage.getItem('theme') || 'auto'
|
||||||
|
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
||||||
|
<header class="bg-body border-bottom">
|
||||||
|
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||||
|
<div class="container-xxl flex-nowrap">
|
||||||
|
<a class="navbar-brand" href="../index.html">
|
||||||
|
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
||||||
|
|
||||||
|
</a>
|
||||||
|
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<i class="bi bi-three-dots"></i>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navpanel">
|
||||||
|
<div id="navbar">
|
||||||
|
<form class="search" role="search" id="search">
|
||||||
|
<i class="bi bi-search"></i>
|
||||||
|
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<main class="container-xxl">
|
||||||
|
<div class="toc-offcanvas">
|
||||||
|
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||||
|
<div class="offcanvas-header">
|
||||||
|
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="offcanvas-body">
|
||||||
|
<nav class="toc" id="toc"></nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
<div class="actionbar">
|
||||||
|
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||||
|
<i class="bi bi-list"></i>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<nav id="breadcrumb"></nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<article data-uid="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="Hi_NcParsers_Dependencys_SystemWired_StepPropertyAccessDictionaryDependency" data-uid="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency" class="text-break">
|
||||||
|
Class StepPropertyAccessDictionaryDependency
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="facts text-secondary">
|
||||||
|
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.NcParsers.html">NcParsers</a>.<a class="xref" href="Hi.NcParsers.Dependencys.html">Dependencys</a>.<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.html">SystemWired</a></dd></dl>
|
||||||
|
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="markdown summary"><p>Exposes the host's step-variable registry to NC pipeline components
|
||||||
|
(today: <a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSyntax.html">CsvRowSyntax</a>) as a narrow
|
||||||
|
<a class="xref" href="Hi.MachiningSteps.IStepPropertyAccessHost.html">IStepPropertyAccessHost</a> surface.</p>
|
||||||
|
<p>
|
||||||
|
The provider is wired by the host (e.g. <code>LocalProjectService</code>) so
|
||||||
|
the dependency does not carry strong references to host types; this lets
|
||||||
|
the runner be created before the host is fully constructed and reused
|
||||||
|
across project loads.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
A sibling <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.html">MachiningServiceDependency</a> exposes the broader
|
||||||
|
<a class="xref" href="Hi.MachiningSteps.IMachiningService.html">IMachiningService</a> surface to client-authored syntaxes. The
|
||||||
|
two dependencies are independent — production hosts typically wire both
|
||||||
|
providers to the same backing object, but a test fixture can supply just
|
||||||
|
this narrow one.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public class StepPropertyAccessDictionaryDependency : INcDependency, IMakeXmlSource</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<dl class="typelist inheritance">
|
||||||
|
<dt>Inheritance</dt>
|
||||||
|
<dd>
|
||||||
|
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||||
|
<div><span class="xref">StepPropertyAccessDictionaryDependency</span></div>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<dl class="typelist implements">
|
||||||
|
<dt>Implements</dt>
|
||||||
|
<dd>
|
||||||
|
<div><a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a></div>
|
||||||
|
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
<dl class="typelist inheritedMembers">
|
||||||
|
<dt>Inherited Members</dt>
|
||||||
|
<dd>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||||
|
</div>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="typelist extensionMethods">
|
||||||
|
<dt>Extension Methods</dt>
|
||||||
|
<dd>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
||||||
|
</div>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="constructors">Constructors
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_SystemWired_StepPropertyAccessDictionaryDependency__ctor_" data-uid="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.#ctor*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_StepPropertyAccessDictionaryDependency__ctor" data-uid="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.#ctor">
|
||||||
|
StepPropertyAccessDictionaryDependency()
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Initializes a new instance with no <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.html#Hi_NcParsers_Dependencys_SystemWired_StepPropertyAccessDictionaryDependency_HostProvider">HostProvider</a>; the host wires one before queries.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public StepPropertyAccessDictionaryDependency()</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_SystemWired_StepPropertyAccessDictionaryDependency__ctor_" data-uid="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.#ctor*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_StepPropertyAccessDictionaryDependency__ctor_System_Func_Hi_MachiningSteps_IStepPropertyAccessHost__" data-uid="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.#ctor(System.Func{Hi.MachiningSteps.IStepPropertyAccessHost})">
|
||||||
|
StepPropertyAccessDictionaryDependency(Func<IStepPropertyAccessHost>)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Initializes a new instance with the given <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.html#Hi_NcParsers_Dependencys_SystemWired_StepPropertyAccessDictionaryDependency_HostProvider">HostProvider</a>.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public StepPropertyAccessDictionaryDependency(Func<IStepPropertyAccessHost> provider)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>provider</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.func-1">Func</a><<a class="xref" href="Hi.MachiningSteps.IStepPropertyAccessHost.html">IStepPropertyAccessHost</a>></dt>
|
||||||
|
<dd><p>Delegate that resolves the live host at lookup time.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="properties">Properties
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_SystemWired_StepPropertyAccessDictionaryDependency_Host_" data-uid="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.Host*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_StepPropertyAccessDictionaryDependency_Host" data-uid="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.Host">
|
||||||
|
Host
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>The live host, or null when <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.html#Hi_NcParsers_Dependencys_SystemWired_StepPropertyAccessDictionaryDependency_HostProvider">HostProvider</a> is unset or returns null.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public IStepPropertyAccessHost Host { get; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="Hi.MachiningSteps.IStepPropertyAccessHost.html">IStepPropertyAccessHost</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_SystemWired_StepPropertyAccessDictionaryDependency_HostProvider_" data-uid="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.HostProvider*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_StepPropertyAccessDictionaryDependency_HostProvider" data-uid="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.HostProvider">
|
||||||
|
HostProvider
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Runtime provider for the host. Null provider or null return means
|
||||||
|
the host is not wired (e.g. the dependency sits in a runner that
|
||||||
|
runs in a unit-test fixture without a real project service).
|
||||||
|
Consumers must null-check before use.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public Func<IStepPropertyAccessHost> HostProvider { get; set; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.func-1">Func</a><<a class="xref" href="Hi.MachiningSteps.IStepPropertyAccessHost.html">IStepPropertyAccessHost</a>></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_SystemWired_StepPropertyAccessDictionaryDependency_XName_" data-uid="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.XName*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_StepPropertyAccessDictionaryDependency_XName" data-uid="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.XName">
|
||||||
|
XName
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>XML element name used to register this dependency with <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a>.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public static string XName { get; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="methods">Methods
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_SystemWired_StepPropertyAccessDictionaryDependency_MakeXmlSource_" data-uid="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.MakeXmlSource*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_StepPropertyAccessDictionaryDependency_MakeXmlSource_System_String_System_String_System_Boolean_" data-uid="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.MakeXmlSource(System.String,System.String,System.Boolean)">
|
||||||
|
MakeXmlSource(string, string, bool)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Runtime-only dependency — the provider is wired per host and not
|
||||||
|
meaningful to persist; serialization writes only the empty element
|
||||||
|
so the dependency survives an XML round-trip.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>baseDirectory</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
<dt><code>relFile</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
<dt><code>exhibitionOnly</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h4 class="section">Returns</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Dependencys_SystemWired_StepPropertyAccessDictionaryDependency_Reg_" data-uid="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.Reg*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Dependencys_SystemWired_StepPropertyAccessDictionaryDependency_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.Reg(Hi.Common.XmlUtils.XFactory)">
|
||||||
|
Reg(XFactory)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Registers this type's deserializer with the given <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a>
|
||||||
|
(or <a class="xref" href="Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Default">Default</a> when <code class="paramref">factory</code> is
|
||||||
|
<code>null</code>). Idempotent.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public static void Reg(XFactory factory = null)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>factory</code> <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<div class="contribution d-print-none">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="affix">
|
||||||
|
<nav id="affix"></nav>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<div class="container-xxl search-results" id="search-results"></div>
|
||||||
|
|
||||||
|
<footer class="border-top text-secondary">
|
||||||
|
<div class="container-xxl">
|
||||||
|
<div class="flex-fill">
|
||||||
|
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -98,12 +98,12 @@ Classes
|
|||||||
<dt><a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html">FileIndexCounterDependency</a></dt>
|
<dt><a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html">FileIndexCounterDependency</a></dt>
|
||||||
<dd><p>Per-session monotonically-increasing file index allocator. Holds the
|
<dd><p>Per-session monotonically-increasing file index allocator. Holds the
|
||||||
counter as a private field; <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Allocate">Allocate()</a> returns the next
|
counter as a private field; <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Allocate">Allocate()</a> returns the next
|
||||||
unused value and increments. <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reset">Reset()</a> rewinds to 0 — the
|
unused value and increments. <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_OnSessionReset">OnSessionReset()</a> rewinds to 0 —
|
||||||
owning <a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a> calls
|
the owning <a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a> invokes it via
|
||||||
<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html#Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Reset">Reset()</a> on the same edge that initializes a fresh
|
the <a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a> sweep on the same edge that
|
||||||
<a class="xref" href="Hi.MachiningProcs.NcRunnerSessionState.html">NcRunnerSessionState</a>, so a controller
|
initializes a fresh <a class="xref" href="Hi.MachiningProcs.NcRunnerSessionState.html">NcRunnerSessionState</a>,
|
||||||
power-reset clears both the syntax-piece pipeline and this counter
|
so a controller power-reset clears both the syntax-piece pipeline and
|
||||||
in lock-step.</p>
|
this counter in lock-step.</p>
|
||||||
<p>
|
<p>
|
||||||
Two consumers share one allocator:
|
Two consumers share one allocator:
|
||||||
<ul><li><a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a> allocates one
|
<ul><li><a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a> allocates one
|
||||||
@ -118,6 +118,16 @@ source-of-truth: the dep is the single seam through which syntaxes
|
|||||||
reach the counter, and there is no third reader that would benefit
|
reach the counter, and there is no third reader that would benefit
|
||||||
from session-state visibility.
|
from session-state visibility.
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="jumplist">
|
||||||
|
<dt><a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.html">MachiningServiceDependency</a></dt>
|
||||||
|
<dd><p>Exposes the full <a class="xref" href="Hi.MachiningSteps.IMachiningService.html">IMachiningService</a> surface to NC pipeline
|
||||||
|
components — currently provided for client-authored syntaxes / semantics
|
||||||
|
that need broad host access (machining equipment, session, tool house,
|
||||||
|
time mapping, …). The built-in CSV pipeline does not consume this
|
||||||
|
dependency; it uses the narrower
|
||||||
|
<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.html">StepPropertyAccessDictionaryDependency</a> instead.</p>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="jumplist">
|
<dl class="jumplist">
|
||||||
@ -173,6 +183,26 @@ start of each session run, so this dependency can sit in
|
|||||||
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_NcDependencyList">NcDependencyList</a> without participating in XML
|
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_NcDependencyList">NcDependencyList</a> without participating in XML
|
||||||
serialization (see <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.html#Hi_NcParsers_Dependencys_SystemWired_SegmenterDependency_MakeXmlSource_System_String_System_String_System_Boolean_">MakeXmlSource(string, string, bool)</a>).
|
serialization (see <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.html#Hi_NcParsers_Dependencys_SystemWired_SegmenterDependency_MakeXmlSource_System_String_System_String_System_Boolean_">MakeXmlSource(string, string, bool)</a>).
|
||||||
</p>
|
</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="jumplist">
|
||||||
|
<dt><a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.html">StepPropertyAccessDictionaryDependency</a></dt>
|
||||||
|
<dd><p>Exposes the host's step-variable registry to NC pipeline components
|
||||||
|
(today: <a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSyntax.html">CsvRowSyntax</a>) as a narrow
|
||||||
|
<a class="xref" href="Hi.MachiningSteps.IStepPropertyAccessHost.html">IStepPropertyAccessHost</a> surface.</p>
|
||||||
|
<p>
|
||||||
|
The provider is wired by the host (e.g. <code>LocalProjectService</code>) so
|
||||||
|
the dependency does not carry strong references to host types; this lets
|
||||||
|
the runner be created before the host is fully constructed and reused
|
||||||
|
across project loads.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
A sibling <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.html">MachiningServiceDependency</a> exposes the broader
|
||||||
|
<a class="xref" href="Hi.MachiningSteps.IMachiningService.html">IMachiningService</a> surface to client-authored syntaxes. The
|
||||||
|
two dependencies are independent — production hosts typically wire both
|
||||||
|
providers to the same backing object, but a test fixture can supply just
|
||||||
|
this narrow one.
|
||||||
|
</p>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="jumplist">
|
<dl class="jumplist">
|
||||||
|
|||||||
@ -2,11 +2,11 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>Class ClStripService | HiAPI-C# 2025 </title>
|
<title>Class FanucConditionReader | HiAPI-C# 2025 </title>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="title" content="Class ClStripService | HiAPI-C# 2025 ">
|
<meta name="title" content="Class FanucConditionReader | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
<meta name="description" content="milling process service based on dictionary data type.">
|
<meta name="description" content="Shared polymorphic reader for Fanuc Custom Macro B conditional gate expressions (IF [...] GOTO, IF [...] THEN, WHILE [...] DO m). The condition node is read post-evaluation — 's pass-2 tree walk has already substituted the original expression string with a numeric when evaluation succeeded; this helper maps that node to a tri-state truthy outcome plus a display form for diagnostics. Three states, mapping directly to the ConditionEvaluated: true | false | null stamp shape used by all three consumers (see , , and the WHILE-loop syntax): Truthy = true — node is a finite non-zero numeric; gate fires.Truthy = false — node is a finite numeric equal to zero; gate falls through silently.Truthy = null — node is null, still a string (evaluator failed), or non-finite double (NaN / ±∞); gate falls through and the caller emits its own &lt;Syntax&gt;--ConditionNotEvaluated warning. The Display form is the human-readable expression text for diagnostic messages. For resolved numerics it is the value formatted via ; for unresolved strings it is the original expression text. Diagnostics build their own message text — the helper just provides the source string so the caller can compose "IF [&lt;Display&gt;] GOTO ..." etc. Callers typically the original node before passing in here, then again before stamping back, so removing the parsing section and writing the host-level stamp can happen in any order without dangling references.">
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
@ -84,25 +84,58 @@
|
|||||||
<nav id="breadcrumb"></nav>
|
<nav id="breadcrumb"></nav>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<article data-uid="Hi.Grpcs.ClStripService">
|
<article data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucConditionReader">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1 id="Hi_Grpcs_ClStripService" data-uid="Hi.Grpcs.ClStripService" class="text-break">
|
<h1 id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucConditionReader" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucConditionReader" class="text-break">
|
||||||
Class ClStripService
|
Class FanucConditionReader
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<div class="facts text-secondary">
|
<div class="facts text-secondary">
|
||||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Grpcs.html">Grpcs</a></dd></dl>
|
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.NcParsers.html">NcParsers</a>.<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.html">EvaluationSyntaxs</a>.<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.html">Fanuc</a></dd></dl>
|
||||||
<dl><dt>Assembly</dt><dd>HiNc.dll</dd></dl>
|
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="markdown summary"><p>milling process service based on dictionary data type.</p>
|
<div class="markdown summary"><p>Shared polymorphic reader for Fanuc Custom Macro B conditional gate
|
||||||
|
expressions (<code>IF [...] GOTO</code>, <code>IF [...] THEN</code>,
|
||||||
|
<code>WHILE [...] DO m</code>). The condition node is read post-evaluation —
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a>'s pass-2 tree walk has already
|
||||||
|
substituted the original expression string with a numeric
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonvalue">JsonValue</a> when evaluation succeeded; this helper maps
|
||||||
|
that node to a tri-state truthy outcome plus a display form for
|
||||||
|
diagnostics.</p>
|
||||||
|
<p>
|
||||||
|
Three states, mapping directly to the
|
||||||
|
<code>ConditionEvaluated: true | false | null</code> stamp shape used by
|
||||||
|
all three consumers (see <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html">FanucGotoSyntax</a>,
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.html">FanucIfThenSyntax</a>, and the WHILE-loop syntax):
|
||||||
|
</p>
|
||||||
|
<ul><li><b>Truthy = true</b> — node is a finite non-zero numeric;
|
||||||
|
gate fires.</li><li><b>Truthy = false</b> — node is a finite numeric equal to
|
||||||
|
zero; gate falls through silently.</li><li><b>Truthy = null</b> — node is null, still a string
|
||||||
|
(evaluator failed), or non-finite double (NaN / ±∞); gate falls
|
||||||
|
through and the caller emits its own
|
||||||
|
<code><Syntax>--ConditionNotEvaluated</code> warning.</li></ul>
|
||||||
|
<p>
|
||||||
|
The <code>Display</code> form is the human-readable expression text for
|
||||||
|
diagnostic messages. For resolved numerics it is the value formatted
|
||||||
|
via <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.globalization.cultureinfo.invariantculture">InvariantCulture</a>; for unresolved
|
||||||
|
strings it is the original expression text. Diagnostics build their
|
||||||
|
own message text — the helper just provides the source string so the
|
||||||
|
caller can compose <code>"IF [<Display>] GOTO ..."</code> etc.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Callers typically <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonnode.deepclone">DeepClone()</a> the original node
|
||||||
|
before passing in here, then again before stamping back, so removing
|
||||||
|
the parsing section and writing the host-level stamp can happen in
|
||||||
|
any order without dangling references.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown conceptual"></div>
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public static class ClStripService</code></pre>
|
<pre><code class="lang-csharp hljs">public static class FanucConditionReader</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@ -112,7 +145,7 @@ Class ClStripService
|
|||||||
<dt>Inheritance</dt>
|
<dt>Inheritance</dt>
|
||||||
<dd>
|
<dd>
|
||||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||||
<div><span class="xref">ClStripService</span></div>
|
<div><span class="xref">FanucConditionReader</span></div>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
@ -149,108 +182,36 @@ Class ClStripService
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="properties">Properties
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_ClStripService_Descriptor_" data-uid="Hi.Grpcs.ClStripService.Descriptor*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_ClStripService_Descriptor" data-uid="Hi.Grpcs.ClStripService.Descriptor">
|
|
||||||
Descriptor
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Service descriptor</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public static ServiceDescriptor Descriptor { get; }</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section">Property Value</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><span class="xref">ServiceDescriptor</span></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="methods">Methods
|
<h2 class="section" id="methods">Methods
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_ClStripService_BindService_" data-uid="Hi.Grpcs.ClStripService.BindService*"></a>
|
<a id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucConditionReader_ReadCondition_" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucConditionReader.ReadCondition*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_ClStripService_BindService_Grpc_Core_ServiceBinderBase_Hi_Grpcs_ClStripService_ClStripServiceBase_" data-uid="Hi.Grpcs.ClStripService.BindService(Grpc.Core.ServiceBinderBase,Hi.Grpcs.ClStripService.ClStripServiceBase)">
|
<h3 id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucConditionReader_ReadCondition_System_Text_Json_Nodes_JsonNode_" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucConditionReader.ReadCondition(System.Text.Json.Nodes.JsonNode)">
|
||||||
BindService(ServiceBinderBase, ClStripServiceBase)
|
ReadCondition(JsonNode)
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Register service method with a service binder with or without implementation. Useful when customizing the service binding logic.
|
<div class="markdown level1 summary"><p>Maps a post-evaluation condition <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonnode">JsonNode</a> to a
|
||||||
Note: this method is part of an experimental API that can change or be removed without any prior notice.</p>
|
display string + tri-state truthy outcome. See class XmlDoc for
|
||||||
|
the three states' definitions.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public static void BindService(ServiceBinderBase serviceBinder, ClStripService.ClStripServiceBase serviceImpl)</code></pre>
|
<pre><code class="lang-csharp hljs">public static (string Display, bool? Truthy) ReadCondition(JsonNode node)</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
<h4 class="section">Parameters</h4>
|
||||||
<dl class="parameters">
|
<dl class="parameters">
|
||||||
<dt><code>serviceBinder</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ServiceBinderBase.cs">ServiceBinderBase</a></dt>
|
<dt><code>node</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonnode">JsonNode</a></dt>
|
||||||
<dd><p>Service methods will be bound by calling <code>AddMethod</code> on this object.</p>
|
<dd></dd>
|
||||||
</dd>
|
|
||||||
<dt><code>serviceImpl</code> <a class="xref" href="Hi.Grpcs.ClStripService.html">ClStripService</a>.<a class="xref" href="Hi.Grpcs.ClStripService.ClStripServiceBase.html">ClStripServiceBase</a></dt>
|
|
||||||
<dd><p>An object implementing the server-side handling logic.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_ClStripService_BindService_" data-uid="Hi.Grpcs.ClStripService.BindService*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_ClStripService_BindService_Hi_Grpcs_ClStripService_ClStripServiceBase_" data-uid="Hi.Grpcs.ClStripService.BindService(Hi.Grpcs.ClStripService.ClStripServiceBase)">
|
|
||||||
BindService(ClStripServiceBase)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Creates service definition that can be registered with a server</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public static ServerServiceDefinition BindService(ClStripService.ClStripServiceBase serviceImpl)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>serviceImpl</code> <a class="xref" href="Hi.Grpcs.ClStripService.html">ClStripService</a>.<a class="xref" href="Hi.Grpcs.ClStripService.ClStripServiceBase.html">ClStripServiceBase</a></dt>
|
|
||||||
<dd><p>An object implementing the server-side handling logic.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
<h4 class="section">Returns</h4>
|
||||||
<dl class="parameters">
|
<dl class="parameters">
|
||||||
<dt><a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ServerServiceDefinition.cs">ServerServiceDefinition</a></dt>
|
<dt>(<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.valuetuple-system.string,system.nullable-system.boolean--.display">Display</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a>? <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.valuetuple-system.string,system.nullable-system.boolean--.truthy">Truthy</a>)</dt>
|
||||||
<dd></dd>
|
<dd></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
@ -112,10 +112,11 @@ Both unconditional <code>GOTO <n></code> and conditional
|
|||||||
form leans on <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a>'s pass-2 tree walk
|
form leans on <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a>'s pass-2 tree walk
|
||||||
to substitute <code>Parsing.FanucGoto.Condition</code> with a numeric
|
to substitute <code>Parsing.FanucGoto.Condition</code> with a numeric
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonvalue">JsonValue</a> when the expression
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonvalue">JsonValue</a> when the expression
|
||||||
evaluates successfully — <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonnode">ReadCondition(JsonNode)</a> then reads the
|
evaluates successfully — <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucConditionReader.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucConditionReader_ReadCondition_System_Text_Json_Nodes_JsonNode_">ReadCondition(JsonNode)</a>
|
||||||
node polymorphically. Truthy non-zero fires the redirect; zero falls
|
then reads the node polymorphically. Truthy non-zero fires the
|
||||||
through silently; a still-string (unresolved) Condition emits
|
redirect; zero falls through silently; a still-string (unresolved)
|
||||||
<code>FanucGoto--ConditionNotEvaluated</code> and falls through.
|
Condition emits <code>FanucGoto--ConditionNotEvaluated</code> and falls
|
||||||
|
through.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Pipeline placement: tail of the Fanuc / Mazak / Syntec Evaluation
|
Pipeline placement: tail of the Fanuc / Mazak / Syntec Evaluation
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="title" content="Class FanucIfThenSyntax | HiAPI-C# 2025 ">
|
<meta name="title" content="Class FanucIfThenSyntax | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
<meta name="description" content="Resolves Fanuc Custom Macro B IF [&lt;cond&gt;] THEN &lt;body&gt; single-block conditionals. Triggered by Parsing.FanucIfThen (written by ); reads the now-resolved 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 = &lt;literal&gt; on a normal block. Unlike 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 flipped true only on a successful fire). Pipeline placement: in the Evaluation bundle after (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 ) and before the reader syntaxes (, , , ) — that ordering lets the lifted entries reach the readers as if they had been written by on a normal block. Three condition outcomes mirror the 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.">
|
<meta name="description" content="Resolves Fanuc Custom Macro B IF [&lt;cond&gt;] THEN &lt;body&gt; single-block conditionals. Triggered by Parsing.FanucIfThen (written by ); reads the now-resolved 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 = &lt;literal&gt; on a normal block. Unlike 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 flipped true only on a successful fire). Pipeline placement: in the Evaluation bundle after (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 ) and before the reader syntaxes (, , , ) — that ordering lets the lifted entries reach the readers as if they had been written by on a normal block. Three condition outcomes mirror the FanucGotoSyntax.ReadCondition 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.">
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
@ -130,7 +130,7 @@ the lifted entries reach the readers as if they had been written by
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Three condition outcomes mirror the
|
Three condition outcomes mirror the
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonnode">ReadCondition(JsonNode)</a> shape:
|
<code>FanucGotoSyntax.ReadCondition</code> shape:
|
||||||
<ul><li>Truthy non-zero → lift assignments, stamp Applied=true.</li><li>Truthy zero → fall through silently, Applied=false.</li><li>Truthy null (evaluator failed, condition still a string or
|
<ul><li>Truthy non-zero → lift assignments, stamp Applied=true.</li><li>Truthy zero → fall through silently, Applied=false.</li><li>Truthy null (evaluator failed, condition still a string or
|
||||||
non-finite) → warn <code>FanucIfThen--ConditionNotEvaluated</code>, do not
|
non-finite) → warn <code>FanucIfThen--ConditionNotEvaluated</code>, do not
|
||||||
lift, Applied=false.</li></ul>
|
lift, Applied=false.</li></ul>
|
||||||
|
|||||||
@ -0,0 +1,629 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Class FanucWhileDoSyntax | HiAPI-C# 2025 </title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="title" content="Class FanucWhileDoSyntax | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
|
<meta name="description" content="Resolves Fanuc Custom Macro B WHILE [..] DO m ... END m bounded loops. Two phrases dispatched by : WHILE [..] DO m — entry: reads the resolved condition via , manages the per-LoopId frame in the top-level WhileFrames dict, and either falls through (truthy) or forward-jumps past the matching END m (falsy / unresolved).END m — terminator: unconditionally reverse-jumps to the WHILE block recorded in WhileFrames[LoopId].BeginLineNo so the next iteration re-evaluates the entry condition. Increments the per-loop iteration counter on ; suppresses the redirect above . WhileFrames carrier. The top-level WhileFrames JSON section is a keyed by LoopId-as-string whose values are { BeginLineNo: int }. Frames are pushed when a WHILE block first encounters a truthy condition with no existing frame for that LoopId; popped when the condition becomes falsy or unresolved; otherwise carried forward unchanged by 's tracked-key list. Nested loops with distinct LoopIds coexist in the same dict; same-LoopId nesting (spec-undefined) overwrites and is not given special handling. Pipeline placement. Evaluation bundle, after the variable readers (defensive — WHILE/END blocks per spec do not carry assignments, but the placement is consistent with GOTO). Must run after so the condition string has been substituted to numeric. Forward scan to matching END m uses the predicate overload — probe runs the brand-default on each candidate, predicate matches on Parsing.FanucWhileDo.Term == "END" &amp;&amp; LoopId == target. Reverse scan to WHILE BeginLineNo does not need a label predicate — the BeginLineNo is a known file-line index recorded in the active frame, so the END side re-segments the file from the top and returns the slice starting at the first piece whose .Begin.LineIndex matches.">
|
||||||
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
|
<meta name="docfx:navrel" content="../toc.html">
|
||||||
|
<meta name="docfx:tocrel" content="toc.html">
|
||||||
|
|
||||||
|
<meta name="docfx:rel" content="../">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta name="loc:inThisArticle" content="In this article">
|
||||||
|
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||||
|
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||||
|
<meta name="loc:tocFilter" content="Filter by title">
|
||||||
|
<meta name="loc:nextArticle" content="Next">
|
||||||
|
<meta name="loc:prevArticle" content="Previous">
|
||||||
|
<meta name="loc:themeLight" content="Light">
|
||||||
|
<meta name="loc:themeDark" content="Dark">
|
||||||
|
<meta name="loc:themeAuto" content="Auto">
|
||||||
|
<meta name="loc:changeTheme" content="Change theme">
|
||||||
|
<meta name="loc:copy" content="Copy">
|
||||||
|
<meta name="loc:downloadPdf" content="Download PDF">
|
||||||
|
|
||||||
|
<script type="module" src="./../public/docfx.min.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const theme = localStorage.getItem('theme') || 'auto'
|
||||||
|
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
||||||
|
<header class="bg-body border-bottom">
|
||||||
|
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||||
|
<div class="container-xxl flex-nowrap">
|
||||||
|
<a class="navbar-brand" href="../index.html">
|
||||||
|
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
||||||
|
|
||||||
|
</a>
|
||||||
|
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<i class="bi bi-three-dots"></i>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navpanel">
|
||||||
|
<div id="navbar">
|
||||||
|
<form class="search" role="search" id="search">
|
||||||
|
<i class="bi bi-search"></i>
|
||||||
|
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<main class="container-xxl">
|
||||||
|
<div class="toc-offcanvas">
|
||||||
|
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||||
|
<div class="offcanvas-header">
|
||||||
|
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="offcanvas-body">
|
||||||
|
<nav class="toc" id="toc"></nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
<div class="actionbar">
|
||||||
|
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||||
|
<i class="bi bi-list"></i>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<nav id="breadcrumb"></nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<article data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax" class="text-break">
|
||||||
|
Class FanucWhileDoSyntax
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="facts text-secondary">
|
||||||
|
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.NcParsers.html">NcParsers</a>.<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.html">EvaluationSyntaxs</a>.<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.html">Fanuc</a></dd></dl>
|
||||||
|
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="markdown summary"><p>Resolves Fanuc Custom Macro B <code>WHILE [..] DO m ... END m</code>
|
||||||
|
bounded loops. Two phrases dispatched by
|
||||||
|
<a class="xref" href="Hi.NcParsers.Keywords.FanucWhileDo.html#Hi_NcParsers_Keywords_FanucWhileDo_Term">Term</a>:</p>
|
||||||
|
<ul><li><code>WHILE [..] DO m</code> — entry: reads the resolved condition
|
||||||
|
via <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucConditionReader.html">FanucConditionReader</a>, manages the per-LoopId
|
||||||
|
frame in the top-level <code>WhileFrames</code> dict, and either falls
|
||||||
|
through (truthy) or forward-jumps past the matching END m
|
||||||
|
(falsy / unresolved).</li><li><code>END m</code> — terminator: unconditionally reverse-jumps to
|
||||||
|
the WHILE block recorded in <code>WhileFrames[LoopId].BeginLineNo</code>
|
||||||
|
so the next iteration re-evaluates the entry condition. Increments
|
||||||
|
the per-loop iteration counter on
|
||||||
|
<a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.html">FanucWhileDoIterationDependency</a>; suppresses the
|
||||||
|
redirect above <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_MaxIterationsPerLoopId">MaxIterationsPerLoopId</a>.</li></ul>
|
||||||
|
<p>
|
||||||
|
<b>WhileFrames carrier.</b> The top-level <code>WhileFrames</code> JSON
|
||||||
|
section is a <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">JsonObject</a> keyed by LoopId-as-string
|
||||||
|
whose values are <code>{ BeginLineNo: int }</code>. Frames are pushed when
|
||||||
|
a WHILE block first encounters a truthy condition with no existing
|
||||||
|
frame for that LoopId; popped when the condition becomes falsy or
|
||||||
|
unresolved; otherwise carried forward unchanged by
|
||||||
|
<a class="xref" href="Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html">ModalCarrySyntax</a>'s
|
||||||
|
<a class="xref" href="Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html#Hi_NcParsers_PostLogicSyntaxs_ModalCarrySyntax_Logic">Logic</a> tracked-key
|
||||||
|
list. Nested loops with distinct LoopIds coexist in the same dict;
|
||||||
|
same-LoopId nesting (spec-undefined) overwrites and is not given
|
||||||
|
special handling.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<b>Pipeline placement.</b> Evaluation bundle, after the variable
|
||||||
|
readers (defensive — WHILE/END blocks per spec do not carry
|
||||||
|
assignments, but the placement is consistent with GOTO). Must run
|
||||||
|
after <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a> so the condition string
|
||||||
|
has been substituted to numeric.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<b>Forward scan to matching END m</b> uses the
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.html">LabelScanUtil</a> predicate overload — probe runs the
|
||||||
|
brand-default <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.html">FanucWhileDoParsingSyntax</a> on each
|
||||||
|
candidate, predicate matches on
|
||||||
|
<code>Parsing.FanucWhileDo.Term == "END" && LoopId == target</code>.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<b>Reverse scan to WHILE BeginLineNo</b> does not need a label
|
||||||
|
predicate — the BeginLineNo is a known file-line index recorded in
|
||||||
|
the active frame, so the END side re-segments the file from the top
|
||||||
|
and returns the slice starting at the first piece whose
|
||||||
|
<a class="xref" href="Hi.NcParsers.Sentence.html#Hi_NcParsers_Sentence_CharIndexSegment">CharIndexSegment</a>.<code>Begin.LineIndex</code>
|
||||||
|
matches.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public class FanucWhileDoSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<dl class="typelist inheritance">
|
||||||
|
<dt>Inheritance</dt>
|
||||||
|
<dd>
|
||||||
|
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||||
|
<div><span class="xref">FanucWhileDoSyntax</span></div>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<dl class="typelist implements">
|
||||||
|
<dt>Implements</dt>
|
||||||
|
<dd>
|
||||||
|
<div><a class="xref" href="Hi.NcParsers.Syntaxs.ISituNcSyntax.html">ISituNcSyntax</a></div>
|
||||||
|
<div><a class="xref" href="Hi.NcParsers.Syntaxs.INcSyntax.html">INcSyntax</a></div>
|
||||||
|
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
<dl class="typelist inheritedMembers">
|
||||||
|
<dt>Inherited Members</dt>
|
||||||
|
<dd>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||||
|
</div>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="typelist extensionMethods">
|
||||||
|
<dt>Extension Methods</dt>
|
||||||
|
<dd>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
||||||
|
</div>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax_remarks">Remarks</h2>
|
||||||
|
<div class="markdown level0 remarks"><h2 id="worked-example--three-iteration-while--do-m--end-m">Worked Example — Three-iteration <code>WHILE [..] DO m ... END m</code></h2>
|
||||||
|
<p>Given this Custom Macro B source:</p>
|
||||||
|
<pre><code class="lang-nc">#100 = 0
|
||||||
|
WHILE [#100 LT 3] DO 1
|
||||||
|
#100 = #100 + 1
|
||||||
|
END 1
|
||||||
|
X5
|
||||||
|
</code></pre>
|
||||||
|
<p>Each block flows through the runtime as below. The <code>WhileFrames</code> lifeline
|
||||||
|
represents the per-block active-loop state carried block-to-block by the
|
||||||
|
modal-carry pipeline; the <code>END</code> block consults it to find the WHILE line
|
||||||
|
to reverse-jump to. The runaway-loop counter ticks on every successful
|
||||||
|
<code>END</code> reverse-jump and suppresses further jumps above the configured
|
||||||
|
iteration limit.</p>
|
||||||
|
<pre><code class="lang-mermaid">sequenceDiagram
|
||||||
|
participant W as WHILE block
|
||||||
|
participant B as body
|
||||||
|
participant E as END block
|
||||||
|
participant X as X5
|
||||||
|
participant F as WhileFrames
|
||||||
|
|
||||||
|
Note over F: empty
|
||||||
|
Note over W: iter 1: cond=true (0 LT 3)
|
||||||
|
W->>F: push {LoopId 1, BeginLineNo}
|
||||||
|
W->>B: fall through
|
||||||
|
B->>E:
|
||||||
|
Note over E: counter 0 to 1 (≤Max)
|
||||||
|
E-->>W: reverse jump
|
||||||
|
|
||||||
|
Note over W: iter 2: cond=true (1 LT 3)
|
||||||
|
Note over W,F: frame exists, skip push
|
||||||
|
W->>B: fall through
|
||||||
|
B->>E:
|
||||||
|
Note over E: counter 1 to 2 (≤Max)
|
||||||
|
E-->>W: reverse jump
|
||||||
|
|
||||||
|
Note over W: iter 3: cond=true (2 LT 3)
|
||||||
|
W->>B:
|
||||||
|
B->>E:
|
||||||
|
Note over E: counter 2 to 3 (≤Max)
|
||||||
|
E-->>W: reverse jump
|
||||||
|
|
||||||
|
Note over W: iter 4: cond=false (3 LT 3)
|
||||||
|
W->>F: pop LoopId 1
|
||||||
|
Note over W: forward jump past END
|
||||||
|
W->>X:
|
||||||
|
</code></pre>
|
||||||
|
<p>After the loop exits, <code>X5</code> executes with <code>#100 = 3</code> in <code>Vars.Volatile</code>.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="constructors">Constructors
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax__ctor_" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.#ctor*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax__ctor" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.#ctor">
|
||||||
|
FanucWhileDoSyntax()
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Parameterless instance.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public FanucWhileDoSyntax()</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax__ctor_" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.#ctor*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax__ctor_System_Xml_Linq_XElement_" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.#ctor(System.Xml.Linq.XElement)">
|
||||||
|
FanucWhileDoSyntax(XElement)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>XML ctor (no child elements; reserved for forward compatibility).</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public FanucWhileDoSyntax(XElement src)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>src</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="fields">Fields
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax_BeginLineNoKey" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.BeginLineNoKey">
|
||||||
|
BeginLineNoKey
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Schema field inside each WhileFrames entry: the WHILE block's file-line index.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public const string BeginLineNoKey = "BeginLineNo"</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Field Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax_WhileFramesKey" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.WhileFramesKey">
|
||||||
|
WhileFramesKey
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Top-level JSON key for the active-loop frame dict.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public const string WhileFramesKey = "WhileFrames"</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Field Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="properties">Properties
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax_Name_" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.Name*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax_Name" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.Name">
|
||||||
|
Name
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Syntax kind name (typically the concrete type name).</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public string Name { get; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax_XName_" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.XName*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax_XName" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.XName">
|
||||||
|
XName
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>XML element name used to register this syntax with <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a>.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public static string XName { get; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="methods">Methods
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax_Build_" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.Build*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax_Build_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.Build(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},Hi.NcParsers.NcDiagnosticProgress)">
|
||||||
|
Build(LazyLinkedListNode<SyntaxPiece>, List<INcDependency>, NcDiagnosticProgress)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Build syntax arrangement into the
|
||||||
|
<code class="paramref">syntaxPieceNode</code> in-place.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public void Build(LazyLinkedListNode<SyntaxPiece> syntaxPieceNode, List<INcDependency> ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>syntaxPieceNode</code> <a class="xref" href="Hi.Common.Collections.LazyLinkedListNode-1.html">LazyLinkedListNode</a><<a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">SyntaxPiece</a>></dt>
|
||||||
|
<dd></dd>
|
||||||
|
<dt><code>ncDependencyList</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1">List</a><<a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a>></dt>
|
||||||
|
<dd></dd>
|
||||||
|
<dt><code>ncDiagnosticProgress</code> <a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax_MakeXmlSource_" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.MakeXmlSource*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax_MakeXmlSource_System_String_System_String_System_Boolean_" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.MakeXmlSource(System.String,System.String,System.Boolean)">
|
||||||
|
MakeXmlSource(string, string, bool)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Creates an XML representation of the object.
|
||||||
|
This method may also generate additional resources such as related files.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>baseDirectory</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd><p>The base directory for resolving relative paths</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>relFile</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd><p>The relative file path for the XML source</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>exhibitionOnly</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
|
||||||
|
<dd><p>if true, the extended file creation is suppressed.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h4 class="section">Returns</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a></dt>
|
||||||
|
<dd><p>An XML element representing the object's state</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section" id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax_MakeXmlSource_System_String_System_String_System_Boolean__remarks">Remarks</h4>
|
||||||
|
<div class="markdown level1 remarks"><p>For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied.
|
||||||
|
The <code class="paramref">baseDirectory</code> is typically the folder at the nearest configuration file folder.
|
||||||
|
Since the folder can be moving with the configuration file.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax_Reg_" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.Reg*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucWhileDoSyntax_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.Reg(Hi.Common.XmlUtils.XFactory)">
|
||||||
|
Reg(XFactory)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Registers this type's deserializer with the given <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a>
|
||||||
|
(or <a class="xref" href="Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Default">Default</a> when <code class="paramref">factory</code> is
|
||||||
|
<code>null</code>). Idempotent.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public static void Reg(XFactory factory = null)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>factory</code> <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<div class="contribution d-print-none">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="affix">
|
||||||
|
<nav id="affix"></nav>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<div class="container-xxl search-results" id="search-results"></div>
|
||||||
|
|
||||||
|
<footer class="border-top text-secondary">
|
||||||
|
<div class="container-xxl">
|
||||||
|
<div class="flex-fill">
|
||||||
|
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -94,6 +94,44 @@
|
|||||||
<h3 id="classes">
|
<h3 id="classes">
|
||||||
Classes
|
Classes
|
||||||
</h3>
|
</h3>
|
||||||
|
<dl class="jumplist">
|
||||||
|
<dt><a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucConditionReader.html">FanucConditionReader</a></dt>
|
||||||
|
<dd><p>Shared polymorphic reader for Fanuc Custom Macro B conditional gate
|
||||||
|
expressions (<code>IF [...] GOTO</code>, <code>IF [...] THEN</code>,
|
||||||
|
<code>WHILE [...] DO m</code>). The condition node is read post-evaluation —
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a>'s pass-2 tree walk has already
|
||||||
|
substituted the original expression string with a numeric
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonvalue">JsonValue</a> when evaluation succeeded; this helper maps
|
||||||
|
that node to a tri-state truthy outcome plus a display form for
|
||||||
|
diagnostics.</p>
|
||||||
|
<p>
|
||||||
|
Three states, mapping directly to the
|
||||||
|
<code>ConditionEvaluated: true | false | null</code> stamp shape used by
|
||||||
|
all three consumers (see <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html">FanucGotoSyntax</a>,
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.html">FanucIfThenSyntax</a>, and the WHILE-loop syntax):
|
||||||
|
</p>
|
||||||
|
<ul><li><b>Truthy = true</b> — node is a finite non-zero numeric;
|
||||||
|
gate fires.</li><li><b>Truthy = false</b> — node is a finite numeric equal to
|
||||||
|
zero; gate falls through silently.</li><li><b>Truthy = null</b> — node is null, still a string
|
||||||
|
(evaluator failed), or non-finite double (NaN / ±∞); gate falls
|
||||||
|
through and the caller emits its own
|
||||||
|
<code><Syntax>--ConditionNotEvaluated</code> warning.</li></ul>
|
||||||
|
<p>
|
||||||
|
The <code>Display</code> form is the human-readable expression text for
|
||||||
|
diagnostic messages. For resolved numerics it is the value formatted
|
||||||
|
via <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.globalization.cultureinfo.invariantculture">InvariantCulture</a>; for unresolved
|
||||||
|
strings it is the original expression text. Diagnostics build their
|
||||||
|
own message text — the helper just provides the source string so the
|
||||||
|
caller can compose <code>"IF [<Display>] GOTO ..."</code> etc.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Callers typically <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonnode.deepclone">DeepClone()</a> the original node
|
||||||
|
before passing in here, then again before stamping back, so removing
|
||||||
|
the parsing section and writing the host-level stamp can happen in
|
||||||
|
any order without dangling references.
|
||||||
|
</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
<dl class="jumplist">
|
<dl class="jumplist">
|
||||||
<dt><a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html">FanucGotoSyntax</a></dt>
|
<dt><a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html">FanucGotoSyntax</a></dt>
|
||||||
<dd><p>Resolves Fanuc Custom Macro B GOTO control flow.
|
<dd><p>Resolves Fanuc Custom Macro B GOTO control flow.
|
||||||
@ -111,10 +149,11 @@ Both unconditional <code>GOTO <n></code> and conditional
|
|||||||
form leans on <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a>'s pass-2 tree walk
|
form leans on <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a>'s pass-2 tree walk
|
||||||
to substitute <code>Parsing.FanucGoto.Condition</code> with a numeric
|
to substitute <code>Parsing.FanucGoto.Condition</code> with a numeric
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonvalue">JsonValue</a> when the expression
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonvalue">JsonValue</a> when the expression
|
||||||
evaluates successfully — <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonnode">ReadCondition(JsonNode)</a> then reads the
|
evaluates successfully — <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucConditionReader.html#Hi_NcParsers_EvaluationSyntaxs_Fanuc_FanucConditionReader_ReadCondition_System_Text_Json_Nodes_JsonNode_">ReadCondition(JsonNode)</a>
|
||||||
node polymorphically. Truthy non-zero fires the redirect; zero falls
|
then reads the node polymorphically. Truthy non-zero fires the
|
||||||
through silently; a still-string (unresolved) Condition emits
|
redirect; zero falls through silently; a still-string (unresolved)
|
||||||
<code>FanucGoto--ConditionNotEvaluated</code> and falls through.
|
Condition emits <code>FanucGoto--ConditionNotEvaluated</code> and falls
|
||||||
|
through.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Pipeline placement: tail of the Fanuc / Mazak / Syntec Evaluation
|
Pipeline placement: tail of the Fanuc / Mazak / Syntec Evaluation
|
||||||
@ -171,7 +210,7 @@ the lifted entries reach the readers as if they had been written by
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Three condition outcomes mirror the
|
Three condition outcomes mirror the
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonnode">ReadCondition(JsonNode)</a> shape:
|
<code>FanucGotoSyntax.ReadCondition</code> shape:
|
||||||
<ul><li>Truthy non-zero → lift assignments, stamp Applied=true.</li><li>Truthy zero → fall through silently, Applied=false.</li><li>Truthy null (evaluator failed, condition still a string or
|
<ul><li>Truthy non-zero → lift assignments, stamp Applied=true.</li><li>Truthy zero → fall through silently, Applied=false.</li><li>Truthy null (evaluator failed, condition still a string or
|
||||||
non-finite) → warn <code>FanucIfThen--ConditionNotEvaluated</code>, do not
|
non-finite) → warn <code>FanucIfThen--ConditionNotEvaluated</code>, do not
|
||||||
lift, Applied=false.</li></ul>
|
lift, Applied=false.</li></ul>
|
||||||
@ -356,6 +395,58 @@ Fanuc-family only — Siemens uses named system variables
|
|||||||
(<code>$AC_TIME</code>, <code>$A_DAY</code>, …) and Heidenhain uses
|
(<code>$AC_TIME</code>, <code>$A_DAY</code>, …) and Heidenhain uses
|
||||||
<code>FN18: SYSREAD</code>; neither flows through <code>Parsing.Assignments.#nnn</code>.
|
<code>FN18: SYSREAD</code>; neither flows through <code>Parsing.Assignments.#nnn</code>.
|
||||||
</p>
|
</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="jumplist">
|
||||||
|
<dt><a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.html">FanucWhileDoSyntax</a></dt>
|
||||||
|
<dd><p>Resolves Fanuc Custom Macro B <code>WHILE [..] DO m ... END m</code>
|
||||||
|
bounded loops. Two phrases dispatched by
|
||||||
|
<a class="xref" href="Hi.NcParsers.Keywords.FanucWhileDo.html#Hi_NcParsers_Keywords_FanucWhileDo_Term">Term</a>:</p>
|
||||||
|
<ul><li><code>WHILE [..] DO m</code> — entry: reads the resolved condition
|
||||||
|
via <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucConditionReader.html">FanucConditionReader</a>, manages the per-LoopId
|
||||||
|
frame in the top-level <code>WhileFrames</code> dict, and either falls
|
||||||
|
through (truthy) or forward-jumps past the matching END m
|
||||||
|
(falsy / unresolved).</li><li><code>END m</code> — terminator: unconditionally reverse-jumps to
|
||||||
|
the WHILE block recorded in <code>WhileFrames[LoopId].BeginLineNo</code>
|
||||||
|
so the next iteration re-evaluates the entry condition. Increments
|
||||||
|
the per-loop iteration counter on
|
||||||
|
<a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.html">FanucWhileDoIterationDependency</a>; suppresses the
|
||||||
|
redirect above <a class="xref" href="Hi.NcParsers.Dependencys.Fanuc.FanucWhileDoIterationDependency.html#Hi_NcParsers_Dependencys_Fanuc_FanucWhileDoIterationDependency_MaxIterationsPerLoopId">MaxIterationsPerLoopId</a>.</li></ul>
|
||||||
|
<p>
|
||||||
|
<b>WhileFrames carrier.</b> The top-level <code>WhileFrames</code> JSON
|
||||||
|
section is a <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">JsonObject</a> keyed by LoopId-as-string
|
||||||
|
whose values are <code>{ BeginLineNo: int }</code>. Frames are pushed when
|
||||||
|
a WHILE block first encounters a truthy condition with no existing
|
||||||
|
frame for that LoopId; popped when the condition becomes falsy or
|
||||||
|
unresolved; otherwise carried forward unchanged by
|
||||||
|
<a class="xref" href="Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html">ModalCarrySyntax</a>'s
|
||||||
|
<a class="xref" href="Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html#Hi_NcParsers_PostLogicSyntaxs_ModalCarrySyntax_Logic">Logic</a> tracked-key
|
||||||
|
list. Nested loops with distinct LoopIds coexist in the same dict;
|
||||||
|
same-LoopId nesting (spec-undefined) overwrites and is not given
|
||||||
|
special handling.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<b>Pipeline placement.</b> Evaluation bundle, after the variable
|
||||||
|
readers (defensive — WHILE/END blocks per spec do not carry
|
||||||
|
assignments, but the placement is consistent with GOTO). Must run
|
||||||
|
after <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a> so the condition string
|
||||||
|
has been substituted to numeric.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<b>Forward scan to matching END m</b> uses the
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.html">LabelScanUtil</a> predicate overload — probe runs the
|
||||||
|
brand-default <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.html">FanucWhileDoParsingSyntax</a> on each
|
||||||
|
candidate, predicate matches on
|
||||||
|
<code>Parsing.FanucWhileDo.Term == "END" && LoopId == target</code>.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<b>Reverse scan to WHILE BeginLineNo</b> does not need a label
|
||||||
|
predicate — the BeginLineNo is a known file-line index recorded in
|
||||||
|
the active frame, so the END side re-segments the file from the top
|
||||||
|
and returns the slice starting at the first piece whose
|
||||||
|
<a class="xref" href="Hi.NcParsers.Sentence.html#Hi_NcParsers_Sentence_CharIndexSegment">CharIndexSegment</a>.<code>Begin.LineIndex</code>
|
||||||
|
matches.
|
||||||
|
</p>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<h3 id="enums">
|
<h3 id="enums">
|
||||||
|
|||||||
@ -172,8 +172,82 @@ parenthesised comment stripped).
|
|||||||
|
|
||||||
<a id="Hi_NcParsers_EvaluationSyntaxs_LabelScanUtil_SegmentAndSkipUntilLabel_" data-uid="Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.SegmentAndSkipUntilLabel*"></a>
|
<a id="Hi_NcParsers_EvaluationSyntaxs_LabelScanUtil_SegmentAndSkipUntilLabel_" data-uid="Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.SegmentAndSkipUntilLabel*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_NcParsers_EvaluationSyntaxs_LabelScanUtil_SegmentAndSkipUntilLabel_Hi_NcParsers_Segmenters_ISegmenter_System_String_System_String_System_Int32_System_Int32_System_Int32_System_Collections_Generic_List_Hi_NcParsers_Syntaxs_ISituNcSyntax__Hi_NcParsers_NcDiagnosticProgress_" data-uid="Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.SegmentAndSkipUntilLabel(Hi.NcParsers.Segmenters.ISegmenter,System.String,System.String,System.Int32,System.Int32,System.Int32,System.Collections.Generic.List{Hi.NcParsers.Syntaxs.ISituNcSyntax},Hi.NcParsers.NcDiagnosticProgress)">
|
<h3 id="Hi_NcParsers_EvaluationSyntaxs_LabelScanUtil_SegmentAndSkipUntilLabel_Hi_NcParsers_Segmenters_ISegmenter_System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__System_String_System_String_System_Int32_System_Int32_System_Collections_Generic_List_Hi_NcParsers_Syntaxs_ISituNcSyntax__System_Func_System_Text_Json_Nodes_JsonObject_System_Boolean__Hi_NcParsers_NcDiagnosticProgress_" data-uid="Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.SegmentAndSkipUntilLabel(Hi.NcParsers.Segmenters.ISegmenter,System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},System.String,System.String,System.Int32,System.Int32,System.Collections.Generic.List{Hi.NcParsers.Syntaxs.ISituNcSyntax},System.Func{System.Text.Json.Nodes.JsonObject,System.Boolean},Hi.NcParsers.NcDiagnosticProgress)">
|
||||||
SegmentAndSkipUntilLabel(ISegmenter, string, string, int, int, int, List<ISituNcSyntax>, NcDiagnosticProgress)
|
SegmentAndSkipUntilLabel(ISegmenter, List<INcDependency>, string, string, int, int, List<ISituNcSyntax>, Func<JsonObject, bool>, NcDiagnosticProgress)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Predicate-driven overload. The caller supplies <code class="paramref">match</code>
|
||||||
|
as the per-candidate gate (run on the candidate block's
|
||||||
|
<a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html#Hi_NcParsers_Syntaxs_SyntaxPiece_JsonObject">JsonObject</a> after the probe syntaxes have
|
||||||
|
finished stamping). This unblocks scans whose label representation
|
||||||
|
differs from <a class="xref" href="Hi.NcParsers.Keywords.IndexNote.html">IndexNote</a>.<a class="xref" href="Hi.NcParsers.Keywords.IndexNote.html#Hi_NcParsers_Keywords_IndexNote_Number">Number</a> —
|
||||||
|
for example <code>END m</code> blocks identified by a custom probe-written
|
||||||
|
section, where reusing <a class="xref" href="Hi.NcParsers.Keywords.IndexNote.html">IndexNote</a> would collide with
|
||||||
|
real <code>N{m}</code> head indices in the same file.</p>
|
||||||
|
<p>
|
||||||
|
The default <code>targetN</code> overload delegates here with the
|
||||||
|
<code>IndexNote.Number == targetN</code> predicate baked in; existing
|
||||||
|
callers (Fanuc unconditional GOTO, M99 P{seq} jump) are unchanged.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public static List<SyntaxPiece> SegmentAndSkipUntilLabel(ISegmenter segmenter, List<INcDependency> ncDependencyList, string absPath, string labelPath, int fileIndex, int sentenceIndexBegin, List<ISituNcSyntax> probeSyntaxes, Func<JsonObject, bool> match, NcDiagnosticProgress diag)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>segmenter</code> <a class="xref" href="Hi.NcParsers.Segmenters.ISegmenter.html">ISegmenter</a></dt>
|
||||||
|
<dd><p>Segmenter used to slice the file into <a class="xref" href="Hi.NcParsers.Sentence.html">Sentence</a> blocks.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>ncDependencyList</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1">List</a><<a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a>></dt>
|
||||||
|
<dd><p>NC dependency list forwarded to <a class="xref" href="Hi.NcParsers.Segmenters.ISegmenter.html">GetSyntaxPieces(ISegmenter, List<INcDependency>, IEnumerable<IndexedFileLine>, int, NcDiagnosticProgress, CancellationToken)</a> while re-segmenting the scanned file.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>absPath</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd><p>Absolute path to read line content from.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>labelPath</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd><p>Project-relative path to stamp on each line's <a class="xref" href="Hi.Common.FileLines.IndexedFileLine.html">IndexedFileLine</a> label.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>fileIndex</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
|
||||||
|
<dd><p>Fresh file index to stamp on each scanned line, allocated by the caller from <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html">FileIndexCounterDependency</a>.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>sentenceIndexBegin</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
|
||||||
|
<dd><p>Starting execution-order index for the produced pieces.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>probeSyntaxes</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1">List</a><<a class="xref" href="Hi.NcParsers.Syntaxs.ISituNcSyntax.html">ISituNcSyntax</a>></dt>
|
||||||
|
<dd><p>Ordered list of helper syntaxes to run on each candidate block before the predicate check. May be null.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>match</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.func-2">Func</a><<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">JsonObject</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a>></dt>
|
||||||
|
<dd><p>Per-candidate predicate; <code>true</code> selects the first match.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>diag</code> <a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a></dt>
|
||||||
|
<dd><p>Sink for any diagnostics produced by the probe syntaxes.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h4 class="section">Returns</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1">List</a><<a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">SyntaxPiece</a>></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_EvaluationSyntaxs_LabelScanUtil_SegmentAndSkipUntilLabel_" data-uid="Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.SegmentAndSkipUntilLabel*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_EvaluationSyntaxs_LabelScanUtil_SegmentAndSkipUntilLabel_Hi_NcParsers_Segmenters_ISegmenter_System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__System_String_System_String_System_Int32_System_Int32_System_Int32_System_Collections_Generic_List_Hi_NcParsers_Syntaxs_ISituNcSyntax__Hi_NcParsers_NcDiagnosticProgress_" data-uid="Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.SegmentAndSkipUntilLabel(Hi.NcParsers.Segmenters.ISegmenter,System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},System.String,System.String,System.Int32,System.Int32,System.Int32,System.Collections.Generic.List{Hi.NcParsers.Syntaxs.ISituNcSyntax},Hi.NcParsers.NcDiagnosticProgress)">
|
||||||
|
SegmentAndSkipUntilLabel(ISegmenter, List<INcDependency>, string, string, int, int, int, List<ISituNcSyntax>, NcDiagnosticProgress)
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
@ -183,7 +257,7 @@ a block whose <a class="xref" href="Hi.NcParsers.Keywords.IndexNote.html#Hi_NcPa
|
|||||||
<code class="paramref">probeSyntaxes</code> have stamped it in-place), and
|
<code class="paramref">probeSyntaxes</code> have stamped it in-place), and
|
||||||
returns the sub-list of pieces from that block to EOF.
|
returns the sub-list of pieces from that block to EOF.
|
||||||
Pieces are produced via
|
Pieces are produced via
|
||||||
<a class="xref" href="Hi.NcParsers.Segmenters.ISegmenter.html">GetSyntaxPieces(ISegmenter, IEnumerable<IndexedFileLine>, int, NcDiagnosticProgress, CancellationToken)</a> with
|
<a class="xref" href="Hi.NcParsers.Segmenters.ISegmenter.html">GetSyntaxPieces(ISegmenter, List<INcDependency>, IEnumerable<IndexedFileLine>, int, NcDiagnosticProgress, CancellationToken)</a> with
|
||||||
<code>SentenceIndex</code> stamped starting at
|
<code>SentenceIndex</code> stamped starting at
|
||||||
<code class="paramref">sentenceIndexBegin</code>. Returns <code>null</code> when
|
<code class="paramref">sentenceIndexBegin</code>. Returns <code>null</code> when
|
||||||
no match is found; the caller emits its own brand-specific
|
no match is found; the caller emits its own brand-specific
|
||||||
@ -203,13 +277,16 @@ participating in this scan.
|
|||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public static List<SyntaxPiece> SegmentAndSkipUntilLabel(ISegmenter segmenter, string absPath, string labelPath, int fileIndex, int sentenceIndexBegin, int targetN, List<ISituNcSyntax> probeSyntaxes, NcDiagnosticProgress diag)</code></pre>
|
<pre><code class="lang-csharp hljs">public static List<SyntaxPiece> SegmentAndSkipUntilLabel(ISegmenter segmenter, List<INcDependency> ncDependencyList, string absPath, string labelPath, int fileIndex, int sentenceIndexBegin, int targetN, List<ISituNcSyntax> probeSyntaxes, NcDiagnosticProgress diag)</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
<h4 class="section">Parameters</h4>
|
||||||
<dl class="parameters">
|
<dl class="parameters">
|
||||||
<dt><code>segmenter</code> <a class="xref" href="Hi.NcParsers.Segmenters.ISegmenter.html">ISegmenter</a></dt>
|
<dt><code>segmenter</code> <a class="xref" href="Hi.NcParsers.Segmenters.ISegmenter.html">ISegmenter</a></dt>
|
||||||
<dd><p>Segmenter used to slice the file into <a class="xref" href="Hi.NcParsers.Sentence.html">Sentence</a> blocks.</p>
|
<dd><p>Segmenter used to slice the file into <a class="xref" href="Hi.NcParsers.Sentence.html">Sentence</a> blocks.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>ncDependencyList</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1">List</a><<a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a>></dt>
|
||||||
|
<dd><p>NC dependency list forwarded to <a class="xref" href="Hi.NcParsers.Segmenters.ISegmenter.html">GetSyntaxPieces(ISegmenter, List<INcDependency>, IEnumerable<IndexedFileLine>, int, NcDiagnosticProgress, CancellationToken)</a> while re-segmenting the scanned file.</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt><code>absPath</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
<dt><code>absPath</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
<dd><p>Absolute path to read line content from.</p>
|
<dd><p>Absolute path to read line content from.</p>
|
||||||
|
|||||||
@ -209,8 +209,8 @@ bodies this is a fresh stamp.</p>
|
|||||||
|
|
||||||
<a id="Hi_NcParsers_EvaluationSyntaxs_MacroInlineUtil_BuildInlinedPieces_" data-uid="Hi.NcParsers.EvaluationSyntaxs.MacroInlineUtil.BuildInlinedPieces*"></a>
|
<a id="Hi_NcParsers_EvaluationSyntaxs_MacroInlineUtil_BuildInlinedPieces_" data-uid="Hi.NcParsers.EvaluationSyntaxs.MacroInlineUtil.BuildInlinedPieces*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_NcParsers_EvaluationSyntaxs_MacroInlineUtil_BuildInlinedPieces_Hi_NcParsers_EvaluationSyntaxs_MacroFileResolver_ResolvedFile_System_Int32_System_Collections_Generic_IReadOnlyDictionary_System_String_System_Double__System_Text_Json_Nodes_JsonObject_System_Text_Json_Nodes_JsonObject_Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Hi_NcParsers_Segmenters_ISegmenter_System_Int32_Hi_NcParsers_NcDiagnosticProgress_" data-uid="Hi.NcParsers.EvaluationSyntaxs.MacroInlineUtil.BuildInlinedPieces(Hi.NcParsers.EvaluationSyntaxs.MacroFileResolver.ResolvedFile,System.Int32,System.Collections.Generic.IReadOnlyDictionary{System.String,System.Double},System.Text.Json.Nodes.JsonObject,System.Text.Json.Nodes.JsonObject,Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency,Hi.NcParsers.Segmenters.ISegmenter,System.Int32,Hi.NcParsers.NcDiagnosticProgress)">
|
<h3 id="Hi_NcParsers_EvaluationSyntaxs_MacroInlineUtil_BuildInlinedPieces_Hi_NcParsers_EvaluationSyntaxs_MacroFileResolver_ResolvedFile_System_Int32_System_Collections_Generic_IReadOnlyDictionary_System_String_System_Double__System_Text_Json_Nodes_JsonObject_System_Text_Json_Nodes_JsonObject_Hi_NcParsers_Dependencys_SystemWired_FileIndexCounterDependency_Hi_NcParsers_Segmenters_ISegmenter_System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__System_Int32_Hi_NcParsers_NcDiagnosticProgress_" data-uid="Hi.NcParsers.EvaluationSyntaxs.MacroInlineUtil.BuildInlinedPieces(Hi.NcParsers.EvaluationSyntaxs.MacroFileResolver.ResolvedFile,System.Int32,System.Collections.Generic.IReadOnlyDictionary{System.String,System.Double},System.Text.Json.Nodes.JsonObject,System.Text.Json.Nodes.JsonObject,Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency,Hi.NcParsers.Segmenters.ISegmenter,System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},System.Int32,Hi.NcParsers.NcDiagnosticProgress)">
|
||||||
BuildInlinedPieces(ResolvedFile, int, IReadOnlyDictionary<string, double>, JsonObject, JsonObject, FileIndexCounterDependency, ISegmenter, int, NcDiagnosticProgress)
|
BuildInlinedPieces(ResolvedFile, int, IReadOnlyDictionary<string, double>, JsonObject, JsonObject, FileIndexCounterDependency, ISegmenter, List<INcDependency>, int, NcDiagnosticProgress)
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
@ -226,7 +226,7 @@ the source layer.</p>
|
|||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public static IEnumerable<SyntaxPiece> BuildInlinedPieces(MacroFileResolver.ResolvedFile resolvedFile, int l, IReadOnlyDictionary<string, double> bindings, JsonObject callRecord, JsonObject pushedCallStack, FileIndexCounterDependency counterDep, ISegmenter segmenter, int sentenceIndexBegin, NcDiagnosticProgress ncDiagnosticProgress)</code></pre>
|
<pre><code class="lang-csharp hljs">public static IEnumerable<SyntaxPiece> BuildInlinedPieces(MacroFileResolver.ResolvedFile resolvedFile, int l, IReadOnlyDictionary<string, double> bindings, JsonObject callRecord, JsonObject pushedCallStack, FileIndexCounterDependency counterDep, ISegmenter segmenter, List<INcDependency> ncDependencyList, int sentenceIndexBegin, NcDiagnosticProgress ncDiagnosticProgress)</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
<h4 class="section">Parameters</h4>
|
||||||
@ -245,6 +245,8 @@ the source layer.</p>
|
|||||||
<dd></dd>
|
<dd></dd>
|
||||||
<dt><code>segmenter</code> <a class="xref" href="Hi.NcParsers.Segmenters.ISegmenter.html">ISegmenter</a></dt>
|
<dt><code>segmenter</code> <a class="xref" href="Hi.NcParsers.Segmenters.ISegmenter.html">ISegmenter</a></dt>
|
||||||
<dd></dd>
|
<dd></dd>
|
||||||
|
<dt><code>ncDependencyList</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1">List</a><<a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a>></dt>
|
||||||
|
<dd></dd>
|
||||||
<dt><code>sentenceIndexBegin</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
|
<dt><code>sentenceIndexBegin</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
|
||||||
<dd></dd>
|
<dd></dd>
|
||||||
<dt><code>ncDiagnosticProgress</code> <a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a></dt>
|
<dt><code>ncDiagnosticProgress</code> <a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a></dt>
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="title" content="Class SubProgramReturnSyntax | HiAPI-C# 2025 ">
|
<meta name="title" content="Class SubProgramReturnSyntax | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
<meta name="description" content="Consumes Fanuc-style M99 subprogram-return blocks and pops one 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 &ldquo;return&rdquo; happens implicitly; this syntax only consumes the M99 trigger (so doesn't warn), stamps a diagnostic section, and writes the popped for downstream blocks to carry. M99 P{seq} additionally redirects control flow to the caller's N{seq} block via . The caller's file is resolved from the popped frame's ; the scan uses the same helper as , with hardcoded Fanuc-default probes ( + 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 , 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 at the head. Needs , , , , 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 (a ) — the keyword "M99" never reaches Parsing.Flags because the parameterized match has already consumed the text by the time runs.">
|
<meta name="description" content="Consumes Fanuc-style M99 subprogram-return blocks and pops one 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 &ldquo;return&rdquo; happens implicitly; this syntax only consumes the M99 trigger (so doesn't warn), stamps a diagnostic section, and writes the popped for downstream blocks to carry. M99 P{seq} additionally redirects control flow to the caller's N{seq} block via . The caller's file is resolved from the popped frame's ; the scan uses the same .SegmentAndSkipUntilLabel helper as , with hardcoded Fanuc-default probes ( + 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 , 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 at the head. Needs , , , , 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 (a ) — the keyword "M99" never reaches Parsing.Flags because the parameterized match has already consumed the text by the time runs.">
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
@ -112,7 +112,7 @@ caller's <code>N{seq}</code> block via
|
|||||||
<a class="xref" href="Hi.Common.Collections.LazyLinkedList-1.html#Hi_Common_Collections_LazyLinkedList_1_ReplaceSource_System_Collections_Generic_IEnumerable__0__">ReplaceSource(IEnumerable<T>)</a>. The caller's file is
|
<a class="xref" href="Hi.Common.Collections.LazyLinkedList-1.html#Hi_Common_Collections_LazyLinkedList_1_ReplaceSource_System_Collections_Generic_IEnumerable__0__">ReplaceSource(IEnumerable<T>)</a>. The caller's file is
|
||||||
resolved from the popped frame's
|
resolved from the popped frame's
|
||||||
<a class="xref" href="Hi.NcParsers.Keywords.CallFrame.html#Hi_NcParsers_Keywords_CallFrame_CallerFilePath">CallerFilePath</a>; the scan uses the same
|
<a class="xref" href="Hi.NcParsers.Keywords.CallFrame.html#Hi_NcParsers_Keywords_CallFrame_CallerFilePath">CallerFilePath</a>; the scan uses the same
|
||||||
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.html#Hi_NcParsers_EvaluationSyntaxs_LabelScanUtil_SegmentAndSkipUntilLabel_Hi_NcParsers_Segmenters_ISegmenter_System_String_System_String_System_Int32_System_Int32_System_Int32_System_Collections_Generic_List_Hi_NcParsers_Syntaxs_ISituNcSyntax__Hi_NcParsers_NcDiagnosticProgress_">SegmentAndSkipUntilLabel(ISegmenter, string, string, int, int, int, List<ISituNcSyntax>, NcDiagnosticProgress)</a> helper as
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.html">LabelScanUtil</a>.<code>SegmentAndSkipUntilLabel</code> helper as
|
||||||
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html">FanucGotoSyntax</a>, with hardcoded Fanuc-default
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html">FanucGotoSyntax</a>, with hardcoded Fanuc-default
|
||||||
probes (<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.html">QuoteCommentSyntax</a> + <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.html">HeadIndexSyntax</a>
|
probes (<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.html">QuoteCommentSyntax</a> + <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.html">HeadIndexSyntax</a>
|
||||||
with symbol <code>"N"</code>) because the M99 P semantic itself is
|
with symbol <code>"N"</code>) because the M99 P semantic itself is
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="title" content="Class VariableEvaluatorSyntax | HiAPI-C# 2025 ">
|
<meta name="title" content="Class VariableEvaluatorSyntax | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
<meta name="description" content="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 &ldquo;where the resolved literal lands&rdquo; stays in the brand-specific reader syntaxes (, 's reader, , …) 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 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.&lt;tag&gt; (axis tags, canned-cycle sub-objects) is parsed; on a successful evaluation the string is replaced with a numeric . Failures silently leave the original string and rely on downstream 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 + instances on NcDependencyList): Current block's own resolved assignments — built-in to ; covers same-block forward references in source order (an earlier #nnn=literal is visible to a later RHS that mentions #nnn).Each in , in list order. Typical contents for a Fanuc-family preset: (#1-#33), (#100-#499), (#5001-#5043).Each on the runner's NcDependencyList, in registration order (, , ). Each lookup self-gates its id range; the evaluator stays brand- and range-agnostic. Adding a new variable surface is additive: register an on a dependency or push an 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 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).">
|
<meta name="description" content="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 &ldquo;where the resolved literal lands&rdquo; stays in the brand-specific reader syntaxes (, 's reader, , …) 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 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.&lt;tag&gt; (axis tags, canned-cycle sub-objects) is parsed; on a successful evaluation the string is replaced with a numeric . Failures silently leave the original string and rely on downstream 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 + instances on NcDependencyList): Current block's own resolved assignments — built-in to ; covers same-block forward references in source order (an earlier #nnn=literal is visible to a later RHS that mentions #nnn).Each in , in list order. Typical contents for a Fanuc-family preset: (#1-#33), (#100-#499), (#5001-#5043).Each on the runner's NcDependencyList, in registration order (, , ). Each lookup self-gates its id range; the evaluator stays brand- and range-agnostic. Adding a new variable surface is additive: register an on a dependency or push an 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 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). Formula mirror tree — when either pass actually performs a non-trivial expression evaluation (i.e. the RHS / tag value was not already a pure literal and the evaluator returned a finite value), the original expression string is mirrored to a parallel Formula.&lt;same path&gt; entry at the root of the block JSON. The Parsing.* subtree carries the resolved value (R-format string for Assignments; numeric for tags); the Formula.* subtree preserves the source-text expression for diagnostics, round-trip reconstruction, and downstream inspection. Pure-literal RHS / tag values produce no Formula entry — the Parsing value is already the original text. Evaluation failures (parse error, vacant variable, non-finite result) also produce no Formula entry — the original string is still in Parsing.* untouched, no preservation needed.">
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
@ -163,6 +163,22 @@ emitted per such RHS so the user is told the source-order semantics
|
|||||||
were not honoured. Practical impact is near-zero for typical
|
were not honoured. Practical impact is near-zero for typical
|
||||||
CAM-emitted NC (one assignment per line).
|
CAM-emitted NC (one assignment per line).
|
||||||
</p>
|
</p>
|
||||||
|
<p>
|
||||||
|
<b>Formula mirror tree</b> — when either pass actually performs a
|
||||||
|
non-trivial expression evaluation (i.e. the RHS / tag value was not
|
||||||
|
already a pure literal and the evaluator returned a finite value),
|
||||||
|
the original expression string is mirrored to a parallel
|
||||||
|
<code>Formula.<same path></code> entry at the root of the block JSON.
|
||||||
|
The <code>Parsing.*</code> subtree carries the resolved value (R-format
|
||||||
|
string for Assignments; numeric <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonvalue">JsonValue</a> for tags);
|
||||||
|
the <code>Formula.*</code> subtree preserves the source-text expression
|
||||||
|
for diagnostics, round-trip reconstruction, and downstream
|
||||||
|
inspection. Pure-literal RHS / tag values produce no Formula entry —
|
||||||
|
the Parsing value is already the original text. Evaluation failures
|
||||||
|
(parse error, vacant variable, non-finite result) also produce no
|
||||||
|
Formula entry — the original string is still in <code>Parsing.*</code>
|
||||||
|
untouched, no preservation needed.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown conceptual"></div>
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
@ -310,6 +326,41 @@ CAM-emitted NC (one assignment per line).
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="fields">Fields
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_EvaluationSyntaxs_VariableEvaluatorSyntax_FormulaKey" data-uid="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.FormulaKey">
|
||||||
|
FormulaKey
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Top-level key under which the Formula mirror tree is written.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public const string FormulaKey = "Formula"</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Field Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="properties">Properties
|
<h2 class="section" id="properties">Properties
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
|||||||
@ -273,7 +273,7 @@ caller's <code>N{seq}</code> block via
|
|||||||
<a class="xref" href="Hi.Common.Collections.LazyLinkedList-1.html#Hi_Common_Collections_LazyLinkedList_1_ReplaceSource_System_Collections_Generic_IEnumerable__0__">ReplaceSource(IEnumerable<T>)</a>. The caller's file is
|
<a class="xref" href="Hi.Common.Collections.LazyLinkedList-1.html#Hi_Common_Collections_LazyLinkedList_1_ReplaceSource_System_Collections_Generic_IEnumerable__0__">ReplaceSource(IEnumerable<T>)</a>. The caller's file is
|
||||||
resolved from the popped frame's
|
resolved from the popped frame's
|
||||||
<a class="xref" href="Hi.NcParsers.Keywords.CallFrame.html#Hi_NcParsers_Keywords_CallFrame_CallerFilePath">CallerFilePath</a>; the scan uses the same
|
<a class="xref" href="Hi.NcParsers.Keywords.CallFrame.html#Hi_NcParsers_Keywords_CallFrame_CallerFilePath">CallerFilePath</a>; the scan uses the same
|
||||||
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.html#Hi_NcParsers_EvaluationSyntaxs_LabelScanUtil_SegmentAndSkipUntilLabel_Hi_NcParsers_Segmenters_ISegmenter_System_String_System_String_System_Int32_System_Int32_System_Int32_System_Collections_Generic_List_Hi_NcParsers_Syntaxs_ISituNcSyntax__Hi_NcParsers_NcDiagnosticProgress_">SegmentAndSkipUntilLabel(ISegmenter, string, string, int, int, int, List<ISituNcSyntax>, NcDiagnosticProgress)</a> helper as
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.LabelScanUtil.html">LabelScanUtil</a>.<code>SegmentAndSkipUntilLabel</code> helper as
|
||||||
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html">FanucGotoSyntax</a>, with hardcoded Fanuc-default
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html">FanucGotoSyntax</a>, with hardcoded Fanuc-default
|
||||||
probes (<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.html">QuoteCommentSyntax</a> + <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.html">HeadIndexSyntax</a>
|
probes (<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.CommentSyntaxs.QuoteCommentSyntax.html">QuoteCommentSyntax</a> + <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.HeadIndexSyntax.html">HeadIndexSyntax</a>
|
||||||
with symbol <code>"N"</code>) because the M99 P semantic itself is
|
with symbol <code>"N"</code>) because the M99 P semantic itself is
|
||||||
@ -373,6 +373,22 @@ emitted per such RHS so the user is told the source-order semantics
|
|||||||
were not honoured. Practical impact is near-zero for typical
|
were not honoured. Practical impact is near-zero for typical
|
||||||
CAM-emitted NC (one assignment per line).
|
CAM-emitted NC (one assignment per line).
|
||||||
</p>
|
</p>
|
||||||
|
<p>
|
||||||
|
<b>Formula mirror tree</b> — when either pass actually performs a
|
||||||
|
non-trivial expression evaluation (i.e. the RHS / tag value was not
|
||||||
|
already a pure literal and the evaluator returned a finite value),
|
||||||
|
the original expression string is mirrored to a parallel
|
||||||
|
<code>Formula.<same path></code> entry at the root of the block JSON.
|
||||||
|
The <code>Parsing.*</code> subtree carries the resolved value (R-format
|
||||||
|
string for Assignments; numeric <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonvalue">JsonValue</a> for tags);
|
||||||
|
the <code>Formula.*</code> subtree preserves the source-text expression
|
||||||
|
for diagnostics, round-trip reconstruction, and downstream
|
||||||
|
inspection. Pure-literal RHS / tag values produce no Formula entry —
|
||||||
|
the Parsing value is already the original text. Evaluation failures
|
||||||
|
(parse error, vacant variable, non-finite result) also produce no
|
||||||
|
Formula entry — the original string is still in <code>Parsing.*</code>
|
||||||
|
untouched, no preservation needed.
|
||||||
|
</p>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="jumplist">
|
<dl class="jumplist">
|
||||||
|
|||||||
@ -2,11 +2,11 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>Class NumericalService.NumericalServiceBase | HiAPI-C# 2025 </title>
|
<title>Interface ISessionResettable | HiAPI-C# 2025 </title>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="title" content="Class NumericalService.NumericalServiceBase | HiAPI-C# 2025 ">
|
<meta name="title" content="Interface ISessionResettable | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
<meta name="description" content="Base class for server-side implementations of NumericalService">
|
<meta name="description" content="Marker for objects that hold session-scoped runtime state which must be cleared when initializes a new session pipeline (the state.IsInitialized == false edge). Implementers may live on either chain: or . scans and on the session-init edge and calls on every match. Distinct from : power-reset clears retained-but-volatile state on a controller power cycle (e.g., Fanuc #100-#499), an edge that survives ordinary session boundaries. Session-reset clears state whose lifetime is one pipeline pass (iteration counters, file-index allocators, etc.).">
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
@ -84,70 +84,62 @@
|
|||||||
<nav id="breadcrumb"></nav>
|
<nav id="breadcrumb"></nav>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<article data-uid="numerical.NumericalService.NumericalServiceBase">
|
<article data-uid="Hi.NcParsers.ISessionResettable">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1 id="numerical_NumericalService_NumericalServiceBase" data-uid="numerical.NumericalService.NumericalServiceBase" class="text-break">
|
<h1 id="Hi_NcParsers_ISessionResettable" data-uid="Hi.NcParsers.ISessionResettable" class="text-break">
|
||||||
Class NumericalService.NumericalServiceBase
|
Interface ISessionResettable
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<div class="facts text-secondary">
|
<div class="facts text-secondary">
|
||||||
<dl><dt>Namespace</dt><dd><a class="xref" href="numerical.html">numerical</a></dd></dl>
|
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.NcParsers.html">NcParsers</a></dd></dl>
|
||||||
<dl><dt>Assembly</dt><dd>HiGeom.dll</dd></dl>
|
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="markdown summary"><p>Base class for server-side implementations of NumericalService</p>
|
<div class="markdown summary"><p>Marker for objects that hold session-scoped runtime state which must be
|
||||||
|
cleared when <a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a> initializes a new
|
||||||
|
session pipeline (the <code>state.IsInitialized == false</code> edge).</p>
|
||||||
|
<p>
|
||||||
|
Implementers may live on either chain: <a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a>
|
||||||
|
or <a class="xref" href="Hi.NcParsers.Syntaxs.INcSyntax.html">INcSyntax</a>. <a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a> scans
|
||||||
|
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_NcDependencyList">NcDependencyList</a> and
|
||||||
|
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_NcSyntaxList">NcSyntaxList</a> on the session-init edge and calls
|
||||||
|
<a class="xref" href="Hi.NcParsers.ISessionResettable.html#Hi_NcParsers_ISessionResettable_OnSessionReset">OnSessionReset()</a> on every match.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Distinct from <a class="xref" href="Hi.NcParsers.Dependencys.IPowerResettable.html">IPowerResettable</a>: power-reset clears
|
||||||
|
retained-but-volatile state on a controller power cycle (e.g., Fanuc
|
||||||
|
<code>#100-#499</code>), an edge that survives ordinary session boundaries.
|
||||||
|
Session-reset clears state whose lifetime is one pipeline pass (iteration
|
||||||
|
counters, file-index allocators, etc.).
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown conceptual"></div>
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">[BindServiceMethod(typeof(NumericalService), "BindService")]
|
<pre><code class="lang-csharp hljs">public interface ISessionResettable</code></pre>
|
||||||
public abstract class NumericalService.NumericalServiceBase</code></pre>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist inheritance">
|
|
||||||
<dt>Inheritance</dt>
|
|
||||||
<dd>
|
|
||||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
|
||||||
<div><span class="xref">NumericalService.NumericalServiceBase</span></div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist inheritedMembers">
|
|
||||||
<dt>Inherited Members</dt>
|
|
||||||
<dd>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
|
||||||
</div>
|
|
||||||
</dd></dl>
|
|
||||||
|
|
||||||
<dl class="typelist extensionMethods">
|
<dl class="typelist extensionMethods">
|
||||||
<dt>Extension Methods</dt>
|
<dt>Extension Methods</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
||||||
</div>
|
</div>
|
||||||
@ -160,15 +152,6 @@ public abstract class NumericalService.NumericalServiceBase</code></pre>
|
|||||||
<div>
|
<div>
|
||||||
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
|
||||||
</div>
|
|
||||||
</dd></dl>
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
@ -179,33 +162,26 @@ public abstract class NumericalService.NumericalServiceBase</code></pre>
|
|||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
<a id="numerical_NumericalService_NumericalServiceBase_GetNcStepGrpcCsvRowDictionary_" data-uid="numerical.NumericalService.NumericalServiceBase.GetNcStepGrpcCsvRowDictionary*"></a>
|
<a id="Hi_NcParsers_ISessionResettable_OnSessionReset_" data-uid="Hi.NcParsers.ISessionResettable.OnSessionReset*"></a>
|
||||||
|
|
||||||
<h3 id="numerical_NumericalService_NumericalServiceBase_GetNcStepGrpcCsvRowDictionary_numerical_Empty_Grpc_Core_ServerCallContext_" data-uid="numerical.NumericalService.NumericalServiceBase.GetNcStepGrpcCsvRowDictionary(numerical.Empty,Grpc.Core.ServerCallContext)">
|
<h3 id="Hi_NcParsers_ISessionResettable_OnSessionReset" data-uid="Hi.NcParsers.ISessionResettable.OnSessionReset">
|
||||||
GetNcStepGrpcCsvRowDictionary(Empty, ServerCallContext)
|
OnSessionReset()
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="markdown level1 summary"></div>
|
<div class="markdown level1 summary"><p>Clears the session-scoped subset owned by this object. Called by
|
||||||
|
<a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a> on the same edge that
|
||||||
|
rebuilds the syntax-piece pipeline so a runner reused across
|
||||||
|
sessions does not leak counters / allocators / accumulators from
|
||||||
|
the previous session.</p>
|
||||||
|
</div>
|
||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public virtual Task<GrpcCsvRowDictionary> GetNcStepGrpcCsvRowDictionary(Empty request, ServerCallContext context)</code></pre>
|
<pre><code class="lang-csharp hljs">void OnSessionReset()</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>request</code> <a class="xref" href="numerical.Empty.html">Empty</a></dt>
|
|
||||||
<dd></dd>
|
|
||||||
<dt><code>context</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ServerCallContext.cs">ServerCallContext</a></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task-1">Task</a><<a class="xref" href="numerical.GrpcCsvRowDictionary.html">GrpcCsvRowDictionary</a>></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="title" content="Class FanucGoto | HiAPI-C# 2025 ">
|
<meta name="title" content="Class FanucGoto | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
<meta name="description" content="Fanuc Custom Macro B GOTO record. Stamped on the host block by after the control-flow decision has been made; produced earlier by as a parsing-stage sub-section (Parsing.FanucGoto) carrying the raw captured fields. Two source forms map to the same shape: GOTO &lt;n&gt; — unconditional jump. is null.IF [&lt;bool-expr&gt;] GOTO &lt;n&gt; — conditional jump. holds the expression text from inside the brackets. At parsing time is a raw token from the source — it may be a literal ("100"), a variable reference ("#1"), or a bracketed expression ("#[#2+5]"). substitutes a resolved literal back into the same field in the Evaluation bundle; then int.TryParses the final string to produce an int target.">
|
<meta name="description" content="Fanuc Custom Macro B GOTO record. Stamped on the host block by after the control-flow decision has been made; produced earlier by as a parsing-stage sub-section (Parsing.FanucGoto) carrying the raw captured fields. Two source forms map to the same shape: GOTO &lt;n&gt; — unconditional jump. is null.IF [&lt;bool-expr&gt;] GOTO &lt;n&gt; — conditional jump. holds the expression text from inside the brackets. At parsing time is a raw token from the source — it may be a literal ("100"), a variable reference ("#1"), or a bracketed expression ("#[#2+5]"). substitutes a resolved literal back into the same field in the Evaluation bundle; then int.TryParses the final string to produce an int target. Lifecycle of the condition fields. is written at Parsing time as the raw expression text and substituted in place by pass-2 — the original text is preserved at Formula.FanucGoto.Condition when substitution succeeds. is the host-level stamp written by carrying the tri-state truthy outcome.">
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
@ -116,6 +116,16 @@ substitutes a resolved literal back into the same field in the
|
|||||||
Evaluation bundle; <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html">FanucGotoSyntax</a> then
|
Evaluation bundle; <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html">FanucGotoSyntax</a> then
|
||||||
<code>int.TryParse</code>s the final string to produce an int target.
|
<code>int.TryParse</code>s the final string to produce an int target.
|
||||||
</p>
|
</p>
|
||||||
|
<p>
|
||||||
|
<b>Lifecycle of the condition fields.</b>
|
||||||
|
<ul><li><a class="xref" href="Hi.NcParsers.Keywords.FanucGoto.html#Hi_NcParsers_Keywords_FanucGoto_Condition">Condition</a> is written at Parsing time as the raw
|
||||||
|
expression text and substituted in place by
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a> pass-2 — the
|
||||||
|
original text is preserved at <code>Formula.FanucGoto.Condition</code>
|
||||||
|
when substitution succeeds.</li><li><a class="xref" href="Hi.NcParsers.Keywords.FanucGoto.html#Hi_NcParsers_Keywords_FanucGoto_ConditionEvaluated">ConditionEvaluated</a> is the host-level stamp
|
||||||
|
written by <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html">FanucGotoSyntax</a>
|
||||||
|
carrying the tri-state truthy outcome.</li></ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown conceptual"></div>
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
@ -204,10 +214,13 @@ Evaluation bundle; <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.Fa
|
|||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Raw boolean expression text from inside the <code>IF [...]</code>
|
<div class="markdown level1 summary"><p>Raw boolean expression text from inside the <code>IF [...]</code>
|
||||||
brackets, or null for the unconditional form. Evaluator boolean
|
brackets at Parsing time; substituted to a numeric
|
||||||
support is pending — until then,
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonvalue">JsonValue</a> in place by
|
||||||
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html">FanucGotoSyntax</a> emits a warning
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a> when the
|
||||||
and falls through for any non-null <a class="xref" href="Hi.NcParsers.Keywords.FanucGoto.html#Hi_NcParsers_Keywords_FanucGoto_Condition">Condition</a>.</p>
|
expression evaluates successfully. The original text survives at
|
||||||
|
<code>Formula.FanucGoto.Condition</code>. Null for the unconditional
|
||||||
|
form. Note: not written on the host-level stamp; the gate
|
||||||
|
outcome lives at <a class="xref" href="Hi.NcParsers.Keywords.FanucGoto.html#Hi_NcParsers_Keywords_FanucGoto_ConditionEvaluated">ConditionEvaluated</a>.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
@ -232,6 +245,46 @@ and falls through for any non-null <a class="xref" href="Hi.NcParsers.Keywords.F
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Keywords_FanucGoto_ConditionEvaluated_" data-uid="Hi.NcParsers.Keywords.FanucGoto.ConditionEvaluated*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Keywords_FanucGoto_ConditionEvaluated" data-uid="Hi.NcParsers.Keywords.FanucGoto.ConditionEvaluated">
|
||||||
|
ConditionEvaluated
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Tri-state outcome of evaluating the IF-form's boolean condition,
|
||||||
|
stamped on the host block by
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html">FanucGotoSyntax</a>:</p>
|
||||||
|
<ul><li><code>true</code> — condition met (gate fires).</li><li><code>false</code> — condition not met (gate falls through silently).</li><li><code>null</code> — evaluator could not produce a finite truth
|
||||||
|
value (vacant variable, parse error, NaN / ±∞), or the host
|
||||||
|
block is the unconditional <code>GOTO</code> form.</li></ul>
|
||||||
|
The original expression text is preserved at
|
||||||
|
<code>Formula.FanucGoto.Condition</code> by
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a>.
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public bool? ConditionEvaluated { get; set; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a>?</dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_NcParsers_Keywords_FanucGoto_Fired_" data-uid="Hi.NcParsers.Keywords.FanucGoto.Fired*"></a>
|
<a id="Hi_NcParsers_Keywords_FanucGoto_Fired_" data-uid="Hi.NcParsers.Keywords.FanucGoto.Fired*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_NcParsers_Keywords_FanucGoto_Fired" data-uid="Hi.NcParsers.Keywords.FanucGoto.Fired">
|
<h3 id="Hi_NcParsers_Keywords_FanucGoto_Fired" data-uid="Hi.NcParsers.Keywords.FanucGoto.Fired">
|
||||||
|
|||||||
@ -283,13 +283,14 @@ parsing syntax via <a class="xref" href="Hi.NcParsers.Syntaxs.NcSyntaxUtil.html"
|
|||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Raw boolean expression text from inside the <code>IF [...]</code> brackets.
|
<div class="markdown level1 summary"><p>Raw boolean expression text from inside the <code>IF [...]</code> brackets
|
||||||
String at parsing time;
|
at Parsing time; substituted to a numeric
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonvalue">JsonValue</a> in place by
|
||||||
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a>'s pass-2 tree
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a>'s pass-2 tree
|
||||||
walk substitutes a numeric literal in place when the expression
|
walk when the expression evaluates successfully. The original text
|
||||||
evaluates successfully. <code>FanucIfThenSyntax</code> reads the resulting
|
survives at <code>Formula.FanucIfThen.Condition</code>. Note: not written
|
||||||
JSON node polymorphically (number → truthy gate; remaining string →
|
on the host-level stamp; the gate outcome lives at
|
||||||
unevaluated warning).</p>
|
<a class="xref" href="Hi.NcParsers.Keywords.FanucIfThen.html#Hi_NcParsers_Keywords_FanucIfThen_ConditionEvaluated">ConditionEvaluated</a>.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
@ -314,6 +315,45 @@ unevaluated warning).</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Keywords_FanucIfThen_ConditionEvaluated_" data-uid="Hi.NcParsers.Keywords.FanucIfThen.ConditionEvaluated*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Keywords_FanucIfThen_ConditionEvaluated" data-uid="Hi.NcParsers.Keywords.FanucIfThen.ConditionEvaluated">
|
||||||
|
ConditionEvaluated
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Tri-state outcome of evaluating the IF-form's boolean condition,
|
||||||
|
stamped on the host block by
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucIfThenSyntax.html">FanucIfThenSyntax</a>:</p>
|
||||||
|
<ul><li><code>true</code> — condition met (body fires).</li><li><code>false</code> — condition not met (body skipped silently).</li><li><code>null</code> — evaluator could not produce a finite truth
|
||||||
|
value (vacant variable, parse error, NaN / ±∞).</li></ul>
|
||||||
|
The original expression text is preserved at
|
||||||
|
<code>Formula.FanucIfThen.Condition</code> by
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a>.
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public bool? ConditionEvaluated { get; set; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a>?</dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,388 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Class FanucWhileDo | HiAPI-C# 2025 </title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="title" content="Class FanucWhileDo | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
|
<meta name="description" content="Fanuc Custom Macro B WHILE/END bounded-loop record. Stamped on the host block by after the control-flow decision has been made; produced earlier by as a parsing-stage sub-section (Parsing.FanucWhileDo) carrying the raw captured fields. Two phrases map to the same shape, distinguished by : WHILE [&lt;bool-expr&gt;] DO &lt;m&gt; — loop entry. holds the expression text from inside the brackets at parsing time; substituted to a numeric by in place. carries the host-level truthy outcome at stamp time.END &lt;m&gt; — loop terminator. Carries no condition; unconditionally reverse-jumps to the matching WHILE block on every execution (re-evaluation of the entry condition is the WHILE block's responsibility). is the spec-named "identification number for nesting" (the m in DO m / END m). Nested loops must use distinct LoopIds; matching is by exact value. Same-LoopId nesting is spec-undefined and not given special handling here. Active loop frames are carried block-to-block via the top-level WhileFrames JSON section (a keyed by LoopId-as-string, each entry recording the BeginLineNo of the WHILE block that opened that frame). Carried by as part of its tracked keys (mutated in Evaluation, must reach Logic-stage consumers and downstream blocks unchanged).">
|
||||||
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
|
<meta name="docfx:navrel" content="../toc.html">
|
||||||
|
<meta name="docfx:tocrel" content="toc.html">
|
||||||
|
|
||||||
|
<meta name="docfx:rel" content="../">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta name="loc:inThisArticle" content="In this article">
|
||||||
|
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||||
|
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||||
|
<meta name="loc:tocFilter" content="Filter by title">
|
||||||
|
<meta name="loc:nextArticle" content="Next">
|
||||||
|
<meta name="loc:prevArticle" content="Previous">
|
||||||
|
<meta name="loc:themeLight" content="Light">
|
||||||
|
<meta name="loc:themeDark" content="Dark">
|
||||||
|
<meta name="loc:themeAuto" content="Auto">
|
||||||
|
<meta name="loc:changeTheme" content="Change theme">
|
||||||
|
<meta name="loc:copy" content="Copy">
|
||||||
|
<meta name="loc:downloadPdf" content="Download PDF">
|
||||||
|
|
||||||
|
<script type="module" src="./../public/docfx.min.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const theme = localStorage.getItem('theme') || 'auto'
|
||||||
|
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
||||||
|
<header class="bg-body border-bottom">
|
||||||
|
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||||
|
<div class="container-xxl flex-nowrap">
|
||||||
|
<a class="navbar-brand" href="../index.html">
|
||||||
|
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
||||||
|
|
||||||
|
</a>
|
||||||
|
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<i class="bi bi-three-dots"></i>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navpanel">
|
||||||
|
<div id="navbar">
|
||||||
|
<form class="search" role="search" id="search">
|
||||||
|
<i class="bi bi-search"></i>
|
||||||
|
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<main class="container-xxl">
|
||||||
|
<div class="toc-offcanvas">
|
||||||
|
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||||
|
<div class="offcanvas-header">
|
||||||
|
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="offcanvas-body">
|
||||||
|
<nav class="toc" id="toc"></nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
<div class="actionbar">
|
||||||
|
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||||
|
<i class="bi bi-list"></i>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<nav id="breadcrumb"></nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<article data-uid="Hi.NcParsers.Keywords.FanucWhileDo">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="Hi_NcParsers_Keywords_FanucWhileDo" data-uid="Hi.NcParsers.Keywords.FanucWhileDo" class="text-break">
|
||||||
|
Class FanucWhileDo
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="facts text-secondary">
|
||||||
|
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.NcParsers.html">NcParsers</a>.<a class="xref" href="Hi.NcParsers.Keywords.html">Keywords</a></dd></dl>
|
||||||
|
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="markdown summary"><p>Fanuc Custom Macro B WHILE/END bounded-loop record. Stamped on the
|
||||||
|
host block by
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.html">FanucWhileDoSyntax</a> after the
|
||||||
|
control-flow decision has been made; produced earlier by
|
||||||
|
<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.html">FanucWhileDoParsingSyntax</a> as a
|
||||||
|
parsing-stage sub-section (<code>Parsing.FanucWhileDo</code>) carrying the
|
||||||
|
raw captured fields.</p>
|
||||||
|
<p>
|
||||||
|
Two phrases map to the same shape, distinguished by <a class="xref" href="Hi.NcParsers.Keywords.FanucWhileDo.html#Hi_NcParsers_Keywords_FanucWhileDo_Term">Term</a>:
|
||||||
|
<ul><li><code>WHILE [<bool-expr>] DO <m></code> — loop entry.
|
||||||
|
<a class="xref" href="Hi.NcParsers.Keywords.FanucWhileDo.html#Hi_NcParsers_Keywords_FanucWhileDo_Condition">Condition</a> holds the expression text from inside the
|
||||||
|
brackets at parsing time; substituted to a numeric
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonvalue">JsonValue</a> by
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a> in place.
|
||||||
|
<a class="xref" href="Hi.NcParsers.Keywords.FanucWhileDo.html#Hi_NcParsers_Keywords_FanucWhileDo_ConditionEvaluated">ConditionEvaluated</a> carries the host-level truthy
|
||||||
|
outcome at stamp time.</li><li><code>END <m></code> — loop terminator. Carries no condition;
|
||||||
|
unconditionally reverse-jumps to the matching WHILE block on every
|
||||||
|
execution (re-evaluation of the entry condition is the WHILE block's
|
||||||
|
responsibility).</li></ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a class="xref" href="Hi.NcParsers.Keywords.FanucWhileDo.html#Hi_NcParsers_Keywords_FanucWhileDo_LoopId">LoopId</a> is the spec-named "identification number for
|
||||||
|
nesting" (the <code>m</code> in <code>DO m</code> / <code>END m</code>). Nested loops
|
||||||
|
must use distinct LoopIds; matching is by exact value. Same-LoopId
|
||||||
|
nesting is spec-undefined and not given special handling here.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Active loop frames are carried block-to-block via the top-level
|
||||||
|
<code>WhileFrames</code> JSON section (a <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">JsonObject</a>
|
||||||
|
keyed by LoopId-as-string, each entry recording the
|
||||||
|
<code>BeginLineNo</code> of the WHILE block that opened that frame).
|
||||||
|
Carried by <a class="xref" href="Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html">ModalCarrySyntax</a> as part
|
||||||
|
of its <a class="xref" href="Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html#Hi_NcParsers_PostLogicSyntaxs_ModalCarrySyntax_Logic">Logic</a> tracked
|
||||||
|
keys (mutated in Evaluation, must reach Logic-stage consumers and
|
||||||
|
downstream blocks unchanged).
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public class FanucWhileDo</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<dl class="typelist inheritance">
|
||||||
|
<dt>Inheritance</dt>
|
||||||
|
<dd>
|
||||||
|
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||||
|
<div><span class="xref">FanucWhileDo</span></div>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<dl class="typelist inheritedMembers">
|
||||||
|
<dt>Inherited Members</dt>
|
||||||
|
<dd>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||||
|
</div>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="typelist extensionMethods">
|
||||||
|
<dt>Extension Methods</dt>
|
||||||
|
<dd>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
||||||
|
</div>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="properties">Properties
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Keywords_FanucWhileDo_Condition_" data-uid="Hi.NcParsers.Keywords.FanucWhileDo.Condition*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Keywords_FanucWhileDo_Condition" data-uid="Hi.NcParsers.Keywords.FanucWhileDo.Condition">
|
||||||
|
Condition
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Raw boolean expression text from inside the WHILE's <code>[...]</code>
|
||||||
|
brackets at Parsing time; substituted to a numeric
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonvalue">JsonValue</a> in place by
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a> when the
|
||||||
|
expression evaluates successfully. The original text survives at
|
||||||
|
<code>Formula.FanucWhileDo.Condition</code>. Null on the END phrase.
|
||||||
|
Note: not written on the host-level stamp; the gate outcome lives at
|
||||||
|
<a class="xref" href="Hi.NcParsers.Keywords.FanucWhileDo.html#Hi_NcParsers_Keywords_FanucWhileDo_ConditionEvaluated">ConditionEvaluated</a>.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public string Condition { get; set; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Keywords_FanucWhileDo_ConditionEvaluated_" data-uid="Hi.NcParsers.Keywords.FanucWhileDo.ConditionEvaluated*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Keywords_FanucWhileDo_ConditionEvaluated" data-uid="Hi.NcParsers.Keywords.FanucWhileDo.ConditionEvaluated">
|
||||||
|
ConditionEvaluated
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Tri-state outcome of evaluating the WHILE's boolean condition,
|
||||||
|
stamped on the host block by
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.html">FanucWhileDoSyntax</a>:</p>
|
||||||
|
<ul><li><code>true</code> — condition met (body executes; loop continues).</li><li><code>false</code> — condition not met (loop exits; forward-jump
|
||||||
|
past matching END).</li><li><code>null</code> — evaluator could not produce a finite truth
|
||||||
|
value (vacant variable, parse error, NaN / ±∞); loop exits
|
||||||
|
defensively and emits
|
||||||
|
<code>FanucWhileDo--ConditionNotEvaluated</code>.</li></ul>
|
||||||
|
Null also on the END phrase (no condition to evaluate). The original
|
||||||
|
expression text is preserved at <code>Formula.FanucWhileDo.Condition</code>
|
||||||
|
by <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a>.
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public bool? ConditionEvaluated { get; set; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a>?</dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Keywords_FanucWhileDo_LoopId_" data-uid="Hi.NcParsers.Keywords.FanucWhileDo.LoopId*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Keywords_FanucWhileDo_LoopId" data-uid="Hi.NcParsers.Keywords.FanucWhileDo.LoopId">
|
||||||
|
LoopId
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>The <code>m</code> identifier from <code>DO m</code> / <code>END m</code> — the
|
||||||
|
spec-named “identification number for nesting”. Nested loops use
|
||||||
|
distinct LoopIds (1–3 typical); WHILE and END pair by exact match.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public int LoopId { get; set; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_Keywords_FanucWhileDo_Term_" data-uid="Hi.NcParsers.Keywords.FanucWhileDo.Term*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_Keywords_FanucWhileDo_Term" data-uid="Hi.NcParsers.Keywords.FanucWhileDo.Term">
|
||||||
|
Term
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Triggering phrase: <code>“WHILE...DO”</code> for the loop entry form,
|
||||||
|
<code>“END”</code> for the loop terminator.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public string Term { get; set; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<div class="contribution d-print-none">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="affix">
|
||||||
|
<nav id="affix"></nav>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<div class="container-xxl search-results" id="search-results"></div>
|
||||||
|
|
||||||
|
<footer class="border-top text-secondary">
|
||||||
|
<div class="container-xxl">
|
||||||
|
<div class="flex-fill">
|
||||||
|
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="title" content="Interface IArcMotionDef | HiAPI-C# 2025 ">
|
<meta name="title" content="Interface IArcMotionDef | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
<meta name="description" content="Arc motion data written by . Stored under the JSON section alongside properties.">
|
<meta name="description" content="Arc motion data written by . Stored under the JSON section alongside properties. The arc plane is read from the modal section via rather than cached on the event — same source of truth as .">
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
@ -98,8 +98,12 @@ Interface IArcMotionDef
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="markdown summary"><p>Arc motion data written by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.html">CircularMotionSyntax</a>.
|
<div class="markdown summary"><p>Arc motion data written by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.html">CircularMotionSyntax</a>.
|
||||||
Stored under the <a class="xref" href="Hi.Motion.html">Hi.Motion</a> JSON section alongside
|
Stored under the <a class="xref" href="Hi.NcParsers.Keywords.MotionEvent.html">MotionEvent</a> JSON section alongside
|
||||||
<a class="xref" href="Hi.NcParsers.Keywords.IMotionEventDef.html">IMotionEventDef</a> properties.</p>
|
<a class="xref" href="Hi.NcParsers.Keywords.IMotionEventDef.html">IMotionEventDef</a> properties. The arc plane is read from the
|
||||||
|
modal <a class="xref" href="Hi.NcParsers.Keywords.PlaneSelect.html">PlaneSelect</a> section via
|
||||||
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.html#Hi_NcParsers_LogicSyntaxs_PlaneSelectSyntax_GetPlaneNormalDir_System_Text_Json_Nodes_JsonObject_">GetPlaneNormalDir(JsonObject)</a> rather than
|
||||||
|
cached on the event — same source of truth as
|
||||||
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.html">IsoG68RotationSyntax</a>.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown conceptual"></div>
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
@ -142,11 +146,9 @@ Stored under the <a class="xref" href="Hi.Motion.html">Hi.Motion</a> JSON sectio
|
|||||||
|
|
||||||
|
|
||||||
<h2 id="Hi_NcParsers_Keywords_IArcMotionDef_examples">Examples</h2>
|
<h2 id="Hi_NcParsers_Keywords_IArcMotionDef_examples">Examples</h2>
|
||||||
<pre><code class="lang-csharp">"Motion": {
|
<pre><code class="lang-csharp">"MotionEvent": {
|
||||||
"Mode": "G02",
|
|
||||||
"Form": "McArc",
|
"Form": "McArc",
|
||||||
"ArcCenter": { "X": 10.0, "Y": 5.0, "Z": 0.0 },
|
"ArcCenter": { "X": 10.0, "Y": 5.0, "Z": 0.0 },
|
||||||
"PlaneNormalDir": 2,
|
|
||||||
"IsCcw": false,
|
"IsCcw": false,
|
||||||
"AdditionalCircleNum": 0
|
"AdditionalCircleNum": 0
|
||||||
}</code></pre>
|
}</code></pre>
|
||||||
@ -254,38 +256,6 @@ Stored under the <a class="xref" href="Hi.Motion.html">Hi.Motion</a> JSON sectio
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_NcParsers_Keywords_IArcMotionDef_PlaneNormalDir_" data-uid="Hi.NcParsers.Keywords.IArcMotionDef.PlaneNormalDir*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_NcParsers_Keywords_IArcMotionDef_PlaneNormalDir" data-uid="Hi.NcParsers.Keywords.IArcMotionDef.PlaneNormalDir">
|
|
||||||
PlaneNormalDir
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Perpendicular axis direction (0=X, 1=Y, 2=Z). G17→2, G18→1, G19→0.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">int PlaneNormalDir { get; }</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section">Property Value</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
|
|||||||
@ -217,6 +217,16 @@ substitutes a resolved literal back into the same field in the
|
|||||||
Evaluation bundle; <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html">FanucGotoSyntax</a> then
|
Evaluation bundle; <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html">FanucGotoSyntax</a> then
|
||||||
<code>int.TryParse</code>s the final string to produce an int target.
|
<code>int.TryParse</code>s the final string to produce an int target.
|
||||||
</p>
|
</p>
|
||||||
|
<p>
|
||||||
|
<b>Lifecycle of the condition fields.</b>
|
||||||
|
<ul><li><a class="xref" href="Hi.NcParsers.Keywords.FanucGoto.html#Hi_NcParsers_Keywords_FanucGoto_Condition">Condition</a> is written at Parsing time as the raw
|
||||||
|
expression text and substituted in place by
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a> pass-2 — the
|
||||||
|
original text is preserved at <code>Formula.FanucGoto.Condition</code>
|
||||||
|
when substitution succeeds.</li><li><a class="xref" href="Hi.NcParsers.Keywords.FanucGoto.html#Hi_NcParsers_Keywords_FanucGoto_ConditionEvaluated">ConditionEvaluated</a> is the host-level stamp
|
||||||
|
written by <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucGotoSyntax.html">FanucGotoSyntax</a>
|
||||||
|
carrying the tri-state truthy outcome.</li></ul>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="jumplist">
|
<dl class="jumplist">
|
||||||
@ -298,6 +308,46 @@ G66 modal" via the carried section.
|
|||||||
<a class="xref" href="Hi.NcParsers.Keywords.TapeBoundary.html">TapeBoundary</a> line — e.g. <code>O1234</code> or
|
<a class="xref" href="Hi.NcParsers.Keywords.TapeBoundary.html">TapeBoundary</a> line — e.g. <code>O1234</code> or
|
||||||
<code><O1234></code>. <a class="xref" href="Hi.NcParsers.Keywords.FanucProgramNumber.html#Hi_NcParsers_Keywords_FanucProgramNumber_Wrapper">Wrapper</a> records the surface form
|
<code><O1234></code>. <a class="xref" href="Hi.NcParsers.Keywords.FanucProgramNumber.html#Hi_NcParsers_Keywords_FanucProgramNumber_Wrapper">Wrapper</a> records the surface form
|
||||||
so a parsed block can be emitted back to the original notation.</p>
|
so a parsed block can be emitted back to the original notation.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="jumplist">
|
||||||
|
<dt><a class="xref" href="Hi.NcParsers.Keywords.FanucWhileDo.html">FanucWhileDo</a></dt>
|
||||||
|
<dd><p>Fanuc Custom Macro B WHILE/END bounded-loop record. Stamped on the
|
||||||
|
host block by
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.html">FanucWhileDoSyntax</a> after the
|
||||||
|
control-flow decision has been made; produced earlier by
|
||||||
|
<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.html">FanucWhileDoParsingSyntax</a> as a
|
||||||
|
parsing-stage sub-section (<code>Parsing.FanucWhileDo</code>) carrying the
|
||||||
|
raw captured fields.</p>
|
||||||
|
<p>
|
||||||
|
Two phrases map to the same shape, distinguished by <a class="xref" href="Hi.NcParsers.Keywords.FanucWhileDo.html#Hi_NcParsers_Keywords_FanucWhileDo_Term">Term</a>:
|
||||||
|
<ul><li><code>WHILE [<bool-expr>] DO <m></code> — loop entry.
|
||||||
|
<a class="xref" href="Hi.NcParsers.Keywords.FanucWhileDo.html#Hi_NcParsers_Keywords_FanucWhileDo_Condition">Condition</a> holds the expression text from inside the
|
||||||
|
brackets at parsing time; substituted to a numeric
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonvalue">JsonValue</a> by
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a> in place.
|
||||||
|
<a class="xref" href="Hi.NcParsers.Keywords.FanucWhileDo.html#Hi_NcParsers_Keywords_FanucWhileDo_ConditionEvaluated">ConditionEvaluated</a> carries the host-level truthy
|
||||||
|
outcome at stamp time.</li><li><code>END <m></code> — loop terminator. Carries no condition;
|
||||||
|
unconditionally reverse-jumps to the matching WHILE block on every
|
||||||
|
execution (re-evaluation of the entry condition is the WHILE block's
|
||||||
|
responsibility).</li></ul>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a class="xref" href="Hi.NcParsers.Keywords.FanucWhileDo.html#Hi_NcParsers_Keywords_FanucWhileDo_LoopId">LoopId</a> is the spec-named "identification number for
|
||||||
|
nesting" (the <code>m</code> in <code>DO m</code> / <code>END m</code>). Nested loops
|
||||||
|
must use distinct LoopIds; matching is by exact value. Same-LoopId
|
||||||
|
nesting is spec-undefined and not given special handling here.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Active loop frames are carried block-to-block via the top-level
|
||||||
|
<code>WhileFrames</code> JSON section (a <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">JsonObject</a>
|
||||||
|
keyed by LoopId-as-string, each entry recording the
|
||||||
|
<code>BeginLineNo</code> of the WHILE block that opened that frame).
|
||||||
|
Carried by <a class="xref" href="Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html">ModalCarrySyntax</a> as part
|
||||||
|
of its <a class="xref" href="Hi.NcParsers.PostLogicSyntaxs.ModalCarrySyntax.html#Hi_NcParsers_PostLogicSyntaxs_ModalCarrySyntax_Logic">Logic</a> tracked
|
||||||
|
keys (mutated in Evaluation, must reach Logic-stage consumers and
|
||||||
|
downstream blocks unchanged).
|
||||||
|
</p>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="jumplist">
|
<dl class="jumplist">
|
||||||
@ -498,8 +548,12 @@ Interfaces
|
|||||||
<dl class="jumplist">
|
<dl class="jumplist">
|
||||||
<dt><a class="xref" href="Hi.NcParsers.Keywords.IArcMotionDef.html">IArcMotionDef</a></dt>
|
<dt><a class="xref" href="Hi.NcParsers.Keywords.IArcMotionDef.html">IArcMotionDef</a></dt>
|
||||||
<dd><p>Arc motion data written by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.html">CircularMotionSyntax</a>.
|
<dd><p>Arc motion data written by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.CircularMotionSyntax.html">CircularMotionSyntax</a>.
|
||||||
Stored under the <a class="xref" href="Hi.Motion.html">Hi.Motion</a> JSON section alongside
|
Stored under the <a class="xref" href="Hi.NcParsers.Keywords.MotionEvent.html">MotionEvent</a> JSON section alongside
|
||||||
<a class="xref" href="Hi.NcParsers.Keywords.IMotionEventDef.html">IMotionEventDef</a> properties.</p>
|
<a class="xref" href="Hi.NcParsers.Keywords.IMotionEventDef.html">IMotionEventDef</a> properties. The arc plane is read from the
|
||||||
|
modal <a class="xref" href="Hi.NcParsers.Keywords.PlaneSelect.html">PlaneSelect</a> section via
|
||||||
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.html#Hi_NcParsers_LogicSyntaxs_PlaneSelectSyntax_GetPlaneNormalDir_System_Text_Json_Nodes_JsonObject_">GetPlaneNormalDir(JsonObject)</a> rather than
|
||||||
|
cached on the event — same source of truth as
|
||||||
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.IsoG68RotationSyntax.html">IsoG68RotationSyntax</a>.</p>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="jumplist">
|
<dl class="jumplist">
|
||||||
|
|||||||
@ -194,6 +194,49 @@ syntax runs.
|
|||||||
</dd></dl>
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="Hi_NcParsers_LogicSyntaxs_BackBoringSyntax_examples">Examples</h2>
|
||||||
|
<p>G87 G98 — pre-populated <a class="xref" href="Hi.NcParsers.Keywords.CannedCycle.html">CannedCycle</a>, no
|
||||||
|
<code>#Previous:</code> so <code>initZ = 0</code>, F=600 → 10 mm/s, shift Q=1.
|
||||||
|
Eleven items — the longest canned-cycle item list — split into three
|
||||||
|
phases: enter shifted (OSS, shifted-init, shifted-bottom, back-to-
|
||||||
|
center, spindle-CW); cut upward (feed bottom → R); retract shifted
|
||||||
|
(OSS again, shifted-at-R, shifted-final, back-to-center, spindle-
|
||||||
|
restart). Note that the feed step goes UP (Z=-10 → Z=2), not down,
|
||||||
|
which is the defining feature of back boring:
|
||||||
|
#BeforeBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "G87": { "X": 50, "Y": 30, "Z": -10, "R": 2, "Q": 1, "F": 600 } },
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G87", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2, "Q": 1 }
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
<p>#AfterBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G87", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2, "Q": 1 }
|
||||||
|
},
|
||||||
|
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
|
||||||
|
"CompoundMotion": {
|
||||||
|
"Term": "G87",
|
||||||
|
"Items": [
|
||||||
|
{ "SpindleOrientation": { "Angle_deg": 0 } },
|
||||||
|
{ "ProgramXyz": { "X": 51, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 51, "Y": 30, "Z": -10 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": -10 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "SpindleControl": { "Direction": "CW" } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 2 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
|
||||||
|
{ "SpindleOrientation": { "Angle_deg": 0 } },
|
||||||
|
{ "ProgramXyz": { "X": 51, "Y": 30, "Z": 2 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 51, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "SpindleControl": { "Direction": "CW" } }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||||
|
}</code></pre>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="title" content="Enum BareG28Behavior | HiAPI-C# 2025 ">
|
<meta name="title" content="Enum BareG28Behavior | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
<meta name="description" content="Writes section for G28 reference point return. Reads intermediate XYZ from Parsing.G28 (written by ) and converts to machine coordinates via . Must be placed after in the syntax chain. Removes the section written by (G28 handles its own motion). Overwrites root and with reference position for subsequent block lookback.">
|
<meta name="description" content="Configurable handling for a G28 block with no axis specifiers (&ldquo;bare G28&rdquo;) — value of . Real Fanuc-class controllers vary: older 0i-M alarms (PS010), some 30i variants send every configured axis to home. Default to so silent NC bugs surface; opt into per syntax instance.">
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
@ -98,19 +98,12 @@ Enum BareG28Behavior
|
|||||||
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="markdown summary"><p>Writes <a class="xref" href="Hi.NcParsers.Keywords.ICompoundMotionDef.html">ICompoundMotionDef</a> section for G28 reference point return.
|
<div class="markdown summary"><p>Configurable handling for a G28 block with no axis specifiers
|
||||||
Reads intermediate XYZ from <code>Parsing.G28</code>
|
(“bare G28”) — value of <a class="xref" href="Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html#Hi_NcParsers_LogicSyntaxs_ReferenceReturnSyntax_BareG28">BareG28</a>.
|
||||||
(written by <a class="xref" href="Hi.NcParsers.Syntaxs.GenericSyntaxKit.html#Hi_NcParsers_Syntaxs_GenericSyntaxKit_G28Syntax">G28Syntax</a>)
|
Real Fanuc-class controllers vary: older 0i-M alarms (PS010), some
|
||||||
and converts to machine coordinates via
|
30i variants send every configured axis to home. Default to
|
||||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.ProgramXyzUtil.html#Hi_NcParsers_LogicSyntaxs_ProgramXyzUtil_ResolveProgramXyz_System_Text_Json_Nodes_JsonNode_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__Hi_NcParsers_ISentenceCarrier_Hi_NcParsers_NcDiagnosticProgress_">ResolveProgramXyz(JsonNode, LazyLinkedListNode<SyntaxPiece>, ISentenceCarrier, NcDiagnosticProgress)</a>.</p>
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.BareG28Behavior.html#Hi_NcParsers_LogicSyntaxs_BareG28Behavior_Alarm">Alarm</a> so silent NC bugs surface; opt into
|
||||||
<p>
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.BareG28Behavior.html#Hi_NcParsers_LogicSyntaxs_BareG28Behavior_AllAxesHome">AllAxesHome</a> per syntax instance.</p>
|
||||||
Must be placed after <a class="xref" href="Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html">LinearMotionSyntax</a> in the syntax chain.
|
|
||||||
Removes the <a class="xref" href="Hi.NcParsers.Keywords.IMotionEventDef.html">IMotionEventDef</a> section written by
|
|
||||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html">LinearMotionSyntax</a> (G28 handles its own motion).
|
|
||||||
Overwrites root <a class="xref" href="Hi.NcParsers.Keywords.IMachineCoordinateStateDef.html#Hi_NcParsers_Keywords_IMachineCoordinateStateDef_MachineCoordinateState">MachineCoordinateState</a>
|
|
||||||
and <a class="xref" href="Hi.NcParsers.Keywords.IProgramXyzDef.html#Hi_NcParsers_Keywords_IProgramXyzDef_ProgramXyz">ProgramXyz</a> with reference position
|
|
||||||
for subsequent block lookback.
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown conceptual"></div>
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
@ -172,193 +165,6 @@ the syntax falls back to <a class="xref" href="Hi.NcParsers.LogicSyntaxs.BareG28
|
|||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<h2 id="Hi_NcParsers_LogicSyntaxs_BareG28Behavior_examples">Examples</h2>
|
|
||||||
<p>All cases hardcode a <code>TestDeps.HomeMc</code> with X/Y home at 0 and Z
|
|
||||||
home at 100 (typical mill where Z-home is above the table) and leave
|
|
||||||
the <code>ProgramToMcTransform</code> chain at identity so the final
|
|
||||||
<code>ProgramXyz</code> equals <code>MachineCoordinateState</code>. The G28
|
|
||||||
pattern emits a 2-item <code>CompoundMotion</code>: item 0 is the
|
|
||||||
intermediate point in <code>ProgramXyz</code>, item 1 is the final position
|
|
||||||
in <code>MachineCoordinateState</code>. Axes not present in the G28 block
|
|
||||||
keep the previous-block MC value rather than going home.</p>
|
|
||||||
<p>
|
|
||||||
<code>G91 G28 X0 Y0 Z0</code> with a <code>#Previous:</code> block carrying
|
|
||||||
<code>MachineCoordinateState=(50,60,70)</code> — all three axes go home,
|
|
||||||
so the final MC is the configured home <code>(0,0,100)</code>:
|
|
||||||
</p>
|
|
||||||
#Previous:
|
|
||||||
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "X": 50, "Y": 60, "Z": 70 } }</code></pre>
|
|
||||||
#BeforeBuild:
|
|
||||||
<pre><code class="lang-csharp">{ "Parsing": { "G28": { "X": 0, "Y": 0, "Z": 0 } } }</code></pre>
|
|
||||||
#AfterBuild:
|
|
||||||
<pre><code class="lang-csharp">{
|
|
||||||
"CompoundMotion": {
|
|
||||||
"Term": "G28",
|
|
||||||
"Items": [
|
|
||||||
{
|
|
||||||
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
|
||||||
"ProgramXyz": { "X": 0, "Y": 0, "Z": 0 }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
|
||||||
"MachineCoordinateState": { "X": 0, "Y": 0, "Z": 100 }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ProgramXyz": { "X": 0, "Y": 0, "Z": 100 }
|
|
||||||
}</code></pre>
|
|
||||||
<code>G91 G28 Z0</code> — only Z goes to its home; X/Y inherit from the
|
|
||||||
previous block's MC. Item 0's intermediate <code>ProgramXyz</code> takes
|
|
||||||
X/Y from the inherited program XYZ (= previous MC under identity
|
|
||||||
transform) and Z from the literal 0 in the G28 block:
|
|
||||||
#Previous:
|
|
||||||
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "X": 50, "Y": 60, "Z": 70 } }</code></pre>
|
|
||||||
#BeforeBuild:
|
|
||||||
<pre><code class="lang-csharp">{ "Parsing": { "G28": { "Z": 0 } } }</code></pre>
|
|
||||||
#AfterBuild:
|
|
||||||
<pre><code class="lang-csharp">{
|
|
||||||
"CompoundMotion": {
|
|
||||||
"Term": "G28",
|
|
||||||
"Items": [
|
|
||||||
{
|
|
||||||
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
|
||||||
"ProgramXyz": { "X": 50, "Y": 60, "Z": 0 }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
|
||||||
"MachineCoordinateState": { "X": 50, "Y": 60, "Z": 100 }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ProgramXyz": { "X": 50, "Y": 60, "Z": 100 }
|
|
||||||
}</code></pre>
|
|
||||||
No <a class="xref" href="Hi.NcParsers.Dependencys.IHomeMcConfig.html">IHomeMcConfig</a> dep on the dependency list — the
|
|
||||||
syntax early-returns and the G28 sub-section stays in <code>Parsing</code>
|
|
||||||
for an upstream consumer or downstream syntax to handle:
|
|
||||||
#BeforeBuild:
|
|
||||||
<pre><code class="lang-csharp">{ "Parsing": { "G28": { "X": 0, "Y": 0, "Z": 0 } } }</code></pre>
|
|
||||||
#AfterBuild:
|
|
||||||
<pre><code class="lang-csharp">{ "Parsing": { "G28": { "X": 0, "Y": 0, "Z": 0 } } }</code></pre>
|
|
||||||
<p>
|
|
||||||
Rotary cases below add <code>TestDeps.AxisConfig</code> declaring B as
|
|
||||||
rotary and extend <code>HomeMc</code> with the conventional B home at 0°.
|
|
||||||
Each rotary block uses literal B = 45° so item 0's intermediate
|
|
||||||
(45°), item 1's home (0°), and <code>#Previous:</code> modal B (30°) are
|
|
||||||
pairwise distinct — a test that swaps any two values for any other
|
|
||||||
is caught by the assertion. The wrap pass
|
|
||||||
(<a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.html">McAbcCyclicPathSyntax</a>) is a different syntax, so
|
|
||||||
these per-SUT conformance assertions show only the raw literal /
|
|
||||||
canonical-home values written by this syntax, before any cyclic
|
|
||||||
normalization runs.
|
|
||||||
</p>
|
|
||||||
<code>G91 G28 B45.</code> — pure rotary G28. Emits a 2-item
|
|
||||||
<code>CompoundMotion</code> whose items carry only ABC keys in MC; no XYZ
|
|
||||||
<code>ProgramXyz</code> and no XYZ MC because the block doesn't reference
|
|
||||||
X/Y/Z (and the conformance harness doesn't run
|
|
||||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.McXyzSyntax.html">McXyzSyntax</a> downstream — in the full pipeline that
|
|
||||||
syntax fills root <code>MachineCoordinateState</code>'s XYZ from root
|
|
||||||
<code>ProgramXyz</code>, but with no XYZ in the block there's nothing to
|
|
||||||
fill anyway). Root MC.B holds the canonical home for modal
|
|
||||||
carry-forward; root <code>ProgramXyz</code> is not written:
|
|
||||||
#BeforeBuild:
|
|
||||||
<pre><code class="lang-csharp">{ "Parsing": { "G28": { "B": 45 } } }</code></pre>
|
|
||||||
#AfterBuild:
|
|
||||||
<pre><code class="lang-csharp">{
|
|
||||||
"MachineCoordinateState": { "B": 0 },
|
|
||||||
"CompoundMotion": {
|
|
||||||
"Term": "G28",
|
|
||||||
"Items": [
|
|
||||||
{
|
|
||||||
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
|
||||||
"MachineCoordinateState": { "B": 45 }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
|
||||||
"MachineCoordinateState": { "B": 0 }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}</code></pre>
|
|
||||||
<code>G28 X0. B45.</code> mixed XYZ + rotary. Both axis kinds occupy the
|
|
||||||
same two items: item 0 carries the XYZ intermediate
|
|
||||||
<code>ProgramXyz</code> alongside the rotary literal in MC; item 1
|
|
||||||
carries the final XYZ MC alongside the rotary home in MC. Root
|
|
||||||
<code>MachineCoordinateState</code> here holds only the rotary modal value
|
|
||||||
(B = 0, the home); the XYZ portion of root MC would be filled by
|
|
||||||
the downstream <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McXyzSyntax.html">McXyzSyntax</a> in the full pipeline
|
|
||||||
(out of scope for this per-SUT conformance). Root
|
|
||||||
<code>MachineCoordinateState</code> appears first because the
|
|
||||||
rotary-home write happens before <code>CompoundMotion</code> /
|
|
||||||
<code>ProgramXyz</code> are inserted. <code>#Previous:</code> carries B = 30 so
|
|
||||||
the prev rotary modal is distinct from both the literal (45) and
|
|
||||||
the home (0):
|
|
||||||
#Previous:
|
|
||||||
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "X": 50, "Y": 60, "Z": 70, "B": 30 } }</code></pre>
|
|
||||||
#BeforeBuild:
|
|
||||||
<pre><code class="lang-csharp">{ "Parsing": { "G28": { "X": 0, "B": 45 } } }</code></pre>
|
|
||||||
#AfterBuild:
|
|
||||||
<pre><code class="lang-csharp">{
|
|
||||||
"MachineCoordinateState": { "B": 0 },
|
|
||||||
"CompoundMotion": {
|
|
||||||
"Term": "G28",
|
|
||||||
"Items": [
|
|
||||||
{
|
|
||||||
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
|
||||||
"ProgramXyz": { "X": 0, "Y": 60, "Z": 70 },
|
|
||||||
"MachineCoordinateState": { "B": 45 }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
|
||||||
"MachineCoordinateState": { "X": 0, "Y": 60, "Z": 70, "B": 0 }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ProgramXyz": { "X": 0, "Y": 60, "Z": 70 }
|
|
||||||
}</code></pre>
|
|
||||||
<p>
|
|
||||||
Bare <code>G28</code> — no axis specifiers — exercises the configurable
|
|
||||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html#Hi_NcParsers_LogicSyntaxs_ReferenceReturnSyntax_BareG28">BareG28</a> policy. Default <a class="xref" href="Hi.NcParsers.LogicSyntaxs.BareG28Behavior.html#Hi_NcParsers_LogicSyntaxs_BareG28Behavior_Alarm">Alarm</a>
|
|
||||||
emits <code>Coord-RefReturn--003</code> and consumes the G28 without
|
|
||||||
motion (the diagnostic surfaces through the
|
|
||||||
<a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a> sink, not the block JSON, so the
|
|
||||||
canonical <code>#AfterBuild</code> is just an empty object):
|
|
||||||
</p>
|
|
||||||
#BeforeBuild:
|
|
||||||
<pre><code class="lang-csharp">{ "Parsing": { "G28": {} } }</code></pre>
|
|
||||||
#AfterBuild:
|
|
||||||
<pre><code class="lang-csharp">{}</code></pre>
|
|
||||||
Bare <code>G28</code> with <a class="xref" href="Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html#Hi_NcParsers_LogicSyntaxs_ReferenceReturnSyntax_BareG28">BareG28</a> set to
|
|
||||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.BareG28Behavior.html#Hi_NcParsers_LogicSyntaxs_BareG28Behavior_AllAxesHome">AllAxesHome</a>: the syntax synthesises a
|
|
||||||
literal at the inherited program position for every configured
|
|
||||||
linear axis and the previous modal angle for every configured
|
|
||||||
rotary axis (here X/Y/Z taken from the <code>#Previous:</code> MC under
|
|
||||||
the identity <code>ProgramToMcTransform</code>, B taken from the prev
|
|
||||||
modal). Item 0's intermediate therefore equals current (no motion
|
|
||||||
in stage 1) and item 1 sends each axis to its home:
|
|
||||||
#Previous:
|
|
||||||
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "X": 10, "Y": 20, "Z": 30, "B": 45 } }</code></pre>
|
|
||||||
#BeforeBuild:
|
|
||||||
<pre><code class="lang-csharp">{ "Parsing": { "G28": {} } }</code></pre>
|
|
||||||
#AfterBuild:
|
|
||||||
<pre><code class="lang-csharp">{
|
|
||||||
"MachineCoordinateState": { "B": 0 },
|
|
||||||
"CompoundMotion": {
|
|
||||||
"Term": "G28",
|
|
||||||
"Items": [
|
|
||||||
{
|
|
||||||
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
|
||||||
"ProgramXyz": { "X": 10, "Y": 20, "Z": 30 },
|
|
||||||
"MachineCoordinateState": { "B": 45 }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
|
||||||
"MachineCoordinateState": { "X": 0, "Y": 0, "Z": 100, "B": 0 }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ProgramXyz": { "X": 0, "Y": 0, "Z": 100 }
|
|
||||||
}</code></pre>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</article>
|
</article>
|
||||||
|
|||||||
@ -195,6 +195,109 @@ Must be placed after <a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycle
|
|||||||
</dd></dl>
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="Hi_NcParsers_LogicSyntaxs_BoringCycleSyntax_examples">Examples</h2>
|
||||||
|
<p>All cases below pre-populate <a class="xref" href="Hi.NcParsers.Keywords.CannedCycle.html">CannedCycle</a> as
|
||||||
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html">CannedCycleResolveSyntax</a> would have written it. There
|
||||||
|
is no <code>#Previous:</code>, so <code>GetLastProgramXyz</code> returns
|
||||||
|
<code>Vec3d.Zero</code> → <code>initZ = 0</code>. F is supplied inside the cycle
|
||||||
|
section so <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">ResolveFeedrate(JsonObject, JsonObject, ISentenceCarrier, NcDiagnosticProgress)</a>
|
||||||
|
writes block-level <a class="xref" href="Hi.NcParsers.Keywords.Feedrate.html">Feedrate</a> (G94 default, 600 mm/min
|
||||||
|
→ 10 mm/s) before items are emitted. All cases use G98 return mode
|
||||||
|
so <code>finalZ = initZ = 0</code>.</p>
|
||||||
|
<p>
|
||||||
|
G85 — feed to bottom, feed retract (smooth bore finish). The retract
|
||||||
|
item carries the same <code>Feedrate_mmds</code> as the down-stroke. Four
|
||||||
|
items:
|
||||||
|
</p>
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "G85": { "X": 50, "Y": 30, "Z": -10, "R": 2, "F": 600 } },
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G85", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G85", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||||
|
},
|
||||||
|
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
|
||||||
|
"CompoundMotion": {
|
||||||
|
"Term": "G85",
|
||||||
|
"Items": [
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 2 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": -10 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||||
|
}</code></pre>
|
||||||
|
G86 — feed to bottom, spindle stop, rapid retract, spindle restart
|
||||||
|
CW. First marker to spell out
|
||||||
|
<code>{ "SpindleControl": { "Direction": ... } }</code> items. The retract
|
||||||
|
item carries <code>IsRapid: true</code> rather than a feedrate. Six items:
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "G86": { "X": 50, "Y": 30, "Z": -10, "R": 2, "F": 600 } },
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G86", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G86", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||||
|
},
|
||||||
|
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
|
||||||
|
"CompoundMotion": {
|
||||||
|
"Term": "G86",
|
||||||
|
"Items": [
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 2 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": -10 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
|
||||||
|
{ "SpindleControl": { "Direction": "STOP" } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "SpindleControl": { "Direction": "CW" } }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||||
|
}</code></pre>
|
||||||
|
G89 with P=0.3s dwell — like G85 but inserts a
|
||||||
|
<code>{ Dwell: { Time: 0.3 } }</code> item at the bottom before the feed
|
||||||
|
retract. Five items:
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "G89": { "X": 50, "Y": 30, "Z": -10, "R": 2, "F": 600, "P": 0.3 } },
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G89", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G89", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||||
|
},
|
||||||
|
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
|
||||||
|
"CompoundMotion": {
|
||||||
|
"Term": "G89",
|
||||||
|
"Items": [
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 2 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": -10 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
|
||||||
|
{ "Dwell": { "Time": 0.3 } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||||
|
}</code></pre>
|
||||||
|
|
||||||
|
|
||||||
<h2 id="Hi_NcParsers_LogicSyntaxs_BoringCycleSyntax_remarks">Remarks</h2>
|
<h2 id="Hi_NcParsers_LogicSyntaxs_BoringCycleSyntax_remarks">Remarks</h2>
|
||||||
<div class="markdown level0 remarks"><p>G86 emits <a class="xref" href="Hi.NcParsers.Keywords.SpindleControl.html">SpindleControl</a> items for spindle stop (before
|
<div class="markdown level0 remarks"><p>G86 emits <a class="xref" href="Hi.NcParsers.Keywords.SpindleControl.html">SpindleControl</a> items for spindle stop (before
|
||||||
|
|||||||
@ -195,6 +195,65 @@ the individual cycle syntaxes in the chain.
|
|||||||
</dd></dl>
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="Hi_NcParsers_LogicSyntaxs_CannedCycleResolveSyntax_examples">Examples</h2>
|
||||||
|
<p>Direct G81 active cycle, no <code>#Previous:</code> (so
|
||||||
|
<code>lastProgramXyz = Vec3d.Zero</code>) and no
|
||||||
|
<a class="xref" href="Hi.NcParsers.Keywords.Positioning.html">Positioning</a> mode (so the absolute-coordinate path
|
||||||
|
runs, not G91 incremental). The resolved cycle sub-section is left
|
||||||
|
in <code>Parsing</code> under the cycle code for downstream cycle
|
||||||
|
syntaxes to consume; the <a class="xref" href="Hi.NcParsers.Keywords.CannedCycle.html">CannedCycle</a> section
|
||||||
|
carries the snapshot used for modal lookback.
|
||||||
|
<code>ReturnMode</code> defaults to <a class="xref" href="Hi.NcParsers.Keywords.Generic.IsoKeywords.html#Hi_NcParsers_Keywords_Generic_IsoKeywords_G98">G98</a> when
|
||||||
|
neither the current block nor a previous block declares G98/G99:
|
||||||
|
#BeforeBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{ "Parsing": { "G81": { "X": 50, "Y": 30, "Z": -10, "R": 2 } } }</code></pre>
|
||||||
|
<p>#AfterBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "G81": { "X": 50, "Y": 30, "Z": -10, "R": 2 } },
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G81",
|
||||||
|
"ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
<p>Modal repeat: the current block carries only an X override and no
|
||||||
|
cycle code, but <code>#Previous:</code> has an active G81 with stored
|
||||||
|
params. <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">MergeModalCycleSection(JsonObject, JsonObject, ISentenceCarrier, NcDiagnosticProgress)</a>
|
||||||
|
merges X=60 (override) with Y/Z/R from stored params, removes the
|
||||||
|
consumed X from <code>Parsing</code> root, and writes the merged section
|
||||||
|
back to <code>Parsing.G81</code>. <code>ReturnMode</code> inherits “G98” from
|
||||||
|
the previous block's <a class="xref" href="Hi.NcParsers.Keywords.ICannedCycleDef.html#Hi_NcParsers_Keywords_ICannedCycleDef_ReturnMode">ReturnMode</a>:
|
||||||
|
#Previous:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G81",
|
||||||
|
"ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||||
|
},
|
||||||
|
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||||
|
}</code></pre>
|
||||||
|
<p>#BeforeBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{ "Parsing": { "X": 60 } }</code></pre>
|
||||||
|
<p>#AfterBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "G81": { "X": 60, "Y": 30, "Z": -10, "R": 2 } },
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G81",
|
||||||
|
"ReturnMode": "G98",
|
||||||
|
"Params": { "X": 60, "Y": 30, "Z": -10, "R": 2 }
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
<p>Explicit G80 cancel: standalone G80 flag with no cycle data. The
|
||||||
|
G80 flag is consumed and <a class="xref" href="Hi.NcParsers.Keywords.CannedCycle.html">CannedCycle</a> = <code>{ Term: G80 }</code>
|
||||||
|
is written as a hard sentinel that
|
||||||
|
<a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">FindPreviousActiveCycle(LazyLinkedListNode<SyntaxPiece>, string[])</a> reads
|
||||||
|
to terminate modal lookback. No <code>ReturnMode</code> hint here (no
|
||||||
|
G98/G99 flag on the same block):
|
||||||
|
#BeforeBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["G80"] } }</code></pre>
|
||||||
|
<p>#AfterBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{ "CannedCycle": { "Term": "G80" } }</code></pre>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -200,7 +200,9 @@ writes a <a class="xref" href="Hi.NcParsers.Keywords.MotionEvent.html">MotionEve
|
|||||||
set (as a prior <a class="xref" href="Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.html">ProgramXyzSyntax</a> would have produced)
|
set (as a prior <a class="xref" href="Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.html">ProgramXyzSyntax</a> would have produced)
|
||||||
and run with no <code>#Previous:</code>, so <code>GetLastProgramXyz</code>
|
and run with no <code>#Previous:</code>, so <code>GetLastProgramXyz</code>
|
||||||
returns <code>Vec3d.Zero</code>. The G17 XY plane is implicit
|
returns <code>Vec3d.Zero</code>. The G17 XY plane is implicit
|
||||||
(no <code>PlaneSelect</code> section means <code>PlaneNormalDir = 2</code>).</p>
|
(no <code>PlaneSelect</code> section means
|
||||||
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.PlaneSelectSyntax.html#Hi_NcParsers_LogicSyntaxs_PlaneSelectSyntax_GetPlaneNormalDir_System_Text_Json_Nodes_JsonObject_">GetPlaneNormalDir(JsonObject)</a> returns 2 — the
|
||||||
|
XY-plane default — so arc math runs with Z as the perpendicular axis).</p>
|
||||||
<p>
|
<p>
|
||||||
G02 with I/J — quarter arc from <code>(0,0,0)</code> to <code>(10,0,0)</code>
|
G02 with I/J — quarter arc from <code>(0,0,0)</code> to <code>(10,0,0)</code>
|
||||||
around <code>(5,0,0)</code>; I=5 J=0 are incremental offsets from start
|
around <code>(5,0,0)</code>; I=5 J=0 are incremental offsets from start
|
||||||
@ -219,7 +221,6 @@ once empty); <code>MotionState</code> + <code>MotionEvent</code> are written:
|
|||||||
"MotionEvent": {
|
"MotionEvent": {
|
||||||
"Form": "McArc",
|
"Form": "McArc",
|
||||||
"ArcCenter": { "X": 5, "Y": 0, "Z": 0 },
|
"ArcCenter": { "X": 5, "Y": 0, "Z": 0 },
|
||||||
"PlaneNormalDir": 2,
|
|
||||||
"IsCcw": false,
|
"IsCcw": false,
|
||||||
"AdditionalCircleNum": 0
|
"AdditionalCircleNum": 0
|
||||||
}
|
}
|
||||||
@ -242,7 +243,6 @@ the same way:
|
|||||||
"MotionEvent": {
|
"MotionEvent": {
|
||||||
"Form": "McArc",
|
"Form": "McArc",
|
||||||
"ArcCenter": { "X": 5, "Y": 0, "Z": 0 },
|
"ArcCenter": { "X": 5, "Y": 0, "Z": 0 },
|
||||||
"PlaneNormalDir": 2,
|
|
||||||
"IsCcw": false,
|
"IsCcw": false,
|
||||||
"AdditionalCircleNum": 0
|
"AdditionalCircleNum": 0
|
||||||
}
|
}
|
||||||
@ -277,14 +277,13 @@ sqrt drift on this branch:
|
|||||||
"MotionEvent": {
|
"MotionEvent": {
|
||||||
"Form": "McArc",
|
"Form": "McArc",
|
||||||
"ArcCenter": { "X": 5, "Y": 0, "Z": 0 },
|
"ArcCenter": { "X": 5, "Y": 0, "Z": 0 },
|
||||||
"PlaneNormalDir": 2,
|
|
||||||
"IsCcw": false,
|
"IsCcw": false,
|
||||||
"AdditionalCircleNum": 0
|
"AdditionalCircleNum": 0
|
||||||
}
|
}
|
||||||
}</code></pre>
|
}</code></pre>
|
||||||
R-format non-trivial: G02 90° arc from <code>(0,0,0)</code> to
|
R-format non-trivial: G02 90° arc from <code>(0,0,0)</code> to
|
||||||
<code>(10,10,0)</code> with R=10. The center comes from the cross-product
|
<code>(10,10,0)</code> with R=10. The center comes from the cross-product
|
||||||
+ sqrt + normalize path inside <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">ResolveCenterFromR(Vec3d, Vec3d, int, bool, double)</a>,
|
+ sqrt + normalize path inside <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">ResolveCenterFromSignedRadius(Vec3d, Vec3d, int, bool, double)</a>,
|
||||||
but for this particular axis-aligned chord the rounding errors
|
but for this particular axis-aligned chord the rounding errors
|
||||||
cancel and the center lands at exactly <code>(10, 0, 0)</code> — i.e.
|
cancel and the center lands at exactly <code>(10, 0, 0)</code> — i.e.
|
||||||
no ULP drift here, in contrast to e.g.
|
no ULP drift here, in contrast to e.g.
|
||||||
@ -301,7 +300,6 @@ no ULP drift here, in contrast to e.g.
|
|||||||
"MotionEvent": {
|
"MotionEvent": {
|
||||||
"Form": "McArc",
|
"Form": "McArc",
|
||||||
"ArcCenter": { "X": 10, "Y": 0, "Z": 0 },
|
"ArcCenter": { "X": 10, "Y": 0, "Z": 0 },
|
||||||
"PlaneNormalDir": 2,
|
|
||||||
"IsCcw": false,
|
"IsCcw": false,
|
||||||
"AdditionalCircleNum": 0
|
"AdditionalCircleNum": 0
|
||||||
}
|
}
|
||||||
@ -322,16 +320,15 @@ differentiating output; arc-center math is unchanged:
|
|||||||
"MotionEvent": {
|
"MotionEvent": {
|
||||||
"Form": "McArc",
|
"Form": "McArc",
|
||||||
"ArcCenter": { "X": 5, "Y": 0, "Z": 0 },
|
"ArcCenter": { "X": 5, "Y": 0, "Z": 0 },
|
||||||
"PlaneNormalDir": 2,
|
|
||||||
"IsCcw": true,
|
"IsCcw": true,
|
||||||
"AdditionalCircleNum": 0
|
"AdditionalCircleNum": 0
|
||||||
}
|
}
|
||||||
}</code></pre>
|
}</code></pre>
|
||||||
Full circle G02 — start == end (both <code>(0,0,0)</code>), I=5 J=0
|
Full circle G02 — start == end (both <code>(0,0,0)</code>), I=5 J=0
|
||||||
places center off-start at <code>(5,0,0)</code>. The
|
places center off-start at <code>(5,0,0)</code>. Plane-restricted
|
||||||
<code>isFullCircle</code> guard (chord length < 1e-6 and
|
closure (<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">IsClosedOnPlane(Vec3d, Vec3d, int, double)</a>)
|
||||||
center-to-start > 1e-6) flips <code>AdditionalCircleNum</code> to 1
|
flips <code>AdditionalCircleNum</code> to 1 so a downstream motion
|
||||||
so a downstream motion semantic knows to draw the closed loop:
|
semantic knows to draw the closed loop:
|
||||||
#BeforeBuild:
|
#BeforeBuild:
|
||||||
<pre><code class="lang-csharp">{
|
<pre><code class="lang-csharp">{
|
||||||
"Parsing": { "Flags": ["G02"], "I": 5, "J": 0 },
|
"Parsing": { "Flags": ["G02"], "I": 5, "J": 0 },
|
||||||
@ -344,11 +341,54 @@ so a downstream motion semantic knows to draw the closed loop:
|
|||||||
"MotionEvent": {
|
"MotionEvent": {
|
||||||
"Form": "McArc",
|
"Form": "McArc",
|
||||||
"ArcCenter": { "X": 5, "Y": 0, "Z": 0 },
|
"ArcCenter": { "X": 5, "Y": 0, "Z": 0 },
|
||||||
"PlaneNormalDir": 2,
|
|
||||||
"IsCcw": false,
|
"IsCcw": false,
|
||||||
"AdditionalCircleNum": 1
|
"AdditionalCircleNum": 1
|
||||||
}
|
}
|
||||||
}</code></pre>
|
}</code></pre>
|
||||||
|
Fanuc L parameter (helix turn count, 1-based) — <code>L3</code> on a
|
||||||
|
start==end closed loop means three total turns, so
|
||||||
|
<code>AdditionalCircleNum = L − 1 = 2</code>. Matches legacy
|
||||||
|
<code>NcProc.cs:442</code>; the L parameter is consumed alongside I/J/K/R:
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "Flags": ["G02"], "I": 5, "J": 0, "L": 3 },
|
||||||
|
"ProgramXyz": { "X": 0, "Y": 0, "Z": 0 }
|
||||||
|
}</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"ProgramXyz": { "X": 0, "Y": 0, "Z": 0 },
|
||||||
|
"MotionState": { "Term": "G02" },
|
||||||
|
"MotionEvent": {
|
||||||
|
"Form": "McArc",
|
||||||
|
"ArcCenter": { "X": 5, "Y": 0, "Z": 0 },
|
||||||
|
"IsCcw": false,
|
||||||
|
"AdditionalCircleNum": 2
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
K-as-pitch helix on G17 (XY plane) — when the plane-normal axis
|
||||||
|
letter (K for G17, J for G18, I for G19) is present on an IJK-format
|
||||||
|
arc, it is the per-turn axial pitch, not a center offset. Here
|
||||||
|
<code>K = −3</code> mm/turn over <code>ΔZ = −9</code> mm gives
|
||||||
|
<code>AdditionalCircleNum = floor(−9 / −3) = 3</code>. The center stays
|
||||||
|
on the begin-plane (Z = 0) — <code>ResolveCenterFromIjk</code> zeros the
|
||||||
|
plane-normal component before adding to begin. Matches legacy
|
||||||
|
<code>NcProc.cs:458</code>:
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "Flags": ["G02"], "I": 5, "J": 0, "K": -3 },
|
||||||
|
"ProgramXyz": { "X": 0, "Y": 0, "Z": -9 }
|
||||||
|
}</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"ProgramXyz": { "X": 0, "Y": 0, "Z": -9 },
|
||||||
|
"MotionState": { "Term": "G02" },
|
||||||
|
"MotionEvent": {
|
||||||
|
"Form": "McArc",
|
||||||
|
"ArcCenter": { "X": 5, "Y": 0, "Z": 0 },
|
||||||
|
"IsCcw": false,
|
||||||
|
"AdditionalCircleNum": 3
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -191,6 +191,80 @@ Must be placed after <a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycle
|
|||||||
</dd></dl>
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="Hi_NcParsers_LogicSyntaxs_DrillingCycleSyntax_examples">Examples</h2>
|
||||||
|
<p>All cases below pre-populate <a class="xref" href="Hi.NcParsers.Keywords.CannedCycle.html">CannedCycle</a> as
|
||||||
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html">CannedCycleResolveSyntax</a> would have written it (term,
|
||||||
|
return mode, snapshot params) and leave the resolved cycle
|
||||||
|
sub-section in <code>Parsing</code> for this syntax to consume. There is
|
||||||
|
no <code>#Previous:</code>, so <code>GetLastProgramXyz</code> returns
|
||||||
|
<code>Vec3d.Zero</code> → <code>initZ = 0</code>. <code>F</code> is supplied inside the
|
||||||
|
cycle section so <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">ResolveFeedrate(JsonObject, JsonObject, ISentenceCarrier, NcDiagnosticProgress)</a>
|
||||||
|
writes the block-level <a class="xref" href="Hi.NcParsers.Keywords.Feedrate.html">Feedrate</a> (G94 default, mm/min
|
||||||
|
→ mm/s) before the items are emitted.</p>
|
||||||
|
<p>
|
||||||
|
G81 G98 — rapid to init (z=0), rapid to R, feed to bottom Z=-10 at
|
||||||
|
F=600 mm/min → 10 mm/s, rapid back to init Z=0. Four items. The
|
||||||
|
resolved cycle sub-section is removed by
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">CleanupParsing(JsonObject, JsonObject, string)</a>; the empty
|
||||||
|
<code>Parsing</code> drops off through <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">CleanupParsing(JsonObject)</a>:
|
||||||
|
</p>
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "G81": { "X": 50, "Y": 30, "Z": -10, "R": 2, "F": 600 } },
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G81", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G81", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||||
|
},
|
||||||
|
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
|
||||||
|
"CompoundMotion": {
|
||||||
|
"Term": "G81",
|
||||||
|
"Items": [
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 2 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": -10 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||||
|
}</code></pre>
|
||||||
|
G82 with dwell P=0.5s — inserts a <a class="xref" href="Hi.NcParsers.Keywords.Dwell.html">Dwell</a> item between
|
||||||
|
the feed-to-bottom rapid and the final retract, otherwise identical
|
||||||
|
to G81. Five items total:
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "G82": { "X": 50, "Y": 30, "Z": -10, "R": 2, "F": 600, "P": 0.5 } },
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G82", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G82", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||||
|
},
|
||||||
|
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
|
||||||
|
"CompoundMotion": {
|
||||||
|
"Term": "G82",
|
||||||
|
"Items": [
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 2 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": -10 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
|
||||||
|
{ "Dwell": { "Time": 0.5 } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||||
|
}</code></pre>
|
||||||
|
|
||||||
|
|
||||||
<h2 id="Hi_NcParsers_LogicSyntaxs_DrillingCycleSyntax_remarks">Remarks</h2>
|
<h2 id="Hi_NcParsers_LogicSyntaxs_DrillingCycleSyntax_remarks">Remarks</h2>
|
||||||
<div class="markdown level0 remarks"><p>G85 (feed retract) and G86 (spindle-stop retract) have different
|
<div class="markdown level0 remarks"><p>G85 (feed retract) and G86 (spindle-stop retract) have different
|
||||||
|
|||||||
@ -193,6 +193,48 @@ syntax runs.
|
|||||||
</dd></dl>
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="Hi_NcParsers_LogicSyntaxs_FineBoringSyntax_examples">Examples</h2>
|
||||||
|
<p>G76 G98 — pre-populated <a class="xref" href="Hi.NcParsers.Keywords.CannedCycle.html">CannedCycle</a> (as
|
||||||
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html">CannedCycleResolveSyntax</a> would have written), no
|
||||||
|
<code>#Previous:</code> so <code>initZ = 0</code>, F=600 → 10 mm/s, shift Q=1
|
||||||
|
(lateral +X clearance for retract). First marker to spell out
|
||||||
|
<code>{ “SpindleOrientation”: { “Angle_deg”: 0 } }</code> — the OSS
|
||||||
|
item produced by
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">CreateSpindleOrientationItem(double)</a>.
|
||||||
|
Eight items: init, R, feed-down, OSS, shifted-at-bottom (X=51),
|
||||||
|
shifted-retract (X=51, Z=0), back-to-center (X=50, Z=0),
|
||||||
|
spindle-restart CW:
|
||||||
|
#BeforeBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "G76": { "X": 50, "Y": 30, "Z": -10, "R": 2, "Q": 1, "F": 600 } },
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G76", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2, "Q": 1 }
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
<p>#AfterBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G76", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2, "Q": 1 }
|
||||||
|
},
|
||||||
|
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
|
||||||
|
"CompoundMotion": {
|
||||||
|
"Term": "G76",
|
||||||
|
"Items": [
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 2 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": -10 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
|
||||||
|
{ "SpindleOrientation": { "Angle_deg": 0 } },
|
||||||
|
{ "ProgramXyz": { "X": 51, "Y": 30, "Z": -10 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 51, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "SpindleControl": { "Direction": "CW" } }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||||
|
}</code></pre>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -207,6 +207,97 @@ ToolHeightCompensation entry when RTCP is active) and <b>before</b>
|
|||||||
</dd></dl>
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="Hi_NcParsers_LogicSyntaxs_G43p4RtcpSyntax_examples">Examples</h2>
|
||||||
|
<p>Explicit G43.4 H1 activation with no <a class="xref" href="Hi.Numerical.Xyzabc.IMachineKinematics.html">IMachineKinematics</a>
|
||||||
|
and no <a class="xref" href="Hi.NcParsers.Dependencys.IToolOffsetConfig.html">IToolOffsetConfig</a> in the dependency list —
|
||||||
|
exercises the activate path on its identity-matrix corner. The
|
||||||
|
section is written with <code>Offset_mm = 0</code> (no offset table
|
||||||
|
→ <code>rawHeight = 0</code>); the height-mat falls back to the
|
||||||
|
no-kinematics branch <code>new Mat4d { Trans = UnitZ * 0 }</code> which
|
||||||
|
collapses to identity; <code>abcChanged</code> is false (no current MC,
|
||||||
|
no previous block) so the entry is tagged <a class="xref" href="Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_KindStatic">KindStatic</a>.
|
||||||
|
#BeforeBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{ "Parsing": { "G43.4": { "H": "1" } } }</code></pre>
|
||||||
|
<p>#AfterBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"ToolHeightCompensation": { "Offset_mm": 0, "Term": "G43.4", "OffsetId": 1 },
|
||||||
|
"ProgramToMcTransform": [
|
||||||
|
{
|
||||||
|
"Source": "ToolHeightCompensation",
|
||||||
|
"Kind": "Static",
|
||||||
|
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}</code></pre>
|
||||||
|
<p>G43.4 H1 with <code>ToolOffset(1 → 10 mm)</code>, a real
|
||||||
|
<a class="xref" href="Hi.Numerical.Xyzabc.XyzabcSolver.html">XyzabcSolver</a> (table-A / head-B
|
||||||
|
5-axis), and current block already carrying all three rotary axes
|
||||||
|
in <code>MachineCoordinateState</code> (A=0, B=30, C=0 — as a prior
|
||||||
|
<code>McAbcSyntax</code> in the chain would have written). The
|
||||||
|
height-mat goes through
|
||||||
|
<a class="xref" href="Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_MakeToolHeightMat_Hi_Numerical_Xyzabc_IMachineKinematics_Hi_Geom_Vec3d_System_Double_">MakeToolHeightMat(IMachineKinematics, Vec3d, double)</a> which probes
|
||||||
|
<code>kinematics.McToPn(Zero, abc).Normal</code> at <code>abc = (0, π/6, 0)</code>
|
||||||
|
to get the tool orientation, then scales by 10 mm. With no
|
||||||
|
previous block, <code>abcChanged</code> is false → entry stays Static.
|
||||||
|
Note: all three ABC must be present (or fall back to the per-axis
|
||||||
|
modal lookback path); a partial section with only B set leaves A/C
|
||||||
|
as NaN and the resulting Mat4d.Trans would serialise as
|
||||||
|
non-finite numbers.
|
||||||
|
#BeforeBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "G43.4": { "H": "1" } },
|
||||||
|
"MachineCoordinateState": { "A": 0, "B": 30, "C": 0 }
|
||||||
|
}</code></pre>
|
||||||
|
<p>#AfterBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"MachineCoordinateState": { "A": 0, "B": 30, "C": 0 },
|
||||||
|
"ToolHeightCompensation": { "Offset_mm": 10, "Term": "G43.4", "OffsetId": 1 },
|
||||||
|
"ProgramToMcTransform": [
|
||||||
|
{
|
||||||
|
"Source": "ToolHeightCompensation",
|
||||||
|
"Kind": "Static",
|
||||||
|
"Mat4d": [
|
||||||
|
1, 0, 0, 0,
|
||||||
|
0, 1, 0, 0,
|
||||||
|
0, 0, 1, 0,
|
||||||
|
4.999999999999999, 0, 8.660254037844387, 1
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}</code></pre>
|
||||||
|
<p>Same setup plus a <code>#Previous:</code> block with
|
||||||
|
<code>MachineCoordinateState.B = 0</code> + XYZ origin —
|
||||||
|
<a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">DidAbcChange(LazyLinkedListNode<SyntaxPiece>, IMachineAxisConfig)</a> compares the rotary deltas and finds B
|
||||||
|
changed across the block, so the entry is tagged
|
||||||
|
<a class="xref" href="Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_KindDynamic">KindDynamic</a> (signalling that the
|
||||||
|
tool orientation varies along the contour):
|
||||||
|
#Previous:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"MachineCoordinateState": { "X": 0, "Y": 0, "Z": 0, "A": 0, "B": 0, "C": 0 }
|
||||||
|
}</code></pre>
|
||||||
|
<p>#BeforeBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "G43.4": { "H": "1" } },
|
||||||
|
"MachineCoordinateState": { "A": 0, "B": 30, "C": 0 }
|
||||||
|
}</code></pre>
|
||||||
|
<p>#AfterBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"MachineCoordinateState": { "A": 0, "B": 30, "C": 0 },
|
||||||
|
"ToolHeightCompensation": { "Offset_mm": 10, "Term": "G43.4", "OffsetId": 1 },
|
||||||
|
"ProgramToMcTransform": [
|
||||||
|
{
|
||||||
|
"Source": "ToolHeightCompensation",
|
||||||
|
"Kind": "Dynamic",
|
||||||
|
"Mat4d": [
|
||||||
|
1, 0, 0, 0,
|
||||||
|
0, 1, 0, 0,
|
||||||
|
0, 0, 1, 0,
|
||||||
|
4.999999999999999, 0, 8.660254037844387, 1
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}</code></pre>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -194,6 +194,81 @@ Motion is handled by <a class="xref" href="Hi.NcParsers.LogicSyntaxs.LinearMotio
|
|||||||
</dd></dl>
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="Hi_NcParsers_LogicSyntaxs_G53p1RotaryPositionSyntax_examples">Examples</h2>
|
||||||
|
<p>No-kinematics dep-guard early-return: standalone <code>G53.1</code> with
|
||||||
|
no <a class="xref" href="Hi.Numerical.Xyzabc.IMachineKinematics.html">IMachineKinematics</a> dep in the list — the syntax
|
||||||
|
detects the flag, finds no kinematics, and silently consumes the
|
||||||
|
flag via <code>ConsumeFlag</code>. Empty <code>Parsing</code> is then removed
|
||||||
|
by <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonobject">CleanupParsing(JsonObject)</a>, so the post-Build block
|
||||||
|
is empty:
|
||||||
|
#BeforeBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["G53.1"] } }</code></pre>
|
||||||
|
<p>#AfterBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{}</code></pre>
|
||||||
|
<p>IK happy path — <code>G53.1</code> with active G68.2 tilt on
|
||||||
|
<code>#Previous:</code>, real <a class="xref" href="Hi.Numerical.Xyzabc.XyzabcSolver.html">XyzabcSolver</a>
|
||||||
|
(table-A / head-B 5-axis), and a
|
||||||
|
<code>TestDeps.AxisConfig(A=Rotary, B=Rotary)</code> dep. The syntax
|
||||||
|
reads the previous block's tilt Mat4d, solves
|
||||||
|
<code>OrientationToMcAbc(tiltMat.AxialNormal)</code> for the rotary ABC,
|
||||||
|
converts radians → degrees, writes <code>MachineCoordinateState</code>
|
||||||
|
with both rotary axes (XYZ inherited from <code>prevMc = Vec3d.Zero</code>
|
||||||
|
when no previous MC exists), and stamps <code>ProgramXyz</code>:
|
||||||
|
#Previous:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"TiltTransform": { "Term": "G68.2", "X": 0, "Y": 0, "Z": 0, "I": 0, "J": 30, "K": 0 },
|
||||||
|
"ProgramToMcTransform": [
|
||||||
|
{
|
||||||
|
"Source": "TiltTransform",
|
||||||
|
"Kind": "Static",
|
||||||
|
"Mat4d": [
|
||||||
|
1, 0, 0, 0,
|
||||||
|
0, 0.8660254037844388, 0.5, 0,
|
||||||
|
0, -0.5, 0.8660254037844388, 0,
|
||||||
|
0, 0, 0, 1
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}</code></pre>
|
||||||
|
<p>#BeforeBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["G53.1"] } }</code></pre>
|
||||||
|
<p>#AfterBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"MachineCoordinateState": { "X": 0, "Y": 0, "Z": 0, "A": 29.942194198514308, "B": 0 },
|
||||||
|
"ProgramXyz": { "X": 0, "Y": 0, "Z": 0 }
|
||||||
|
}</code></pre>
|
||||||
|
<p>Explicit ABC override — <code>G53.1 A0 B45</code> on top of the same
|
||||||
|
G68.2 tilt + kinematics + axis-config set up. The IK still solves,
|
||||||
|
but the explicit <code>A=0</code> and <code>B=45</code> overrides what IK
|
||||||
|
returned for those axes; C stays at the IK-solved value (C-axis
|
||||||
|
is not present in the table-A/head-B layout, so the rotaryAxes
|
||||||
|
loop only writes A and B):
|
||||||
|
#Previous:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"TiltTransform": { "Term": "G68.2", "X": 0, "Y": 0, "Z": 0, "I": 0, "J": 30, "K": 0 },
|
||||||
|
"ProgramToMcTransform": [
|
||||||
|
{
|
||||||
|
"Source": "TiltTransform",
|
||||||
|
"Kind": "Static",
|
||||||
|
"Mat4d": [
|
||||||
|
1, 0, 0, 0,
|
||||||
|
0, 0.8660254037844388, 0.5, 0,
|
||||||
|
0, -0.5, 0.8660254037844388, 0,
|
||||||
|
0, 0, 0, 1
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}</code></pre>
|
||||||
|
<p>#BeforeBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "Flags": ["G53.1"], "A": 0, "B": 45 }
|
||||||
|
}</code></pre>
|
||||||
|
<p>#AfterBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"MachineCoordinateState": { "X": 0, "Y": 0, "Z": 0, "A": 0, "B": 45 },
|
||||||
|
"ProgramXyz": { "X": 0, "Y": 0, "Z": 0 }
|
||||||
|
}</code></pre>
|
||||||
|
|
||||||
|
|
||||||
<h2 id="Hi_NcParsers_LogicSyntaxs_G53p1RotaryPositionSyntax_remarks">Remarks</h2>
|
<h2 id="Hi_NcParsers_LogicSyntaxs_G53p1RotaryPositionSyntax_remarks">Remarks</h2>
|
||||||
<div class="markdown level0 remarks"><p>
|
<div class="markdown level0 remarks"><p>
|
||||||
|
|||||||
@ -193,6 +193,51 @@ Must be placed after <a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycle
|
|||||||
</dd></dl>
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="Hi_NcParsers_LogicSyntaxs_HighSpeedPeckCycleSyntax_examples">Examples</h2>
|
||||||
|
<p>G73 G98 two-stroke chip-break — pre-populated <a class="xref" href="Hi.NcParsers.Keywords.CannedCycle.html">CannedCycle</a>
|
||||||
|
(as <a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html">CannedCycleResolveSyntax</a> would have written), no
|
||||||
|
<code>#Previous:</code> so <code>initZ = 0</code>, F=600 in the cycle section
|
||||||
|
translated to 10 mm/s. Geometry: R=2, Z=-18, Q=10 →
|
||||||
|
<code>totalFeedLength = 20</code> → <code>strokeCount = 2</code>, no remainder.
|
||||||
|
<a class="xref" href="Hi.NcParsers.Dependencys.Generic.FallbackConfig.html">FallbackConfig</a> default
|
||||||
|
<code>PeckRetractionDistance_mm = 5</code> sets the partial retract amount
|
||||||
|
<code>d</code>. Per stroke, the chip-break rapid retracts to
|
||||||
|
<code>strokeZ + d</code> (a small jump, in contrast to
|
||||||
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.PeckDrillingCycleSyntax.html">PeckDrillingCycleSyntax</a> which rapids fully back to R).
|
||||||
|
G98 final rapid is always emitted (no <code>finalZ != rPoint</code> guard
|
||||||
|
here, unlike the G83 path). Seven items: init, R, feed-stroke1
|
||||||
|
(z=-8), rapid-to-strokeZ+d (z=-3), feed-stroke2 (z=-18),
|
||||||
|
rapid-to-strokeZ+d (z=-13), final-init (z=0):
|
||||||
|
#BeforeBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "G73": { "X": 50, "Y": 30, "Z": -18, "R": 2, "Q": 10, "F": 600 } },
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G73", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -18, "R": 2, "Q": 10 }
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
<p>#AfterBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G73", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -18, "R": 2, "Q": 10 }
|
||||||
|
},
|
||||||
|
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
|
||||||
|
"CompoundMotion": {
|
||||||
|
"Term": "G73",
|
||||||
|
"Items": [
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 2 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": -8 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": -3 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": -18 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": -13 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||||
|
}</code></pre>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -187,6 +187,116 @@ Heidenhain equivalent: PLANE SPATIAL (separate syntax).
|
|||||||
</dd></dl>
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="Hi_NcParsers_LogicSyntaxs_IsoG68p2TiltSyntax_examples">Examples</h2>
|
||||||
|
<p>G69 cancel via <a class="xref" href="Hi.NcParsers.LogicSyntaxs.TiltTransformUtil.html#Hi_NcParsers_LogicSyntaxs_TiltTransformUtil_TryHandleG69_System_Text_Json_Nodes_JsonObject_System_Text_Json_Nodes_JsonObject_">TryHandleG69(JsonObject, JsonObject)</a> — the
|
||||||
|
kinematics-free short-circuit path that writes the identity tilt.</p>
|
||||||
|
<p>
|
||||||
|
Standalone <code>G69</code> — the flag is consumed,
|
||||||
|
<a class="xref" href="Hi.NcParsers.Keywords.TiltTransform.html">TiltTransform</a> is written with <code>Term: "G69"</code>,
|
||||||
|
and an identity Mat4d entry is added to
|
||||||
|
<a class="xref" href="Hi.NcParsers.Keywords.ITransformationDef.html#Hi_NcParsers_Keywords_ITransformationDef_ProgramToMcTransform">ProgramToMcTransform</a> so any
|
||||||
|
previously composed tilt rotation is reset:
|
||||||
|
</p>
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["G69"] } }</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"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]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}</code></pre>
|
||||||
|
G68.2 with IJK = (0, 30, 0) and no kinematics dep — exercises the
|
||||||
|
pure ZXZ Fanuc euler math
|
||||||
|
(<code>Rz(K=0) * Rx(J=30°) * Rz(I=0) * Translate(0)</code> = Rx(30°))
|
||||||
|
without any IK refinement. The <a class="xref" href="Hi.NcParsers.Keywords.TiltTransform.html">TiltTransform</a> section
|
||||||
|
retains the G68.2 ctor params for debug; the chain entry's Mat4d
|
||||||
|
is the rotation matrix:
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{ "Parsing": { "G68.2": { "X": 0, "Y": 0, "Z": 0, "I": 0, "J": 30, "K": 0 } } }</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"TiltTransform": { "Term": "G68.2", "X": 0, "Y": 0, "Z": 0, "I": 0, "J": 30, "K": 0 },
|
||||||
|
"ProgramToMcTransform": [
|
||||||
|
{
|
||||||
|
"Source": "TiltTransform",
|
||||||
|
"Kind": "Static",
|
||||||
|
"Mat4d": [
|
||||||
|
1, 0, 0, 0,
|
||||||
|
0, 0.8660254037844387, 0.49999999999999994, 0,
|
||||||
|
0, -0.49999999999999994, 0.8660254037844387, 0,
|
||||||
|
0, 0, 0, 1
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}</code></pre>
|
||||||
|
Same G68.2 IJK with a real
|
||||||
|
<a class="xref" href="Hi.Numerical.Xyzabc.XyzabcSolver.html">XyzabcSolver</a> (table-A / head-B
|
||||||
|
5-axis layout) — <code>hasPostAbc</code> is false but the kinematics
|
||||||
|
solves <code>OrientationToMcAbc(tiltByIjk)</code> successfully, so the
|
||||||
|
refinement path
|
||||||
|
<code>ijkAbcOrientation * orientationDelta * Translate(origin)</code>
|
||||||
|
runs. The resulting Mat4d preserves the IJK orientation but
|
||||||
|
aligns it with the kinematic ABC solution:
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{ "Parsing": { "G68.2": { "X": 0, "Y": 0, "Z": 0, "I": 0, "J": 30, "K": 0 } } }</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"TiltTransform": { "Term": "G68.2", "X": 0, "Y": 0, "Z": 0, "I": 0, "J": 30, "K": 0 },
|
||||||
|
"ProgramToMcTransform": [
|
||||||
|
{
|
||||||
|
"Source": "TiltTransform",
|
||||||
|
"Kind": "Static",
|
||||||
|
"Mat4d": [
|
||||||
|
1, 0, 0, 0,
|
||||||
|
0, 0.8660254037844388, 0.5, 0,
|
||||||
|
0, -0.5, 0.8660254037844388, 0,
|
||||||
|
0, 0, 0, 1
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}</code></pre>
|
||||||
|
G68.2 IJK with explicit post-processor rotary hints A=0, B=30 —
|
||||||
|
<code>hasPostAbc</code> is true, kinematics first solves
|
||||||
|
<code>tiltByIjk → ijkMcAbc</code>, then overrides A/B with the explicit
|
||||||
|
values to form <code>postMcAbc</code>; the final Mat4d combines
|
||||||
|
<code>postAbcOrient * orientationDeltaIjkToPost * Translate(origin)</code>.
|
||||||
|
The <a class="xref" href="Hi.NcParsers.Keywords.TiltTransform.html">TiltTransform</a> section gains the consumed
|
||||||
|
<code>A</code> and <code>B</code> entries:
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": {
|
||||||
|
"G68.2": { "X": 0, "Y": 0, "Z": 0, "I": 0, "J": 30, "K": 0 },
|
||||||
|
"A": 0,
|
||||||
|
"B": 30
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"TiltTransform": {
|
||||||
|
"Term": "G68.2",
|
||||||
|
"X": 0, "Y": 0, "Z": 0,
|
||||||
|
"I": 0, "J": 30, "K": 0,
|
||||||
|
"A": 0, "B": 30
|
||||||
|
},
|
||||||
|
"ProgramToMcTransform": [
|
||||||
|
{
|
||||||
|
"Source": "TiltTransform",
|
||||||
|
"Kind": "Static",
|
||||||
|
"Mat4d": [
|
||||||
|
0.8660254037844387, 0.0002477343364339079, -0.4999999386276948, 0,
|
||||||
|
0, 0.9999998772553897, 0.0004954686728678159, 0,
|
||||||
|
0.49999999999999994, -0.00042908845748289027, 0.8660252974844881, 0,
|
||||||
|
0, 0, 0, 1
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}</code></pre>
|
||||||
|
|
||||||
|
|
||||||
<h2 id="Hi_NcParsers_LogicSyntaxs_IsoG68p2TiltSyntax_remarks">Remarks</h2>
|
<h2 id="Hi_NcParsers_LogicSyntaxs_IsoG68p2TiltSyntax_remarks">Remarks</h2>
|
||||||
<div class="markdown level0 remarks"><p>G68.2 optionally uses <a class="xref" href="Hi.Numerical.Xyzabc.IMachineKinematics.html">IMachineKinematics</a> dependency for IK refinement.
|
<div class="markdown level0 remarks"><p>G68.2 optionally uses <a class="xref" href="Hi.Numerical.Xyzabc.IMachineKinematics.html">IMachineKinematics</a> dependency for IK refinement.
|
||||||
|
|||||||
@ -197,6 +197,80 @@ Must be placed after <a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycle
|
|||||||
</dd></dl>
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="Hi_NcParsers_LogicSyntaxs_PeckDrillingCycleSyntax_examples">Examples</h2>
|
||||||
|
<p>Both cases below pre-populate <a class="xref" href="Hi.NcParsers.Keywords.CannedCycle.html">CannedCycle</a> as
|
||||||
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycleResolveSyntax.html">CannedCycleResolveSyntax</a> would have written it. There
|
||||||
|
is no <code>#Previous:</code>, so <code>GetLastProgramXyz</code> returns
|
||||||
|
<code>Vec3d.Zero</code> → <code>initZ = 0</code>. A
|
||||||
|
<a class="xref" href="Hi.NcParsers.Dependencys.Generic.FallbackConfig.html">FallbackConfig</a> dep with the
|
||||||
|
default <code>PeckRetractionDistance_mm = 5</code> is injected via
|
||||||
|
<code>BuildAndDump(..., deps:)</code>. Cycle parameters are chosen so
|
||||||
|
<code>totalFeedLength = R − bottomZ = 10</code> and <code>Q = 10</code> →
|
||||||
|
exactly one stroke, no remainder; the items list stays minimal.</p>
|
||||||
|
<p>
|
||||||
|
G83 G98 — rapid to init (z=0), rapid to R=2, feed to bottom Z=-8 at
|
||||||
|
F=600 mm/min → 10 mm/s, rapid back to R=2, then a final rapid to
|
||||||
|
init Z=0 (G98). Five items:
|
||||||
|
</p>
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "G83": { "X": 50, "Y": 30, "Z": -8, "R": 2, "Q": 10, "F": 600 } },
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G83", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -8, "R": 2, "Q": 10 }
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G83", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -8, "R": 2, "Q": 10 }
|
||||||
|
},
|
||||||
|
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
|
||||||
|
"CompoundMotion": {
|
||||||
|
"Term": "G83",
|
||||||
|
"Items": [
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 2 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": -8 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 2 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||||
|
}</code></pre>
|
||||||
|
G83 G99 — same cycle but the return mode is R-point. Since the
|
||||||
|
retract-to-R rapid already lands at <code>z = R</code>, the
|
||||||
|
<code>finalZ != rPoint</code> guard skips the extra final-rapid item.
|
||||||
|
Four items, and the block's <code>ProgramXyz</code> lookback anchor lands
|
||||||
|
at R-point:
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "G83": { "X": 50, "Y": 30, "Z": -8, "R": 2, "Q": 10, "F": 600 } },
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G83", "ReturnMode": "G99",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -8, "R": 2, "Q": 10 }
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G83", "ReturnMode": "G99",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -8, "R": 2, "Q": 10 }
|
||||||
|
},
|
||||||
|
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
|
||||||
|
"CompoundMotion": {
|
||||||
|
"Term": "G83",
|
||||||
|
"Items": [
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 2 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": -8 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 2 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ProgramXyz": { "X": 50, "Y": 30, "Z": 2 }
|
||||||
|
}</code></pre>
|
||||||
|
|
||||||
|
|
||||||
<h2 id="Hi_NcParsers_LogicSyntaxs_PeckDrillingCycleSyntax_remarks">Remarks</h2>
|
<h2 id="Hi_NcParsers_LogicSyntaxs_PeckDrillingCycleSyntax_remarks">Remarks</h2>
|
||||||
<div class="markdown level0 remarks"><p>G73 (high-speed peck) retracts only a small distance instead of fully
|
<div class="markdown level0 remarks"><p>G73 (high-speed peck) retracts only a small distance instead of fully
|
||||||
|
|||||||
@ -209,6 +209,88 @@ Silently no-ops when <a class="xref" href="Hi.Numerical.Xyzabc.IMachineKinematic
|
|||||||
</dd></dl>
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="Hi_NcParsers_LogicSyntaxs_PivotTransformationSyntax_examples">Examples</h2>
|
||||||
|
<p>Identity probe — a <code>TestDeps.Kinematics</code> stub that
|
||||||
|
makes <code>McToPn</code> pass through XYZ and return a fixed <code>UnitZ</code>
|
||||||
|
normal, so <a class="xref" href="Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_MakePivotTransformMat_Hi_Numerical_Xyzabc_IMachineKinematics_Hi_Geom_Vec3d_">MakePivotTransformMat(IMachineKinematics, Vec3d)</a>'s
|
||||||
|
four-basis probing returns identity <code>K(0)</code> and <code>K(abc)</code>,
|
||||||
|
and the product <code>K(0) * K(abc).GetInverse()</code> collapses to
|
||||||
|
identity. With no current or previous <code>MachineCoordinateState</code>,
|
||||||
|
endpoint ABC defaults to <code>(0,0,0)</code>; no dynamic entries exist
|
||||||
|
yet so the entry is tagged <a class="xref" href="Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_KindStatic">KindStatic</a>.
|
||||||
|
Case for the dep-guard contract only; the real kinematics paths are
|
||||||
|
covered by the cases below.
|
||||||
|
#BeforeBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{}</code></pre>
|
||||||
|
<p>#AfterBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"ProgramToMcTransform": [
|
||||||
|
{
|
||||||
|
"Source": "PivotTransform",
|
||||||
|
"Kind": "Static",
|
||||||
|
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}</code></pre>
|
||||||
|
<p>Real <a class="xref" href="Hi.Numerical.Xyzabc.XyzabcSolver.html">XyzabcSolver</a> (table-A / head-B 5-axis layout
|
||||||
|
<code>[O][Z][A][w];[O][Y][X][B][S][t]</code>) with current block declaring
|
||||||
|
<code>MachineCoordinateState.A = 45</code> — endpoint ABC =
|
||||||
|
<code>(π/4, 0, 0)</code> radians. Table-side A rotation moves the tool
|
||||||
|
position in the workpiece frame, so
|
||||||
|
<code>MakePivotTransformMat</code>'s four-basis probe returns a
|
||||||
|
non-identity rigid matrix. The exact Mat4d below was captured from
|
||||||
|
<code>BuildAndDump</code>'s actual output (per gotcha #2: rad/deg trig
|
||||||
|
drift, always dump first):
|
||||||
|
#BeforeBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "A": 45 } }</code></pre>
|
||||||
|
<p>#AfterBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"MachineCoordinateState": { "A": 45 },
|
||||||
|
"ProgramToMcTransform": [
|
||||||
|
{
|
||||||
|
"Source": "PivotTransform",
|
||||||
|
"Kind": "Static",
|
||||||
|
"Mat4d": [
|
||||||
|
1, 0, 0, 0,
|
||||||
|
0, 0.7071067811865475, -0.7071067811865475, 0,
|
||||||
|
0, 0.7071067811865475, 0.7071067811865475, 0,
|
||||||
|
0, 0, 0, 1
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}</code></pre>
|
||||||
|
<p>Stub <code>TestDeps.Kinematics</code> with a pre-existing Dynamic
|
||||||
|
chain entry on the current block (as <a class="xref" href="Hi.NcParsers.LogicSyntaxs.G43p4RtcpSyntax.html">G43p4RtcpSyntax</a>
|
||||||
|
would have written when RTCP is dynamic). <a class="xref" href="Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_HasDynamicEntry_System_Text_Json_Nodes_JsonObject_">HasDynamicEntry(JsonObject)</a>
|
||||||
|
returns true so the PivotTransform entry is tagged
|
||||||
|
<a class="xref" href="Hi.NcParsers.Syntaxs.TransformationUtil.html#Hi_NcParsers_Syntaxs_TransformationUtil_KindDynamic">KindDynamic</a> even though the math
|
||||||
|
itself collapses to identity:
|
||||||
|
#BeforeBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"ProgramToMcTransform": [
|
||||||
|
{
|
||||||
|
"Source": "ToolHeightCompensation",
|
||||||
|
"Kind": "Dynamic",
|
||||||
|
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}</code></pre>
|
||||||
|
<p>#AfterBuild:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"ProgramToMcTransform": [
|
||||||
|
{
|
||||||
|
"Source": "ToolHeightCompensation",
|
||||||
|
"Kind": "Dynamic",
|
||||||
|
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Source": "PivotTransform",
|
||||||
|
"Kind": "Dynamic",
|
||||||
|
"Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}</code></pre>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="title" content="Class ReferenceReturnSyntax | HiAPI-C# 2025 ">
|
<meta name="title" content="Class ReferenceReturnSyntax | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
<meta name="description" content="G28 reference point return syntax. Behaviour is documented in detail on the example attached to ; this class is the implementation that the property configures.">
|
<meta name="description" content="Writes section for G28 reference point return. Reads intermediate XYZ from Parsing.G28 (written by ) and converts to machine coordinates via . Must be placed after in the syntax chain. Removes the section written by (G28 handles its own motion). Overwrites root and with reference position for subsequent block lookback.">
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
@ -97,10 +97,19 @@ Class ReferenceReturnSyntax
|
|||||||
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="markdown summary"><p>G28 reference point return syntax. Behaviour is documented in detail
|
<div class="markdown summary"><p>Writes <a class="xref" href="Hi.NcParsers.Keywords.ICompoundMotionDef.html">ICompoundMotionDef</a> section for G28 reference point return.
|
||||||
on the example attached to <a class="xref" href="Hi.NcParsers.LogicSyntaxs.BareG28Behavior.html">BareG28Behavior</a>; this class
|
Reads intermediate XYZ from <code>Parsing.G28</code>
|
||||||
is the <a class="xref" href="Hi.NcParsers.Syntaxs.ISituNcSyntax.html">ISituNcSyntax</a> implementation that the
|
(written by <a class="xref" href="Hi.NcParsers.Syntaxs.GenericSyntaxKit.html#Hi_NcParsers_Syntaxs_GenericSyntaxKit_G28Syntax">G28Syntax</a>)
|
||||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html#Hi_NcParsers_LogicSyntaxs_ReferenceReturnSyntax_BareG28">BareG28</a> property configures.</p>
|
and converts to machine coordinates via
|
||||||
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.ProgramXyzUtil.html#Hi_NcParsers_LogicSyntaxs_ProgramXyzUtil_ResolveProgramXyz_System_Text_Json_Nodes_JsonNode_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__Hi_NcParsers_ISentenceCarrier_Hi_NcParsers_NcDiagnosticProgress_">ResolveProgramXyz(JsonNode, LazyLinkedListNode<SyntaxPiece>, ISentenceCarrier, NcDiagnosticProgress)</a>.</p>
|
||||||
|
<p>
|
||||||
|
Must be placed after <a class="xref" href="Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html">LinearMotionSyntax</a> in the syntax chain.
|
||||||
|
Removes the <a class="xref" href="Hi.NcParsers.Keywords.IMotionEventDef.html">IMotionEventDef</a> section written by
|
||||||
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html">LinearMotionSyntax</a> (G28 handles its own motion).
|
||||||
|
Overwrites root <a class="xref" href="Hi.NcParsers.Keywords.IMachineCoordinateStateDef.html#Hi_NcParsers_Keywords_IMachineCoordinateStateDef_MachineCoordinateState">MachineCoordinateState</a>
|
||||||
|
and <a class="xref" href="Hi.NcParsers.Keywords.IProgramXyzDef.html#Hi_NcParsers_Keywords_IProgramXyzDef_ProgramXyz">ProgramXyz</a> with reference position
|
||||||
|
for subsequent block lookback.
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown conceptual"></div>
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
@ -182,6 +191,193 @@ is the <a class="xref" href="Hi.NcParsers.Syntaxs.ISituNcSyntax.html">ISituNcSyn
|
|||||||
</dd></dl>
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="Hi_NcParsers_LogicSyntaxs_ReferenceReturnSyntax_examples">Examples</h2>
|
||||||
|
<p>All cases hardcode a <code>TestDeps.HomeMc</code> with X/Y home at 0 and Z
|
||||||
|
home at 100 (typical mill where Z-home is above the table) and leave
|
||||||
|
the <code>ProgramToMcTransform</code> chain at identity so the final
|
||||||
|
<code>ProgramXyz</code> equals <code>MachineCoordinateState</code>. The G28
|
||||||
|
pattern emits a 2-item <code>CompoundMotion</code>: item 0 is the
|
||||||
|
intermediate point in <code>ProgramXyz</code>, item 1 is the final position
|
||||||
|
in <code>MachineCoordinateState</code>. Axes not present in the G28 block
|
||||||
|
keep the previous-block MC value rather than going home.</p>
|
||||||
|
<p>
|
||||||
|
<code>G91 G28 X0 Y0 Z0</code> with a <code>#Previous:</code> block carrying
|
||||||
|
<code>MachineCoordinateState=(50,60,70)</code> — all three axes go home,
|
||||||
|
so the final MC is the configured home <code>(0,0,100)</code>:
|
||||||
|
</p>
|
||||||
|
#Previous:
|
||||||
|
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "X": 50, "Y": 60, "Z": 70 } }</code></pre>
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{ "Parsing": { "G28": { "X": 0, "Y": 0, "Z": 0 } } }</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"CompoundMotion": {
|
||||||
|
"Term": "G28",
|
||||||
|
"Items": [
|
||||||
|
{
|
||||||
|
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
||||||
|
"ProgramXyz": { "X": 0, "Y": 0, "Z": 0 }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
||||||
|
"MachineCoordinateState": { "X": 0, "Y": 0, "Z": 100 }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ProgramXyz": { "X": 0, "Y": 0, "Z": 100 }
|
||||||
|
}</code></pre>
|
||||||
|
<code>G91 G28 Z0</code> — only Z goes to its home; X/Y inherit from the
|
||||||
|
previous block's MC. Item 0's intermediate <code>ProgramXyz</code> takes
|
||||||
|
X/Y from the inherited program XYZ (= previous MC under identity
|
||||||
|
transform) and Z from the literal 0 in the G28 block:
|
||||||
|
#Previous:
|
||||||
|
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "X": 50, "Y": 60, "Z": 70 } }</code></pre>
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{ "Parsing": { "G28": { "Z": 0 } } }</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"CompoundMotion": {
|
||||||
|
"Term": "G28",
|
||||||
|
"Items": [
|
||||||
|
{
|
||||||
|
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
||||||
|
"ProgramXyz": { "X": 50, "Y": 60, "Z": 0 }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
||||||
|
"MachineCoordinateState": { "X": 50, "Y": 60, "Z": 100 }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ProgramXyz": { "X": 50, "Y": 60, "Z": 100 }
|
||||||
|
}</code></pre>
|
||||||
|
No <a class="xref" href="Hi.NcParsers.Dependencys.IHomeMcConfig.html">IHomeMcConfig</a> dep on the dependency list — the
|
||||||
|
syntax early-returns and the G28 sub-section stays in <code>Parsing</code>
|
||||||
|
for an upstream consumer or downstream syntax to handle:
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{ "Parsing": { "G28": { "X": 0, "Y": 0, "Z": 0 } } }</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{ "Parsing": { "G28": { "X": 0, "Y": 0, "Z": 0 } } }</code></pre>
|
||||||
|
<p>
|
||||||
|
Rotary cases below add <code>TestDeps.AxisConfig</code> declaring B as
|
||||||
|
rotary and extend <code>HomeMc</code> with the conventional B home at 0°.
|
||||||
|
Each rotary block uses literal B = 45° so item 0's intermediate
|
||||||
|
(45°), item 1's home (0°), and <code>#Previous:</code> modal B (30°) are
|
||||||
|
pairwise distinct — a test that swaps any two values for any other
|
||||||
|
is caught by the assertion. The wrap pass
|
||||||
|
(<a class="xref" href="Hi.NcParsers.LogicSyntaxs.McAbcCyclicPathSyntax.html">McAbcCyclicPathSyntax</a>) is a different syntax, so
|
||||||
|
these per-SUT conformance assertions show only the raw literal /
|
||||||
|
canonical-home values written by this syntax, before any cyclic
|
||||||
|
normalization runs.
|
||||||
|
</p>
|
||||||
|
<code>G91 G28 B45.</code> — pure rotary G28. Emits a 2-item
|
||||||
|
<code>CompoundMotion</code> whose items carry only ABC keys in MC; no XYZ
|
||||||
|
<code>ProgramXyz</code> and no XYZ MC because the block doesn't reference
|
||||||
|
X/Y/Z (and the conformance harness doesn't run
|
||||||
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.McXyzSyntax.html">McXyzSyntax</a> downstream — in the full pipeline that
|
||||||
|
syntax fills root <code>MachineCoordinateState</code>'s XYZ from root
|
||||||
|
<code>ProgramXyz</code>, but with no XYZ in the block there's nothing to
|
||||||
|
fill anyway). Root MC.B holds the canonical home for modal
|
||||||
|
carry-forward; root <code>ProgramXyz</code> is not written:
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{ "Parsing": { "G28": { "B": 45 } } }</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"MachineCoordinateState": { "B": 0 },
|
||||||
|
"CompoundMotion": {
|
||||||
|
"Term": "G28",
|
||||||
|
"Items": [
|
||||||
|
{
|
||||||
|
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
||||||
|
"MachineCoordinateState": { "B": 45 }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
||||||
|
"MachineCoordinateState": { "B": 0 }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
<code>G28 X0. B45.</code> mixed XYZ + rotary. Both axis kinds occupy the
|
||||||
|
same two items: item 0 carries the XYZ intermediate
|
||||||
|
<code>ProgramXyz</code> alongside the rotary literal in MC; item 1
|
||||||
|
carries the final XYZ MC alongside the rotary home in MC. Root
|
||||||
|
<code>MachineCoordinateState</code> here holds only the rotary modal value
|
||||||
|
(B = 0, the home); the XYZ portion of root MC would be filled by
|
||||||
|
the downstream <a class="xref" href="Hi.NcParsers.LogicSyntaxs.McXyzSyntax.html">McXyzSyntax</a> in the full pipeline
|
||||||
|
(out of scope for this per-SUT conformance). Root
|
||||||
|
<code>MachineCoordinateState</code> appears first because the
|
||||||
|
rotary-home write happens before <code>CompoundMotion</code> /
|
||||||
|
<code>ProgramXyz</code> are inserted. <code>#Previous:</code> carries B = 30 so
|
||||||
|
the prev rotary modal is distinct from both the literal (45) and
|
||||||
|
the home (0):
|
||||||
|
#Previous:
|
||||||
|
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "X": 50, "Y": 60, "Z": 70, "B": 30 } }</code></pre>
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{ "Parsing": { "G28": { "X": 0, "B": 45 } } }</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"MachineCoordinateState": { "B": 0 },
|
||||||
|
"CompoundMotion": {
|
||||||
|
"Term": "G28",
|
||||||
|
"Items": [
|
||||||
|
{
|
||||||
|
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
||||||
|
"ProgramXyz": { "X": 0, "Y": 60, "Z": 70 },
|
||||||
|
"MachineCoordinateState": { "B": 45 }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
||||||
|
"MachineCoordinateState": { "X": 0, "Y": 60, "Z": 70, "B": 0 }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ProgramXyz": { "X": 0, "Y": 60, "Z": 70 }
|
||||||
|
}</code></pre>
|
||||||
|
<p>
|
||||||
|
Bare <code>G28</code> — no axis specifiers — exercises the configurable
|
||||||
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html#Hi_NcParsers_LogicSyntaxs_ReferenceReturnSyntax_BareG28">BareG28</a> policy. Default <a class="xref" href="Hi.NcParsers.LogicSyntaxs.BareG28Behavior.html#Hi_NcParsers_LogicSyntaxs_BareG28Behavior_Alarm">Alarm</a>
|
||||||
|
emits <code>Coord-RefReturn--003</code> and consumes the G28 without
|
||||||
|
motion (the diagnostic surfaces through the
|
||||||
|
<a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a> sink, not the block JSON, so the
|
||||||
|
canonical <code>#AfterBuild</code> is just an empty object):
|
||||||
|
</p>
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{ "Parsing": { "G28": {} } }</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{}</code></pre>
|
||||||
|
Bare <code>G28</code> with <a class="xref" href="Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html#Hi_NcParsers_LogicSyntaxs_ReferenceReturnSyntax_BareG28">BareG28</a> set to
|
||||||
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.BareG28Behavior.html#Hi_NcParsers_LogicSyntaxs_BareG28Behavior_AllAxesHome">AllAxesHome</a>: the syntax synthesises a
|
||||||
|
literal at the inherited program position for every configured
|
||||||
|
linear axis and the previous modal angle for every configured
|
||||||
|
rotary axis (here X/Y/Z taken from the <code>#Previous:</code> MC under
|
||||||
|
the identity <code>ProgramToMcTransform</code>, B taken from the prev
|
||||||
|
modal). Item 0's intermediate therefore equals current (no motion
|
||||||
|
in stage 1) and item 1 sends each axis to its home:
|
||||||
|
#Previous:
|
||||||
|
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "X": 10, "Y": 20, "Z": 30, "B": 45 } }</code></pre>
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{ "Parsing": { "G28": {} } }</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"MachineCoordinateState": { "B": 0 },
|
||||||
|
"CompoundMotion": {
|
||||||
|
"Term": "G28",
|
||||||
|
"Items": [
|
||||||
|
{
|
||||||
|
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
||||||
|
"ProgramXyz": { "X": 10, "Y": 20, "Z": 30 },
|
||||||
|
"MachineCoordinateState": { "B": 45 }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"MotionEvent": { "Form": "McLinear", "IsRapid": true },
|
||||||
|
"MachineCoordinateState": { "X": 0, "Y": 0, "Z": 100, "B": 0 }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ProgramXyz": { "X": 0, "Y": 0, "Z": 100 }
|
||||||
|
}</code></pre>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -195,6 +195,78 @@ Must be placed after <a class="xref" href="Hi.NcParsers.LogicSyntaxs.CannedCycle
|
|||||||
</dd></dl>
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="Hi_NcParsers_LogicSyntaxs_TappingCycleSyntax_examples">Examples</h2>
|
||||||
|
<p>Both cases G98 — pre-populated <a class="xref" href="Hi.NcParsers.Keywords.CannedCycle.html">CannedCycle</a>, no
|
||||||
|
<code>#Previous:</code> so <code>initZ = 0</code>, F=600 → 10 mm/s. Six items
|
||||||
|
each: init, R, feed-down, spindle reverse, feed retract, spindle
|
||||||
|
restore. The retract is a feed (not a rapid) because the tap is
|
||||||
|
physically threaded into the workpiece and a rapid would strip the
|
||||||
|
threads.</p>
|
||||||
|
<p>
|
||||||
|
G84 right-hand — forward CW (M03), reverse CCW (M04) at the bottom
|
||||||
|
to back out, then restore CW after retract:
|
||||||
|
</p>
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "G84": { "X": 50, "Y": 30, "Z": -10, "R": 2, "F": 600 } },
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G84", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G84", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||||
|
},
|
||||||
|
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
|
||||||
|
"CompoundMotion": {
|
||||||
|
"Term": "G84",
|
||||||
|
"Items": [
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 2 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": -10 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
|
||||||
|
{ "SpindleControl": { "Direction": "CCW" } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
|
||||||
|
{ "SpindleControl": { "Direction": "CW" } }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||||
|
}</code></pre>
|
||||||
|
G74 left-hand — same shape but the two spindle items are flipped:
|
||||||
|
forward CCW (M04), reverse CW (M03) at the bottom, restore CCW
|
||||||
|
after retract. Tests that the syntax dispatches on
|
||||||
|
<code>cycleCode == G84</code> to pick the right pair:
|
||||||
|
#BeforeBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": { "G74": { "X": 50, "Y": 30, "Z": -10, "R": 2, "F": 600 } },
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G74", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
#AfterBuild:
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"CannedCycle": {
|
||||||
|
"Term": "G74", "ReturnMode": "G98",
|
||||||
|
"Params": { "X": 50, "Y": 30, "Z": -10, "R": 2 }
|
||||||
|
},
|
||||||
|
"Feedrate": { "FeedrateValue": 600, "Term": "G94", "Unit": "mm/min" },
|
||||||
|
"CompoundMotion": {
|
||||||
|
"Term": "G74",
|
||||||
|
"Items": [
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 2 }, "MotionEvent": { "Form": "McLinear", "IsRapid": true } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": -10 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
|
||||||
|
{ "SpindleControl": { "Direction": "CW" } },
|
||||||
|
{ "ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }, "MotionEvent": { "Form": "McLinear", "Feedrate_mmds": 10 } },
|
||||||
|
{ "SpindleControl": { "Direction": "CCW" } }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ProgramXyz": { "X": 50, "Y": 30, "Z": 0 }
|
||||||
|
}</code></pre>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -798,10 +798,19 @@ MC vs predecessor lookback, picks strategy from
|
|||||||
</dl>
|
</dl>
|
||||||
<dl class="jumplist">
|
<dl class="jumplist">
|
||||||
<dt><a class="xref" href="Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html">ReferenceReturnSyntax</a></dt>
|
<dt><a class="xref" href="Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html">ReferenceReturnSyntax</a></dt>
|
||||||
<dd><p>G28 reference point return syntax. Behaviour is documented in detail
|
<dd><p>Writes <a class="xref" href="Hi.NcParsers.Keywords.ICompoundMotionDef.html">ICompoundMotionDef</a> section for G28 reference point return.
|
||||||
on the example attached to <a class="xref" href="Hi.NcParsers.LogicSyntaxs.BareG28Behavior.html">BareG28Behavior</a>; this class
|
Reads intermediate XYZ from <code>Parsing.G28</code>
|
||||||
is the <a class="xref" href="Hi.NcParsers.Syntaxs.ISituNcSyntax.html">ISituNcSyntax</a> implementation that the
|
(written by <a class="xref" href="Hi.NcParsers.Syntaxs.GenericSyntaxKit.html#Hi_NcParsers_Syntaxs_GenericSyntaxKit_G28Syntax">G28Syntax</a>)
|
||||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html#Hi_NcParsers_LogicSyntaxs_ReferenceReturnSyntax_BareG28">BareG28</a> property configures.</p>
|
and converts to machine coordinates via
|
||||||
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.ProgramXyzUtil.html#Hi_NcParsers_LogicSyntaxs_ProgramXyzUtil_ResolveProgramXyz_System_Text_Json_Nodes_JsonNode_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__Hi_NcParsers_ISentenceCarrier_Hi_NcParsers_NcDiagnosticProgress_">ResolveProgramXyz(JsonNode, LazyLinkedListNode<SyntaxPiece>, ISentenceCarrier, NcDiagnosticProgress)</a>.</p>
|
||||||
|
<p>
|
||||||
|
Must be placed after <a class="xref" href="Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html">LinearMotionSyntax</a> in the syntax chain.
|
||||||
|
Removes the <a class="xref" href="Hi.NcParsers.Keywords.IMotionEventDef.html">IMotionEventDef</a> section written by
|
||||||
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html">LinearMotionSyntax</a> (G28 handles its own motion).
|
||||||
|
Overwrites root <a class="xref" href="Hi.NcParsers.Keywords.IMachineCoordinateStateDef.html#Hi_NcParsers_Keywords_IMachineCoordinateStateDef_MachineCoordinateState">MachineCoordinateState</a>
|
||||||
|
and <a class="xref" href="Hi.NcParsers.Keywords.IProgramXyzDef.html#Hi_NcParsers_Keywords_IProgramXyzDef_ProgramXyz">ProgramXyz</a> with reference position
|
||||||
|
for subsequent block lookback.
|
||||||
|
</p>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="jumplist">
|
<dl class="jumplist">
|
||||||
@ -895,19 +904,12 @@ Enums
|
|||||||
</h3>
|
</h3>
|
||||||
<dl class="jumplist">
|
<dl class="jumplist">
|
||||||
<dt><a class="xref" href="Hi.NcParsers.LogicSyntaxs.BareG28Behavior.html">BareG28Behavior</a></dt>
|
<dt><a class="xref" href="Hi.NcParsers.LogicSyntaxs.BareG28Behavior.html">BareG28Behavior</a></dt>
|
||||||
<dd><p>Writes <a class="xref" href="Hi.NcParsers.Keywords.ICompoundMotionDef.html">ICompoundMotionDef</a> section for G28 reference point return.
|
<dd><p>Configurable handling for a G28 block with no axis specifiers
|
||||||
Reads intermediate XYZ from <code>Parsing.G28</code>
|
(“bare G28”) — value of <a class="xref" href="Hi.NcParsers.LogicSyntaxs.ReferenceReturnSyntax.html#Hi_NcParsers_LogicSyntaxs_ReferenceReturnSyntax_BareG28">BareG28</a>.
|
||||||
(written by <a class="xref" href="Hi.NcParsers.Syntaxs.GenericSyntaxKit.html#Hi_NcParsers_Syntaxs_GenericSyntaxKit_G28Syntax">G28Syntax</a>)
|
Real Fanuc-class controllers vary: older 0i-M alarms (PS010), some
|
||||||
and converts to machine coordinates via
|
30i variants send every configured axis to home. Default to
|
||||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.ProgramXyzUtil.html#Hi_NcParsers_LogicSyntaxs_ProgramXyzUtil_ResolveProgramXyz_System_Text_Json_Nodes_JsonNode_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__Hi_NcParsers_ISentenceCarrier_Hi_NcParsers_NcDiagnosticProgress_">ResolveProgramXyz(JsonNode, LazyLinkedListNode<SyntaxPiece>, ISentenceCarrier, NcDiagnosticProgress)</a>.</p>
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.BareG28Behavior.html#Hi_NcParsers_LogicSyntaxs_BareG28Behavior_Alarm">Alarm</a> so silent NC bugs surface; opt into
|
||||||
<p>
|
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.BareG28Behavior.html#Hi_NcParsers_LogicSyntaxs_BareG28Behavior_AllAxesHome">AllAxesHome</a> per syntax instance.</p>
|
||||||
Must be placed after <a class="xref" href="Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html">LinearMotionSyntax</a> in the syntax chain.
|
|
||||||
Removes the <a class="xref" href="Hi.NcParsers.Keywords.IMotionEventDef.html">IMotionEventDef</a> section written by
|
|
||||||
<a class="xref" href="Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html">LinearMotionSyntax</a> (G28 handles its own motion).
|
|
||||||
Overwrites root <a class="xref" href="Hi.NcParsers.Keywords.IMachineCoordinateStateDef.html#Hi_NcParsers_Keywords_IMachineCoordinateStateDef_MachineCoordinateState">MachineCoordinateState</a>
|
|
||||||
and <a class="xref" href="Hi.NcParsers.Keywords.IProgramXyzDef.html#Hi_NcParsers_Keywords_IProgramXyzDef_ProgramXyz">ProgramXyz</a> with reference position
|
|
||||||
for subsequent block lookback.
|
|
||||||
</p>
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,513 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Class FanucWhileDoParsingSyntax | HiAPI-C# 2025 </title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="title" content="Class FanucWhileDoParsingSyntax | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
|
<meta name="description" content="Parses the two Fanuc Custom Macro B WHILE/END phrases out of into a Parsing.FanucWhileDo sub-object: WHILE [&lt;bool-expr&gt;] DO &lt;m&gt; — loop entry, writes { Term: "WHILE...DO", LoopId, Condition }.END &lt;m&gt; — loop terminator, writes { Term: "END", LoopId }. Pipeline placement. This syntax must run before in the Parsing bundle — same lesson as : although the WHILE / END phrases per Fanuc spec do not coexist with assignments on the same block, the defensive ordering prevents a body fragment from being half-eaten as a stand-alone assignment if a non-spec NC file appears. LoopId is captured as an int directly (Fanuc spec restricts the m identifier to small literal integers 1–3 typical, no expression form). The WHILE's Condition is captured as a string and substituted in place by 's pass-2 tree walk; then reads it via the shared .">
|
||||||
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
|
<meta name="docfx:navrel" content="../toc.html">
|
||||||
|
<meta name="docfx:tocrel" content="toc.html">
|
||||||
|
|
||||||
|
<meta name="docfx:rel" content="../">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta name="loc:inThisArticle" content="In this article">
|
||||||
|
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||||
|
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||||
|
<meta name="loc:tocFilter" content="Filter by title">
|
||||||
|
<meta name="loc:nextArticle" content="Next">
|
||||||
|
<meta name="loc:prevArticle" content="Previous">
|
||||||
|
<meta name="loc:themeLight" content="Light">
|
||||||
|
<meta name="loc:themeDark" content="Dark">
|
||||||
|
<meta name="loc:themeAuto" content="Auto">
|
||||||
|
<meta name="loc:changeTheme" content="Change theme">
|
||||||
|
<meta name="loc:copy" content="Copy">
|
||||||
|
<meta name="loc:downloadPdf" content="Download PDF">
|
||||||
|
|
||||||
|
<script type="module" src="./../public/docfx.min.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const theme = localStorage.getItem('theme') || 'auto'
|
||||||
|
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
||||||
|
<header class="bg-body border-bottom">
|
||||||
|
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||||
|
<div class="container-xxl flex-nowrap">
|
||||||
|
<a class="navbar-brand" href="../index.html">
|
||||||
|
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
||||||
|
|
||||||
|
</a>
|
||||||
|
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<i class="bi bi-three-dots"></i>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navpanel">
|
||||||
|
<div id="navbar">
|
||||||
|
<form class="search" role="search" id="search">
|
||||||
|
<i class="bi bi-search"></i>
|
||||||
|
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<main class="container-xxl">
|
||||||
|
<div class="toc-offcanvas">
|
||||||
|
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||||
|
<div class="offcanvas-header">
|
||||||
|
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="offcanvas-body">
|
||||||
|
<nav class="toc" id="toc"></nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
<div class="actionbar">
|
||||||
|
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||||
|
<i class="bi bi-list"></i>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<nav id="breadcrumb"></nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<article data-uid="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucWhileDoParsingSyntax" data-uid="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax" class="text-break">
|
||||||
|
Class FanucWhileDoParsingSyntax
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="facts text-secondary">
|
||||||
|
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.NcParsers.html">NcParsers</a>.<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.html">ParsingSyntaxs</a>.<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.Fanuc.html">Fanuc</a></dd></dl>
|
||||||
|
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="markdown summary"><p>Parses the two Fanuc Custom Macro B WHILE/END phrases out of
|
||||||
|
<a class="xref" href="Hi.NcParsers.Keywords.IUnparsedTextDef.html#Hi_NcParsers_Keywords_IUnparsedTextDef_UnparsedText">UnparsedText</a> into a
|
||||||
|
<code>Parsing.FanucWhileDo</code> sub-object:</p>
|
||||||
|
<ul><li><code>WHILE [<bool-expr>] DO <m></code> — loop entry,
|
||||||
|
writes <code>{ Term: "WHILE...DO", LoopId, Condition }</code>.</li><li><code>END <m></code> — loop terminator, writes
|
||||||
|
<code>{ Term: "END", LoopId }</code>.</li></ul>
|
||||||
|
<p>
|
||||||
|
<b>Pipeline placement.</b> This syntax must run before
|
||||||
|
<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.html">TagAssignmentSyntax</a> in the Parsing bundle — same lesson
|
||||||
|
as <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.html">FanucIfThenParsingSyntax</a>: although the WHILE / END
|
||||||
|
phrases per Fanuc spec do not coexist with assignments on the same
|
||||||
|
block, the defensive ordering prevents a body fragment from being
|
||||||
|
half-eaten as a stand-alone assignment if a non-spec NC file appears.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<code>LoopId</code> is captured as an int directly (Fanuc spec
|
||||||
|
restricts the <code>m</code> identifier to small literal integers 1–3
|
||||||
|
typical, no expression form). The <code>WHILE</code>'s Condition is captured
|
||||||
|
as a string and substituted in place by
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a>'s pass-2 tree
|
||||||
|
walk; <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.html">FanucWhileDoSyntax</a> then
|
||||||
|
reads it via the shared
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucConditionReader.html">FanucConditionReader</a>.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public class FanucWhileDoParsingSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<dl class="typelist inheritance">
|
||||||
|
<dt>Inheritance</dt>
|
||||||
|
<dd>
|
||||||
|
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||||
|
<div><span class="xref">FanucWhileDoParsingSyntax</span></div>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<dl class="typelist implements">
|
||||||
|
<dt>Implements</dt>
|
||||||
|
<dd>
|
||||||
|
<div><a class="xref" href="Hi.NcParsers.Syntaxs.ISituNcSyntax.html">ISituNcSyntax</a></div>
|
||||||
|
<div><a class="xref" href="Hi.NcParsers.Syntaxs.INcSyntax.html">INcSyntax</a></div>
|
||||||
|
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
<dl class="typelist inheritedMembers">
|
||||||
|
<dt>Inherited Members</dt>
|
||||||
|
<dd>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||||
|
</div>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="typelist extensionMethods">
|
||||||
|
<dt>Extension Methods</dt>
|
||||||
|
<dd>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
||||||
|
</div>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucWhileDoParsingSyntax_examples">Examples</h2>
|
||||||
|
<p>#Input: <code>WHILE [#100 LT 3] DO 1</code>
|
||||||
|
#Output:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": {
|
||||||
|
"FanucWhileDo": {
|
||||||
|
"Term": "WHILE...DO",
|
||||||
|
"LoopId": 1,
|
||||||
|
"Condition": "#100 LT 3"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
<p>#Input: <code>END 1</code>
|
||||||
|
#Output:</p>
|
||||||
|
<pre><code class="lang-csharp">{
|
||||||
|
"Parsing": {
|
||||||
|
"FanucWhileDo": {
|
||||||
|
"Term": "END",
|
||||||
|
"LoopId": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}</code></pre>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="constructors">Constructors
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucWhileDoParsingSyntax__ctor_" data-uid="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.#ctor*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucWhileDoParsingSyntax__ctor" data-uid="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.#ctor">
|
||||||
|
FanucWhileDoParsingSyntax()
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Parameterless instance for bundle composition (no XML state).</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public FanucWhileDoParsingSyntax()</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucWhileDoParsingSyntax__ctor_" data-uid="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.#ctor*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucWhileDoParsingSyntax__ctor_System_Xml_Linq_XElement_" data-uid="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.#ctor(System.Xml.Linq.XElement)">
|
||||||
|
FanucWhileDoParsingSyntax(XElement)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>XML ctor (no child elements; reserved for forward compatibility).</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public FanucWhileDoParsingSyntax(XElement src)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>src</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a></dt>
|
||||||
|
<dd><p>Root element named <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.html#Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucWhileDoParsingSyntax_XName">XName</a>.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="properties">Properties
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucWhileDoParsingSyntax_Name_" data-uid="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.Name*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucWhileDoParsingSyntax_Name" data-uid="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.Name">
|
||||||
|
Name
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Syntax kind name (typically the concrete type name).</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public string Name { get; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucWhileDoParsingSyntax_XName_" data-uid="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.XName*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucWhileDoParsingSyntax_XName" data-uid="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.XName">
|
||||||
|
XName
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>XML element name used to register this syntax with <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a>.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public static string XName { get; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="methods">Methods
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucWhileDoParsingSyntax_Build_" data-uid="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.Build*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucWhileDoParsingSyntax_Build_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_" data-uid="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.Build(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},Hi.NcParsers.NcDiagnosticProgress)">
|
||||||
|
Build(LazyLinkedListNode<SyntaxPiece>, List<INcDependency>, NcDiagnosticProgress)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Build syntax arrangement into the
|
||||||
|
<code class="paramref">syntaxPieceNode</code> in-place.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public void Build(LazyLinkedListNode<SyntaxPiece> syntaxPieceNode, List<INcDependency> ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>syntaxPieceNode</code> <a class="xref" href="Hi.Common.Collections.LazyLinkedListNode-1.html">LazyLinkedListNode</a><<a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">SyntaxPiece</a>></dt>
|
||||||
|
<dd></dd>
|
||||||
|
<dt><code>ncDependencyList</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1">List</a><<a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a>></dt>
|
||||||
|
<dd></dd>
|
||||||
|
<dt><code>ncDiagnosticProgress</code> <a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucWhileDoParsingSyntax_MakeXmlSource_" data-uid="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.MakeXmlSource*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucWhileDoParsingSyntax_MakeXmlSource_System_String_System_String_System_Boolean_" data-uid="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.MakeXmlSource(System.String,System.String,System.Boolean)">
|
||||||
|
MakeXmlSource(string, string, bool)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Creates an XML representation of the object.
|
||||||
|
This method may also generate additional resources such as related files.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>baseDirectory</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd><p>The base directory for resolving relative paths</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>relFile</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd><p>The relative file path for the XML source</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>exhibitionOnly</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
|
||||||
|
<dd><p>if true, the extended file creation is suppressed.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h4 class="section">Returns</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a></dt>
|
||||||
|
<dd><p>An XML element representing the object's state</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section" id="Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucWhileDoParsingSyntax_MakeXmlSource_System_String_System_String_System_Boolean__remarks">Remarks</h4>
|
||||||
|
<div class="markdown level1 remarks"><p>For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied.
|
||||||
|
The <code class="paramref">baseDirectory</code> is typically the folder at the nearest configuration file folder.
|
||||||
|
Since the folder can be moving with the configuration file.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucWhileDoParsingSyntax_Reg_" data-uid="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.Reg*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_NcParsers_ParsingSyntaxs_Fanuc_FanucWhileDoParsingSyntax_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.Reg(Hi.Common.XmlUtils.XFactory)">
|
||||||
|
Reg(XFactory)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Registers this type's deserializer with the given <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a>
|
||||||
|
(or <a class="xref" href="Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Default">Default</a> when <code class="paramref">factory</code> is
|
||||||
|
<code>null</code>). Idempotent.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public static void Reg(XFactory factory = null)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>factory</code> <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<div class="contribution d-print-none">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="affix">
|
||||||
|
<nav id="affix"></nav>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<div class="container-xxl search-results" id="search-results"></div>
|
||||||
|
|
||||||
|
<footer class="border-top text-secondary">
|
||||||
|
<div class="container-xxl">
|
||||||
|
<div class="flex-fill">
|
||||||
|
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -180,6 +180,34 @@ line, and records it under <a class="xref" href="Hi.NcParsers.Keywords.FanucProg
|
|||||||
block JSON. The wrapping form (bare vs angle-bracketed) is preserved
|
block JSON. The wrapping form (bare vs angle-bracketed) is preserved
|
||||||
in <a class="xref" href="Hi.NcParsers.Keywords.FanucProgramNumber.html#Hi_NcParsers_Keywords_FanucProgramNumber_Wrapper">Wrapper</a> so the block can be emitted
|
in <a class="xref" href="Hi.NcParsers.Keywords.FanucProgramNumber.html#Hi_NcParsers_Keywords_FanucProgramNumber_Wrapper">Wrapper</a> so the block can be emitted
|
||||||
back to its original notation.</p>
|
back to its original notation.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="jumplist">
|
||||||
|
<dt><a class="xref" href="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucWhileDoParsingSyntax.html">FanucWhileDoParsingSyntax</a></dt>
|
||||||
|
<dd><p>Parses the two Fanuc Custom Macro B WHILE/END phrases out of
|
||||||
|
<a class="xref" href="Hi.NcParsers.Keywords.IUnparsedTextDef.html#Hi_NcParsers_Keywords_IUnparsedTextDef_UnparsedText">UnparsedText</a> into a
|
||||||
|
<code>Parsing.FanucWhileDo</code> sub-object:</p>
|
||||||
|
<ul><li><code>WHILE [<bool-expr>] DO <m></code> — loop entry,
|
||||||
|
writes <code>{ Term: "WHILE...DO", LoopId, Condition }</code>.</li><li><code>END <m></code> — loop terminator, writes
|
||||||
|
<code>{ Term: "END", LoopId }</code>.</li></ul>
|
||||||
|
<p>
|
||||||
|
<b>Pipeline placement.</b> This syntax must run before
|
||||||
|
<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.TagAssignmentSyntax.html">TagAssignmentSyntax</a> in the Parsing bundle — same lesson
|
||||||
|
as <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.Fanuc.FanucIfThenParsingSyntax.html">FanucIfThenParsingSyntax</a>: although the WHILE / END
|
||||||
|
phrases per Fanuc spec do not coexist with assignments on the same
|
||||||
|
block, the defensive ordering prevents a body fragment from being
|
||||||
|
half-eaten as a stand-alone assignment if a non-spec NC file appears.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<code>LoopId</code> is captured as an int directly (Fanuc spec
|
||||||
|
restricts the <code>m</code> identifier to small literal integers 1–3
|
||||||
|
typical, no expression form). The <code>WHILE</code>'s Condition is captured
|
||||||
|
as a string and substituted in place by
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a>'s pass-2 tree
|
||||||
|
walk; <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucWhileDoSyntax.html">FanucWhileDoSyntax</a> then
|
||||||
|
reads it via the shared
|
||||||
|
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucConditionReader.html">FanucConditionReader</a>.
|
||||||
|
</p>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
|||||||
@ -287,8 +287,8 @@ Also support single line NC block.</p>
|
|||||||
|
|
||||||
<a id="Hi_NcParsers_Segmenters_HeidenhainSegmenter_GetSentences_" data-uid="Hi.NcParsers.Segmenters.HeidenhainSegmenter.GetSentences*"></a>
|
<a id="Hi_NcParsers_Segmenters_HeidenhainSegmenter_GetSentences_" data-uid="Hi.NcParsers.Segmenters.HeidenhainSegmenter.GetSentences*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_NcParsers_Segmenters_HeidenhainSegmenter_GetSentences_Hi_Common_Collections_LazyLinkedList_Hi_Common_FileLines_IndexedFileLine__Hi_NcParsers_NcDiagnosticProgress_" data-uid="Hi.NcParsers.Segmenters.HeidenhainSegmenter.GetSentences(Hi.Common.Collections.LazyLinkedList{Hi.Common.FileLines.IndexedFileLine},Hi.NcParsers.NcDiagnosticProgress)">
|
<h3 id="Hi_NcParsers_Segmenters_HeidenhainSegmenter_GetSentences_Hi_Common_Collections_LazyLinkedList_Hi_Common_FileLines_IndexedFileLine__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_" data-uid="Hi.NcParsers.Segmenters.HeidenhainSegmenter.GetSentences(Hi.Common.Collections.LazyLinkedList{Hi.Common.FileLines.IndexedFileLine},System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},Hi.NcParsers.NcDiagnosticProgress)">
|
||||||
GetSentences(LazyLinkedList<IndexedFileLine>, NcDiagnosticProgress)
|
GetSentences(LazyLinkedList<IndexedFileLine>, List<INcDependency>, NcDiagnosticProgress)
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
@ -297,13 +297,19 @@ Also support single line NC block.</p>
|
|||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public IEnumerable<Sentence> GetSentences(LazyLinkedList<IndexedFileLine> indexedFileLines, NcDiagnosticProgress ncDiagnosticProgress)</code></pre>
|
<pre><code class="lang-csharp hljs">public IEnumerable<Sentence> GetSentences(LazyLinkedList<IndexedFileLine> indexedFileLines, List<INcDependency> ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress)</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
<h4 class="section">Parameters</h4>
|
||||||
<dl class="parameters">
|
<dl class="parameters">
|
||||||
<dt><code>indexedFileLines</code> <a class="xref" href="Hi.Common.Collections.LazyLinkedList-1.html">LazyLinkedList</a><<a class="xref" href="Hi.Common.FileLines.IndexedFileLine.html">IndexedFileLine</a>></dt>
|
<dt><code>indexedFileLines</code> <a class="xref" href="Hi.Common.Collections.LazyLinkedList-1.html">LazyLinkedList</a><<a class="xref" href="Hi.Common.FileLines.IndexedFileLine.html">IndexedFileLine</a>></dt>
|
||||||
<dd><p>The lazy linked list of indexed file lines.</p>
|
<dd><p>The lazy linked list of indexed file lines.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>ncDependencyList</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1">List</a><<a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a>></dt>
|
||||||
|
<dd><p>Dependency list of the owning runner; segmenters that consume
|
||||||
|
header rows (e.g. <a class="xref" href="Hi.Numerical.CsvParsers.CsvSegmenter.html">CsvSegmenter</a>) read host-wired
|
||||||
|
dependencies from here. May be null in lightweight test fixtures — implementations
|
||||||
|
that need a dependency must null-check.</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt><code>ncDiagnosticProgress</code> <a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a></dt>
|
<dt><code>ncDiagnosticProgress</code> <a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a></dt>
|
||||||
<dd><p>Diagnostic progress reporter.</p>
|
<dd><p>Diagnostic progress reporter.</p>
|
||||||
|
|||||||
@ -191,8 +191,8 @@ Interface ISegmenter
|
|||||||
|
|
||||||
<a id="Hi_NcParsers_Segmenters_ISegmenter_GetSentences_" data-uid="Hi.NcParsers.Segmenters.ISegmenter.GetSentences*"></a>
|
<a id="Hi_NcParsers_Segmenters_ISegmenter_GetSentences_" data-uid="Hi.NcParsers.Segmenters.ISegmenter.GetSentences*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_NcParsers_Segmenters_ISegmenter_GetSentences_Hi_Common_Collections_LazyLinkedList_Hi_Common_FileLines_IndexedFileLine__Hi_NcParsers_NcDiagnosticProgress_" data-uid="Hi.NcParsers.Segmenters.ISegmenter.GetSentences(Hi.Common.Collections.LazyLinkedList{Hi.Common.FileLines.IndexedFileLine},Hi.NcParsers.NcDiagnosticProgress)">
|
<h3 id="Hi_NcParsers_Segmenters_ISegmenter_GetSentences_Hi_Common_Collections_LazyLinkedList_Hi_Common_FileLines_IndexedFileLine__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_" data-uid="Hi.NcParsers.Segmenters.ISegmenter.GetSentences(Hi.Common.Collections.LazyLinkedList{Hi.Common.FileLines.IndexedFileLine},System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},Hi.NcParsers.NcDiagnosticProgress)">
|
||||||
GetSentences(LazyLinkedList<IndexedFileLine>, NcDiagnosticProgress)
|
GetSentences(LazyLinkedList<IndexedFileLine>, List<INcDependency>, NcDiagnosticProgress)
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
@ -201,13 +201,19 @@ Interface ISegmenter
|
|||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">IEnumerable<Sentence> GetSentences(LazyLinkedList<IndexedFileLine> indexedFileLines, NcDiagnosticProgress ncDiagnosticProgress)</code></pre>
|
<pre><code class="lang-csharp hljs">IEnumerable<Sentence> GetSentences(LazyLinkedList<IndexedFileLine> indexedFileLines, List<INcDependency> ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress)</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
<h4 class="section">Parameters</h4>
|
||||||
<dl class="parameters">
|
<dl class="parameters">
|
||||||
<dt><code>indexedFileLines</code> <a class="xref" href="Hi.Common.Collections.LazyLinkedList-1.html">LazyLinkedList</a><<a class="xref" href="Hi.Common.FileLines.IndexedFileLine.html">IndexedFileLine</a>></dt>
|
<dt><code>indexedFileLines</code> <a class="xref" href="Hi.Common.Collections.LazyLinkedList-1.html">LazyLinkedList</a><<a class="xref" href="Hi.Common.FileLines.IndexedFileLine.html">IndexedFileLine</a>></dt>
|
||||||
<dd><p>The lazy linked list of indexed file lines.</p>
|
<dd><p>The lazy linked list of indexed file lines.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>ncDependencyList</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1">List</a><<a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a>></dt>
|
||||||
|
<dd><p>Dependency list of the owning runner; segmenters that consume
|
||||||
|
header rows (e.g. <a class="xref" href="Hi.Numerical.CsvParsers.CsvSegmenter.html">CsvSegmenter</a>) read host-wired
|
||||||
|
dependencies from here. May be null in lightweight test fixtures — implementations
|
||||||
|
that need a dependency must null-check.</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt><code>ncDiagnosticProgress</code> <a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a></dt>
|
<dt><code>ncDiagnosticProgress</code> <a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a></dt>
|
||||||
<dd><p>Diagnostic progress reporter.</p>
|
<dd><p>Diagnostic progress reporter.</p>
|
||||||
|
|||||||
@ -388,8 +388,8 @@ Lines without the delimiter produce a single <a class="xref" href="Hi.NcParsers.
|
|||||||
|
|
||||||
<a id="Hi_NcParsers_Segmenters_InlineDelimiterSegmenter_GetSentences_" data-uid="Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.GetSentences*"></a>
|
<a id="Hi_NcParsers_Segmenters_InlineDelimiterSegmenter_GetSentences_" data-uid="Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.GetSentences*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_NcParsers_Segmenters_InlineDelimiterSegmenter_GetSentences_Hi_Common_Collections_LazyLinkedList_Hi_Common_FileLines_IndexedFileLine__Hi_NcParsers_NcDiagnosticProgress_" data-uid="Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.GetSentences(Hi.Common.Collections.LazyLinkedList{Hi.Common.FileLines.IndexedFileLine},Hi.NcParsers.NcDiagnosticProgress)">
|
<h3 id="Hi_NcParsers_Segmenters_InlineDelimiterSegmenter_GetSentences_Hi_Common_Collections_LazyLinkedList_Hi_Common_FileLines_IndexedFileLine__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_" data-uid="Hi.NcParsers.Segmenters.InlineDelimiterSegmenter.GetSentences(Hi.Common.Collections.LazyLinkedList{Hi.Common.FileLines.IndexedFileLine},System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},Hi.NcParsers.NcDiagnosticProgress)">
|
||||||
GetSentences(LazyLinkedList<IndexedFileLine>, NcDiagnosticProgress)
|
GetSentences(LazyLinkedList<IndexedFileLine>, List<INcDependency>, NcDiagnosticProgress)
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
@ -398,13 +398,19 @@ Lines without the delimiter produce a single <a class="xref" href="Hi.NcParsers.
|
|||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public IEnumerable<Sentence> GetSentences(LazyLinkedList<IndexedFileLine> indexedFileLines, NcDiagnosticProgress ncDiagnosticProgress)</code></pre>
|
<pre><code class="lang-csharp hljs">public IEnumerable<Sentence> GetSentences(LazyLinkedList<IndexedFileLine> indexedFileLines, List<INcDependency> ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress)</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
<h4 class="section">Parameters</h4>
|
||||||
<dl class="parameters">
|
<dl class="parameters">
|
||||||
<dt><code>indexedFileLines</code> <a class="xref" href="Hi.Common.Collections.LazyLinkedList-1.html">LazyLinkedList</a><<a class="xref" href="Hi.Common.FileLines.IndexedFileLine.html">IndexedFileLine</a>></dt>
|
<dt><code>indexedFileLines</code> <a class="xref" href="Hi.Common.Collections.LazyLinkedList-1.html">LazyLinkedList</a><<a class="xref" href="Hi.Common.FileLines.IndexedFileLine.html">IndexedFileLine</a>></dt>
|
||||||
<dd><p>The lazy linked list of indexed file lines.</p>
|
<dd><p>The lazy linked list of indexed file lines.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>ncDependencyList</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1">List</a><<a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a>></dt>
|
||||||
|
<dd><p>Dependency list of the owning runner; segmenters that consume
|
||||||
|
header rows (e.g. <a class="xref" href="Hi.Numerical.CsvParsers.CsvSegmenter.html">CsvSegmenter</a>) read host-wired
|
||||||
|
dependencies from here. May be null in lightweight test fixtures — implementations
|
||||||
|
that need a dependency must null-check.</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt><code>ncDiagnosticProgress</code> <a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a></dt>
|
<dt><code>ncDiagnosticProgress</code> <a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a></dt>
|
||||||
<dd><p>Diagnostic progress reporter.</p>
|
<dd><p>Diagnostic progress reporter.</p>
|
||||||
|
|||||||
@ -255,8 +255,8 @@ Class SingleLineSegmenter
|
|||||||
|
|
||||||
<a id="Hi_NcParsers_Segmenters_SingleLineSegmenter_GetSentences_" data-uid="Hi.NcParsers.Segmenters.SingleLineSegmenter.GetSentences*"></a>
|
<a id="Hi_NcParsers_Segmenters_SingleLineSegmenter_GetSentences_" data-uid="Hi.NcParsers.Segmenters.SingleLineSegmenter.GetSentences*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_NcParsers_Segmenters_SingleLineSegmenter_GetSentences_Hi_Common_Collections_LazyLinkedList_Hi_Common_FileLines_IndexedFileLine__Hi_NcParsers_NcDiagnosticProgress_" data-uid="Hi.NcParsers.Segmenters.SingleLineSegmenter.GetSentences(Hi.Common.Collections.LazyLinkedList{Hi.Common.FileLines.IndexedFileLine},Hi.NcParsers.NcDiagnosticProgress)">
|
<h3 id="Hi_NcParsers_Segmenters_SingleLineSegmenter_GetSentences_Hi_Common_Collections_LazyLinkedList_Hi_Common_FileLines_IndexedFileLine__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_" data-uid="Hi.NcParsers.Segmenters.SingleLineSegmenter.GetSentences(Hi.Common.Collections.LazyLinkedList{Hi.Common.FileLines.IndexedFileLine},System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},Hi.NcParsers.NcDiagnosticProgress)">
|
||||||
GetSentences(LazyLinkedList<IndexedFileLine>, NcDiagnosticProgress)
|
GetSentences(LazyLinkedList<IndexedFileLine>, List<INcDependency>, NcDiagnosticProgress)
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
@ -265,13 +265,19 @@ Class SingleLineSegmenter
|
|||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public IEnumerable<Sentence> GetSentences(LazyLinkedList<IndexedFileLine> indexedFileLines, NcDiagnosticProgress ncDiagnosticProgress)</code></pre>
|
<pre><code class="lang-csharp hljs">public IEnumerable<Sentence> GetSentences(LazyLinkedList<IndexedFileLine> indexedFileLines, List<INcDependency> ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress)</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
<h4 class="section">Parameters</h4>
|
||||||
<dl class="parameters">
|
<dl class="parameters">
|
||||||
<dt><code>indexedFileLines</code> <a class="xref" href="Hi.Common.Collections.LazyLinkedList-1.html">LazyLinkedList</a><<a class="xref" href="Hi.Common.FileLines.IndexedFileLine.html">IndexedFileLine</a>></dt>
|
<dt><code>indexedFileLines</code> <a class="xref" href="Hi.Common.Collections.LazyLinkedList-1.html">LazyLinkedList</a><<a class="xref" href="Hi.Common.FileLines.IndexedFileLine.html">IndexedFileLine</a>></dt>
|
||||||
<dd><p>The lazy linked list of indexed file lines.</p>
|
<dd><p>The lazy linked list of indexed file lines.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>ncDependencyList</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1">List</a><<a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a>></dt>
|
||||||
|
<dd><p>Dependency list of the owning runner; segmenters that consume
|
||||||
|
header rows (e.g. <a class="xref" href="Hi.Numerical.CsvParsers.CsvSegmenter.html">CsvSegmenter</a>) read host-wired
|
||||||
|
dependencies from here. May be null in lightweight test fixtures — implementations
|
||||||
|
that need a dependency must null-check.</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt><code>ncDiagnosticProgress</code> <a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a></dt>
|
<dt><code>ncDiagnosticProgress</code> <a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a></dt>
|
||||||
<dd><p>Diagnostic progress reporter.</p>
|
<dd><p>Diagnostic progress reporter.</p>
|
||||||
|
|||||||
@ -310,7 +310,7 @@ to store typed values at parse time.
|
|||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>0-based ordinal in NC execution order. Stamped at piece construction
|
<div class="markdown level1 summary"><p>0-based ordinal in NC execution order. Stamped at piece construction
|
||||||
time by <a class="xref" href="Hi.NcParsers.Segmenters.ISegmenter.html">GetSyntaxPieces(ISegmenter, IEnumerable<IndexedFileLine>, int, NcDiagnosticProgress, CancellationToken)</a> from the destination
|
time by <a class="xref" href="Hi.NcParsers.Segmenters.ISegmenter.html">GetSyntaxPieces(ISegmenter, List<INcDependency>, IEnumerable<IndexedFileLine>, int, NcDiagnosticProgress, CancellationToken)</a> from the destination
|
||||||
<code>layers[0]</code>'s running count, so subprogram pieces inlined by
|
<code>layers[0]</code>'s running count, so subprogram pieces inlined by
|
||||||
<code>SubProgramCallSyntax</code> get sequential indices that interleave
|
<code>SubProgramCallSyntax</code> get sequential indices that interleave
|
||||||
correctly between host blocks. Useful as a cross-process alignment
|
correctly between host blocks. Useful as a cross-process alignment
|
||||||
|
|||||||
@ -167,6 +167,27 @@ MachiningStep, etc.) when source order
|
|||||||
(<a class="xref" href="Hi.Common.FileLines.FileLineUtil.html#Hi_Common_FileLines_FileLineUtil_MixedIndex_Hi_Common_FileLines_IFileLineIndex_">MixedIndex(IFileLineIndex)</a>)
|
(<a class="xref" href="Hi.Common.FileLines.FileLineUtil.html#Hi_Common_FileLines_FileLineUtil_MixedIndex_Hi_Common_FileLines_IFileLineIndex_">MixedIndex(IFileLineIndex)</a>)
|
||||||
is not enough because SubProgram inline reorders blocks relative to
|
is not enough because SubProgram inline reorders blocks relative to
|
||||||
(FileIndex, LineIndex).</p>
|
(FileIndex, LineIndex).</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="jumplist">
|
||||||
|
<dt><a class="xref" href="Hi.NcParsers.ISessionResettable.html">ISessionResettable</a></dt>
|
||||||
|
<dd><p>Marker for objects that hold session-scoped runtime state which must be
|
||||||
|
cleared when <a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a> initializes a new
|
||||||
|
session pipeline (the <code>state.IsInitialized == false</code> edge).</p>
|
||||||
|
<p>
|
||||||
|
Implementers may live on either chain: <a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a>
|
||||||
|
or <a class="xref" href="Hi.NcParsers.Syntaxs.INcSyntax.html">INcSyntax</a>. <a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a> scans
|
||||||
|
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_NcDependencyList">NcDependencyList</a> and
|
||||||
|
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_NcSyntaxList">NcSyntaxList</a> on the session-init edge and calls
|
||||||
|
<a class="xref" href="Hi.NcParsers.ISessionResettable.html#Hi_NcParsers_ISessionResettable_OnSessionReset">OnSessionReset()</a> on every match.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Distinct from <a class="xref" href="Hi.NcParsers.Dependencys.IPowerResettable.html">IPowerResettable</a>: power-reset clears
|
||||||
|
retained-but-volatile state on a controller power cycle (e.g., Fanuc
|
||||||
|
<code>#100-#499</code>), an edge that survives ordinary session boundaries.
|
||||||
|
Session-reset clears state whose lifetime is one pipeline pass (iteration
|
||||||
|
counters, file-index allocators, etc.).
|
||||||
|
</p>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<h3 id="enums">
|
<h3 id="enums">
|
||||||
|
|||||||
@ -0,0 +1,423 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Class CsvRowSemantic | HiAPI-C# 2025 </title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="title" content="Class CsvRowSemantic | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
|
<meta name="description" content="Final-stage semantic that turns each row JSON stamped by into the same sequence the legacy CsvRunner produced: optional (begin), , , , , , / , , and optional (end). Stateless — the previous machine coordinate is recovered by walking back through the chain and reading the typed cells already stamped, so no carry-state lives on the semantic instance or in extra JSON sections. The previous actual time is recovered the same way; that cell stays as a string (the source format may be TimeSpan or DateTime) and is re-parsed on demand — at most once per row.">
|
||||||
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
|
<meta name="docfx:navrel" content="../toc.html">
|
||||||
|
<meta name="docfx:tocrel" content="toc.html">
|
||||||
|
|
||||||
|
<meta name="docfx:rel" content="../">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta name="loc:inThisArticle" content="In this article">
|
||||||
|
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||||
|
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||||
|
<meta name="loc:tocFilter" content="Filter by title">
|
||||||
|
<meta name="loc:nextArticle" content="Next">
|
||||||
|
<meta name="loc:prevArticle" content="Previous">
|
||||||
|
<meta name="loc:themeLight" content="Light">
|
||||||
|
<meta name="loc:themeDark" content="Dark">
|
||||||
|
<meta name="loc:themeAuto" content="Auto">
|
||||||
|
<meta name="loc:changeTheme" content="Change theme">
|
||||||
|
<meta name="loc:copy" content="Copy">
|
||||||
|
<meta name="loc:downloadPdf" content="Download PDF">
|
||||||
|
|
||||||
|
<script type="module" src="./../public/docfx.min.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const theme = localStorage.getItem('theme') || 'auto'
|
||||||
|
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
||||||
|
<header class="bg-body border-bottom">
|
||||||
|
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||||
|
<div class="container-xxl flex-nowrap">
|
||||||
|
<a class="navbar-brand" href="../index.html">
|
||||||
|
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
||||||
|
|
||||||
|
</a>
|
||||||
|
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<i class="bi bi-three-dots"></i>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navpanel">
|
||||||
|
<div id="navbar">
|
||||||
|
<form class="search" role="search" id="search">
|
||||||
|
<i class="bi bi-search"></i>
|
||||||
|
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<main class="container-xxl">
|
||||||
|
<div class="toc-offcanvas">
|
||||||
|
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||||
|
<div class="offcanvas-header">
|
||||||
|
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="offcanvas-body">
|
||||||
|
<nav class="toc" id="toc"></nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
<div class="actionbar">
|
||||||
|
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||||
|
<i class="bi bi-list"></i>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<nav id="breadcrumb"></nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<article data-uid="Hi.Numerical.CsvParsers.CsvRowSemantic">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h1 id="Hi_Numerical_CsvParsers_CsvRowSemantic" data-uid="Hi.Numerical.CsvParsers.CsvRowSemantic" class="text-break">
|
||||||
|
Class CsvRowSemantic
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<div class="facts text-secondary">
|
||||||
|
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Numerical.html">Numerical</a>.<a class="xref" href="Hi.Numerical.CsvParsers.html">CsvParsers</a></dd></dl>
|
||||||
|
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="markdown summary"><p>Final-stage semantic that turns each row JSON stamped by
|
||||||
|
<a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSyntax.html">CsvRowSyntax</a> into the same <a class="xref" href="Hi.Numerical.Acts.IAct.html">IAct</a> sequence the
|
||||||
|
legacy <code>CsvRunner</code> produced: optional <a class="xref" href="Hi.Numerical.Acts.ActLineCsScript.html">ActLineCsScript</a>
|
||||||
|
(begin), <a class="xref" href="Hi.Numerical.Acts.ActActualTime.html">ActActualTime</a>, <a class="xref" href="Hi.Numerical.Acts.ActToolingTeleport.html">ActToolingTeleport</a>,
|
||||||
|
<a class="xref" href="Hi.Numerical.Acts.ActFeedrate.html">ActFeedrate</a>, <a class="xref" href="Hi.Numerical.Acts.ActSpindleDirection.html">ActSpindleDirection</a>,
|
||||||
|
<a class="xref" href="Hi.Numerical.Acts.ActSpindleSpeed.html">ActSpindleSpeed</a>, <a class="xref" href="Hi.Numerical.Acts.ActMcXyzabcStep.html">ActMcXyzabcStep</a> /
|
||||||
|
<a class="xref" href="Hi.Numerical.Acts.ActMcXyzabcLinearContour.html">ActMcXyzabcLinearContour</a>, <a class="xref" href="Hi.Numerical.Acts.ActData.html">ActData</a>, and
|
||||||
|
optional <a class="xref" href="Hi.Numerical.Acts.ActLineCsScript.html">ActLineCsScript</a> (end).</p>
|
||||||
|
<p>
|
||||||
|
Stateless — the previous machine coordinate is recovered by walking back
|
||||||
|
through the <a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">SyntaxPiece</a> chain and reading the typed
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a> cells <a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSyntax.html">CsvRowSyntax</a> already stamped, so
|
||||||
|
no carry-state lives on the semantic instance or in extra JSON sections.
|
||||||
|
The previous actual time is recovered the same way; that cell stays as a
|
||||||
|
string (the source format may be TimeSpan or DateTime) and is re-parsed
|
||||||
|
on demand — at most once per row.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public class CsvRowSemantic : INcSemantic, IMakeXmlSource</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<dl class="typelist inheritance">
|
||||||
|
<dt>Inheritance</dt>
|
||||||
|
<dd>
|
||||||
|
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||||
|
<div><span class="xref">CsvRowSemantic</span></div>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<dl class="typelist implements">
|
||||||
|
<dt>Implements</dt>
|
||||||
|
<dd>
|
||||||
|
<div><a class="xref" href="Hi.NcParsers.Semantics.INcSemantic.html">INcSemantic</a></div>
|
||||||
|
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
<dl class="typelist inheritedMembers">
|
||||||
|
<dt>Inherited Members</dt>
|
||||||
|
<dd>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
|
||||||
|
</div>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
<dl class="typelist extensionMethods">
|
||||||
|
<dt>Extension Methods</dt>
|
||||||
|
<dd>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate<TSelf>(TSelf, params object[])</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke<TSrc>(TSrc, Action<TSrc>)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke<TSrc, TDst>(TSrc, Func<TSrc, TDst>)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
|
||||||
|
</div>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="properties">Properties
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_Numerical_CsvParsers_CsvRowSemantic_DisplayName_" data-uid="Hi.Numerical.CsvParsers.CsvRowSemantic.DisplayName*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_Numerical_CsvParsers_CsvRowSemantic_DisplayName" data-uid="Hi.Numerical.CsvParsers.CsvRowSemantic.DisplayName">
|
||||||
|
DisplayName
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>The process name shown on UI.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public string DisplayName { get; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_Numerical_CsvParsers_CsvRowSemantic_XName_" data-uid="Hi.Numerical.CsvParsers.CsvRowSemantic.XName*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_Numerical_CsvParsers_CsvRowSemantic_XName" data-uid="Hi.Numerical.CsvParsers.CsvRowSemantic.XName">
|
||||||
|
XName
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>XML element name for <a class="xref" href="Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Generators">Generators</a> registration.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public static string XName { get; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="methods">Methods
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_Numerical_CsvParsers_CsvRowSemantic_MakeXmlSource_" data-uid="Hi.Numerical.CsvParsers.CsvRowSemantic.MakeXmlSource*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_Numerical_CsvParsers_CsvRowSemantic_MakeXmlSource_System_String_System_String_System_Boolean_" data-uid="Hi.Numerical.CsvParsers.CsvRowSemantic.MakeXmlSource(System.String,System.String,System.Boolean)">
|
||||||
|
MakeXmlSource(string, string, bool)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Creates an XML representation of the object.
|
||||||
|
This method may also generate additional resources such as related files.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>baseDirectory</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd><p>The base directory for resolving relative paths</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>relFile</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd><p>The relative file path for the XML source</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>exhibitionOnly</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
|
||||||
|
<dd><p>if true, the extended file creation is suppressed.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h4 class="section">Returns</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a></dt>
|
||||||
|
<dd><p>An XML element representing the object's state</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section" id="Hi_Numerical_CsvParsers_CsvRowSemantic_MakeXmlSource_System_String_System_String_System_Boolean__remarks">Remarks</h4>
|
||||||
|
<div class="markdown level1 remarks"><p>For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied.
|
||||||
|
The <code class="paramref">baseDirectory</code> is typically the folder at the nearest configuration file folder.
|
||||||
|
Since the folder can be moving with the configuration file.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_Numerical_CsvParsers_CsvRowSemantic_Reg_" data-uid="Hi.Numerical.CsvParsers.CsvRowSemantic.Reg*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_Numerical_CsvParsers_CsvRowSemantic_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.Numerical.CsvParsers.CsvRowSemantic.Reg(Hi.Common.XmlUtils.XFactory)">
|
||||||
|
Reg(XFactory)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Registers this type's deserializer with the given <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a>
|
||||||
|
(or <a class="xref" href="Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Default">Default</a> when <code class="paramref">factory</code> is
|
||||||
|
<code>null</code>). Idempotent.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public static void Reg(XFactory factory = null)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>factory</code> <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_Numerical_CsvParsers_CsvRowSemantic_Resolve_" data-uid="Hi.Numerical.CsvParsers.CsvRowSemantic.Resolve*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_Numerical_CsvParsers_CsvRowSemantic_Resolve_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_" data-uid="Hi.Numerical.CsvParsers.CsvRowSemantic.Resolve(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},Hi.NcParsers.NcDiagnosticProgress)">
|
||||||
|
Resolve(LazyLinkedListNode<SyntaxPiece>, List<INcDependency>, NcDiagnosticProgress)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Resolve the <code class="paramref">syntaxPieceNode</code> into a sequence of <a class="xref" href="Hi.Numerical.Acts.IAct.html">IAct</a>.
|
||||||
|
May also mutate <a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">SyntaxPiece</a>.<a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html#Hi_NcParsers_Syntaxs_SyntaxPiece_JsonObject">JsonObject</a> for downstream semantics.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public IEnumerable<IAct> Resolve(LazyLinkedListNode<SyntaxPiece> syntaxPieceNode, List<INcDependency> dependencyList, NcDiagnosticProgress ncDiagnosticProgress)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>syntaxPieceNode</code> <a class="xref" href="Hi.Common.Collections.LazyLinkedListNode-1.html">LazyLinkedListNode</a><<a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">SyntaxPiece</a>></dt>
|
||||||
|
<dd></dd>
|
||||||
|
<dt><code>dependencyList</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1">List</a><<a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a>></dt>
|
||||||
|
<dd></dd>
|
||||||
|
<dt><code>ncDiagnosticProgress</code> <a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h4 class="section">Returns</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a><<a class="xref" href="Hi.Numerical.Acts.IAct.html">IAct</a>></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<div class="contribution d-print-none">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="affix">
|
||||||
|
<nav id="affix"></nav>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<div class="container-xxl search-results" id="search-results"></div>
|
||||||
|
|
||||||
|
<footer class="border-top text-secondary">
|
||||||
|
<div class="container-xxl">
|
||||||
|
<div class="flex-fill">
|
||||||
|
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -2,11 +2,11 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>Class MachiningProjectGrpcServer | HiAPI-C# 2025 </title>
|
<title>Class CsvRowSyntax | HiAPI-C# 2025 </title>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="title" content="Class MachiningProjectGrpcServer | HiAPI-C# 2025 ">
|
<meta name="title" content="Class CsvRowSyntax | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
<meta name="description" content="Server for exposing machining project functionality via gRPC.">
|
<meta name="description" content="Per-row CSV parsing syntax for the soft NC runner. Reads the active via , splits the row text using , and stamps the resulting column→value map into under the property for to consume. Numeric cells are pre-typed to (or ) at this stage so downstream readers — including 's backwards walk for the previous machine coordinate — touch native JSON numbers instead of re-parsing strings on every visit. Columns kept as strings: the script / time / spindle-direction tags whose semantic interpretation is non-numeric, plus any column whose key appears in (the caller-supplied parsing function expects the raw cell text).">
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
@ -84,25 +84,41 @@
|
|||||||
<nav id="breadcrumb"></nav>
|
<nav id="breadcrumb"></nav>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<article data-uid="HiNc.Grpcs.MachiningProjectGrpcServer">
|
<article data-uid="Hi.Numerical.CsvParsers.CsvRowSyntax">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1 id="HiNc_Grpcs_MachiningProjectGrpcServer" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer" class="text-break">
|
<h1 id="Hi_Numerical_CsvParsers_CsvRowSyntax" data-uid="Hi.Numerical.CsvParsers.CsvRowSyntax" class="text-break">
|
||||||
Class MachiningProjectGrpcServer
|
Class CsvRowSyntax
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<div class="facts text-secondary">
|
<div class="facts text-secondary">
|
||||||
<dl><dt>Namespace</dt><dd><a class="xref" href="HiNc.html">HiNc</a>.<a class="xref" href="HiNc.Grpcs.html">Grpcs</a></dd></dl>
|
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Numerical.html">Numerical</a>.<a class="xref" href="Hi.Numerical.CsvParsers.html">CsvParsers</a></dd></dl>
|
||||||
<dl><dt>Assembly</dt><dd>HiNc.dll</dd></dl>
|
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="markdown summary"><p>Server for exposing machining project functionality via gRPC.</p>
|
<div class="markdown summary"><p>Per-row CSV parsing syntax for the soft NC runner. Reads the active
|
||||||
|
<a class="xref" href="Hi.Numerical.CsvParsers.CsvSegmenter.html#Hi_Numerical_CsvParsers_CsvSegmenter_TitleList">TitleList</a> via
|
||||||
|
<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.html">SegmenterDependency</a>, splits the row text using
|
||||||
|
<a class="xref" href="Hi.Common.CsvUtils.CsvInputKit.html#Hi_Common_CsvUtils_CsvInputKit_GetCsvDictionary_System_Collections_Generic_IList_System_String__System_String_">GetCsvDictionary(IList<string>, string)</a>, and
|
||||||
|
stamps the resulting column→value map into
|
||||||
|
<a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html#Hi_NcParsers_Syntaxs_SyntaxPiece_JsonObject">JsonObject</a> under the <a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSyntax.html#Hi_Numerical_CsvParsers_CsvRowSyntax_CsvRowKey">CsvRowKey</a>
|
||||||
|
property for <a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSemantic.html">CsvRowSemantic</a> to consume.</p>
|
||||||
|
<p>
|
||||||
|
Numeric cells are pre-typed to <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a> (or <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a>)
|
||||||
|
at this stage so downstream readers — including
|
||||||
|
<a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSemantic.html">CsvRowSemantic</a>'s backwards walk for the previous machine
|
||||||
|
coordinate — touch native JSON numbers instead of re-parsing strings on
|
||||||
|
every visit. Columns kept as strings: the script / time / spindle-direction
|
||||||
|
tags whose semantic interpretation is non-numeric, plus any column whose
|
||||||
|
key appears in <a class="xref" href="Hi.Numerical.CsvParsers.CsvRunnerConfig.html#Hi_Numerical_CsvParsers_CsvRunnerConfig_ParsingDictionary">ParsingDictionary</a> (the
|
||||||
|
caller-supplied parsing function expects the raw cell text).
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown conceptual"></div>
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public class MachiningProjectGrpcServer : IDisposable, IMakeXmlSource</code></pre>
|
<pre><code class="lang-csharp hljs">public class CsvRowSyntax : ISituNcSyntax, INcSyntax, IMakeXmlSource</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@ -112,14 +128,15 @@ Class MachiningProjectGrpcServer
|
|||||||
<dt>Inheritance</dt>
|
<dt>Inheritance</dt>
|
||||||
<dd>
|
<dd>
|
||||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||||
<div><span class="xref">MachiningProjectGrpcServer</span></div>
|
<div><span class="xref">CsvRowSyntax</span></div>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<dl class="typelist implements">
|
<dl class="typelist implements">
|
||||||
<dt>Implements</dt>
|
<dt>Implements</dt>
|
||||||
<dd>
|
<dd>
|
||||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.idisposable">IDisposable</a></div>
|
<div><a class="xref" href="Hi.NcParsers.Syntaxs.ISituNcSyntax.html">ISituNcSyntax</a></div>
|
||||||
|
<div><a class="xref" href="Hi.NcParsers.Syntaxs.INcSyntax.html">INcSyntax</a></div>
|
||||||
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
|
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
@ -181,28 +198,30 @@ Class MachiningProjectGrpcServer
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="constructors">Constructors
|
<h2 class="section" id="fields">Fields
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
<a id="HiNc_Grpcs_MachiningProjectGrpcServer__ctor_" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.#ctor*"></a>
|
|
||||||
|
|
||||||
<h3 id="HiNc_Grpcs_MachiningProjectGrpcServer__ctor_Hi_MachiningProcs_LocalProjectService_" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.#ctor(Hi.MachiningProcs.LocalProjectService)">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRowSyntax_CsvRowKey" data-uid="Hi.Numerical.CsvParsers.CsvRowSyntax.CsvRowKey">
|
||||||
MachiningProjectGrpcServer(LocalProjectService)
|
CsvRowKey
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="HiNc.Grpcs.MachiningProjectGrpcServer.html">MachiningProjectGrpcServer</a> class.</p>
|
<div class="markdown level1 summary"><p>JSON property name under which the parsed row dictionary is stored.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public MachiningProjectGrpcServer(LocalProjectService localProjectService)</code></pre>
|
<pre><code class="lang-csharp hljs">public const string CsvRowKey = "CsvRow"</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Field Value</h4>
|
||||||
<dl class="parameters">
|
<dl class="parameters">
|
||||||
<dt><code>localProjectService</code> <a class="xref" href="Hi.MachiningProcs.LocalProjectService.html">LocalProjectService</a></dt>
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
<dd></dd>
|
<dd></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
@ -214,62 +233,23 @@ Class MachiningProjectGrpcServer
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="HiNc_Grpcs_MachiningProjectGrpcServer__ctor_" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.#ctor*"></a>
|
|
||||||
|
|
||||||
<h3 id="HiNc_Grpcs_MachiningProjectGrpcServer__ctor_System_Xml_Linq_XElement_Hi_MachiningProcs_LocalProjectService_" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.#ctor(System.Xml.Linq.XElement,Hi.MachiningProcs.LocalProjectService)">
|
|
||||||
MachiningProjectGrpcServer(XElement, LocalProjectService)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="HiNc.Grpcs.MachiningProjectGrpcServer.html">MachiningProjectGrpcServer</a> class from XML.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public MachiningProjectGrpcServer(XElement src, LocalProjectService localProjectService)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>src</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a></dt>
|
|
||||||
<dd><p>XML source element</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>localProjectService</code> <a class="xref" href="Hi.MachiningProcs.LocalProjectService.html">LocalProjectService</a></dt>
|
|
||||||
<dd><p>The local project service.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="properties">Properties
|
<h2 class="section" id="properties">Properties
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
<a id="HiNc_Grpcs_MachiningProjectGrpcServer_IsServiceRunning_" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.IsServiceRunning*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRowSyntax_Name_" data-uid="Hi.Numerical.CsvParsers.CsvRowSyntax.Name*"></a>
|
||||||
|
|
||||||
<h3 id="HiNc_Grpcs_MachiningProjectGrpcServer_IsServiceRunning" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.IsServiceRunning">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRowSyntax_Name" data-uid="Hi.Numerical.CsvParsers.CsvRowSyntax.Name">
|
||||||
IsServiceRunning
|
Name
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Gets whether the service is currently running.</p>
|
<div class="markdown level1 summary"><p>Syntax kind name (typically the concrete type name).</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public bool IsServiceRunning { get; }</code></pre>
|
<pre><code class="lang-csharp hljs">public string Name { get; }</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@ -278,7 +258,7 @@ Class MachiningProjectGrpcServer
|
|||||||
|
|
||||||
<h4 class="section">Property Value</h4>
|
<h4 class="section">Property Value</h4>
|
||||||
<dl class="parameters">
|
<dl class="parameters">
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
<dd></dd>
|
<dd></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
@ -289,78 +269,14 @@ Class MachiningProjectGrpcServer
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="HiNc_Grpcs_MachiningProjectGrpcServer_ServicePort_" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.ServicePort*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRowSyntax_XName_" data-uid="Hi.Numerical.CsvParsers.CsvRowSyntax.XName*"></a>
|
||||||
|
|
||||||
<h3 id="HiNc_Grpcs_MachiningProjectGrpcServer_ServicePort" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.ServicePort">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRowSyntax_XName" data-uid="Hi.Numerical.CsvParsers.CsvRowSyntax.XName">
|
||||||
ServicePort
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Gets or sets the port used by the gRPC service.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public int ServicePort { get; set; }</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section">Property Value</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="HiNc_Grpcs_MachiningProjectGrpcServer_WebApplication_" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.WebApplication*"></a>
|
|
||||||
|
|
||||||
<h3 id="HiNc_Grpcs_MachiningProjectGrpcServer_WebApplication" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.WebApplication">
|
|
||||||
WebApplication
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Gets the web application instance for the gRPC server.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public WebApplication WebApplication { get; }</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section">Property Value</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/microsoft.aspnetcore.builder.webapplication">WebApplication</a></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="HiNc_Grpcs_MachiningProjectGrpcServer_XName_" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.XName*"></a>
|
|
||||||
|
|
||||||
<h3 id="HiNc_Grpcs_MachiningProjectGrpcServer_XName" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.XName">
|
|
||||||
XName
|
XName
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Name for XML IO.</p>
|
<div class="markdown level1 summary"><p>XML element name for <a class="xref" href="Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Generators">Generators</a> registration.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
@ -389,50 +305,29 @@ Class MachiningProjectGrpcServer
|
|||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
<a id="HiNc_Grpcs_MachiningProjectGrpcServer_Dispose_" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.Dispose*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRowSyntax_Build_" data-uid="Hi.Numerical.CsvParsers.CsvRowSyntax.Build*"></a>
|
||||||
|
|
||||||
<h3 id="HiNc_Grpcs_MachiningProjectGrpcServer_Dispose" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.Dispose">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRowSyntax_Build_Hi_Common_Collections_LazyLinkedListNode_Hi_NcParsers_Syntaxs_SyntaxPiece__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_" data-uid="Hi.Numerical.CsvParsers.CsvRowSyntax.Build(Hi.Common.Collections.LazyLinkedListNode{Hi.NcParsers.Syntaxs.SyntaxPiece},System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},Hi.NcParsers.NcDiagnosticProgress)">
|
||||||
Dispose()
|
Build(LazyLinkedListNode<SyntaxPiece>, List<INcDependency>, NcDiagnosticProgress)
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.</p>
|
<div class="markdown level1 summary"><p>Build syntax arrangement into the
|
||||||
|
<code class="paramref">syntaxPieceNode</code> in-place.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public void Dispose()</code></pre>
|
<pre><code class="lang-csharp hljs">public void Build(LazyLinkedListNode<SyntaxPiece> syntaxPieceNode, List<INcDependency> ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress)</code></pre>
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="HiNc_Grpcs_MachiningProjectGrpcServer_Dispose_" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.Dispose*"></a>
|
|
||||||
|
|
||||||
<h3 id="HiNc_Grpcs_MachiningProjectGrpcServer_Dispose_System_Boolean_" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.Dispose(System.Boolean)">
|
|
||||||
Dispose(bool)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"></div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">protected virtual void Dispose(bool disposing)</code></pre>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
<h4 class="section">Parameters</h4>
|
||||||
<dl class="parameters">
|
<dl class="parameters">
|
||||||
<dt><code>disposing</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
|
<dt><code>syntaxPieceNode</code> <a class="xref" href="Hi.Common.Collections.LazyLinkedListNode-1.html">LazyLinkedListNode</a><<a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">SyntaxPiece</a>></dt>
|
||||||
|
<dd></dd>
|
||||||
|
<dt><code>ncDependencyList</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1">List</a><<a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a>></dt>
|
||||||
|
<dd></dd>
|
||||||
|
<dt><code>ncDiagnosticProgress</code> <a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a></dt>
|
||||||
<dd></dd>
|
<dd></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
@ -447,9 +342,9 @@ Class MachiningProjectGrpcServer
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="HiNc_Grpcs_MachiningProjectGrpcServer_MakeXmlSource_" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.MakeXmlSource*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRowSyntax_MakeXmlSource_" data-uid="Hi.Numerical.CsvParsers.CsvRowSyntax.MakeXmlSource*"></a>
|
||||||
|
|
||||||
<h3 id="HiNc_Grpcs_MachiningProjectGrpcServer_MakeXmlSource_System_String_System_String_System_Boolean_" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.MakeXmlSource(System.String,System.String,System.Boolean)">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRowSyntax_MakeXmlSource_System_String_System_String_System_Boolean_" data-uid="Hi.Numerical.CsvParsers.CsvRowSyntax.MakeXmlSource(System.String,System.String,System.Boolean)">
|
||||||
MakeXmlSource(string, string, bool)
|
MakeXmlSource(string, string, bool)
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
@ -489,7 +384,7 @@ This method may also generate additional resources such as related files.</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section" id="HiNc_Grpcs_MachiningProjectGrpcServer_MakeXmlSource_System_String_System_String_System_Boolean__remarks">Remarks</h4>
|
<h4 class="section" id="Hi_Numerical_CsvParsers_CsvRowSyntax_MakeXmlSource_System_String_System_String_System_Boolean__remarks">Remarks</h4>
|
||||||
<div class="markdown level1 remarks"><p>For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied.
|
<div class="markdown level1 remarks"><p>For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied.
|
||||||
The <code class="paramref">baseDirectory</code> is typically the folder at the nearest configuration file folder.
|
The <code class="paramref">baseDirectory</code> is typically the folder at the nearest configuration file folder.
|
||||||
Since the folder can be moving with the configuration file.</p>
|
Since the folder can be moving with the configuration file.</p>
|
||||||
@ -498,16 +393,16 @@ Since the folder can be moving with the configuration file.</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="HiNc_Grpcs_MachiningProjectGrpcServer_Reg_" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.Reg*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRowSyntax_Reg_" data-uid="Hi.Numerical.CsvParsers.CsvRowSyntax.Reg*"></a>
|
||||||
|
|
||||||
<h3 id="HiNc_Grpcs_MachiningProjectGrpcServer_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.Reg(Hi.Common.XmlUtils.XFactory)">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRowSyntax_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.Numerical.CsvParsers.CsvRowSyntax.Reg(Hi.Common.XmlUtils.XFactory)">
|
||||||
Reg(XFactory)
|
Reg(XFactory)
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Registers this type's deserializer (and its legacy alias) with the
|
<div class="markdown level1 summary"><p>Registers this type's deserializer with the given <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a>
|
||||||
given <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a> (or <a class="xref" href="Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Default">Default</a> when
|
(or <a class="xref" href="Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Default">Default</a> when <code class="paramref">factory</code> is
|
||||||
<code class="paramref">factory</code> is <code>null</code>). Idempotent.</p>
|
<code>null</code>). Idempotent.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
@ -532,72 +427,6 @@ given <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a> (or <
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="HiNc_Grpcs_MachiningProjectGrpcServer_StartAsync_" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.StartAsync*"></a>
|
|
||||||
|
|
||||||
<h3 id="HiNc_Grpcs_MachiningProjectGrpcServer_StartAsync" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.StartAsync">
|
|
||||||
StartAsync()
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Starts the gRPC server asynchronously.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public Task StartAsync()</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task">Task</a></dt>
|
|
||||||
<dd><p>A task representing the asynchronous operation</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="HiNc_Grpcs_MachiningProjectGrpcServer_StopAsync_" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.StopAsync*"></a>
|
|
||||||
|
|
||||||
<h3 id="HiNc_Grpcs_MachiningProjectGrpcServer_StopAsync" data-uid="HiNc.Grpcs.MachiningProjectGrpcServer.StopAsync">
|
|
||||||
StopAsync()
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Stops the gRPC server asynchronously.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public Task StopAsync()</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task">Task</a></dt>
|
|
||||||
<dd><p>A task representing the asynchronous operation</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
@ -6,7 +6,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="title" content="Class CsvRunnerConfig | HiAPI-C# 2025 ">
|
<meta name="title" content="Class CsvRunnerConfig | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
<meta name="description" content="Configuration class for CSV Runner.">
|
<meta name="description" content="Configuration class for CSV Runner. Lives in when wired with ; consumed by and for tag-name lookup and custom-field parsing.">
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
@ -84,25 +84,28 @@
|
|||||||
<nav id="breadcrumb"></nav>
|
<nav id="breadcrumb"></nav>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<article data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig">
|
<article data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1 id="Hi_Numerical_FilePlayers_CsvRunnerConfig" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig" class="text-break">
|
<h1 id="Hi_Numerical_CsvParsers_CsvRunnerConfig" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig" class="text-break">
|
||||||
Class CsvRunnerConfig
|
Class CsvRunnerConfig
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<div class="facts text-secondary">
|
<div class="facts text-secondary">
|
||||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Numerical.html">Numerical</a>.<a class="xref" href="Hi.Numerical.FilePlayers.html">FilePlayers</a></dd></dl>
|
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Numerical.html">Numerical</a>.<a class="xref" href="Hi.Numerical.CsvParsers.html">CsvParsers</a></dd></dl>
|
||||||
<dl><dt>Assembly</dt><dd>HiNc.dll</dd></dl>
|
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="markdown summary"><p>Configuration class for CSV Runner.</p>
|
<div class="markdown summary"><p>Configuration class for CSV Runner. Lives in
|
||||||
|
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_NcDependencyList">NcDependencyList</a> when wired with
|
||||||
|
<a class="xref" href="Hi.Numerical.CsvParsers.CsvSoftRunner.html">CsvSoftRunner</a>; consumed by <a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSyntax.html">CsvRowSyntax</a> and
|
||||||
|
<a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSemantic.html">CsvRowSemantic</a> for tag-name lookup and custom-field parsing.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown conceptual"></div>
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public class CsvRunnerConfig : IMakeXmlSource</code></pre>
|
<pre><code class="lang-csharp hljs">public class CsvRunnerConfig : INcDependency, IMakeXmlSource</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@ -119,6 +122,7 @@ Class CsvRunnerConfig
|
|||||||
<dl class="typelist implements">
|
<dl class="typelist implements">
|
||||||
<dt>Implements</dt>
|
<dt>Implements</dt>
|
||||||
<dd>
|
<dd>
|
||||||
|
<div><a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a></div>
|
||||||
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
|
<div><a class="xref" href="Hi.Common.XmlUtils.IMakeXmlSource.html">IMakeXmlSource</a></div>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
@ -184,9 +188,9 @@ Class CsvRunnerConfig
|
|||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Numerical_FilePlayers_CsvRunnerConfig__ctor_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.#ctor*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRunnerConfig__ctor_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.#ctor*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Numerical_FilePlayers_CsvRunnerConfig__ctor" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.#ctor">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRunnerConfig__ctor" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.#ctor">
|
||||||
CsvRunnerConfig()
|
CsvRunnerConfig()
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
@ -211,9 +215,9 @@ Class CsvRunnerConfig
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Numerical_FilePlayers_CsvRunnerConfig__ctor_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.#ctor*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRunnerConfig__ctor_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.#ctor*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Numerical_FilePlayers_CsvRunnerConfig__ctor_System_Xml_Linq_XElement_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.#ctor(System.Xml.Linq.XElement)">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRunnerConfig__ctor_System_Xml_Linq_XElement_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.#ctor(System.Xml.Linq.XElement)">
|
||||||
CsvRunnerConfig(XElement)
|
CsvRunnerConfig(XElement)
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
@ -248,9 +252,9 @@ Class CsvRunnerConfig
|
|||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Numerical_FilePlayers_CsvRunnerConfig_ActualTimeTag_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.ActualTimeTag*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRunnerConfig_ActualTimeTag_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.ActualTimeTag*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Numerical_FilePlayers_CsvRunnerConfig_ActualTimeTag" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.ActualTimeTag">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRunnerConfig_ActualTimeTag" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.ActualTimeTag">
|
||||||
ActualTimeTag
|
ActualTimeTag
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
@ -280,9 +284,9 @@ Class CsvRunnerConfig
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Numerical_FilePlayers_CsvRunnerConfig_CutterLocationPrefix_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.CutterLocationPrefix*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRunnerConfig_CutterLocationPrefix_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.CutterLocationPrefix*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Numerical_FilePlayers_CsvRunnerConfig_CutterLocationPrefix" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.CutterLocationPrefix">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRunnerConfig_CutterLocationPrefix" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.CutterLocationPrefix">
|
||||||
CutterLocationPrefix
|
CutterLocationPrefix
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
@ -312,9 +316,9 @@ Class CsvRunnerConfig
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Numerical_FilePlayers_CsvRunnerConfig_DurationTag_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.DurationTag*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRunnerConfig_DurationTag_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.DurationTag*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Numerical_FilePlayers_CsvRunnerConfig_DurationTag" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.DurationTag">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRunnerConfig_DurationTag" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.DurationTag">
|
||||||
DurationTag
|
DurationTag
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
@ -344,9 +348,9 @@ Class CsvRunnerConfig
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Numerical_FilePlayers_CsvRunnerConfig_FeedrateTag_mmdmin_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.FeedrateTag_mmdmin*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRunnerConfig_FeedrateTag_mmdmin_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.FeedrateTag_mmdmin*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Numerical_FilePlayers_CsvRunnerConfig_FeedrateTag_mmdmin" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.FeedrateTag_mmdmin">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRunnerConfig_FeedrateTag_mmdmin" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.FeedrateTag_mmdmin">
|
||||||
FeedrateTag_mmdmin
|
FeedrateTag_mmdmin
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
@ -376,9 +380,9 @@ Class CsvRunnerConfig
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Numerical_FilePlayers_CsvRunnerConfig_LineBeginCsScriptTag_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.LineBeginCsScriptTag*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRunnerConfig_LineBeginCsScriptTag_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.LineBeginCsScriptTag*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Numerical_FilePlayers_CsvRunnerConfig_LineBeginCsScriptTag" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.LineBeginCsScriptTag">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRunnerConfig_LineBeginCsScriptTag" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.LineBeginCsScriptTag">
|
||||||
LineBeginCsScriptTag
|
LineBeginCsScriptTag
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
@ -408,9 +412,9 @@ Class CsvRunnerConfig
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Numerical_FilePlayers_CsvRunnerConfig_LineEndCsScriptTag_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.LineEndCsScriptTag*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRunnerConfig_LineEndCsScriptTag_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.LineEndCsScriptTag*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Numerical_FilePlayers_CsvRunnerConfig_LineEndCsScriptTag" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.LineEndCsScriptTag">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRunnerConfig_LineEndCsScriptTag" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.LineEndCsScriptTag">
|
||||||
LineEndCsScriptTag
|
LineEndCsScriptTag
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
@ -440,9 +444,9 @@ Class CsvRunnerConfig
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Numerical_FilePlayers_CsvRunnerConfig_MachineCoordinatePrefix_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.MachineCoordinatePrefix*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRunnerConfig_MachineCoordinatePrefix_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.MachineCoordinatePrefix*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Numerical_FilePlayers_CsvRunnerConfig_MachineCoordinatePrefix" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.MachineCoordinatePrefix">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRunnerConfig_MachineCoordinatePrefix" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.MachineCoordinatePrefix">
|
||||||
MachineCoordinatePrefix
|
MachineCoordinatePrefix
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
@ -472,9 +476,9 @@ Class CsvRunnerConfig
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Numerical_FilePlayers_CsvRunnerConfig_ParsingDictionary_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.ParsingDictionary*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRunnerConfig_ParsingDictionary_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.ParsingDictionary*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Numerical_FilePlayers_CsvRunnerConfig_ParsingDictionary" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.ParsingDictionary">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRunnerConfig_ParsingDictionary" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.ParsingDictionary">
|
||||||
ParsingDictionary
|
ParsingDictionary
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
@ -505,9 +509,9 @@ Note: This dictionary cannot be serialized to XML as it contains functions.</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Numerical_FilePlayers_CsvRunnerConfig_SpindleDirectionTag_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.SpindleDirectionTag*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRunnerConfig_SpindleDirectionTag_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.SpindleDirectionTag*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Numerical_FilePlayers_CsvRunnerConfig_SpindleDirectionTag" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.SpindleDirectionTag">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRunnerConfig_SpindleDirectionTag" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.SpindleDirectionTag">
|
||||||
SpindleDirectionTag
|
SpindleDirectionTag
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
@ -537,9 +541,9 @@ Note: This dictionary cannot be serialized to XML as it contains functions.</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Numerical_FilePlayers_CsvRunnerConfig_SpindleSpeedTag_rpm_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.SpindleSpeedTag_rpm*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRunnerConfig_SpindleSpeedTag_rpm_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.SpindleSpeedTag_rpm*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Numerical_FilePlayers_CsvRunnerConfig_SpindleSpeedTag_rpm" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.SpindleSpeedTag_rpm">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRunnerConfig_SpindleSpeedTag_rpm" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.SpindleSpeedTag_rpm">
|
||||||
SpindleSpeedTag_rpm
|
SpindleSpeedTag_rpm
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
@ -569,9 +573,9 @@ Note: This dictionary cannot be serialized to XML as it contains functions.</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Numerical_FilePlayers_CsvRunnerConfig_ToolIdTag_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.ToolIdTag*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRunnerConfig_ToolIdTag_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.ToolIdTag*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Numerical_FilePlayers_CsvRunnerConfig_ToolIdTag" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.ToolIdTag">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRunnerConfig_ToolIdTag" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.ToolIdTag">
|
||||||
ToolIdTag
|
ToolIdTag
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
@ -601,9 +605,9 @@ Note: This dictionary cannot be serialized to XML as it contains functions.</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Numerical_FilePlayers_CsvRunnerConfig_XName_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.XName*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRunnerConfig_XName_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.XName*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Numerical_FilePlayers_CsvRunnerConfig_XName" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.XName">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRunnerConfig_XName" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.XName">
|
||||||
XName
|
XName
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
@ -637,9 +641,9 @@ Note: This dictionary cannot be serialized to XML as it contains functions.</p>
|
|||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Numerical_FilePlayers_CsvRunnerConfig_MakeXmlSource_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.MakeXmlSource*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRunnerConfig_MakeXmlSource_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.MakeXmlSource*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Numerical_FilePlayers_CsvRunnerConfig_MakeXmlSource_System_String_System_String_System_Boolean_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.MakeXmlSource(System.String,System.String,System.Boolean)">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRunnerConfig_MakeXmlSource_System_String_System_String_System_Boolean_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.MakeXmlSource(System.String,System.String,System.Boolean)">
|
||||||
MakeXmlSource(string, string, bool)
|
MakeXmlSource(string, string, bool)
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
@ -679,7 +683,7 @@ This method may also generate additional resources such as related files.</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section" id="Hi_Numerical_FilePlayers_CsvRunnerConfig_MakeXmlSource_System_String_System_String_System_Boolean__remarks">Remarks</h4>
|
<h4 class="section" id="Hi_Numerical_CsvParsers_CsvRunnerConfig_MakeXmlSource_System_String_System_String_System_Boolean__remarks">Remarks</h4>
|
||||||
<div class="markdown level1 remarks"><p>For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied.
|
<div class="markdown level1 remarks"><p>For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied.
|
||||||
The <code class="paramref">baseDirectory</code> is typically the folder at the nearest configuration file folder.
|
The <code class="paramref">baseDirectory</code> is typically the folder at the nearest configuration file folder.
|
||||||
Since the folder can be moving with the configuration file.</p>
|
Since the folder can be moving with the configuration file.</p>
|
||||||
@ -688,9 +692,9 @@ Since the folder can be moving with the configuration file.</p>
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Numerical_FilePlayers_CsvRunnerConfig_Reg_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.Reg*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvRunnerConfig_Reg_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.Reg*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Numerical_FilePlayers_CsvRunnerConfig_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.Numerical.FilePlayers.CsvRunnerConfig.Reg(Hi.Common.XmlUtils.XFactory)">
|
<h3 id="Hi_Numerical_CsvParsers_CsvRunnerConfig_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.Numerical.CsvParsers.CsvRunnerConfig.Reg(Hi.Common.XmlUtils.XFactory)">
|
||||||
Reg(XFactory)
|
Reg(XFactory)
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
@ -2,11 +2,11 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>Class PlayerServiceRunner | HiAPI-C# 2025 </title>
|
<title>Class CsvSegmenter | HiAPI-C# 2025 </title>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="title" content="Class PlayerServiceRunner | HiAPI-C# 2025 ">
|
<meta name="title" content="Class CsvSegmenter | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
<meta name="description" content="Service runner for the Player gRPC service.">
|
<meta name="description" content="Segments a CSV stream for the pipeline. Consumes the first as the title row (populating and registering any new columns as step variables via ), then yields each subsequent line as a one-line for to parse.">
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
@ -84,25 +84,31 @@
|
|||||||
<nav id="breadcrumb"></nav>
|
<nav id="breadcrumb"></nav>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<article data-uid="Hi.Grpcs.PlayerServiceRunner">
|
<article data-uid="Hi.Numerical.CsvParsers.CsvSegmenter">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1 id="Hi_Grpcs_PlayerServiceRunner" data-uid="Hi.Grpcs.PlayerServiceRunner" class="text-break">
|
<h1 id="Hi_Numerical_CsvParsers_CsvSegmenter" data-uid="Hi.Numerical.CsvParsers.CsvSegmenter" class="text-break">
|
||||||
Class PlayerServiceRunner
|
Class CsvSegmenter
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<div class="facts text-secondary">
|
<div class="facts text-secondary">
|
||||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Grpcs.html">Grpcs</a></dd></dl>
|
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Numerical.html">Numerical</a>.<a class="xref" href="Hi.Numerical.CsvParsers.html">CsvParsers</a></dd></dl>
|
||||||
<dl><dt>Assembly</dt><dd>HiNc.dll</dd></dl>
|
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="markdown summary"><p>Service runner for the Player gRPC service.</p>
|
<div class="markdown summary"><p>Segments a CSV stream for the <a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a>
|
||||||
|
pipeline. Consumes the first <a class="xref" href="Hi.Common.FileLines.IndexedFileLine.html">IndexedFileLine</a> as the title
|
||||||
|
row (populating <a class="xref" href="Hi.Numerical.CsvParsers.CsvSegmenter.html#Hi_Numerical_CsvParsers_CsvSegmenter_TitleList">TitleList</a> and registering any new columns
|
||||||
|
as step variables via
|
||||||
|
<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.html">StepPropertyAccessDictionaryDependency</a>), then yields each
|
||||||
|
subsequent line as a one-line <a class="xref" href="Hi.NcParsers.Sentence.html">Sentence</a> for
|
||||||
|
<a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSyntax.html">CsvRowSyntax</a> to parse.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown conceptual"></div>
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public class PlayerServiceRunner : PlayerService.PlayerServiceBase</code></pre>
|
<pre><code class="lang-csharp hljs">public class CsvSegmenter : ISegmenter, IToXElement</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@ -112,11 +118,17 @@ Class PlayerServiceRunner
|
|||||||
<dt>Inheritance</dt>
|
<dt>Inheritance</dt>
|
||||||
<dd>
|
<dd>
|
||||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||||
<div><a class="xref" href="Hi.Grpcs.PlayerService.html">PlayerService</a>.<a class="xref" href="Hi.Grpcs.PlayerService.PlayerServiceBase.html">PlayerServiceBase</a></div>
|
<div><span class="xref">CsvSegmenter</span></div>
|
||||||
<div><span class="xref">PlayerServiceRunner</span></div>
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
<dl class="typelist implements">
|
||||||
|
<dt>Implements</dt>
|
||||||
|
<dd>
|
||||||
|
<div><a class="xref" href="Hi.NcParsers.Segmenters.ISegmenter.html">ISegmenter</a></div>
|
||||||
|
<div><a class="xref" href="Hi.Common.XmlUtils.IToXElement.html">IToXElement</a></div>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
<dl class="typelist inheritedMembers">
|
<dl class="typelist inheritedMembers">
|
||||||
@ -175,28 +187,181 @@ Class PlayerServiceRunner
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="constructors">Constructors
|
<h2 class="section" id="properties">Properties
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_PlayerServiceRunner__ctor_" data-uid="Hi.Grpcs.PlayerServiceRunner.#ctor*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvSegmenter_Name_" data-uid="Hi.Numerical.CsvParsers.CsvSegmenter.Name*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_PlayerServiceRunner__ctor_Hi_MachiningProcs_LocalProjectService_" data-uid="Hi.Grpcs.PlayerServiceRunner.#ctor(Hi.MachiningProcs.LocalProjectService)">
|
<h3 id="Hi_Numerical_CsvParsers_CsvSegmenter_Name" data-uid="Hi.Numerical.CsvParsers.CsvSegmenter.Name">
|
||||||
PlayerServiceRunner(LocalProjectService)
|
Name
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Hi.Grpcs.PlayerServiceRunner.html">PlayerServiceRunner</a> class.</p>
|
<div class="markdown level1 summary"><p>Display name of this segmenter.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public PlayerServiceRunner(LocalProjectService localProjectService)</code></pre>
|
<pre><code class="lang-csharp hljs">public string Name { get; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_Numerical_CsvParsers_CsvSegmenter_TitleList_" data-uid="Hi.Numerical.CsvParsers.CsvSegmenter.TitleList*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_Numerical_CsvParsers_CsvSegmenter_TitleList" data-uid="Hi.Numerical.CsvParsers.CsvSegmenter.TitleList">
|
||||||
|
TitleList
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Column titles parsed from the first row of the most recent
|
||||||
|
<a class="xref" href="Hi.Numerical.CsvParsers.CsvSegmenter.html#Hi_Numerical_CsvParsers_CsvSegmenter_GetSentences_Hi_Common_Collections_LazyLinkedList_Hi_Common_FileLines_IndexedFileLine__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_">GetSentences(LazyLinkedList<IndexedFileLine>, List<INcDependency>, NcDiagnosticProgress)</a> invocation. Quote- and whitespace-trimmed to
|
||||||
|
match the convention established in the legacy CsvRunner. Reset on each
|
||||||
|
new call so per-file headers stay accurate across multi-file sessions.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public List<string> TitleList { get; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1">List</a><<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_Numerical_CsvParsers_CsvSegmenter_XName_" data-uid="Hi.Numerical.CsvParsers.CsvSegmenter.XName*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_Numerical_CsvParsers_CsvSegmenter_XName" data-uid="Hi.Numerical.CsvParsers.CsvSegmenter.XName">
|
||||||
|
XName
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>XML element name for <a class="xref" href="Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Generators">Generators</a> registration.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public static string XName { get; }</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="section">Property Value</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||||
|
<dd></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2 class="section" id="methods">Methods
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_Numerical_CsvParsers_CsvSegmenter_GetSentences_" data-uid="Hi.Numerical.CsvParsers.CsvSegmenter.GetSentences*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_Numerical_CsvParsers_CsvSegmenter_GetSentences_Hi_Common_Collections_LazyLinkedList_Hi_Common_FileLines_IndexedFileLine__System_Collections_Generic_List_Hi_NcParsers_Dependencys_INcDependency__Hi_NcParsers_NcDiagnosticProgress_" data-uid="Hi.Numerical.CsvParsers.CsvSegmenter.GetSentences(Hi.Common.Collections.LazyLinkedList{Hi.Common.FileLines.IndexedFileLine},System.Collections.Generic.List{Hi.NcParsers.Dependencys.INcDependency},Hi.NcParsers.NcDiagnosticProgress)">
|
||||||
|
GetSentences(LazyLinkedList<IndexedFileLine>, List<INcDependency>, NcDiagnosticProgress)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Segments the indexed file lines into <a class="xref" href="Hi.NcParsers.Sentence.html">Sentence</a>s.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public IEnumerable<Sentence> GetSentences(LazyLinkedList<IndexedFileLine> indexedFileLines, List<INcDependency> ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress)</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
<h4 class="section">Parameters</h4>
|
||||||
<dl class="parameters">
|
<dl class="parameters">
|
||||||
<dt><code>localProjectService</code> <a class="xref" href="Hi.MachiningProcs.LocalProjectService.html">LocalProjectService</a></dt>
|
<dt><code>indexedFileLines</code> <a class="xref" href="Hi.Common.Collections.LazyLinkedList-1.html">LazyLinkedList</a><<a class="xref" href="Hi.Common.FileLines.IndexedFileLine.html">IndexedFileLine</a>></dt>
|
||||||
|
<dd><p>The lazy linked list of indexed file lines.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>ncDependencyList</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1">List</a><<a class="xref" href="Hi.NcParsers.Dependencys.INcDependency.html">INcDependency</a>></dt>
|
||||||
|
<dd><p>Dependency list of the owning runner; segmenters that consume
|
||||||
|
header rows (e.g. <a class="xref" href="Hi.Numerical.CsvParsers.CsvSegmenter.html">CsvSegmenter</a>) read host-wired
|
||||||
|
dependencies from here. May be null in lightweight test fixtures — implementations
|
||||||
|
that need a dependency must null-check.</p>
|
||||||
|
</dd>
|
||||||
|
<dt><code>ncDiagnosticProgress</code> <a class="xref" href="Hi.NcParsers.NcDiagnosticProgress.html">NcDiagnosticProgress</a></dt>
|
||||||
|
<dd><p>Diagnostic progress reporter.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h4 class="section">Returns</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1">IEnumerable</a><<a class="xref" href="Hi.NcParsers.Sentence.html">Sentence</a>></dt>
|
||||||
|
<dd><p>A sequence of <a class="xref" href="Hi.NcParsers.Sentence.html">Sentence</a>s.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="Hi_Numerical_CsvParsers_CsvSegmenter_Reg_" data-uid="Hi.Numerical.CsvParsers.CsvSegmenter.Reg*"></a>
|
||||||
|
|
||||||
|
<h3 id="Hi_Numerical_CsvParsers_CsvSegmenter_Reg_Hi_Common_XmlUtils_XFactory_" data-uid="Hi.Numerical.CsvParsers.CsvSegmenter.Reg(Hi.Common.XmlUtils.XFactory)">
|
||||||
|
Reg(XFactory)
|
||||||
|
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<div class="markdown level1 summary"><p>Registers this type's deserializer with the given <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a>
|
||||||
|
(or <a class="xref" href="Hi.Common.XmlUtils.XFactory.html#Hi_Common_XmlUtils_XFactory_Default">Default</a> when <code class="paramref">factory</code> is
|
||||||
|
<code>null</code>). Idempotent.</p>
|
||||||
|
</div>
|
||||||
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
|
<div class="codewrapper">
|
||||||
|
<pre><code class="lang-csharp hljs">public static void Reg(XFactory factory = null)</code></pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4 class="section">Parameters</h4>
|
||||||
|
<dl class="parameters">
|
||||||
|
<dt><code>factory</code> <a class="xref" href="Hi.Common.XmlUtils.XFactory.html">XFactory</a></dt>
|
||||||
<dd></dd>
|
<dd></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
@ -211,165 +376,26 @@ Class PlayerServiceRunner
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="methods">Methods
|
<a id="Hi_Numerical_CsvParsers_CsvSegmenter_ToXElement_" data-uid="Hi.Numerical.CsvParsers.CsvSegmenter.ToXElement*"></a>
|
||||||
</h2>
|
|
||||||
|
|
||||||
|
<h3 id="Hi_Numerical_CsvParsers_CsvSegmenter_ToXElement" data-uid="Hi.Numerical.CsvParsers.CsvSegmenter.ToXElement">
|
||||||
<a id="Hi_Grpcs_PlayerServiceRunner_Pause_" data-uid="Hi.Grpcs.PlayerServiceRunner.Pause*"></a>
|
ToXElement()
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_PlayerServiceRunner_Pause_Google_Protobuf_WellKnownTypes_Empty_Grpc_Core_ServerCallContext_" data-uid="Hi.Grpcs.PlayerServiceRunner.Pause(Google.Protobuf.WellKnownTypes.Empty,Grpc.Core.ServerCallContext)">
|
|
||||||
Pause(Empty, ServerCallContext)
|
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Pauses the player.</p>
|
<div class="markdown level1 summary"><p>Get the <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a> to represent the object.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public override Task<Empty> Pause(Empty request, ServerCallContext context)</code></pre>
|
<pre><code class="lang-csharp hljs">public XElement ToXElement()</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>request</code> <span class="xref">Empty</span></dt>
|
|
||||||
<dd><p>The empty request.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>context</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ServerCallContext.cs">ServerCallContext</a></dt>
|
|
||||||
<dd><p>The server call context.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
<h4 class="section">Returns</h4>
|
||||||
<dl class="parameters">
|
<dl class="parameters">
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task-1">Task</a><<span class="xref">Empty</span>></dt>
|
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a></dt>
|
||||||
<dd><p>Empty response.</p>
|
<dd><p><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.xml.linq.xelement">XElement</a> to represent the object.</p>
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_PlayerServiceRunner_Reset_" data-uid="Hi.Grpcs.PlayerServiceRunner.Reset*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_PlayerServiceRunner_Reset_Google_Protobuf_WellKnownTypes_Empty_Grpc_Core_ServerCallContext_" data-uid="Hi.Grpcs.PlayerServiceRunner.Reset(Google.Protobuf.WellKnownTypes.Empty,Grpc.Core.ServerCallContext)">
|
|
||||||
Reset(Empty, ServerCallContext)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Resets the player.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public override Task<Empty> Reset(Empty request, ServerCallContext context)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>request</code> <span class="xref">Empty</span></dt>
|
|
||||||
<dd><p>The empty request.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>context</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ServerCallContext.cs">ServerCallContext</a></dt>
|
|
||||||
<dd><p>The server call context.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task-1">Task</a><<span class="xref">Empty</span>></dt>
|
|
||||||
<dd><p>Empty response.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_PlayerServiceRunner_Resume_" data-uid="Hi.Grpcs.PlayerServiceRunner.Resume*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_PlayerServiceRunner_Resume_Google_Protobuf_WellKnownTypes_Empty_Grpc_Core_ServerCallContext_" data-uid="Hi.Grpcs.PlayerServiceRunner.Resume(Google.Protobuf.WellKnownTypes.Empty,Grpc.Core.ServerCallContext)">
|
|
||||||
Resume(Empty, ServerCallContext)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Resumes the player.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public override Task<Empty> Resume(Empty request, ServerCallContext context)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>request</code> <span class="xref">Empty</span></dt>
|
|
||||||
<dd><p>The empty request.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>context</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ServerCallContext.cs">ServerCallContext</a></dt>
|
|
||||||
<dd><p>The server call context.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task-1">Task</a><<span class="xref">Empty</span>></dt>
|
|
||||||
<dd><p>Empty response.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_PlayerServiceRunner_Start_" data-uid="Hi.Grpcs.PlayerServiceRunner.Start*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_PlayerServiceRunner_Start_Google_Protobuf_WellKnownTypes_Empty_Grpc_Core_ServerCallContext_" data-uid="Hi.Grpcs.PlayerServiceRunner.Start(Google.Protobuf.WellKnownTypes.Empty,Grpc.Core.ServerCallContext)">
|
|
||||||
Start(Empty, ServerCallContext)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Starts the player.</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public override Task<Empty> Start(Empty request, ServerCallContext context)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>request</code> <span class="xref">Empty</span></dt>
|
|
||||||
<dd><p>The empty request.</p>
|
|
||||||
</dd>
|
|
||||||
<dt><code>context</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ServerCallContext.cs">ServerCallContext</a></dt>
|
|
||||||
<dd><p>The server call context.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.threading.tasks.task-1">Task</a><<span class="xref">Empty</span>></dt>
|
|
||||||
<dd><p>Empty response.</p>
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
@ -2,11 +2,11 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title>Class PlayerService | HiAPI-C# 2025 </title>
|
<title>Class CsvSoftRunner | HiAPI-C# 2025 </title>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="title" content="Class PlayerService | HiAPI-C# 2025 ">
|
<meta name="title" content="Class CsvSoftRunner | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
<meta name="description" content="numerical file player service.">
|
<meta name="description" content="Factory for a wired to replay CSV files (deprecates the legacy CsvRunner). The returned runner has a single-syntax pipeline: → → . Default : — tag names + custom field parsers. — provider left null; host wires it the same way it does for brand presets (see BuildCoordinateConverter). — wired by the host so CSV title columns auto-register as step variables., , — runtime plumbing required by . is intentionally not included by default; clients that build custom syntaxes around can append it themselves.">
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
@ -84,25 +84,39 @@
|
|||||||
<nav id="breadcrumb"></nav>
|
<nav id="breadcrumb"></nav>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<article data-uid="Hi.Grpcs.PlayerService">
|
<article data-uid="Hi.Numerical.CsvParsers.CsvSoftRunner">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h1 id="Hi_Grpcs_PlayerService" data-uid="Hi.Grpcs.PlayerService" class="text-break">
|
<h1 id="Hi_Numerical_CsvParsers_CsvSoftRunner" data-uid="Hi.Numerical.CsvParsers.CsvSoftRunner" class="text-break">
|
||||||
Class PlayerService
|
Class CsvSoftRunner
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<div class="facts text-secondary">
|
<div class="facts text-secondary">
|
||||||
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Grpcs.html">Grpcs</a></dd></dl>
|
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.Numerical.html">Numerical</a>.<a class="xref" href="Hi.Numerical.CsvParsers.html">CsvParsers</a></dd></dl>
|
||||||
<dl><dt>Assembly</dt><dd>HiNc.dll</dd></dl>
|
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="markdown summary"><p>numerical file player service.</p>
|
<div class="markdown summary"><p>Factory for a <a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a> wired to replay CSV files
|
||||||
|
(deprecates the legacy <code>CsvRunner</code>). The returned runner has a
|
||||||
|
single-syntax pipeline: <a class="xref" href="Hi.Numerical.CsvParsers.CsvSegmenter.html">CsvSegmenter</a> →
|
||||||
|
<a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSyntax.html">CsvRowSyntax</a> → <a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSemantic.html">CsvRowSemantic</a>.</p>
|
||||||
|
<p>
|
||||||
|
Default <a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_NcDependencyList">NcDependencyList</a>:
|
||||||
|
<ul><li><a class="xref" href="Hi.Numerical.CsvParsers.CsvRunnerConfig.html">CsvRunnerConfig</a> — tag names + custom field parsers.</li><li><a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.html">NcKinematicsDependency</a> — provider left null; host wires
|
||||||
|
it the same way it does for brand presets (see <code>BuildCoordinateConverter</code>).</li><li><a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.html">StepPropertyAccessDictionaryDependency</a> — wired by the
|
||||||
|
host so CSV title columns auto-register as step variables.</li><li><a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html">FileIndexCounterDependency</a>, <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.html">SegmenterDependency</a>,
|
||||||
|
<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.html">SyntaxPieceLayerDependency</a> — runtime plumbing required by
|
||||||
|
<a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a>.</li></ul>
|
||||||
|
<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.html">MachiningServiceDependency</a> is intentionally not included by
|
||||||
|
default; clients that build custom syntaxes around <a class="xref" href="Hi.Numerical.CsvParsers.CsvSoftRunner.html">CsvSoftRunner</a>
|
||||||
|
can append it themselves.
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown conceptual"></div>
|
<div class="markdown conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public static class PlayerService</code></pre>
|
<pre><code class="lang-csharp hljs">public static class CsvSoftRunner</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@ -112,7 +126,7 @@ Class PlayerService
|
|||||||
<dt>Inheritance</dt>
|
<dt>Inheritance</dt>
|
||||||
<dd>
|
<dd>
|
||||||
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
|
||||||
<div><span class="xref">PlayerService</span></div>
|
<div><span class="xref">CsvSoftRunner</span></div>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
@ -149,108 +163,39 @@ Class PlayerService
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="properties">Properties
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_PlayerService_Descriptor_" data-uid="Hi.Grpcs.PlayerService.Descriptor*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_PlayerService_Descriptor" data-uid="Hi.Grpcs.PlayerService.Descriptor">
|
|
||||||
Descriptor
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Service descriptor</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public static ServiceDescriptor Descriptor { get; }</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h4 class="section">Property Value</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><span class="xref">ServiceDescriptor</span></dt>
|
|
||||||
<dd></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2 class="section" id="methods">Methods
|
<h2 class="section" id="methods">Methods
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_PlayerService_BindService_" data-uid="Hi.Grpcs.PlayerService.BindService*"></a>
|
<a id="Hi_Numerical_CsvParsers_CsvSoftRunner_Create_" data-uid="Hi.Numerical.CsvParsers.CsvSoftRunner.Create*"></a>
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_PlayerService_BindService_Grpc_Core_ServiceBinderBase_Hi_Grpcs_PlayerService_PlayerServiceBase_" data-uid="Hi.Grpcs.PlayerService.BindService(Grpc.Core.ServiceBinderBase,Hi.Grpcs.PlayerService.PlayerServiceBase)">
|
<h3 id="Hi_Numerical_CsvParsers_CsvSoftRunner_Create_Hi_Numerical_CsvParsers_CsvRunnerConfig_" data-uid="Hi.Numerical.CsvParsers.CsvSoftRunner.Create(Hi.Numerical.CsvParsers.CsvRunnerConfig)">
|
||||||
BindService(ServiceBinderBase, PlayerServiceBase)
|
Create(CsvRunnerConfig)
|
||||||
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Register service method with a service binder with or without implementation. Useful when customizing the service binding logic.
|
<div class="markdown level1 summary"><p>Builds a fresh <a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a> pre-configured to consume CSV
|
||||||
Note: this method is part of an experimental API that can change or be removed without any prior notice.</p>
|
input. Call once per machining session so the runner's per-session
|
||||||
|
state starts clean (mirrors the legacy <code>CsvRunner</code>'s reset on
|
||||||
|
project change).</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="markdown level1 conceptual"></div>
|
<div class="markdown level1 conceptual"></div>
|
||||||
|
|
||||||
<div class="codewrapper">
|
<div class="codewrapper">
|
||||||
<pre><code class="lang-csharp hljs">public static void BindService(ServiceBinderBase serviceBinder, PlayerService.PlayerServiceBase serviceImpl)</code></pre>
|
<pre><code class="lang-csharp hljs">public static SoftNcRunner Create(CsvRunnerConfig config = null)</code></pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
<h4 class="section">Parameters</h4>
|
||||||
<dl class="parameters">
|
<dl class="parameters">
|
||||||
<dt><code>serviceBinder</code> <a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ServiceBinderBase.cs">ServiceBinderBase</a></dt>
|
<dt><code>config</code> <a class="xref" href="Hi.Numerical.CsvParsers.CsvRunnerConfig.html">CsvRunnerConfig</a></dt>
|
||||||
<dd><p>Service methods will be bound by calling <code>AddMethod</code> on this object.</p>
|
<dd><p>Optional CSV column-tag configuration; a default
|
||||||
</dd>
|
<a class="xref" href="Hi.Numerical.CsvParsers.CsvRunnerConfig.html">CsvRunnerConfig</a> is created when null.</p>
|
||||||
<dt><code>serviceImpl</code> <a class="xref" href="Hi.Grpcs.PlayerService.html">PlayerService</a>.<a class="xref" href="Hi.Grpcs.PlayerService.PlayerServiceBase.html">PlayerServiceBase</a></dt>
|
|
||||||
<dd><p>An object implementing the server-side handling logic.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a id="Hi_Grpcs_PlayerService_BindService_" data-uid="Hi.Grpcs.PlayerService.BindService*"></a>
|
|
||||||
|
|
||||||
<h3 id="Hi_Grpcs_PlayerService_BindService_Hi_Grpcs_PlayerService_PlayerServiceBase_" data-uid="Hi.Grpcs.PlayerService.BindService(Hi.Grpcs.PlayerService.PlayerServiceBase)">
|
|
||||||
BindService(PlayerServiceBase)
|
|
||||||
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<div class="markdown level1 summary"><p>Creates service definition that can be registered with a server</p>
|
|
||||||
</div>
|
|
||||||
<div class="markdown level1 conceptual"></div>
|
|
||||||
|
|
||||||
<div class="codewrapper">
|
|
||||||
<pre><code class="lang-csharp hljs">public static ServerServiceDefinition BindService(PlayerService.PlayerServiceBase serviceImpl)</code></pre>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h4 class="section">Parameters</h4>
|
|
||||||
<dl class="parameters">
|
|
||||||
<dt><code>serviceImpl</code> <a class="xref" href="Hi.Grpcs.PlayerService.html">PlayerService</a>.<a class="xref" href="Hi.Grpcs.PlayerService.PlayerServiceBase.html">PlayerServiceBase</a></dt>
|
|
||||||
<dd><p>An object implementing the server-side handling logic.</p>
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<h4 class="section">Returns</h4>
|
<h4 class="section">Returns</h4>
|
||||||
<dl class="parameters">
|
<dl class="parameters">
|
||||||
<dt><a class="xref" href="https://github.com/grpc/grpc-dotnet/blob/64e87a676b6aba16945f70aed3bb1c1dbbbbbad0/src/Grpc.Core.Api/ServerServiceDefinition.cs">ServerServiceDefinition</a></dt>
|
<dt><a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a></dt>
|
||||||
<dd></dd>
|
<dd></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
202
App/wwwroot/HiAPI-docsite/api/Hi.Numerical.CsvParsers.html
Normal file
202
App/wwwroot/HiAPI-docsite/api/Hi.Numerical.CsvParsers.html
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Namespace Hi.Numerical.CsvParsers | HiAPI-C# 2025 </title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="title" content="Namespace Hi.Numerical.CsvParsers | HiAPI-C# 2025 ">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||||
|
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||||
|
<link rel="stylesheet" href="../public/main.css">
|
||||||
|
<meta name="docfx:navrel" content="../toc.html">
|
||||||
|
<meta name="docfx:tocrel" content="toc.html">
|
||||||
|
|
||||||
|
<meta name="docfx:rel" content="../">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<meta name="loc:inThisArticle" content="In this article">
|
||||||
|
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||||
|
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||||
|
<meta name="loc:tocFilter" content="Filter by title">
|
||||||
|
<meta name="loc:nextArticle" content="Next">
|
||||||
|
<meta name="loc:prevArticle" content="Previous">
|
||||||
|
<meta name="loc:themeLight" content="Light">
|
||||||
|
<meta name="loc:themeDark" content="Dark">
|
||||||
|
<meta name="loc:themeAuto" content="Auto">
|
||||||
|
<meta name="loc:changeTheme" content="Change theme">
|
||||||
|
<meta name="loc:copy" content="Copy">
|
||||||
|
<meta name="loc:downloadPdf" content="Download PDF">
|
||||||
|
|
||||||
|
<script type="module" src="./../public/docfx.min.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const theme = localStorage.getItem('theme') || 'auto'
|
||||||
|
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
||||||
|
<header class="bg-body border-bottom">
|
||||||
|
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||||
|
<div class="container-xxl flex-nowrap">
|
||||||
|
<a class="navbar-brand" href="../index.html">
|
||||||
|
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
||||||
|
|
||||||
|
</a>
|
||||||
|
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<i class="bi bi-three-dots"></i>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navpanel">
|
||||||
|
<div id="navbar">
|
||||||
|
<form class="search" role="search" id="search">
|
||||||
|
<i class="bi bi-search"></i>
|
||||||
|
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<main class="container-xxl">
|
||||||
|
<div class="toc-offcanvas">
|
||||||
|
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||||
|
<div class="offcanvas-header">
|
||||||
|
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="offcanvas-body">
|
||||||
|
<nav class="toc" id="toc"></nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="content">
|
||||||
|
<div class="actionbar">
|
||||||
|
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||||
|
<i class="bi bi-list"></i>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<nav id="breadcrumb"></nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<article data-uid="Hi.Numerical.CsvParsers">
|
||||||
|
|
||||||
|
<h1 id="Hi_Numerical_CsvParsers" data-uid="Hi.Numerical.CsvParsers" class="text-break">Namespace Hi.Numerical.CsvParsers</h1>
|
||||||
|
<div class="markdown level0 summary"></div>
|
||||||
|
<div class="markdown level0 conceptual"></div>
|
||||||
|
<div class="markdown level0 remarks"></div>
|
||||||
|
|
||||||
|
<h3 id="classes">
|
||||||
|
Classes
|
||||||
|
</h3>
|
||||||
|
<dl class="jumplist">
|
||||||
|
<dt><a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSemantic.html">CsvRowSemantic</a></dt>
|
||||||
|
<dd><p>Final-stage semantic that turns each row JSON stamped by
|
||||||
|
<a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSyntax.html">CsvRowSyntax</a> into the same <a class="xref" href="Hi.Numerical.Acts.IAct.html">IAct</a> sequence the
|
||||||
|
legacy <code>CsvRunner</code> produced: optional <a class="xref" href="Hi.Numerical.Acts.ActLineCsScript.html">ActLineCsScript</a>
|
||||||
|
(begin), <a class="xref" href="Hi.Numerical.Acts.ActActualTime.html">ActActualTime</a>, <a class="xref" href="Hi.Numerical.Acts.ActToolingTeleport.html">ActToolingTeleport</a>,
|
||||||
|
<a class="xref" href="Hi.Numerical.Acts.ActFeedrate.html">ActFeedrate</a>, <a class="xref" href="Hi.Numerical.Acts.ActSpindleDirection.html">ActSpindleDirection</a>,
|
||||||
|
<a class="xref" href="Hi.Numerical.Acts.ActSpindleSpeed.html">ActSpindleSpeed</a>, <a class="xref" href="Hi.Numerical.Acts.ActMcXyzabcStep.html">ActMcXyzabcStep</a> /
|
||||||
|
<a class="xref" href="Hi.Numerical.Acts.ActMcXyzabcLinearContour.html">ActMcXyzabcLinearContour</a>, <a class="xref" href="Hi.Numerical.Acts.ActData.html">ActData</a>, and
|
||||||
|
optional <a class="xref" href="Hi.Numerical.Acts.ActLineCsScript.html">ActLineCsScript</a> (end).</p>
|
||||||
|
<p>
|
||||||
|
Stateless — the previous machine coordinate is recovered by walking back
|
||||||
|
through the <a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html">SyntaxPiece</a> chain and reading the typed
|
||||||
|
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a> cells <a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSyntax.html">CsvRowSyntax</a> already stamped, so
|
||||||
|
no carry-state lives on the semantic instance or in extra JSON sections.
|
||||||
|
The previous actual time is recovered the same way; that cell stays as a
|
||||||
|
string (the source format may be TimeSpan or DateTime) and is re-parsed
|
||||||
|
on demand — at most once per row.
|
||||||
|
</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="jumplist">
|
||||||
|
<dt><a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSyntax.html">CsvRowSyntax</a></dt>
|
||||||
|
<dd><p>Per-row CSV parsing syntax for the soft NC runner. Reads the active
|
||||||
|
<a class="xref" href="Hi.Numerical.CsvParsers.CsvSegmenter.html#Hi_Numerical_CsvParsers_CsvSegmenter_TitleList">TitleList</a> via
|
||||||
|
<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.html">SegmenterDependency</a>, splits the row text using
|
||||||
|
<a class="xref" href="Hi.Common.CsvUtils.CsvInputKit.html#Hi_Common_CsvUtils_CsvInputKit_GetCsvDictionary_System_Collections_Generic_IList_System_String__System_String_">GetCsvDictionary(IList<string>, string)</a>, and
|
||||||
|
stamps the resulting column→value map into
|
||||||
|
<a class="xref" href="Hi.NcParsers.Syntaxs.SyntaxPiece.html#Hi_NcParsers_Syntaxs_SyntaxPiece_JsonObject">JsonObject</a> under the <a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSyntax.html#Hi_Numerical_CsvParsers_CsvRowSyntax_CsvRowKey">CsvRowKey</a>
|
||||||
|
property for <a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSemantic.html">CsvRowSemantic</a> to consume.</p>
|
||||||
|
<p>
|
||||||
|
Numeric cells are pre-typed to <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.double">double</a> (or <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a>)
|
||||||
|
at this stage so downstream readers — including
|
||||||
|
<a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSemantic.html">CsvRowSemantic</a>'s backwards walk for the previous machine
|
||||||
|
coordinate — touch native JSON numbers instead of re-parsing strings on
|
||||||
|
every visit. Columns kept as strings: the script / time / spindle-direction
|
||||||
|
tags whose semantic interpretation is non-numeric, plus any column whose
|
||||||
|
key appears in <a class="xref" href="Hi.Numerical.CsvParsers.CsvRunnerConfig.html#Hi_Numerical_CsvParsers_CsvRunnerConfig_ParsingDictionary">ParsingDictionary</a> (the
|
||||||
|
caller-supplied parsing function expects the raw cell text).
|
||||||
|
</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="jumplist">
|
||||||
|
<dt><a class="xref" href="Hi.Numerical.CsvParsers.CsvRunnerConfig.html">CsvRunnerConfig</a></dt>
|
||||||
|
<dd><p>Configuration class for CSV Runner. Lives in
|
||||||
|
<a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_NcDependencyList">NcDependencyList</a> when wired with
|
||||||
|
<a class="xref" href="Hi.Numerical.CsvParsers.CsvSoftRunner.html">CsvSoftRunner</a>; consumed by <a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSyntax.html">CsvRowSyntax</a> and
|
||||||
|
<a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSemantic.html">CsvRowSemantic</a> for tag-name lookup and custom-field parsing.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="jumplist">
|
||||||
|
<dt><a class="xref" href="Hi.Numerical.CsvParsers.CsvSegmenter.html">CsvSegmenter</a></dt>
|
||||||
|
<dd><p>Segments a CSV stream for the <a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a>
|
||||||
|
pipeline. Consumes the first <a class="xref" href="Hi.Common.FileLines.IndexedFileLine.html">IndexedFileLine</a> as the title
|
||||||
|
row (populating <a class="xref" href="Hi.Numerical.CsvParsers.CsvSegmenter.html#Hi_Numerical_CsvParsers_CsvSegmenter_TitleList">TitleList</a> and registering any new columns
|
||||||
|
as step variables via
|
||||||
|
<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.html">StepPropertyAccessDictionaryDependency</a>), then yields each
|
||||||
|
subsequent line as a one-line <a class="xref" href="Hi.NcParsers.Sentence.html">Sentence</a> for
|
||||||
|
<a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSyntax.html">CsvRowSyntax</a> to parse.</p>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="jumplist">
|
||||||
|
<dt><a class="xref" href="Hi.Numerical.CsvParsers.CsvSoftRunner.html">CsvSoftRunner</a></dt>
|
||||||
|
<dd><p>Factory for a <a class="xref" href="Hi.NcParsers.SoftNcRunner.html">SoftNcRunner</a> wired to replay CSV files
|
||||||
|
(deprecates the legacy <code>CsvRunner</code>). The returned runner has a
|
||||||
|
single-syntax pipeline: <a class="xref" href="Hi.Numerical.CsvParsers.CsvSegmenter.html">CsvSegmenter</a> →
|
||||||
|
<a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSyntax.html">CsvRowSyntax</a> → <a class="xref" href="Hi.Numerical.CsvParsers.CsvRowSemantic.html">CsvRowSemantic</a>.</p>
|
||||||
|
<p>
|
||||||
|
Default <a class="xref" href="Hi.NcParsers.SoftNcRunner.html#Hi_NcParsers_SoftNcRunner_NcDependencyList">NcDependencyList</a>:
|
||||||
|
<ul><li><a class="xref" href="Hi.Numerical.CsvParsers.CsvRunnerConfig.html">CsvRunnerConfig</a> — tag names + custom field parsers.</li><li><a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.html">NcKinematicsDependency</a> — provider left null; host wires
|
||||||
|
it the same way it does for brand presets (see <code>BuildCoordinateConverter</code>).</li><li><a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.StepPropertyAccessDictionaryDependency.html">StepPropertyAccessDictionaryDependency</a> — wired by the
|
||||||
|
host so CSV title columns auto-register as step variables.</li><li><a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.FileIndexCounterDependency.html">FileIndexCounterDependency</a>, <a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.SegmenterDependency.html">SegmenterDependency</a>,
|
||||||
|
<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.SyntaxPieceLayerDependency.html">SyntaxPieceLayerDependency</a> — runtime plumbing required by
|
||||||
|
<a class="xref" href="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_">RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken)</a>.</li></ul>
|
||||||
|
<a class="xref" href="Hi.NcParsers.Dependencys.SystemWired.MachiningServiceDependency.html">MachiningServiceDependency</a> is intentionally not included by
|
||||||
|
default; clients that build custom syntaxes around <a class="xref" href="Hi.Numerical.CsvParsers.CsvSoftRunner.html">CsvSoftRunner</a>
|
||||||
|
can append it themselves.
|
||||||
|
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
<div class="contribution d-print-none">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="affix">
|
||||||
|
<nav id="affix"></nav>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<div class="container-xxl search-results" id="search-results"></div>
|
||||||
|
|
||||||
|
<footer class="border-top text-secondary">
|
||||||
|
<div class="container-xxl">
|
||||||
|
<div class="flex-fill">
|
||||||
|
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -242,7 +242,7 @@ Class CsvRunner
|
|||||||
|
|
||||||
<h4 class="section">Property Value</h4>
|
<h4 class="section">Property Value</h4>
|
||||||
<dl class="parameters">
|
<dl class="parameters">
|
||||||
<dt><a class="xref" href="Hi.Numerical.FilePlayers.CsvRunnerConfig.html">CsvRunnerConfig</a></dt>
|
<dt><a class="xref" href="Hi.Numerical.CsvParsers.CsvRunnerConfig.html">CsvRunnerConfig</a></dt>
|
||||||
<dd></dd>
|
<dd></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
|||||||
@ -244,7 +244,8 @@ Class HardNcRunner
|
|||||||
<dd><p>The enumerable collection of NC code lines</p>
|
<dd><p>The enumerable collection of NC code lines</p>
|
||||||
</dd>
|
</dd>
|
||||||
<dt><code>machiningSession</code> <a class="xref" href="Hi.MachiningProcs.MachiningSession.html">MachiningSession</a></dt>
|
<dt><code>machiningSession</code> <a class="xref" href="Hi.MachiningProcs.MachiningSession.html">MachiningSession</a></dt>
|
||||||
<dd></dd>
|
<dd><p>The machining session that owns runtime state for this run.</p>
|
||||||
|
</dd>
|
||||||
<dt><code>sessionProgress</code> <a class="xref" href="Hi.MachiningProcs.SessionProgress.html">SessionProgress</a></dt>
|
<dt><code>sessionProgress</code> <a class="xref" href="Hi.MachiningProcs.SessionProgress.html">SessionProgress</a></dt>
|
||||||
<dd><p>The session message host for logging.</p>
|
<dd><p>The session message host for logging.</p>
|
||||||
</dd>
|
</dd>
|
||||||
|
|||||||
@ -97,11 +97,6 @@ Classes
|
|||||||
<dl class="jumplist">
|
<dl class="jumplist">
|
||||||
<dt><a class="xref" href="Hi.Numerical.FilePlayers.CsvRunner.html">CsvRunner</a></dt>
|
<dt><a class="xref" href="Hi.Numerical.FilePlayers.CsvRunner.html">CsvRunner</a></dt>
|
||||||
<dd><p>Provides functionality for running and processing csv lines.</p>
|
<dd><p>Provides functionality for running and processing csv lines.</p>
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="jumplist">
|
|
||||||
<dt><a class="xref" href="Hi.Numerical.FilePlayers.CsvRunnerConfig.html">CsvRunnerConfig</a></dt>
|
|
||||||
<dd><p>Configuration class for CSV Runner.</p>
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl class="jumplist">
|
<dl class="jumplist">
|
||||||
|
|||||||
@ -1,127 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>Namespace HiNc.Grpcs | HiAPI-C# 2025 </title>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta name="title" content="Namespace HiNc.Grpcs | HiAPI-C# 2025 ">
|
|
||||||
|
|
||||||
|
|
||||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
|
||||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
|
||||||
<link rel="stylesheet" href="../public/main.css">
|
|
||||||
<meta name="docfx:navrel" content="../toc.html">
|
|
||||||
<meta name="docfx:tocrel" content="toc.html">
|
|
||||||
|
|
||||||
<meta name="docfx:rel" content="../">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<meta name="loc:inThisArticle" content="In this article">
|
|
||||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
|
||||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
|
||||||
<meta name="loc:tocFilter" content="Filter by title">
|
|
||||||
<meta name="loc:nextArticle" content="Next">
|
|
||||||
<meta name="loc:prevArticle" content="Previous">
|
|
||||||
<meta name="loc:themeLight" content="Light">
|
|
||||||
<meta name="loc:themeDark" content="Dark">
|
|
||||||
<meta name="loc:themeAuto" content="Auto">
|
|
||||||
<meta name="loc:changeTheme" content="Change theme">
|
|
||||||
<meta name="loc:copy" content="Copy">
|
|
||||||
<meta name="loc:downloadPdf" content="Download PDF">
|
|
||||||
|
|
||||||
<script type="module" src="./../public/docfx.min.js"></script>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
const theme = localStorage.getItem('theme') || 'auto'
|
|
||||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
|
|
||||||
<header class="bg-body border-bottom">
|
|
||||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
|
||||||
<div class="container-xxl flex-nowrap">
|
|
||||||
<a class="navbar-brand" href="../index.html">
|
|
||||||
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
|
|
||||||
|
|
||||||
</a>
|
|
||||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
|
||||||
<i class="bi bi-three-dots"></i>
|
|
||||||
</button>
|
|
||||||
<div class="collapse navbar-collapse" id="navpanel">
|
|
||||||
<div id="navbar">
|
|
||||||
<form class="search" role="search" id="search">
|
|
||||||
<i class="bi bi-search"></i>
|
|
||||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<main class="container-xxl">
|
|
||||||
<div class="toc-offcanvas">
|
|
||||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
|
||||||
<div class="offcanvas-header">
|
|
||||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
|
||||||
</div>
|
|
||||||
<div class="offcanvas-body">
|
|
||||||
<nav class="toc" id="toc"></nav>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="content">
|
|
||||||
<div class="actionbar">
|
|
||||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
|
||||||
<i class="bi bi-list"></i>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<nav id="breadcrumb"></nav>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<article data-uid="HiNc.Grpcs">
|
|
||||||
|
|
||||||
<h1 id="HiNc_Grpcs" data-uid="HiNc.Grpcs" class="text-break">Namespace HiNc.Grpcs</h1>
|
|
||||||
<div class="markdown level0 summary"></div>
|
|
||||||
<div class="markdown level0 conceptual"></div>
|
|
||||||
<div class="markdown level0 remarks"></div>
|
|
||||||
|
|
||||||
<h3 id="classes">
|
|
||||||
Classes
|
|
||||||
</h3>
|
|
||||||
<dl class="jumplist">
|
|
||||||
<dt><a class="xref" href="HiNc.Grpcs.MachiningProjectGrpcServer.html">MachiningProjectGrpcServer</a></dt>
|
|
||||||
<dd><p>Server for exposing machining project functionality via gRPC.</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
</article>
|
|
||||||
|
|
||||||
<div class="contribution d-print-none">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="affix">
|
|
||||||
<nav id="affix"></nav>
|
|
||||||
</div>
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<div class="container-xxl search-results" id="search-results"></div>
|
|
||||||
|
|
||||||
<footer class="border-top text-secondary">
|
|
||||||
<div class="container-xxl">
|
|
||||||
<div class="flex-fill">
|
|
||||||
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user