From f74d06f299460add478353a63e30da6fab92a3e3 Mon Sep 17 00:00:00 2001 From: iamboss Date: Fri, 26 Dec 2025 14:22:34 +0800 Subject: [PATCH] tune --- App/HiNC-2025-win-desktop.deps.json | 32 +++++++++--------- App/HiNC-2025-win-desktop.dll | Bin 861184 -> 861184 bytes App/HiNC-2025-win-desktop.exe | Bin 215552 -> 215552 bytes App/HiNC-2025-win-desktop.pdb | Bin 326840 -> 326840 bytes App/HiNc-Resource.dll | Bin 56320 -> 56320 bytes App/HiNc.dll | Bin 355840 -> 355840 bytes .../api/Hi.HiNcKits.HiNcHost.html | 15 +++++--- .../api/Hi.HiNcKits.LocalApp.html | 21 ++++++++---- ...Hi.MachiningProcs.LocalProjectService.html | 11 +++--- .../Hi.MachiningProcs.MachiningProject.html | 6 ++-- .../api/Hi.MachiningProcs.RuntimeApi.html | 9 +++-- .../Hi.Numerical.FilePlayers.CsvRunner.html | 3 +- ...HiNc.Grpcs.MachiningProjectGrpcServer.html | 3 +- .../brief/dev-doc/release-note/index.html | 7 ++++ .../zh-Hant/script/Resolution/index.html | 4 +++ App/wwwroot/HiAPI-docsite/index.json | 18 +++++----- App/zh-Hans/HiNc.resources.dll | Bin 4608 -> 4608 bytes App/zh-Hant/HiNc.resources.dll | Bin 6656 -> 6656 bytes 18 files changed, 81 insertions(+), 48 deletions(-) diff --git a/App/HiNC-2025-win-desktop.deps.json b/App/HiNC-2025-win-desktop.deps.json index cc0ba22..7c59600 100644 --- a/App/HiNC-2025-win-desktop.deps.json +++ b/App/HiNC-2025-win-desktop.deps.json @@ -12,8 +12,8 @@ "AvalonEdit": "6.3.0.90", "FontAwesome.Sharp": "6.3.0", "Hi.WpfPlus": "3.1.88", - "HiNc": "3.1.102", - "HiNc-Resource": "3.1.2", + "HiNc": "3.1.103", + "HiNc-Resource": "3.1.3", "runtimepack.Microsoft.NETCore.App.Runtime.win-x64": "10.0.1", "runtimepack.Microsoft.WindowsDesktop.App.Runtime.win-x64": "10.0.1", "runtimepack.Microsoft.AspNetCore.App.Runtime.win-x64": "10.0.1" @@ -1779,7 +1779,7 @@ } } }, - "HiNc/3.1.102": { + "HiNc/3.1.103": { "dependencies": { "Google.Protobuf": "3.28.3", "Grpc.AspNetCore": "2.66.0", @@ -1790,8 +1790,8 @@ }, "runtime": { "lib/net10.0/HiNc.dll": { - "assemblyVersion": "3.1.102.0", - "fileVersion": "3.1.102.0" + "assemblyVersion": "3.1.103.0", + "fileVersion": "3.1.103.0" } }, "resources": { @@ -1803,11 +1803,11 @@ } } }, - "HiNc-Resource/3.1.2": { + "HiNc-Resource/3.1.3": { "runtime": { "lib/net10.0/HiNc-Resource.dll": { - "assemblyVersion": "3.1.2.0", - "fileVersion": "3.1.2.0" + "assemblyVersion": "3.1.3.0", + "fileVersion": "3.1.3.0" } } }, @@ -2233,19 +2233,19 @@ "path": "himech/3.1.95", "hashPath": "himech.3.1.95.nupkg.sha512" }, - "HiNc/3.1.102": { + "HiNc/3.1.103": { "type": "package", "serviceable": true, - "sha512": "sha512-PRZx1RQIPOimbKz8eoZE6OCkMxjZuMrfq0w7BeRqPSqenaIpO2qcsrXZXwM+gWJYreiWA1f0CBHxHqCWlSssGw==", - "path": "hinc/3.1.102", - "hashPath": "hinc.3.1.102.nupkg.sha512" + "sha512": "sha512-/nzPuZ8WBhVo14I6dISPdjFS/JHxL6H8y4SEBDmcwoy19nG/waBREPmE63XI6hl7k7lP6L6qFp/hyidAJ7gO2w==", + "path": "hinc/3.1.103", + "hashPath": "hinc.3.1.103.nupkg.sha512" }, - "HiNc-Resource/3.1.2": { + "HiNc-Resource/3.1.3": { "type": "package", "serviceable": true, - "sha512": "sha512-vUcyvPIsuq2dRWtjziePO6IjmlW19JD84T+f++lRoRF6Ao7EYOT73cwOMgFQmXkxBbH19Zt+XRSIqDO7nmuEBw==", - "path": "hinc-resource/3.1.2", - "hashPath": "hinc-resource.3.1.2.nupkg.sha512" + "sha512": "sha512-3fcZThGZggPPuimN7nYAin4PqkqGVHzT+i3gmaeHECuEOY1anDKctEkXbHl5IsM1Yed0SdacVbW3v66oyhsnNg==", + "path": "hinc-resource/3.1.3", + "hashPath": "hinc-resource.3.1.3.nupkg.sha512" }, "HiUniNc/3.1.92": { "type": "package", diff --git a/App/HiNC-2025-win-desktop.dll b/App/HiNC-2025-win-desktop.dll index a83ea3aa5b235368b2b2398fd40031b87e324f5f..88d983b750b4d241af91d14e22539ca99e2320d2 100644 GIT binary patch delta 302 zcmZoTVbXBIWI_iEquJ7pjXkYBjIBLPtv$?JdsqYn7}MM53b1USE5MqaA|Ro?*u(Pl zF~1c;Cx6U5bj812qLg*JL@8Sun}&grHNs(v1MXn zQi`Q{TAE2pl1clrYPRjms@bbPGa9!m=5qisClGUOSIp-=eTU_)px?9UAG~=21oG4B z*Dg8X;y)#F^45^e{K?Y;e0a(fprZXSQK0%XdB3+)8=Zx6|MGRKZ+BGU)nMGt=f^Ye zqQ3!yC4(_T5<@aW3Xn`>NCT24Ksu4ZjKP$_2nbVwY(oYM29QbHE z_xrg{|E1rOZ}qPhel z=3Vr+WH4heXRu^QVK4 delta 101 zcmZpe!rK5uEsQNpTbONJ{Vf^H7|a!V(++ diff --git a/App/HiNC-2025-win-desktop.pdb b/App/HiNC-2025-win-desktop.pdb index a27a15f42172d2d3a4b5e8dfccf32655945d84f2..5a3c0686ef7c003db60cfa3961590724e984560a 100644 GIT binary patch delta 25952 zcmc(ncYGC9{{BBxNN9!@2uKUPh5&&e1VZmfk)j9!0@5s$rGwlk3J5Al(1@r6kX{5S zgVaE%B1P#CB=o5Cjv)M=&vS2*S$FU5eqXO;fAh!tdFFG@oS8Xu=FFLMCt3R-*V+fU zri>2m-^;V~n_UfBP3suDy4}ibJx=9ld2z**U4fn!VWt?;0W>8;l=^I-DOsDS&kLIJ zT5I(KK~p|$t9}+}$_E|Qe+rs%wX6C+KvP=1roIzs%7lLEr-3Mcp!!^(Dd&c$zu|$H za(uY1Tmnt`cC`A9peYsKS04?U^1~$c$3RoIexm*WXiCZ#>hFT4^q#GL2x!XNOVxh> zn)3Vi>hFQ3Jhw@G1JIO32_9Wplb|arcB*fDf*`RiXhs@2=#M7Q`$~Y z|0-z8*-7fJgQomBS$&o%@E++qO;?72rVN^)J_a;pTDSu!3!9w-3KvSkK zRX-OrC3Kbg@}McDzgJ%cH09bx^$$T)#%@tR88l_gcJ-c#5L2q`(Um%&DGPp5zY4^T z538RE;*68kM}Vg6Nl||k)a!V?tnwcDm^@itBc*Xyr7p9>)4j$F8Ce+-57RTrI9+iq zdE`$-@<{C}%0}e#WIM7G*`4f54j_k-W5{Xb3~~**kvvQON_wtS?vanl3{`cPS;<^v zVbHtek)e!?B|{@MXBToW8C*>x<;XVVhvZ_=z2uP_j6e2J8b7C-O(lOI&FUJdK@K7p zkq5}TWQ7` zGPl(D1hBE}Co8v7U!AN&HYQt=J;~R}cgWS`4Kfe9?=M-h_w*Xel^0C$G?v?t#`2If z(XTg_OkfkqPKJ<$$XCdo;8(7Kno7|Z(Gf`*vIqGQ>5zNLo8$vhUef%5N{<9_B{x}w z3?r+P4aqj-D`a2tAQ{k63o1%RlP`nbJPy+DSY$naXnXaR5CWX3dyd+tH zj3lGUMr2E}1KEY_MZQH2CC8BC$dAd-$gjJj{Wp_&SZOZH$kpTqvRV&~4f4&9j-j0>-;epoLuNV@eCTO}^Au{rBW?@jmQ_sF60DqDL9Aa%#nP%t@(Xeo`P_6(?L|%_x02V%LSJZV3vwjrX($UI z3wdS>rT0uz8cDl&<$O}xL?c;7e~P?CJ|VNu($r?;L~&&%X#GT%atG$fxV+mkEF zM`XiAn#a?NQed&JJV!Por;^c2H2xN8;Z>rllqZ{mi+O&FrPmsbZzq2w50WRyGh_;R zjl4%bAp<>*Zk&w_AtONVQdOcDdBGKVnUSHc$QVXurbQxUK76DsBX5!q$YN_X-h}K! zj#%4DLtk?xkqrG_Bi+f5$d%v{o~!q;mdNUjn&%jK8muOFz@?fec3^>AA?v~Z8FC;jg%+rktfI-WP$CP+L+A0L;Ywnj$BOcAkUJI$=o|N z=K%6U@LQh2w;pM<$CMf}k^F?zAzTgl9A4zq{?yu!661g=QIe6=!BCXcqHjR<1XsAK zr6$X)DOzSt4hw5a&|&qt$*QEM5#>GdFd2Hplv$-qM*5$joe4kYBLD2)SQb~rBG2{et3i&x1Pc9&rlWWNYau<1kJVqvyDdcsq zvfL-1kO6lz5(#=%yUxC>#NIQdtb9SvB7Yh$L@+TwJERE~V!nm_AiDslB zxt{z9^e$mi8q+IbQr!dj-nGjLayZbE3X(*gBYz`rkoU_v zBu|iM$dn+fB6e_%D|g8v*>smHc{L+IQK~5y^ zl0$3*%#m9o4apJYQZgCb$kI1Tu6(I`_3pcXOh%-DY$gwo7nOPB5oD9A-U`U@ z0#JnT#Ns!g0bgLB5 zyA+aZjNB!2lunI%QwvKeL<-BR$`@o1S0<24$%ka^GMZ^8d5g?kRwF&gFUd3D79PqL zSrVqHyTejzJ5)|05-PbXC@YeU$gjxYaE;d^yO1Nnt*#T>DrKr@o<5*^36=i;5E=US zk(}72V^d5XymtQV8}q#jK%Xi+>sEb6d9x}4VIP~WL>fe z*^2ByE+bcy8$kC`S`r!mf&6KZM~gegm8;|(GW*{&9zqr(N0JZ79D`E}EiDb0V2Dhl|AgF5c8t|Lo5_1*-f0>sOEv=c zxr+84T!_Sep?SU_*OObp)YRQxuk{}yhg}ItE`J_AL@txJ$w#C;L*rS=V6p&N9Ly`_ z$p})Xt@26@`2DU!%p!VwXOXF2^;Vhwm2w|>n!HF}A#anxUu&NHWP7qRIf1-DHlC?@ zI+8=kljQ61-Uq?~*C8B`Lf>fawxD;(BAr~mhs%4?d{&tOpH*g)3(0fjZSo;$&ec4b zK<|=O!qvz2D4olrKN|fcA1|=LZ^36|1DQzvKt3U}FVxf!vKU#GtP6UVpLsq%%kjmQ z1j#k>F8L>EFVT1wGAEfYl=2cemYht^AUiJgR@6aPMIDsZD=axEW5FPq0%nsq@@sM~ zxrAIvt|PaQyU6|I5%Lmwm3%@5e5YlGkj0fAsmYbLWM9y|WE0OnL>%Vay3&$EJoH2I z*wI3(tyR`083M+;WU7r^!2{ zaX^bJNH!#2CEo&5cRA{S_fE?#r+-O>z?XE1BV>ZrP6f8@Yl!MP4V(B+ZkXj3Qqk$C9haJ7mdIn)5~S8*+)#Bl&*O zgd*hU)T;ES#C+~aHJelOB%c&=sNxHiH%ru`zR>0?xU9QM!m%q%^2d+qoE2(AXkr8RW zsmRsTcynn8-yA;%t4Le&W%5rm-;NNK1-`F3y@l0w6yvx zt-fe!^+ijoFReTjEv~+NPyV&I267(p2J$<3lYBtR4UOj@^O6x{4YEDinH)yW2E9u| zS?2RN|Aw;0m9WX>cewmMmp|h2zqtHGm%r-rcU}Im%Lm-VJ(+q$K{wNnE|1F>a`}=j zUm?wVOK2pKh%}N~WCOA}`6}6m97DcO&Hz1)WHwjUg6^e}Z2L>3s+>cls{H6xau{8^W;afdgx2S3H!(SjF( zsRgfa`S0P&%9gZ9IkE1h<}5D_U4DF;50l+#K3q!POU)lH-CTZ(dhdm+C<$1>3^KWo zJWM8$H$nGOQ64aE+)s^HluYmyC5J1L&*h7_d>NPbRC29Uclo;T6{Trfq=06 zU0l8wd}(eDCsEpQOgKNLQC1=kiNk{*cQ* zbotSEpn8`qQqV~Euh6q~W|b9b30cK9Q!{0iZZ7|6ntw(ND>YA$yaXR4T}hp44&qdE z5GNyoq!;6Fy7EtO`N_|vt$2?yNIpx81j#LzZ)T_O@_pOZ=d~xB{ETQeIZh_0<;W%} zj9e%0lafJmW+bzdc|q@zO|H27)`0Z*!;GmuyToNm_dC^lZ|&@IGcCbeTz1Ku*~TkY zHPF4}#7|&0-e@MJ#dAvWEU9^N$tP*vyHzeZh)6E^H7%Y?VzQ>@_w7GeZXgsa_tO%B zrNT3*nS!Nfn$Im?x_r~1)I7Q6tjkAdOOM}l`9j&#}X)3 zN_ENMi;R2TMCIrb?2G(?FG2Ho>m|e&>WObR^U*)+imrxSl zYrlvux9N-dA|pDRm}SjMY%=9_?|u1(FZA7J{J8*qe_y0Sf++*(2l*o5_||4H{SaRy8$MwfMnBva*?I_n zvp_$}7fCvaKc%1_Vnu>NVV~CLL4KXlhb{vM`PdARLjDbvAV>Qvq(dh$9{#>@y}TJ-cOeW zeZ-}Q{E(;(3=(3z#LFOh6`3#TFRrIULHNN<7`7K#X|2?_R7mqEVzmDs& zk=#V0ITg`gZ*|#1ZYA-qlHpTyJX5dC5Dh%au|)Tticr^gvO;Y$dqr!TF#oFacA4S9liGW{9ytS^4K zl_lrtFOU~~@tSQcNumFh{LL57+S!uJ^jDM~x#~;k*4>ip^f$@`}7aUKYZ~+?_2VS{!j9;FMjv~3?>X+F-VidAGo|Z5ii_a$v_5>hV1wlQz`VB z$jrX@$CEKNO#ciSnnOkd%n z2Ks_zAzwTm@lg6AzR0I@@LMW3Z=DEgYdNUi;rMAO&yMGhXq zi#2^c{DF;L4;gY4Z>J13^kr&$%#z0RO?;8*h%}>b?u-16$n*3qeUV(4Wob>{#uwR+ zsgt(!?R=3?Oo?=$e-X@}yKlbo%umBm6$cFbJQyH3el}z*9@yvi;}H$*3q1!N1+_3r z91bl89RjTn9R%$G?GGIbeFHiN`WZA48VfxKodUHmg8T?t3_1~7A37e|!?Zo}9?Vz- z-hs}6j)7Vj|1HvW=mKaWbRP5^^czjb$Zj^YK6ECu2lPwmSm<=<9OyD=B6JD#9CQQJ z!f00?Pw0;JUEo)$UAg~HL7Wy4@4s4(Ej&#*94I^elcG0K#o(CST0`3yR>wJB?$TQR&k0$tP5 zl)KRU-7qE#wq*2c_%If_x*xWORvC!xp*e?QduYZH*dF@JXlxJd`aZUYKA421LCXR}cNbP>Kc{tTLT9SVTHh9STa=utf7??Qjsi30Liau*+;MnZSt z$=(6_C%!Em3O$&F?V(*$usw7pK1DnNU5GCU??O-FgTFi>`cr@=YVU7;}Pov4i3$09vOUwukNy$M(=t)v!IZKy7TV z+63D}Gj_oC&^2AKJ)XrKUc>etm^N=>1-fkn3V^;l0R=#Fe2C1@@>5U%^z&&b06J?1 z3c$f^iAMp@gt^!rx^*G8hwfO4?V-=F!uHVi-(!1dflb&Rx*VNf9z66HZ^t}PB+RRO zPyqDsPbdJIa2N$Z+a;p_==~HtFB1Y~DP~X;wggIT%y=dw21=eQcnoa|lzz}U&?D50 zat#`T^+-%dChQ25b=Q!7C{TvnLL9mangGpzTj#+J2g*CQkpX%T8UrnN2N|GKp>i}( zZbR!pBkv*|Ivkn+T?dt8ff8~L>CiUN80b6D1n3HAXi}iOd*707&<)Ud=nZHxwCV#~ z|Ikx`(*FT6K)->;L$5%Sp_TqX`Y(apmnf50Uc2cbS*RidJZaA@rzF;^hhyRQN{WeeJxOIeLKFEQF1}+V0|Dp zqr^aCu)a;xuOp5ZU4c!Zo76%4xBF&8?iZ}z~_s~t{FLW*rLq)Dt!?C z?4aP*yE>Pj^q@uW0(D2#U!LH}Sk71wlzrQ%PQ89@7X9_C*Gs=Ud`eQsl_mPDus$l2 zbNRt&`)6}vultkVmcape-Uusg{ys;Jmiywzl;bms*)LBI4?DAAWbcb_HeR_tw&?nR zlCK2!+ux=3o~T7(eP6w{@4MSMdVJI2_|@A><2Q_ckpJP(kC&|v&a`CefycjuZz>cr z_LpSO@|TvE%esB@*-N8Ne;paH?u!}06<<8Md|1y+#oi2B*S-0@;Ipr{*nIiI`sx>* z#c%hCI~f0G%)O1(YP3F4ddcDJH&O;v481(_cB8~i(RquMji|Bg_gQTc_rBSGY_+C) z?hg9uyO&NBy83wW?vkaFUU=~H&Shoh=Y4i+r%6+DbtzVBdBm6;lQ)+)XMFP@DX_@j zA|8CXw)5JVzwep(;;sGX8+U&_xybSZ$MUbsd~DTud)4;5dy?)IcB0ptYcfPNnvg4A zN1BZTdsV#~`Rwx>Bj#D9`;9o&q;Ja}6?(pbw@M?S_vXbCpFzs}maFR6S5MXXviQ1( z$L2mxa>BQmRbOmT%}6lIMJqZgUQ-NJe58m|EK;md>{8qT%I8(oRdi7dRE&ySp4S>_ z)OX6|v%a)F{z?wtj?Cdl)3zO@tM`G5ITd9U&nwhWbN^L^sJW%8#(_{IT0aMz7_Kz0HbWXScw3qK&Z7dz_{a_FKO+};P+_K zcjYbnsn?|w5oUEVD)_6+dRmV>C09KyayC@3&KrK4nyU)*;x||gupriwyC5X+N|nz$ z|8hmkGJbciL|B9USI<+el(hEsc3g6G>vn{{I^hYlJc46yc@s##ohs&Z0;8;G!-#Sk z)wCWM{;#sOrKf)`HgA@#(N->sMD{Z^_%|_W3Tq~ zPt4V;B{i|C`0drw?{VXsWvUPEbp!I$IDhPzqd+yP4d)Ob^S-+)Nn4bovd~SI`@>$R(;Fwy)w9j z=H~PDDfR2==i)5uW`!8W&(4lltqx{kf6aqeuI0_RsGe4gvDn$r(;DQz+v4#*{ad2l z-{0%mYVcmqUbUvSDt{-!hL`>T_V&^2o^_zpe}rT7wx$@ybZ2TGE3^LxjJG>Wd+0x{ zE0znV=o{9goorl%x2(~A@8fsb&uX(tKS^)@rjJ;jF7MfQbqwOz#Z6pjb$HhQS;hUa z&?;nVnrHLok>fqF=j1)Tln7d z(2}^V_aU9uNZHO33pWhOrlU-3<5$=rGYfTR@3OczCS+_Fz?Q{O}V7&1IHokEIxS0X? zuk}ME{$)M9lM|zUiJ29*rI8)tZ2841Y5Khxy!XK(99+3Iaaqn-jg3xD+cVZw|2Oh~ z_e}hrNG+rsz}5|TT(m>#UZTa{P2@`|`w=dATcH|Le}*1P^+UeYhmf9=Zr zv-3%RLd5mHWHs|Ui@;;&BbSY{vd+t(i#mPD`qr52Oir=kHdC<+qIV{(+l& zTlq&$)@#-r?FN=#$6ahRb(-9^>iwHW;oClL*L{%<91e^&nOPrK?|?eF=Fc4$3+_l|d1g1*2i zFix8u9ws;yJvxQEf}C$N+F49vqq9Dt~AgkyiXI+r} zlA*)=?Dn1i#tG2R)Q-@fYq zVVd47_~>|A6&QqDYCaAwb-MU*VcYRL1WKy|J}JEoG%}_hVFn)1P7PXBGeh0$; zq;kA7Ddq6g)oKbZZLc?tBb&DceH&YjoNmHnqRRWoZ+Ev;W8T z(Yu!2&Nj9<8|vC+1N^p+^e&uxO6!MGOLYo0v74L50HqvQ@>zW`&47mbPtS2eV7%)Lf6cCz)o*M0`!VQKyF>ojpU;tY}n3q_F<@9 z$1r|ywhyzD{`IrZ`gn$3%%?e(>3X)88D-c0*TW*d?)chs+$W>#mc}_Jd6Yfc|CM_B zC&1^AcU*V+ZM%uzyP1dW9nPlRi&M+sDoxc1PyD9Tb&P%4FkW(6#Mm+a@ysP3wbS*z z^}qY5{WmYFea7KfyE^U1+mrp*JrC=tHXhb}owU0othByiWvLV#hWhvqZW3ON2-}(S zf&G(-ZfVGe_zK!@x5SsNr++%$rgUqv9p`s&_SZQ_{lWd+IdN;J*y}O>GWZj_n)R>m zqqLE}zMdVLX3sK)J3~LU-}C==@t0k42Fcf=ov_dC7KZV*Gjh5;F2JxHBi?@9_IvQ` zqqseP;o>#u@Lt>(-`H;%nVn2??K=L4w10Ub>bBN~&d#s}Ivzgg99U=ABQiZTfxD_{)463-I3B=_TvjOZP;l({kG~jDAkn z753ZyuS)s_@x3%V8CKibbSgi$gFlt>+o^Cno*3(5e<3|F{q=y?22H!wdb_%5eCB+x z(JuaP-u!%*BkrdJd$uvm8N9_#@_TQ4zm@o3-3$j4?UxJtd+FmB2NmClYq8BP<@fa| z{rd*wjN4{cc+FpN>8->&lc*O|hxOj}lHOGKFy%C%K3lD02NWlfFMZG$F~=#p-98my z1Ueaiv@iPq@sq>j|KF33&cvVW+=l;Y^1N~1|7_Rw+dHz}%IDP%xKQEXMp|qBsyO`} rBSJr?Nvm;h{dphn-Wu1^N`wZhlqx}SMjW&&8;0X7Ib>%oZOH!va2+LW delta 25937 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 Qzg^ZaRyzw1*v}OCe@ZkyGXMYp diff --git a/App/HiNc-Resource.dll b/App/HiNc-Resource.dll index ac7161a1067d1f14f58e5bebb131c0f77dff90fb..f9a8c9d86d3d60d6306e4bdc9368fe0aa950f66e 100644 GIT binary patch delta 298 zcmZqJ!Q8Nec|r$^TZiz1jXfUBjLe&_GQVdOaA!|5{bnZRyVrObvqo0s-N{#2Kbslr z889#yGcxEI>lx}9Yp0ne8Yh{UnI{?=ni?c0rWqs}o1|J8o0z5;Bqf@s7$qi~8>FV0 zPX5a#&2sV@Ic8TKhI zQg*L&_nqv>sIr-lW6n8FW(GzEW(EcZ=FOY0ePm=b-n{fiIb)zPgEm7NgDFEIgE2!A zg9(EfgE^3G2!y5#1`NqSb{dcd$(k^vGFX6VQ-&0vSQ1dw9LO>P(#b%U0Z<-j(&XG* U=B&mHdJG1eH{SARoM^xS0LolhWB>pF delta 298 zcmZqJ!Q8Nec|r%vln>K?Z0zx1W@OrYmH9oRz#ZFU^<75gj+0K_-nQgG{p`tCSU;N? z=@~FE7&9{H8S5G98EL1P7+NHmn4~6Ini^VICMFvhm>Qd#8yZE04X(HIRF3v diff --git a/App/HiNc.dll b/App/HiNc.dll index 17e8231f1afca3567614a96d3983dc6ec83c2a8c..2578d4b539a26f11df37137b15a46beb048e9908 100644 GIT binary patch delta 12518 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 diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.HiNcHost.html b/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.HiNcHost.html index ed055bc..bf55b6d 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.HiNcHost.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.HiNcHost.html @@ -192,7 +192,8 @@ Host class for HiNC functionality that provides project management, path resolut -
+

Initializes a new instance of the HiNcHost class with a proxy project service.

+
@@ -202,7 +203,8 @@ Host class for HiNC functionality that provides project management, path resolut

Parameters

proxyProjectService ProxyProjectService
-
+

The proxy project service to use.

+
@@ -457,7 +459,8 @@ Host class for HiNC functionality that provides project management, path resolut -
+

Gets the local project service from the proxy project service.

+
@@ -488,7 +491,8 @@ Host class for HiNC functionality that provides project management, path resolut -
+

Gets the machining project from the local project service.

+
@@ -679,7 +683,8 @@ Host class for HiNC functionality that provides project management, path resolut -
+

Gets the relative project path from the proxy project service.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.LocalApp.html b/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.LocalApp.html index a522c58..1d149d1 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.LocalApp.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.HiNcKits.LocalApp.html @@ -231,7 +231,8 @@ Class LocalApp -
+

Initializes the application with the specified configuration.

+
@@ -241,7 +242,8 @@ Class LocalApp

Parameters

localAppConfig LocalAppConfig
-
+

The local application configuration.

+
@@ -262,7 +264,8 @@ Class LocalApp -
+

Initializes the application with the specified database port and cache path.

+
@@ -272,9 +275,11 @@ Class LocalApp

Parameters

dbPort int
-
+

The MongoDB port number.

+
cacheDbPath string
-
+

The path to the cache database.

+
@@ -295,7 +300,8 @@ Class LocalApp -
+

Initializes the application with configuration from a file.

+
@@ -305,7 +311,8 @@ Class LocalApp

Parameters

hostConfigPath string
-
+

Path to the host configuration file. Uses default path if null.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.LocalProjectService.html b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.LocalProjectService.html index 0b4380c..5d4f2bc 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.LocalProjectService.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.LocalProjectService.html @@ -428,7 +428,8 @@ When set to true, initializes collision detection mechanism.

-
+

Gets or sets whether to pause execution on failure.

+
@@ -459,7 +460,8 @@ When set to true, initializes collision detection mechanism.

-
+

Gets or sets whether stroke limit checking is enabled.

+
@@ -909,7 +911,8 @@ Updates related components when changed.

-
+

Gets or sets the machining tool house containing tool configurations.

+
@@ -2111,7 +2114,7 @@ Clear the state from previous session (if existed).

Parameters

baseDirectory string
-

Base directory for resolving relative paths. If the value is null, BaseDirectory substitutes the value.

+

Base directory for resolving relative paths. If the value is null, BaseDirectory substitutes the value.

relFilePath string

Relative path to the NC file.

diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningProject.html b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningProject.html index a10f9d6..2ce616d 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningProject.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.MachiningProject.html @@ -393,7 +393,8 @@ Class MachiningProject -
+

Gets or sets the machining tool house containing tool configurations.

+
@@ -488,7 +489,8 @@ Class MachiningProject -
+

Gets or sets the NC environment settings.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeApi.html b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeApi.html index e754f6b..40e29fd 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeApi.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.MachiningProcs.RuntimeApi.html @@ -3506,7 +3506,8 @@ public IEnumerable<Action> RunNcFile(string relNcFilePath) -
+

Gets a new feed per cycle machining motion resolution instance with the specified scale.

+
@@ -3517,13 +3518,15 @@ public FeedPerCycleMachiningMotionResolution ScaledFeedPerCycle(double scale)Parameters
scale double
-
+

The scale factor for the resolution.

+

Returns

FeedPerCycleMachiningMotionResolution
-
+

A new FeedPerCycleMachiningMotionResolution instance with the specified scale.

+
diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.CsvRunner.html b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.CsvRunner.html index 0cf6364..7dd2aa1 100644 --- a/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.CsvRunner.html +++ b/App/wwwroot/HiAPI-docsite/api/Hi.Numerical.FilePlayers.CsvRunner.html @@ -205,7 +205,8 @@ Class CsvRunner

The pace player for controlling playback.

localProjectService LocalProjectService
-
+

The local project service.

+
sessionMessageHost SessionMessageHost

The session message host for logging.

diff --git a/App/wwwroot/HiAPI-docsite/api/HiNc.Grpcs.MachiningProjectGrpcServer.html b/App/wwwroot/HiAPI-docsite/api/HiNc.Grpcs.MachiningProjectGrpcServer.html index f2e3587..1970669 100644 --- a/App/wwwroot/HiAPI-docsite/api/HiNc.Grpcs.MachiningProjectGrpcServer.html +++ b/App/wwwroot/HiAPI-docsite/api/HiNc.Grpcs.MachiningProjectGrpcServer.html @@ -238,7 +238,8 @@ Class MachiningProjectGrpcServer

XML source element

localProjectService LocalProjectService
-
+

The local project service.

+
diff --git a/App/wwwroot/HiAPI-docsite/brief/dev-doc/release-note/index.html b/App/wwwroot/HiAPI-docsite/brief/dev-doc/release-note/index.html index 5238f79..68e4e18 100644 --- a/App/wwwroot/HiAPI-docsite/brief/dev-doc/release-note/index.html +++ b/App/wwwroot/HiAPI-docsite/brief/dev-doc/release-note/index.html @@ -87,6 +87,13 @@

Release Note

+

HiNc Packages Version 3.1.102

+
    +
  • Separate resource files (Resource, wwwroot, Doc) to HiNc-Resource nuget package for smaller package size
  • +
  • Add ScaledFeedPerCycle function for scaled feed-per-cycle machining motion resolution
  • +
  • Upgrade target framework to .NET 10.0
  • +
  • Various code cleanup and improvements
  • +

HiNc Packages Version 3.1.100

  • Refactor project architecture: split runtime functions from MachiningProject to LocalProjectService for better separation of concerns
  • diff --git a/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/script/Resolution/index.html b/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/script/Resolution/index.html index 4a2d4ee..af0baec 100644 --- a/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/script/Resolution/index.html +++ b/App/wwwroot/HiAPI-docsite/brief/user-guide/zh-Hant/script/Resolution/index.html @@ -130,6 +130,8 @@
    • 每轉進給(Feed Per Cycle) 一步為主軸一轉。
    • +
    • 縮放每轉進給(Scaled Feed Per Cycle) +一步為主軸一轉乘以縮放係數。例如縮放係數為0.5時,一步為主軸半轉。
    • 每刃進給(Feed Per Tooth) 一步為刀刃一轉。
    • 固定解析度(Fixed Resolution) @@ -142,6 +144,7 @@
      MachiningMotionResolution = <運動解析度物件>;
       
       MachiningMotionResolution = FeedPerCycle;
      +MachiningMotionResolution = ScaledFeedPerCycle(<縮放係數>);
       MachiningMotionResolution = FeedPerTooth;
       MachiningMotionResolution = FixedPace(<線性解析度(mm)>, <旋轉解析度(deg)>);
       
      @@ -150,6 +153,7 @@ MachiningMotionResolution = FixedPace(<線性解析度(mm)>, <旋轉解
      Tip

      指令範例

      MachiningMotionResolution = FeedPerCycle;
      +MachiningMotionResolution = ScaledFeedPerCycle(0.5);
       MachiningMotionResolution = FixedPace(1, 15);
       
diff --git a/App/wwwroot/HiAPI-docsite/index.json b/App/wwwroot/HiAPI-docsite/index.json index aa8f90f..568c8bc 100644 --- a/App/wwwroot/HiAPI-docsite/index.json +++ b/App/wwwroot/HiAPI-docsite/index.json @@ -1672,12 +1672,12 @@ "api/Hi.HiNcKits.HiNcHost.html": { "href": "api/Hi.HiNcKits.HiNcHost.html", "title": "Class HiNcHost | HiAPI-C# 2025", - "summary": "Class HiNcHost Namespace Hi.HiNcKits Assembly HiNc.dll Rich HiNC Service. Host class for HiNC functionality that provides project management, path resolution, and MongoDB integration. public class HiNcHost : IDisposable Inheritance object HiNcHost Implements IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors HiNcHost(ProxyProjectService) public HiNcHost(ProxyProjectService proxyProjectService) Parameters proxyProjectService ProxyProjectService HiNcHost(string, int, string) public HiNcHost(string adminDirectory, int mongodbPort, string displayEngineFontFile) Parameters adminDirectory string mongodbPort int displayEngineFontFile string The default value will be alternative if the value is null. Fields HiNcUserDbMetaName Gets the name of the HiNC user database metadata. public const string HiNcUserDbMetaName = \"UserDbMeta\" Field Value string HiNcUserDbName Gets the name of the HiNC user database. public const string HiNcUserDbName = \"HiNcUserDb\" Field Value string Properties AdminDirectory Admin absolute directory. public string AdminDirectory { get; set; } Property Value string AdminExtendedNamedPath Gets the admin extended named path. public ExtendedNamedPath AdminExtendedNamedPath { get; } Property Value ExtendedNamedPath AdminNamedPath Gets the admin named path. public NamedPath AdminNamedPath { get; } Property Value NamedPath CacheDbId Gets the cache database ID. public static string CacheDbId { get; set; } Property Value string LocalProjectService public LocalProjectService LocalProjectService { get; } Property Value LocalProjectService MachiningProject public MachiningProject MachiningProject { get; } Property Value MachiningProject MongoServer Gets the main MongoDB runner. public IMongoRunner MongoServer { get; } Property Value IMongoRunner ProjectDirectory Project Absolute Directory. public string ProjectDirectory { get; } Property Value string ProjectExtendedNamedPath Gets the project extended named path. public ExtendedNamedPath ProjectExtendedNamedPath { get; } Property Value ExtendedNamedPath ProjectNamedPath Gets the project named path. public NamedPath ProjectNamedPath { get; } Property Value NamedPath ProjectRelativeDirectory Gets the relative project directory path. public string ProjectRelativeDirectory { get; } Property Value string RelativeProjectPath public string RelativeProjectPath { get; } Property Value string ResourceDir Resource absolute directory. public string ResourceDir { get; } Property Value string ResourceExtendedNamedPath Gets the resource extended named path. public ExtendedNamedPath ResourceExtendedNamedPath { get; } Property Value ExtendedNamedPath ResourceNamedPath Gets the resource named path. public NamedPath ResourceNamedPath { get; } Property Value NamedPath ResourceRelDir Relative directory from AdminDirectory for resource. public string ResourceRelDir { get; set; } Property Value string Methods CloseProject() Closes the current project. public Task CloseProject() Returns Task A task representing the asynchronous operation CopyResourceIfNotExisted() Copies resources if they don't already exist in the target location. public void CopyResourceIfNotExisted() Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool GetExtendedNamedPathByNamePath(string) Gets an extended named path by its name path. public ExtendedNamedPath GetExtendedNamedPathByNamePath(string namePath) Parameters namePath string The name path to look up. Returns ExtendedNamedPath The extended named path for the specified name path, or null if not found. GetExtendedNamedPathByPath(string) Gets an extended named path by its path. public ExtendedNamedPath GetExtendedNamedPathByPath(string path) Parameters path string The path to look up. Returns ExtendedNamedPath The extended named path with the specified path, or null if not found. GetExtendedNamedPathByUriPara(string) GetExtendedNamedPath By blazor page parameter. public ExtendedNamedPath GetExtendedNamedPathByUriPara(string uriPara) Parameters uriPara string Returns ExtendedNamedPath GetExtendedNamedPathList(params BasePathEnum[]) Gets a list of extended named paths for the specified base path types. public List GetExtendedNamedPathList(params BasePathEnum[] basePathEnums) Parameters basePathEnums BasePathEnum[] The base path types to include. Returns List A list of extended named paths. GetNamedPathByName(string) Gets a named path by its name. public NamedPath GetNamedPathByName(string name) Parameters name string The name of the path to retrieve Returns NamedPath The named path with the specified name, or null if not found GetNamedPathByPath(string) Gets a named path by its path. public NamedPath GetNamedPathByPath(string path) Parameters path string The path to look up. Returns NamedPath The named path with the specified path, or null if not found. GetNamedPathList(params BasePathEnum[]) Gets a list of named paths for the specified base path types. public List GetNamedPathList(params BasePathEnum[] basePathEnums) Parameters basePathEnums BasePathEnum[] The base path types to include. Returns List A list of named paths. LoadProjectByRelativePath(string) Loads a project from the specified relative file path. public void LoadProjectByRelativePath(string relativeFilePathFromAdminRoot) Parameters relativeFilePathFromAdminRoot string The relative file path from the admin directory root NewProjectByRelFile(string) Creates a new project from a relative file path. public void NewProjectByRelFile(string relFilePath) Parameters relFilePath string The relative file path from the admin directory ReloadProject() Reloads the current project. public void ReloadProject() SaveAsProject(string) Saves the current project to a specified relative file path. public void SaveAsProject(string relativeFilePath) Parameters relativeFilePath string The relative file path from the admin directory root SaveProject() Save project in the current path. public void SaveProject() ShowMessageBoard(string, string, BootstrapTheme) Shows a message board with specified title, message and theme. public void ShowMessageBoard(string title, string message, BootstrapTheme bootstrapThemeColor) Parameters title string The title of the message board message string The message to display bootstrapThemeColor BootstrapTheme The bootstrap theme color for the message board Events OnShownMessageBoard Event raised when a message board is shown. public event ShowMessageBoardDelegate OnShownMessageBoard Event Type ShowMessageBoardDelegate" + "summary": "Class HiNcHost Namespace Hi.HiNcKits Assembly HiNc.dll Rich HiNC Service. Host class for HiNC functionality that provides project management, path resolution, and MongoDB integration. public class HiNcHost : IDisposable Inheritance object HiNcHost Implements IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors HiNcHost(ProxyProjectService) Initializes a new instance of the HiNcHost class with a proxy project service. public HiNcHost(ProxyProjectService proxyProjectService) Parameters proxyProjectService ProxyProjectService The proxy project service to use. HiNcHost(string, int, string) public HiNcHost(string adminDirectory, int mongodbPort, string displayEngineFontFile) Parameters adminDirectory string mongodbPort int displayEngineFontFile string The default value will be alternative if the value is null. Fields HiNcUserDbMetaName Gets the name of the HiNC user database metadata. public const string HiNcUserDbMetaName = \"UserDbMeta\" Field Value string HiNcUserDbName Gets the name of the HiNC user database. public const string HiNcUserDbName = \"HiNcUserDb\" Field Value string Properties AdminDirectory Admin absolute directory. public string AdminDirectory { get; set; } Property Value string AdminExtendedNamedPath Gets the admin extended named path. public ExtendedNamedPath AdminExtendedNamedPath { get; } Property Value ExtendedNamedPath AdminNamedPath Gets the admin named path. public NamedPath AdminNamedPath { get; } Property Value NamedPath CacheDbId Gets the cache database ID. public static string CacheDbId { get; set; } Property Value string LocalProjectService Gets the local project service from the proxy project service. public LocalProjectService LocalProjectService { get; } Property Value LocalProjectService MachiningProject Gets the machining project from the local project service. public MachiningProject MachiningProject { get; } Property Value MachiningProject MongoServer Gets the main MongoDB runner. public IMongoRunner MongoServer { get; } Property Value IMongoRunner ProjectDirectory Project Absolute Directory. public string ProjectDirectory { get; } Property Value string ProjectExtendedNamedPath Gets the project extended named path. public ExtendedNamedPath ProjectExtendedNamedPath { get; } Property Value ExtendedNamedPath ProjectNamedPath Gets the project named path. public NamedPath ProjectNamedPath { get; } Property Value NamedPath ProjectRelativeDirectory Gets the relative project directory path. public string ProjectRelativeDirectory { get; } Property Value string RelativeProjectPath Gets the relative project path from the proxy project service. public string RelativeProjectPath { get; } Property Value string ResourceDir Resource absolute directory. public string ResourceDir { get; } Property Value string ResourceExtendedNamedPath Gets the resource extended named path. public ExtendedNamedPath ResourceExtendedNamedPath { get; } Property Value ExtendedNamedPath ResourceNamedPath Gets the resource named path. public NamedPath ResourceNamedPath { get; } Property Value NamedPath ResourceRelDir Relative directory from AdminDirectory for resource. public string ResourceRelDir { get; set; } Property Value string Methods CloseProject() Closes the current project. public Task CloseProject() Returns Task A task representing the asynchronous operation CopyResourceIfNotExisted() Copies resources if they don't already exist in the target location. public void CopyResourceIfNotExisted() Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool GetExtendedNamedPathByNamePath(string) Gets an extended named path by its name path. public ExtendedNamedPath GetExtendedNamedPathByNamePath(string namePath) Parameters namePath string The name path to look up. Returns ExtendedNamedPath The extended named path for the specified name path, or null if not found. GetExtendedNamedPathByPath(string) Gets an extended named path by its path. public ExtendedNamedPath GetExtendedNamedPathByPath(string path) Parameters path string The path to look up. Returns ExtendedNamedPath The extended named path with the specified path, or null if not found. GetExtendedNamedPathByUriPara(string) GetExtendedNamedPath By blazor page parameter. public ExtendedNamedPath GetExtendedNamedPathByUriPara(string uriPara) Parameters uriPara string Returns ExtendedNamedPath GetExtendedNamedPathList(params BasePathEnum[]) Gets a list of extended named paths for the specified base path types. public List GetExtendedNamedPathList(params BasePathEnum[] basePathEnums) Parameters basePathEnums BasePathEnum[] The base path types to include. Returns List A list of extended named paths. GetNamedPathByName(string) Gets a named path by its name. public NamedPath GetNamedPathByName(string name) Parameters name string The name of the path to retrieve Returns NamedPath The named path with the specified name, or null if not found GetNamedPathByPath(string) Gets a named path by its path. public NamedPath GetNamedPathByPath(string path) Parameters path string The path to look up. Returns NamedPath The named path with the specified path, or null if not found. GetNamedPathList(params BasePathEnum[]) Gets a list of named paths for the specified base path types. public List GetNamedPathList(params BasePathEnum[] basePathEnums) Parameters basePathEnums BasePathEnum[] The base path types to include. Returns List A list of named paths. LoadProjectByRelativePath(string) Loads a project from the specified relative file path. public void LoadProjectByRelativePath(string relativeFilePathFromAdminRoot) Parameters relativeFilePathFromAdminRoot string The relative file path from the admin directory root NewProjectByRelFile(string) Creates a new project from a relative file path. public void NewProjectByRelFile(string relFilePath) Parameters relFilePath string The relative file path from the admin directory ReloadProject() Reloads the current project. public void ReloadProject() SaveAsProject(string) Saves the current project to a specified relative file path. public void SaveAsProject(string relativeFilePath) Parameters relativeFilePath string The relative file path from the admin directory root SaveProject() Save project in the current path. public void SaveProject() ShowMessageBoard(string, string, BootstrapTheme) Shows a message board with specified title, message and theme. public void ShowMessageBoard(string title, string message, BootstrapTheme bootstrapThemeColor) Parameters title string The title of the message board message string The message to display bootstrapThemeColor BootstrapTheme The bootstrap theme color for the message board Events OnShownMessageBoard Event raised when a message board is shown. public event ShowMessageBoardDelegate OnShownMessageBoard Event Type ShowMessageBoardDelegate" }, "api/Hi.HiNcKits.LocalApp.html": { "href": "api/Hi.HiNcKits.LocalApp.html", "title": "Class LocalApp | HiAPI-C# 2025", - "summary": "Class LocalApp Namespace Hi.HiNcKits Assembly HiNc.dll Local application initialization and cleanup utilities. public static class LocalApp Inheritance object LocalApp Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields DefaultLocalAppConfigPath Path to the configuration file. public const string DefaultLocalAppConfigPath = \"hinc-host-config.xml\" Field Value string Properties LocalAppConfig Gets or sets the host configuration. public static LocalAppConfig LocalAppConfig { get; set; } Property Value LocalAppConfig Methods AppBegin(LocalAppConfig) public static void AppBegin(LocalAppConfig localAppConfig) Parameters localAppConfig LocalAppConfig AppBegin(int, string) public static void AppBegin(int dbPort, string cacheDbPath) Parameters dbPort int cacheDbPath string AppBegin(string) public static void AppBegin(string hostConfigPath = null) Parameters hostConfigPath string AppEnd() Cleans up the application by stopping services and logging out licenses. public static void AppEnd()" + "summary": "Class LocalApp Namespace Hi.HiNcKits Assembly HiNc.dll Local application initialization and cleanup utilities. public static class LocalApp Inheritance object LocalApp Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields DefaultLocalAppConfigPath Path to the configuration file. public const string DefaultLocalAppConfigPath = \"hinc-host-config.xml\" Field Value string Properties LocalAppConfig Gets or sets the host configuration. public static LocalAppConfig LocalAppConfig { get; set; } Property Value LocalAppConfig Methods AppBegin(LocalAppConfig) Initializes the application with the specified configuration. public static void AppBegin(LocalAppConfig localAppConfig) Parameters localAppConfig LocalAppConfig The local application configuration. AppBegin(int, string) Initializes the application with the specified database port and cache path. public static void AppBegin(int dbPort, string cacheDbPath) Parameters dbPort int The MongoDB port number. cacheDbPath string The path to the cache database. AppBegin(string) Initializes the application with configuration from a file. public static void AppBegin(string hostConfigPath = null) Parameters hostConfigPath string Path to the host configuration file. Uses default path if null. AppEnd() Cleans up the application by stopping services and logging out licenses. public static void AppEnd()" }, "api/Hi.HiNcKits.LocalAppConfig.html": { "href": "api/Hi.HiNcKits.LocalAppConfig.html", @@ -1887,7 +1887,7 @@ "api/Hi.MachiningProcs.LocalProjectService.html": { "href": "api/Hi.MachiningProcs.LocalProjectService.html", "title": "Class LocalProjectService | HiAPI-C# 2025", - "summary": "Class LocalProjectService Namespace Hi.MachiningProcs Assembly HiNc.dll Root(Local) project service. Apply absolute file path. public class LocalProjectService : IProjectService, IMachiningProjectGetter, IMachiningStepHost, IGetMachiningEquipment, IDisposable Inheritance object LocalProjectService Implements IProjectService IMachiningProjectGetter IMachiningStepHost IGetMachiningEquipment IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Remarks LocalProjectService handles the runtime data and cache generally not requires configuration IO. Compare to MachiningProject, LocalProjectService also handles events that does not reset on the MachiningProject been reloaded. Constructors LocalProjectService() Ctor. public LocalProjectService() LocalProjectService(UserService, ILogger) Initializes a new instance. public LocalProjectService(UserService userService, ILogger logger) Parameters userService UserService The application service. logger ILogger The logger instance. Properties BoundSelectorHost Gets the bound selector host for managing selection boundaries. public BoundSelectorHost BoundSelectorHost { get; } Property Value BoundSelectorHost ClStrip Gets the cutter location strip containing the machining steps. public ClStrip ClStrip { get; } Property Value ClStrip CoordinateEntryDisplayee Gets the displayee for coordinate entry visualization. public CoordinateEntryDisplayee CoordinateEntryDisplayee { get; } Property Value CoordinateEntryDisplayee DictionaryColorGuide Gets the color guide for dictionary-based coloring. public DictionaryColorGuide DictionaryColorGuide { get; } Property Value DictionaryColorGuide EnableCollisionDetection Gets or sets whether collision detection is enabled. When set to true, initializes collision detection mechanism. public bool EnableCollisionDetection { get; set; } Property Value bool EnablePauseOnFailure public bool EnablePauseOnFailure { get; set; } Property Value bool EnableStrokeLimitCheck public bool EnableStrokeLimitCheck { get; set; } Property Value bool Fixture Gets or sets the fixture. public Fixture Fixture { get; set; } Property Value Fixture Global global variable for RuntimeApi. Not save on XML. public Dictionary Global { get; set; } Property Value Dictionary InspectingKey Gets or sets the current inspecting key for visualization. When set, updates the inspecting quantity function. public string InspectingKey { get; set; } Property Value string InspectingQuantityFunc Gets the function that retrieves the quantity value for the current inspecting key. public Func InspectingQuantityFunc { get; } Property Value Func Logger Gets the logger instance for this service. public ILogger Logger { get; } Property Value ILogger MachiningActRunner Gets the machining act runner responsible for executing machining operations. public MachiningActRunner MachiningActRunner { get; } Property Value MachiningActRunner MachiningChain Gets or sets the machining chain. public IMachiningChain MachiningChain { get; set; } Property Value IMachiningChain MachiningChainFile Gets or sets the file path of the solid machining chain. This is used for XML serialization and file management. public string MachiningChainFile { get; set; } Property Value string MachiningEquipment Gets or sets the machining equipment used for milling. Updates related components when changed. public MachiningEquipment MachiningEquipment { get; set; } Property Value MachiningEquipment MachiningProject Gets or sets the machining project instance. public MachiningProject MachiningProject { get; set; } Property Value MachiningProject MachiningProjectPath public string MachiningProjectPath { get; set; } Property Value string MachiningSession Gets the current machining session. public MachiningSession MachiningSession { get; set; } Property Value MachiningSession MachiningTool Gets or sets the machining tool. public IMachiningTool MachiningTool { get; set; } Property Value IMachiningTool MachiningToolHouse public MachiningToolHouse MachiningToolHouse { get; set; } Property Value MachiningToolHouse MachiningToolHouseFile Gets or sets the file path to the milling tool house configuration. public string MachiningToolHouseFile { get; set; } Property Value string MillingStepLuggageReader Gets the reader for accessing milling step luggage data. public ParallelBulkReader MillingStepLuggageReader { get; } Property Value ParallelBulkReader NcOptProc Gets the NC optimization processor for optimizing NC programs. public NcOptProc NcOptProc { get; } Property Value NcOptProc NcRunner Gets the NC runner responsible for executing NC programs. public NcRunner NcRunner { get; } Property Value NcRunner PacePlayer Gets the pace player for controlling execution pace of milling operations. public PacePlayer PacePlayer { get; } Property Value PacePlayer Progress Gets the progress reporting mechanism for long-running operations. public Progress Progress { get; } Property Value Progress ProjectDirectory Gets the directory containing the machining project. public string ProjectDirectory { get; } Property Value string RuntimeApi Gets the shell API for interacting with this machining process. public RuntimeApi RuntimeApi { get; } Property Value RuntimeApi SessionMessageHost Gets the message host for displaying messages, warnings, and errors. public SessionMessageHost SessionMessageHost { get; } Property Value SessionMessageHost StepPropertyAccessDictionary Gets the dictionary mapping property keys to their access methods. public ConcurrentDictionary> StepPropertyAccessDictionary { get; } Property Value ConcurrentDictionary> TimeMapping Gets or sets the time mapping for synchronizing different time-based data streams. public TimeMapping TimeMapping { get; set; } Property Value TimeMapping UserService Gets the application service instance. public UserService UserService { get; } Property Value UserService Workpiece Gets or sets the workpiece to be machined. Ensures proper initialization of workpiece properties. public Workpiece Workpiece { get; set; } Property Value Workpiece Methods Act(IAct, IIndexedFileLine, CancellationToken?) Executes an act and collects all results. public void Act(IAct act, IIndexedFileLine sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct The act to execute. sourceCommand IIndexedFileLine The source command that triggered the act. cancellationToken CancellationToken? Cancellation token to cancel the operation. BeginSession() Initiate a simulation session. Clear the state from previous session (if existed). public void BeginSession() CloseProject() Closes the current project. public void CloseProject() Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool EndSession() Ends the current machining session and releases associated resources. public void EndSession() GetInspectingKeyPresentName(StringLocalizer) Gets the localized presentation name for the current inspecting key. public string GetInspectingKeyPresentName(StringLocalizer stringLocalizer) Parameters stringLocalizer StringLocalizer The string localizer to use for localization Returns string The localized presentation name GetLocalProjectService() Get Local Project Service as base-service. public LocalProjectService GetLocalProjectService() Returns LocalProjectService Local Project Service GetMachiningProject() Gets the MachiningProject instance. public MachiningProject GetMachiningProject() Returns MachiningProject The MachiningProject instance. GetMillingEquipment() Get MachiningEquipment. public MachiningEquipment GetMillingEquipment() Returns MachiningEquipment MachiningEquipment LoadProject(string) Loads a project by file path relative to the admin directory. public void LoadProject(string projectPath) Parameters projectPath string The absolute file path NewProject(string) Creates a new project by file path. public void NewProject(string projectPath) Parameters projectPath string The absolute file path PlayCsvFile(string, string) Plays a CSV file from the specified path. public void PlayCsvFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths. relFilePath string Relative path to the CSV file. PlayNc(string, string) Plays NC commands from raw text with pace control. public void PlayNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string The NC command text to execute fileNameAlternative string Alternative name to associate with the NC program PlayNcFile(string, string) Plays an NC file from the specified path with pace control. public void PlayNcFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths relFilePath string Relative path to the NC file ProcAct(IAct, IIndexedFileLine, CancellationToken?) Processes an act and returns the results. public IEnumerable ProcAct(IAct act, IIndexedFileLine sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct The act to process. sourceCommand IIndexedFileLine The source command that triggered the act. cancellationToken CancellationToken? Cancellation token to cancel the operation. Returns IEnumerable Enumerable of results from processing the act. ReTrainMillingPara(SampleFlag, double, string, CancellationToken) Train Milling Parameter. public void ReTrainMillingPara(SampleFlag sampleFlags, double outlierRatio, string dstRelFile, CancellationToken cancellationToken) Parameters sampleFlags SampleFlag outlierRatio double dstRelFile string cancellationToken CancellationToken RefreshDrawing() Refreshes the visual display of the milling course. public void RefreshDrawing() ReloadProject() Reloads the current project. public void ReloadProject() ResetRuntime() Reset the runtime states including: runtime geometry, collision flags, machine tool position, CL strips, message buffer and etc.. public void ResetRuntime() RunCsvFile(string, string) Runs a CSV file from the specified path. public IEnumerable RunCsvFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths. relFilePath string Relative path to the CSV file. Returns IEnumerable An enumerable of actions to be executed. RunNc(string, string) Runs NC commands from raw text. public IEnumerable RunNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string The NC command text to execute fileNameAlternative string Alternative name to associate with the NC program Returns IEnumerable An enumerable of actions to be executed RunNcFile(string, string) Runs an NC file from the specified path. public IEnumerable RunNcFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths. If the value is null, BaseDirectory substitutes the value. relFilePath string Relative path to the NC file. Returns IEnumerable An enumerable of actions to be executed. SaveAsProject(string) Saves the current project to a specified relative file path. public void SaveAsProject(string projectPath) Parameters projectPath string The absolute file path SaveProject() Save project by project path. public void SaveProject() TrainMillingPara(SampleFlag, bool, double, string, CancellationToken, ICuttingPara) Train Milling Parameter. public void TrainMillingPara(SampleFlag sampleFlags, bool enableFzOnlyDuringDrilling, double outlierRatio, string dstRelFile, CancellationToken cancellationToken, ICuttingPara paraTemplate) Parameters sampleFlags SampleFlag enableFzOnlyDuringDrilling bool outlierRatio double dstRelFile string cancellationToken CancellationToken paraTemplate ICuttingPara UpdateByMachiningChain() Updates components when the machining chain changes. public void UpdateByMachiningChain() UpdateByMachiningEquipment() Call on MachiningEquipment Or MachiningChainChanged. i.e. Update By MachiningEquipment Or MachiningChain. The function is called on MachiningEquipment and its delegate property changed. If the changing is raised outer from THIS service, this updating function should be manual called. public void UpdateByMachiningEquipment() UpdateIdealMillingToolOffsetTableByToolHouse() Updates the ideal milling tool offset table based on the current tool house configuration. public void UpdateIdealMillingToolOffsetTableByToolHouse() WriteShotFile(TimeSpan, string) Writes time-based shot data to a file with the specified sampling period. public void WriteShotFile(TimeSpan samplingPeriod, string relFileTemplate = \"Output/[NcName].shot.csv\") Parameters samplingPeriod TimeSpan The time period between samples relFileTemplate string Template for the output file path, can include [NcName] placeholder WriteStepFile(string) Writes step-based data to a file. public void WriteStepFile(string relFileTemplate = \"Output/[NcName].step.csv\") Parameters relFileTemplate string Template for the output file path, can include [NcName] placeholder Events MachiningProjectChanged Event raised when the machining project changes. public event LocalProjectService.MachiningProjectChangedDelegate MachiningProjectChanged Event Type LocalProjectService.MachiningProjectChangedDelegate MachiningStepBuilt event to configure steps. The first parameter is the previous step; the second parameter is the current step. The previous step is null if no previous step exists. public event MachiningActRunner.MachiningStepBuiltDelegate MachiningStepBuilt Event Type MachiningActRunner.MachiningStepBuiltDelegate OnRanNcBlock Event triggered after an NC block is executed. public event Action OnRanNcBlock Event Type Action OnUpdatedInspectingQuantityFunc Event triggered when the inspecting quantity function is updated. public event Action OnUpdatedInspectingQuantityFunc Event Type Action WorkpieceChanged Event that is raised when the workpiece is changed. public event Action> WorkpieceChanged Event Type Action> Remarks This event is triggered whenever the workpiece property is modified. Subscribers can use this event to respond to changes in the workpiece configuration, such as updating visualizations or recalculating machining parameters. The event provides both the previous and new workpiece values through a SeqPair." + "summary": "Class LocalProjectService Namespace Hi.MachiningProcs Assembly HiNc.dll Root(Local) project service. Apply absolute file path. public class LocalProjectService : IProjectService, IMachiningProjectGetter, IMachiningStepHost, IGetMachiningEquipment, IDisposable Inheritance object LocalProjectService Implements IProjectService IMachiningProjectGetter IMachiningStepHost IGetMachiningEquipment IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Remarks LocalProjectService handles the runtime data and cache generally not requires configuration IO. Compare to MachiningProject, LocalProjectService also handles events that does not reset on the MachiningProject been reloaded. Constructors LocalProjectService() Ctor. public LocalProjectService() LocalProjectService(UserService, ILogger) Initializes a new instance. public LocalProjectService(UserService userService, ILogger logger) Parameters userService UserService The application service. logger ILogger The logger instance. Properties BoundSelectorHost Gets the bound selector host for managing selection boundaries. public BoundSelectorHost BoundSelectorHost { get; } Property Value BoundSelectorHost ClStrip Gets the cutter location strip containing the machining steps. public ClStrip ClStrip { get; } Property Value ClStrip CoordinateEntryDisplayee Gets the displayee for coordinate entry visualization. public CoordinateEntryDisplayee CoordinateEntryDisplayee { get; } Property Value CoordinateEntryDisplayee DictionaryColorGuide Gets the color guide for dictionary-based coloring. public DictionaryColorGuide DictionaryColorGuide { get; } Property Value DictionaryColorGuide EnableCollisionDetection Gets or sets whether collision detection is enabled. When set to true, initializes collision detection mechanism. public bool EnableCollisionDetection { get; set; } Property Value bool EnablePauseOnFailure Gets or sets whether to pause execution on failure. public bool EnablePauseOnFailure { get; set; } Property Value bool EnableStrokeLimitCheck Gets or sets whether stroke limit checking is enabled. public bool EnableStrokeLimitCheck { get; set; } Property Value bool Fixture Gets or sets the fixture. public Fixture Fixture { get; set; } Property Value Fixture Global global variable for RuntimeApi. Not save on XML. public Dictionary Global { get; set; } Property Value Dictionary InspectingKey Gets or sets the current inspecting key for visualization. When set, updates the inspecting quantity function. public string InspectingKey { get; set; } Property Value string InspectingQuantityFunc Gets the function that retrieves the quantity value for the current inspecting key. public Func InspectingQuantityFunc { get; } Property Value Func Logger Gets the logger instance for this service. public ILogger Logger { get; } Property Value ILogger MachiningActRunner Gets the machining act runner responsible for executing machining operations. public MachiningActRunner MachiningActRunner { get; } Property Value MachiningActRunner MachiningChain Gets or sets the machining chain. public IMachiningChain MachiningChain { get; set; } Property Value IMachiningChain MachiningChainFile Gets or sets the file path of the solid machining chain. This is used for XML serialization and file management. public string MachiningChainFile { get; set; } Property Value string MachiningEquipment Gets or sets the machining equipment used for milling. Updates related components when changed. public MachiningEquipment MachiningEquipment { get; set; } Property Value MachiningEquipment MachiningProject Gets or sets the machining project instance. public MachiningProject MachiningProject { get; set; } Property Value MachiningProject MachiningProjectPath public string MachiningProjectPath { get; set; } Property Value string MachiningSession Gets the current machining session. public MachiningSession MachiningSession { get; set; } Property Value MachiningSession MachiningTool Gets or sets the machining tool. public IMachiningTool MachiningTool { get; set; } Property Value IMachiningTool MachiningToolHouse Gets or sets the machining tool house containing tool configurations. public MachiningToolHouse MachiningToolHouse { get; set; } Property Value MachiningToolHouse MachiningToolHouseFile Gets or sets the file path to the milling tool house configuration. public string MachiningToolHouseFile { get; set; } Property Value string MillingStepLuggageReader Gets the reader for accessing milling step luggage data. public ParallelBulkReader MillingStepLuggageReader { get; } Property Value ParallelBulkReader NcOptProc Gets the NC optimization processor for optimizing NC programs. public NcOptProc NcOptProc { get; } Property Value NcOptProc NcRunner Gets the NC runner responsible for executing NC programs. public NcRunner NcRunner { get; } Property Value NcRunner PacePlayer Gets the pace player for controlling execution pace of milling operations. public PacePlayer PacePlayer { get; } Property Value PacePlayer Progress Gets the progress reporting mechanism for long-running operations. public Progress Progress { get; } Property Value Progress ProjectDirectory Gets the directory containing the machining project. public string ProjectDirectory { get; } Property Value string RuntimeApi Gets the shell API for interacting with this machining process. public RuntimeApi RuntimeApi { get; } Property Value RuntimeApi SessionMessageHost Gets the message host for displaying messages, warnings, and errors. public SessionMessageHost SessionMessageHost { get; } Property Value SessionMessageHost StepPropertyAccessDictionary Gets the dictionary mapping property keys to their access methods. public ConcurrentDictionary> StepPropertyAccessDictionary { get; } Property Value ConcurrentDictionary> TimeMapping Gets or sets the time mapping for synchronizing different time-based data streams. public TimeMapping TimeMapping { get; set; } Property Value TimeMapping UserService Gets the application service instance. public UserService UserService { get; } Property Value UserService Workpiece Gets or sets the workpiece to be machined. Ensures proper initialization of workpiece properties. public Workpiece Workpiece { get; set; } Property Value Workpiece Methods Act(IAct, IIndexedFileLine, CancellationToken?) Executes an act and collects all results. public void Act(IAct act, IIndexedFileLine sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct The act to execute. sourceCommand IIndexedFileLine The source command that triggered the act. cancellationToken CancellationToken? Cancellation token to cancel the operation. BeginSession() Initiate a simulation session. Clear the state from previous session (if existed). public void BeginSession() CloseProject() Closes the current project. public void CloseProject() Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool EndSession() Ends the current machining session and releases associated resources. public void EndSession() GetInspectingKeyPresentName(StringLocalizer) Gets the localized presentation name for the current inspecting key. public string GetInspectingKeyPresentName(StringLocalizer stringLocalizer) Parameters stringLocalizer StringLocalizer The string localizer to use for localization Returns string The localized presentation name GetLocalProjectService() Get Local Project Service as base-service. public LocalProjectService GetLocalProjectService() Returns LocalProjectService Local Project Service GetMachiningProject() Gets the MachiningProject instance. public MachiningProject GetMachiningProject() Returns MachiningProject The MachiningProject instance. GetMillingEquipment() Get MachiningEquipment. public MachiningEquipment GetMillingEquipment() Returns MachiningEquipment MachiningEquipment LoadProject(string) Loads a project by file path relative to the admin directory. public void LoadProject(string projectPath) Parameters projectPath string The absolute file path NewProject(string) Creates a new project by file path. public void NewProject(string projectPath) Parameters projectPath string The absolute file path PlayCsvFile(string, string) Plays a CSV file from the specified path. public void PlayCsvFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths. relFilePath string Relative path to the CSV file. PlayNc(string, string) Plays NC commands from raw text with pace control. public void PlayNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string The NC command text to execute fileNameAlternative string Alternative name to associate with the NC program PlayNcFile(string, string) Plays an NC file from the specified path with pace control. public void PlayNcFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths relFilePath string Relative path to the NC file ProcAct(IAct, IIndexedFileLine, CancellationToken?) Processes an act and returns the results. public IEnumerable ProcAct(IAct act, IIndexedFileLine sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct The act to process. sourceCommand IIndexedFileLine The source command that triggered the act. cancellationToken CancellationToken? Cancellation token to cancel the operation. Returns IEnumerable Enumerable of results from processing the act. ReTrainMillingPara(SampleFlag, double, string, CancellationToken) Train Milling Parameter. public void ReTrainMillingPara(SampleFlag sampleFlags, double outlierRatio, string dstRelFile, CancellationToken cancellationToken) Parameters sampleFlags SampleFlag outlierRatio double dstRelFile string cancellationToken CancellationToken RefreshDrawing() Refreshes the visual display of the milling course. public void RefreshDrawing() ReloadProject() Reloads the current project. public void ReloadProject() ResetRuntime() Reset the runtime states including: runtime geometry, collision flags, machine tool position, CL strips, message buffer and etc.. public void ResetRuntime() RunCsvFile(string, string) Runs a CSV file from the specified path. public IEnumerable RunCsvFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths. relFilePath string Relative path to the CSV file. Returns IEnumerable An enumerable of actions to be executed. RunNc(string, string) Runs NC commands from raw text. public IEnumerable RunNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string The NC command text to execute fileNameAlternative string Alternative name to associate with the NC program Returns IEnumerable An enumerable of actions to be executed RunNcFile(string, string) Runs an NC file from the specified path. public IEnumerable RunNcFile(string baseDirectory, string relFilePath) Parameters baseDirectory string Base directory for resolving relative paths. If the value is null, BaseDirectory substitutes the value. relFilePath string Relative path to the NC file. Returns IEnumerable An enumerable of actions to be executed. SaveAsProject(string) Saves the current project to a specified relative file path. public void SaveAsProject(string projectPath) Parameters projectPath string The absolute file path SaveProject() Save project by project path. public void SaveProject() TrainMillingPara(SampleFlag, bool, double, string, CancellationToken, ICuttingPara) Train Milling Parameter. public void TrainMillingPara(SampleFlag sampleFlags, bool enableFzOnlyDuringDrilling, double outlierRatio, string dstRelFile, CancellationToken cancellationToken, ICuttingPara paraTemplate) Parameters sampleFlags SampleFlag enableFzOnlyDuringDrilling bool outlierRatio double dstRelFile string cancellationToken CancellationToken paraTemplate ICuttingPara UpdateByMachiningChain() Updates components when the machining chain changes. public void UpdateByMachiningChain() UpdateByMachiningEquipment() Call on MachiningEquipment Or MachiningChainChanged. i.e. Update By MachiningEquipment Or MachiningChain. The function is called on MachiningEquipment and its delegate property changed. If the changing is raised outer from THIS service, this updating function should be manual called. public void UpdateByMachiningEquipment() UpdateIdealMillingToolOffsetTableByToolHouse() Updates the ideal milling tool offset table based on the current tool house configuration. public void UpdateIdealMillingToolOffsetTableByToolHouse() WriteShotFile(TimeSpan, string) Writes time-based shot data to a file with the specified sampling period. public void WriteShotFile(TimeSpan samplingPeriod, string relFileTemplate = \"Output/[NcName].shot.csv\") Parameters samplingPeriod TimeSpan The time period between samples relFileTemplate string Template for the output file path, can include [NcName] placeholder WriteStepFile(string) Writes step-based data to a file. public void WriteStepFile(string relFileTemplate = \"Output/[NcName].step.csv\") Parameters relFileTemplate string Template for the output file path, can include [NcName] placeholder Events MachiningProjectChanged Event raised when the machining project changes. public event LocalProjectService.MachiningProjectChangedDelegate MachiningProjectChanged Event Type LocalProjectService.MachiningProjectChangedDelegate MachiningStepBuilt event to configure steps. The first parameter is the previous step; the second parameter is the current step. The previous step is null if no previous step exists. public event MachiningActRunner.MachiningStepBuiltDelegate MachiningStepBuilt Event Type MachiningActRunner.MachiningStepBuiltDelegate OnRanNcBlock Event triggered after an NC block is executed. public event Action OnRanNcBlock Event Type Action OnUpdatedInspectingQuantityFunc Event triggered when the inspecting quantity function is updated. public event Action OnUpdatedInspectingQuantityFunc Event Type Action WorkpieceChanged Event that is raised when the workpiece is changed. public event Action> WorkpieceChanged Event Type Action> Remarks This event is triggered whenever the workpiece property is modified. Subscribers can use this event to respond to changes in the workpiece configuration, such as updating visualizations or recalculating machining parameters. The event provides both the previous and new workpiece values through a SeqPair." }, "api/Hi.MachiningProcs.MachiningActRunner.MachiningStepBuiltDelegate.html": { "href": "api/Hi.MachiningProcs.MachiningActRunner.MachiningStepBuiltDelegate.html", @@ -1922,7 +1922,7 @@ "api/Hi.MachiningProcs.MachiningProject.html": { "href": "api/Hi.MachiningProcs.MachiningProject.html", "title": "Class MachiningProject | HiAPI-C# 2025", - "summary": "Class MachiningProject Namespace Hi.MachiningProcs Assembly HiNc.dll Represents a milling project that manages the execution, simulation, and analysis of NC programs. public class MachiningProject : IDisposable, IMakeXmlSource, IMachiningProjectGetter Inheritance object MachiningProject Implements IDisposable IMakeXmlSource IMachiningProjectGetter Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningProject(string) Initializes a new instance with the specified directory. public MachiningProject(string baseDirectory) Parameters baseDirectory string Base directory for file operations MachiningProject(XElement, string) Initializes a new instance from XML data. public MachiningProject(XElement src, string baseDirectory) Parameters src XElement XML element containing configuration data baseDirectory string Base directory for resolving relative paths Properties ApiVersion Gets the API version from the entry assembly. public static Version ApiVersion { get; } Property Value Version BaseDirectory Gets the base directory where project files are located. public string BaseDirectory { get; } Property Value string DictionaryColorGuide public DictionaryColorGuide DictionaryColorGuide { get; } Property Value DictionaryColorGuide MachiningActRunnerConfig Gets or sets the configuration for the milling act runner. public MachiningActRunnerConfig MachiningActRunnerConfig { get; set; } Property Value MachiningActRunnerConfig MachiningToolHouse public MachiningToolHouse MachiningToolHouse { get; set; } Property Value MachiningToolHouse MachiningToolHouseFile Gets or sets the file path to the milling tool house configuration. public string MachiningToolHouseFile { get; set; } Property Value string MillingGuide Gets or sets the milling guide containing visualization and analysis configurations. public MillingGuide MillingGuide { get; set; } Property Value MillingGuide NcEnv public NcEnv NcEnv { get; set; } Property Value NcEnv PlayerCommand Gets the command to execute when playing the machining project. public IShellCommand PlayerCommand { get; set; } Property Value IShellCommand TimeMapping Gets or sets the time mapping for synchronizing different time-based data streams. public TimeMapping TimeMapping { get; set; } Property Value TimeMapping XName Name for XML IO. public static string XName { get; } Property Value string Methods Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool GetMachiningProject() Gets the MachiningProject instance. public MachiningProject GetMachiningProject() Returns MachiningProject The MachiningProject instance. GetMillingEquipment() public MachiningEquipment GetMillingEquipment() Returns MachiningEquipment LoadFile(string) Loads a machining project from the specified file path. public static MachiningProject LoadFile(string projectFilePath) Parameters projectFilePath string Path to the project file to load Returns MachiningProject A new machining project instance loaded from the file MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." + "summary": "Class MachiningProject Namespace Hi.MachiningProcs Assembly HiNc.dll Represents a milling project that manages the execution, simulation, and analysis of NC programs. public class MachiningProject : IDisposable, IMakeXmlSource, IMachiningProjectGetter Inheritance object MachiningProject Implements IDisposable IMakeXmlSource IMachiningProjectGetter Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningProject(string) Initializes a new instance with the specified directory. public MachiningProject(string baseDirectory) Parameters baseDirectory string Base directory for file operations MachiningProject(XElement, string) Initializes a new instance from XML data. public MachiningProject(XElement src, string baseDirectory) Parameters src XElement XML element containing configuration data baseDirectory string Base directory for resolving relative paths Properties ApiVersion Gets the API version from the entry assembly. public static Version ApiVersion { get; } Property Value Version BaseDirectory Gets the base directory where project files are located. public string BaseDirectory { get; } Property Value string DictionaryColorGuide public DictionaryColorGuide DictionaryColorGuide { get; } Property Value DictionaryColorGuide MachiningActRunnerConfig Gets or sets the configuration for the milling act runner. public MachiningActRunnerConfig MachiningActRunnerConfig { get; set; } Property Value MachiningActRunnerConfig MachiningToolHouse Gets or sets the machining tool house containing tool configurations. public MachiningToolHouse MachiningToolHouse { get; set; } Property Value MachiningToolHouse MachiningToolHouseFile Gets or sets the file path to the milling tool house configuration. public string MachiningToolHouseFile { get; set; } Property Value string MillingGuide Gets or sets the milling guide containing visualization and analysis configurations. public MillingGuide MillingGuide { get; set; } Property Value MillingGuide NcEnv Gets or sets the NC environment settings. public NcEnv NcEnv { get; set; } Property Value NcEnv PlayerCommand Gets the command to execute when playing the machining project. public IShellCommand PlayerCommand { get; set; } Property Value IShellCommand TimeMapping Gets or sets the time mapping for synchronizing different time-based data streams. public TimeMapping TimeMapping { get; set; } Property Value TimeMapping XName Name for XML IO. public static string XName { get; } Property Value string Methods Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool GetMachiningProject() Gets the MachiningProject instance. public MachiningProject GetMachiningProject() Returns MachiningProject The MachiningProject instance. GetMillingEquipment() public MachiningEquipment GetMillingEquipment() Returns MachiningEquipment LoadFile(string) Loads a machining project from the specified file path. public static MachiningProject LoadFile(string projectFilePath) Parameters projectFilePath string Path to the project file to load Returns MachiningProject A new machining project instance loaded from the file MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file." }, "api/Hi.MachiningProcs.MachiningProjectDisplayee.html": { "href": "api/Hi.MachiningProcs.MachiningProjectDisplayee.html", @@ -1952,7 +1952,7 @@ "api/Hi.MachiningProcs.RuntimeApi.html": { "href": "api/Hi.MachiningProcs.RuntimeApi.html", "title": "Class RuntimeApi | HiAPI-C# 2025", - "summary": "Class RuntimeApi Namespace Hi.MachiningProcs Assembly HiNc.dll Runtime API for machining operations. public class RuntimeApi : ICsScriptApi Inheritance object RuntimeApi Implements ICsScriptApi Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Properties DefaultParaTemplateDimension Gets or sets the parameter template dimension (2D or 3D). [JsAce] public int DefaultParaTemplateDimension { get; set; } Property Value int DiffVisualRadius_mm Gets or sets the visual radius in millimeters for difference visualization. Controls the radius used for highlighting differences between workpiece states. [JsAce] public double DiffVisualRadius_mm { get; set; } Property Value double DispCacheMb Gets or sets the display cache size in megabytes. public long DispCacheMb { get; set; } Property Value long DispCache_Mb Gets or sets the display cache size in megabytes. [JsAce] public long DispCache_Mb { get; set; } Property Value long EmbeddedLogMode Gets or sets the embedded log mode for NC optimization. [JsAce] public static NcOptimizationEmbeddedLogMode EmbeddedLogMode { get; set; } Property Value NcOptimizationEmbeddedLogMode EnableAutoMapOnSelectionEnd Gets or sets whether to automatically map selections when they end. [JsAce] public bool EnableAutoMapOnSelectionEnd { get; set; } Property Value bool EnableCollisionDetection Gets or sets whether collision detection is enabled. [JsAce(DocContentHtml = \"Enable Collision Detection.\")] public bool EnableCollisionDetection { get; set; } Property Value bool EnableIndividualStepAdjustmentLog Gets or sets whether to enable individual step adjustment logging. [JsAce] public static bool EnableIndividualStepAdjustmentLog { get; set; } Property Value bool EnablePauseOnCollision Gets or sets whether to pause execution when a collision is detected. This property only has an effect if collision detection is enabled. [Obsolete] public bool EnablePauseOnCollision { get; set; } Property Value bool EnablePauseOnFailure Gets or sets whether to pause on failure during execution. [JsAce(DocContentHtml = \"Enable Pause On Failure.\")] public bool EnablePauseOnFailure { get; set; } Property Value bool EnablePhysics Gets or sets whether milling force evaluation is enabled. [JsAce(DocContentHtml = \"Enable milling force evaluation.\")] public bool EnablePhysics { get; set; } Property Value bool EnableWearEffect Gets or sets whether tool wear effects are enabled in simulation. [JsAce] public bool EnableWearEffect { get; set; } Property Value bool FeedPerCycle Gets a new feed per cycle machining motion resolution instance. [JsAce] public FeedPerCycleMachiningMotionResolution FeedPerCycle { get; } Property Value FeedPerCycleMachiningMotionResolution FeedPerTooth Gets a new feed per tooth machining motion resolution instance. [JsAce] public FeedPerToothMachiningMotionResolution FeedPerTooth { get; } Property Value FeedPerToothMachiningMotionResolution Fixture Gets or sets the fixture. [JsAce] public Fixture Fixture { get; set; } Property Value Fixture Global Global variables. [JsAce(\"Global[$1key]\")] public Dictionary Global { get; } Property Value Dictionary InitSpindleTemperature_C Gets or sets the initial spindle temperature in degrees Celsius. [JsAce(DocContentHtml = \"Spindle Temperature on initialization.\")] public double InitSpindleTemperature_C { get; set; } Property Value double JsAceCompletionProfileJsonArray Internal used. public static JsonArray JsAceCompletionProfileJsonArray { get; } Property Value JsonArray MachiningMotionResolution Gets or sets the machining motion resolution. [JsAce] public IMachiningMotionResolution MachiningMotionResolution { get; set; } Property Value IMachiningMotionResolution MachiningResolution Gets or sets the machining resolution in millimeters. For legacy compatable. [JsAce] [Obsolete(\"Use MachiningResolution_mm instead.\")] public double MachiningResolution { get; set; } Property Value double MachiningResolution_mm Gets or sets the machining resolution in millimeters. [JsAce] public double MachiningResolution_mm { get; set; } Property Value double MachiningSession public MachiningSession MachiningSession { get; } Property Value MachiningSession MapTask Task tracking the status of mapping operations. public Task MapTask { get; set; } Property Value Task MillingCycleDivisionNum Gets or sets the number of divisions per cycle for milling force calculation. This property should be set before milling force evaluation if TrainMillingPara(SampleFlag, string, double, ICuttingPara) is intended to be used. [JsAce] public static int MillingCycleDivisionNum { get; set; } Property Value int MillingForceCycleDivisionNum Gets or sets the number of divisions per cycle for milling force calculation. This property should be set before milling force evaluation if TrainMillingPara(SampleFlag, string, double, ICuttingPara) is intended to be used. [JsAce] [Obsolete(\"Use MillingCycleDivisionNum instead.\")] public static int MillingForceCycleDivisionNum { get; set; } Property Value int NcOptOption Gets or sets the NC optimization options. [JsAce] public NcOptOption NcOptOption { get; set; } Property Value NcOptOption OptEnableDepthCompensation Enables or disables depth compensation during optimization. [JsAce] public bool OptEnableDepthCompensation { get; set; } Property Value bool OptEnableFeedrate Gets or sets whether to enable feed rate optimization in NC optimization. [JsAce] public bool OptEnableFeedrate { get; set; } Property Value bool OptEnableForwardCompensation Enables or disables forward compensation during optimization. [JsAce] public bool OptEnableForwardCompensation { get; set; } Property Value bool OptEnableInterpolation Enables or disables reinterpolation for optimization. [JsAce] public bool OptEnableInterpolation { get; set; } Property Value bool OptEnableSideCompensation Enables or disables side compensation during optimization. [JsAce] public bool OptEnableSideCompensation { get; set; } Property Value bool OptExtendedPostDistance_mm Gets or sets the extended post-distance in millimeters for NC optimization. This is the distance after the current segment that will be considered for optimization. [JsAce] public double OptExtendedPostDistance_mm { get; set; } Property Value double OptExtendedPreDistance_mm Gets or sets the extended pre-distance in millimeters for NC optimization. This is the distance before the current segment that will be considered for optimization. [JsAce] public double OptExtendedPreDistance_mm { get; set; } Property Value double OptFeedrateAssignmentRatio Gets or sets the feedrate assignment ratio for optimization. If the feedrate change exceeds this ratio, the feedrate in the NC line will be updated. [JsAce] public double OptFeedrateAssignmentRatio { get; set; } Property Value double OptMaxAcceleration_mmds2 Maximum acceleration in mm/s² during optimization. Only takes effect on reinterpolated section. [JsAce(DocContentHtml = \"Only take effect on reinterpolated section.\")] public double OptMaxAcceleration_mmds2 { get; set; } Property Value double OptMaxFeedPerTooth_mm Gets or sets the maximum feed per tooth in millimeters for optimization. [JsAce] public double OptMaxFeedPerTooth_mm { get; set; } Property Value double OptMaxFeedrate_mmdmin Maximum feed rate in mm/min for cutting movements during optimization. [JsAce] public double OptMaxFeedrate_mmdmin { get; set; } Property Value double OptMaxJerk_mmds3 Maximum jerk in mm/s³ during optimization. Only takes effect on reinterpolated section. [JsAce(DocContentHtml = \"Only take effect on reinterpolated section.\")] public double OptMaxJerk_mmds3 { get; set; } Property Value double OptMinFeedPerTooth_mm Gets or sets the minimum feed per tooth in millimeters for optimization. [JsAce] public double OptMinFeedPerTooth_mm { get; set; } Property Value double OptMinFeedrate_mmdmin Minimum feed rate in mm/min for cutting movements during optimization. [JsAce] public double OptMinFeedrate_mmdmin { get; set; } Property Value double OptPreferedForce_N Preferred force in N for optimization. [JsAce] public double OptPreferedForce_N { get; set; } Property Value double OptRapidFeed_mmdmin Rapid feed rate in mm/min for non-cutting movements during optimization. [JsAce] public double OptRapidFeed_mmdmin { get; set; } Property Value double OptSpindlePowerSafetyFactor Safety factor for spindle power during optimization. [JsAce] public double OptSpindlePowerSafetyFactor { get; set; } Property Value double OptSpindlePowerUtilizationFactor Utilization factor for spindle power during optimization. It is the reciprocal of the spindle power safety factor. [JsAce] public double OptSpindlePowerUtilizationFactor { get; set; } Property Value double OptSpindleTorqueSafetyFactor Gets or sets the spindle torque safety factor for NC optimization. [JsAce] public double OptSpindleTorqueSafetyFactor { get; set; } Property Value double OptSpindleTorqueUtilizationFactor Utilization factor for spindle torque during optimization. It is the reciprocal of the spindle torque safety factor. [JsAce] public double OptSpindleTorqueUtilizationFactor { get; set; } Property Value double OptThermalYieldSafetyFactor Safety factor for spindle torque during optimization. [JsAce] public double OptThermalYieldSafetyFactor { get; set; } Property Value double OptThermalYieldUtilizationFactor Utilization factor for thermal yield during optimization. It is the reciprocal of the thermal yield safety factor. [JsAce] public double OptThermalYieldUtilizationFactor { get; set; } Property Value double OptYieldingSafetyFactor Safety factor for yielding during optimization. [JsAce] public double OptYieldingSafetyFactor { get; set; } Property Value double OptYieldingUtilizationFactor Utilization factor for yielding during optimization. It is the reciprocal of the yielding safety factor. [JsAce] public double OptYieldingUtilizationFactor { get; set; } Property Value double ScriptOptions ScriptOptions. public ScriptOptions ScriptOptions { get; set; } Property Value ScriptOptions SessionMessageHost Gets the session message host for displaying messages. [JsAce] public SessionMessageHost SessionMessageHost { get; } Property Value SessionMessageHost StepCount Gets the total number of milling steps. [JsAce] public int StepCount { get; } Property Value int Workpiece Gets or sets the workpiece. [JsAce] public Workpiece Workpiece { get; set; } Property Value Workpiece Methods AddTimeDataByFile(string, string, double, double) Adds time-based data from a file to the time mapping dictionary with specified time bounds in seconds. [JsAce(\"AddTimeDataByFile($1key, $2relFile, $3beginTime, $4endTime)\")] public bool AddTimeDataByFile(string key, string relFile, double beginTime, double endTime) Parameters key string Key to identify the data relFile string Relative path to the data file beginTime double Beginning time in seconds endTime double Ending time in seconds Returns bool True if the data was successfully added, false otherwise AddTimeDataByFile(string, string, string, string) Adds time-based data from a file to the time mapping dictionary with specified time bounds. [JsAce(\"AddTimeDataByFile($1key, $2relFile, $3beginTime, $4endTime)\")] public bool AddTimeDataByFile(string key, string relFile, string beginTimeText, string endTimeText) Parameters key string Key to identify the data relFile string Relative path to the data file beginTimeText string Beginning time as text (seconds or TimeSpan format) endTimeText string Ending time as text (seconds or TimeSpan format) Returns bool True if the data was successfully added, false otherwise AppendMessagesToFile(string, params string[]) Appends messages to a file, optionally filtered by tags. [JsAce(\"AppendMessagesToFile(\\\"dstRelFile\\\",flags)\")] public void AppendMessagesToFile(string dstRelFile, params string[] flags) Parameters dstRelFile string Destination relative file path flags string[] Optional flags to filter messages by tags BeginPreserve() Begin Preserve section in optimzation process. [JsAce(\"BeginPreserve()\")] public void BeginPreserve() BeginSelection(string, AnchorMode, IStepShift) Begin mark on current line. milling step() has not triggered yet. public void BeginSelection(string key, AnchorMode anchorMode = AnchorMode.LineBegin, IStepShift shift = null) Parameters key string Identifier key for the selection anchorMode AnchorMode Mode for anchoring the beginning of selection shift IStepShift Step shift to apply BeginSession() Begins a new machining session. Not for end user. public void BeginSession() ClearTimeMappingData() Clears all time mapping data. [JsAce] public void ClearTimeMappingData() Diff(double) Performs a difference analysis on the workpiece geometry to detect variations. [JsAce(\"Diff($1detectionRadius_mm)\")] public void Diff(double detectionRadius_mm) Parameters detectionRadius_mm double Radius for detecting differences EndPreserve() End Preserve section in optimzation process. [JsAce(\"EndPreserve()\")] public void EndPreserve() EndSelection(string, AnchorMode, IStepShift) End mark on current line for selection. public void EndSelection(string key, AnchorMode anchorMode = AnchorMode.LineEnd, IStepShift shift = null) Parameters key string Identifier key for the selection anchorMode AnchorMode Mode for anchoring the end of selection shift IStepShift Step shift to apply EndSession() Ends the current machining session. Not for end user. public void EndSession() ErrorMessage(string) Displays an error message in the message host. [JsAce(\"ErrorMessage($1message)\")] public void ErrorMessage(string message) Parameters message string The error message to display FixedPace(double, double) Creates a fixed machining motion resolution with specified parameters. [JsAce(\"FixedPace($1linearResolution_mm, $2rotaryResolution_deg)\")] public FixedMachiningMotionResolution FixedPace(double linearResolution_mm, double rotaryResolution_deg) Parameters linearResolution_mm double Linear resolution in millimeters rotaryResolution_deg double Rotary resolution in degrees Returns FixedMachiningMotionResolution A new fixed machining motion resolution instance GetMillingStep(int) Retrieves a milling step at the specified index. [JsAce(Snippet = \"GetMillingStep($1\\\"stepIndex\\\")\")] public MachiningStep GetMillingStep(int stepIndex) Parameters stepIndex int Index of the milling step to retrieve Returns MachiningStep The milling step at the specified index GetStickMachiningToolObservationHeight_mm(int) Gets the observation height in millimeters for the specified stick machining tool. [JsAce(\"GetStickMachiningToolObservationHeight_mm($1toolId)\")] public double GetStickMachiningToolObservationHeight_mm(int toolId) Parameters toolId int The ID of the tool Returns double The observation height in millimeters GetUniformContourTrayShiftAngle_deg(int) Gets the shift angle in degrees for the uniform contour tray of the specified tool. [JsAce(\"GetUniformContourTrayShiftAngle_deg($1toolId)\")] public double GetUniformContourTrayShiftAngle_deg(int toolId) Parameters toolId int The ID of the tool Returns double The shift angle in degrees LineSelection(string, AnchorMode, IStepShift, AnchorMode, IStepShift) Create a line selection from begin to end mark. public void LineSelection(string key, AnchorMode beginAnchorMode = AnchorMode.LineBegin, IStepShift beginShift = null, AnchorMode endAnchorMode = AnchorMode.LineEnd, IStepShift endShift = null) Parameters key string Identifier key for the selection beginAnchorMode AnchorMode Mode for anchoring the beginning of selection beginShift IStepShift Step shift to apply at beginning endAnchorMode AnchorMode Mode for anchoring the end of selection endShift IStepShift Step shift to apply at end LoadCuttingParaByFile(string) Loads cutting parameters from a file. [JsAce(\"LoadCuttingParaByFile($1\\\"relFile\\\")\")] public void LoadCuttingParaByFile(string relFile) Parameters relFile string File path relative to BaseDirectory. Map(string, FileTimeSection, CycleSamplingMode?) Maps selection data to time section. public Task Map(string key, FileTimeSection fileTimeSection = null, StepTimeShotUtil.CycleSamplingMode? cycleSamplingMode = CycleSamplingMode.SpindleCycle) Parameters key string Identifier key for the selection fileTimeSection FileTimeSection File time section, or null to use the one associated with the key cycleSamplingMode StepTimeShotUtil.CycleSamplingMode? Cycle sampling mode Returns Task Task representing the asynchronous mapping operation MapByActualTime(string, CycleSamplingMode) Maps machining steps by actual time from a time shot file. [JsAce(\"MapByActualTime($1timeShotRelFile)\")] public void MapByActualTime(string timeShotRelFile, StepTimeShotUtil.CycleSamplingMode cycleSamplingMode = CycleSamplingMode.SpindleCycle) Parameters timeShotRelFile string Relative path to the time shot file. cycleSamplingMode StepTimeShotUtil.CycleSamplingMode The cycle sampling mode. Message(string) Displays a message in the message host. [JsAce(\"Message($1message)\")] public void Message(string message) Parameters message string The message to display OptCallPreferFuncIndexDictionary() Gets the dictionary of preferred function index for NC optimization. [JsAce(\"OptCallPreferFuncIndexDictionary()\")] public Dictionary, double> OptCallPreferFuncIndexDictionary() Returns Dictionary, double> Dictionary mapping functions to their preference indexes. OptimizeToFiles(string) Optimizes NC files and saves results using the specified file template. [JsAce(Snippet = \"OptimizeToFiles(\\\"Output/Opt-[NcName]\\\")\", DocContentHtml = \"Optimize To Files by substitude template keywoard \\\"[NcName]\\\"\")] public void OptimizeToFiles(string relFileTemplate = \"Output/Opt-[NcName]\") Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder Pace() A pausable mark for the playing process. The function enables Pause() to take effect. [JsAce(\"Pace();\")] public void Pace() Remarks Waits for the player to signal the next pace. Pause() Pause Player [JsAce(DocContentHtml = \"Pause Player\")] public void Pause() PlayAct(IAct, IIndexedFileLine, CancellationToken?) Plays an act with pacing control. [JsAce] public void PlayAct(IAct act, IIndexedFileLine sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct The act to play. sourceCommand IIndexedFileLine The source command. cancellationToken CancellationToken? Cancellation token. PlayClTeleport(double, double, double, double, double, double) Plays a CL (cutter location) teleport operation. [JsAce] public void PlayClTeleport(double x, double y, double z, double i, double j, double k) Parameters x double X coordinate. y double Y coordinate. z double Z coordinate. i double I vector component. j double J vector component. k double K vector component. PlayCsvFile(string) Plays an Csv file with the specified relative path. [JsAce(\"PlayCsvFile($1\\\"csvFile\\\");\")] public void PlayCsvFile(string relFilePath) Parameters relFilePath string Relative path to the CSV file PlayNc(string, string) Plays NC code directly from a string, executing each action and pacing between them. [JsAce(Snippet = \"PlayNc($1\\\"ncCommand\\\",$2\\\"\\\"(Direct Command)\\\"\\\");\", DocContentHtml = \"Play NC. second parameter is the file name alternative shows in the log.\")] public void PlayNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string NC code as a string fileNameAlternative string Alternative name to display in logs PlayNcFile(string) Plays an NC file with the specified relative path. [JsAce(\"PlayNcFile($1\\\"ncFile\\\");\")] public void PlayNcFile(string relNcFilePath) Parameters relNcFilePath string Relative path to the NC file PlayToolingTeleport(int) Plays a tooling teleport operation. [JsAce] public void PlayToolingTeleport(int toolId) Parameters toolId int The tool ID to teleport. Preserve() Preserve one line NC code in optimzation process. [JsAce(\"Preserve()\")] public void Preserve() ProgressMessage(string) Displays a progress message in the message host. [JsAce(\"ProgressMessage($1message)\")] public void ProgressMessage(string message) Parameters message string The progress message to display ReTrainMillingPara(SampleFlag, string, double) Re-trains milling parameters using the specified sample flag. [JsAce(\"ReTrainMillingPara(Fx|Fy|Fz, $1dstFile)\")] public void ReTrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double outlierRatio = 0.1) Parameters sampleFlag SampleFlag Sample flag indicating which components to train dstRelFile string Destination relative file path outlierRatio double Outlier ratio for data filtering ReadCsvByTimeInterpolation(string) Reads a CSV file and performs time-based interpolation to map data to milling steps. [JsAce(Snippet = \"ReadCsvByTimeInterpolation($1\\\"csvFile\\\")\")] public void ReadCsvByTimeInterpolation(string csvFile) Parameters csvFile string Path to the CSV file relative to the base directory ReadRuntimeGeom(string) Reads runtime geometry from a file. [JsAce(\"ReadRuntimeGeom($1\\\"srcFile\\\")\")] public void ReadRuntimeGeom(string relFile) Parameters relFile string Relative path to the input file RegisterStepVariable(string, string, string, string, Func) Registers a step variable for tracking during execution. [JsAce(Snippet = \"RegisterStepVariable(\\\"$1key\\\",\\\"$2name\\\",\\\"$3unit\\\",\\\"$4formatString\\\",\\\"$5variableFunc\\\")\", DocContentHtml = \"

Register Step Variable.

\\\"unit\\\" is nullable

\\\"formatString\\\" is nullable

\")] public void RegisterStepVariable(string key, string name, string unit, string formatString, Func variableFunc = null) Parameters key string Unique key to identify the variable name string Human-readable name of the variable unit string Physical unit of the variable (can be null) formatString string Format string for displaying the variable (can be null) variableFunc Func Function to compute the variable value from a milling step (can be null) RemoveFlyPiece() Removes any disconnected or “flying” pieces from the workpiece geometry. [JsAce] public void RemoveFlyPiece() Reset() Reset Player [JsAce(DocContentHtml = \"Reset Player\")] public void Reset() ResetRuntime() Clears internal buffers. [JsAce] public void ResetRuntime() RunNc(string, string) Runs NC code directly from a string. Not for end user. [JsAce(Snippet = \"RunNc($1\\\"ncCommand\\\",$2\\\"\\\"(Direct Command)\\\"\\\");\", DocContentHtml = \"Run NC. second parameter is the file name alternative shows in the log.\")] public IEnumerable RunNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string NC code as a string fileNameAlternative string Alternative name to display in logs Returns IEnumerable Enumerable sequence of actions to be executed RunNcFile(string) Runs an NC file with the specified relative path. Not for end user. [JsAce(\"RunNcFile($1\\\"ncFile\\\");\")] public IEnumerable RunNcFile(string relNcFilePath) Parameters relNcFilePath string Relative path to the NC file Returns IEnumerable Enumerable sequence of actions to be executed ScaledFeedPerCycle(double) [JsAce(\"FeedPerCycle($1scale)\")] public FeedPerCycleMachiningMotionResolution ScaledFeedPerCycle(double scale) Parameters scale double Returns FeedPerCycleMachiningMotionResolution SetNcResolutionFeedPerCycle() Sets NC resolution to feed per cycle mode. public void SetNcResolutionFeedPerCycle() SetNcResolutionFeedPerTooth() Sets NC resolution to feed per tooth mode. public void SetNcResolutionFeedPerTooth() SetNcResolutionFixed(double, double) Sets NC resolution to fixed mode with specified resolution values. public void SetNcResolutionFixed(double linearResolution_mm, double rotaryResolution_deg) Parameters linearResolution_mm double Linear resolution in millimeters. rotaryResolution_deg double Rotary resolution in degrees. SetStickMachiningToolObservationHeight_mm(int, double) Sets the observation height in millimeters for the specified stick machining tool. [JsAce(\"SetStickMachiningToolObservationHeight_mm($1toolId,$2height_mm)\")] public void SetStickMachiningToolObservationHeight_mm(int toolId, double height) Parameters toolId int The ID of the tool height double The observation height in millimeters to set SetUniformContourTrayShiftAngle_deg(int, double) Sets the shift angle in degrees for the uniform contour tray of the specified tool. [JsAce(\"SetUniformContourTrayShiftAngle_deg($1toolId,$2angle_deg)\")] public void SetUniformContourTrayShiftAngle_deg(int toolId, double angle_deg) Parameters toolId int The ID of the tool angle_deg double The shift angle in degrees to set ShiftDistance_mm(double) Creates a distance shift object representing the specified distance in millimeters. public DistanceShift ShiftDistance_mm(double distanceShift_mm) Parameters distanceShift_mm double Distance shift in millimeters Returns DistanceShift Distance shift object ShiftTime_s(double) Creates a time shift object representing the specified time in seconds. public TimeShift ShiftTime_s(double seconds) Parameters seconds double Time in seconds Returns TimeShift Time shift object TrainMillingPara(SampleFlag, string, double, ICuttingPara) Trains milling parameters using the specified sample flag. [JsAce(\"TrainMillingPara(Fx|Fy|Fz, $1dstFile)\")] public void TrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double outlierRatio = 2, ICuttingPara paraTemplate = null) Parameters sampleFlag SampleFlag Sample flag indicating which components to train dstRelFile string Destination relative file path outlierRatio double Outlier ratio for data filtering paraTemplate ICuttingPara Optional parameter template for cutting operations. WarningMessage(string) Displays a warning message in the message host. [JsAce(\"WarningMessage($1message)\")] public void WarningMessage(string message) Parameters message string The warning message to display WriteRuntimeGeom(string) Writes the current runtime geometry to a file. [JsAce(\"WriteRuntimeGeom($1\\\"dstFile\\\")\")] public void WriteRuntimeGeom(string relFile) Parameters relFile string Relative path to the output file WriteRuntimeGeomToStl(string, double) Writes the current runtime geometry to an STL file. [JsAce(\"WriteRuntimeGeomToStl($1\\\"dstFile\\\",$2resolution_mm)\")] public void WriteRuntimeGeomToStl(string relFile, double resolution_mm = 0) Parameters relFile string Relative path to the output STL file resolution_mm double Resolution in millimeters (0 for default) WriteShotFiles(double, string) Writes time-series data to shot files with the specified resolution period (alternative parameter order). public void WriteShotFiles(double resolutionPeroid_ms, string relFileTemplate) Parameters resolutionPeroid_ms double Resolution period in milliseconds relFileTemplate string Template for output file path, can include [NcName] placeholder WriteShotFiles(string, double) Writes time-series data to shot files with the specified resolution period. [JsAce(Snippet = \"WriteShotFiles(\\\"Output/[NcName].shot.csv\\\",resolutionPeroid_ms)\", DocContentHtml = \"Write time series data by resolutionPeroid_ms\")] public void WriteShotFiles(string relFileTemplate = \"Output/[NcName].shot.csv\", double resolutionPeroid_ms = 1) Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder resolutionPeroid_ms double Resolution period in milliseconds WriteStepFiles(string) Writes step-series data to files with the specified file template. [JsAce(Snippet = \"WriteStepFiles(\\\"Output/[NcName].step.csv\\\")\", DocContentHtml = \"Write step series data.\")] public void WriteStepFiles(string relFileTemplate = \"Output/[NcName].step.csv\") Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder Events MachiningStepBuilt Gets or sets the action to configure steps during execution. The event will be cleared by the calling of ResetRuntime(). [JsAce(Snippet = \"MachiningStepBuilt+=($1preStep,$2curStep)=>{$3Command};\", DocContentHtml = \"Runtime Step Configuration action. preStep is the Previous Milling Step; curStep is the Current Milling Step. preStep is null if no previous step existed.\")] public event MachiningActRunner.MachiningStepBuiltDelegate MachiningStepBuilt Event Type MachiningActRunner.MachiningStepBuiltDelegate MachiningStepSelected Event that is triggered when a milling step is selected. The event will be cleared by the calling of ResetRuntime(). [JsAce(Snippet = \"MachiningStepSelected+=($1millingStep)=>{$2Command};\")] public event Action MachiningStepSelected Event Type Action" + "summary": "Class RuntimeApi Namespace Hi.MachiningProcs Assembly HiNc.dll Runtime API for machining operations. public class RuntimeApi : ICsScriptApi Inheritance object RuntimeApi Implements ICsScriptApi Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Properties DefaultParaTemplateDimension Gets or sets the parameter template dimension (2D or 3D). [JsAce] public int DefaultParaTemplateDimension { get; set; } Property Value int DiffVisualRadius_mm Gets or sets the visual radius in millimeters for difference visualization. Controls the radius used for highlighting differences between workpiece states. [JsAce] public double DiffVisualRadius_mm { get; set; } Property Value double DispCacheMb Gets or sets the display cache size in megabytes. public long DispCacheMb { get; set; } Property Value long DispCache_Mb Gets or sets the display cache size in megabytes. [JsAce] public long DispCache_Mb { get; set; } Property Value long EmbeddedLogMode Gets or sets the embedded log mode for NC optimization. [JsAce] public static NcOptimizationEmbeddedLogMode EmbeddedLogMode { get; set; } Property Value NcOptimizationEmbeddedLogMode EnableAutoMapOnSelectionEnd Gets or sets whether to automatically map selections when they end. [JsAce] public bool EnableAutoMapOnSelectionEnd { get; set; } Property Value bool EnableCollisionDetection Gets or sets whether collision detection is enabled. [JsAce(DocContentHtml = \"Enable Collision Detection.\")] public bool EnableCollisionDetection { get; set; } Property Value bool EnableIndividualStepAdjustmentLog Gets or sets whether to enable individual step adjustment logging. [JsAce] public static bool EnableIndividualStepAdjustmentLog { get; set; } Property Value bool EnablePauseOnCollision Gets or sets whether to pause execution when a collision is detected. This property only has an effect if collision detection is enabled. [Obsolete] public bool EnablePauseOnCollision { get; set; } Property Value bool EnablePauseOnFailure Gets or sets whether to pause on failure during execution. [JsAce(DocContentHtml = \"Enable Pause On Failure.\")] public bool EnablePauseOnFailure { get; set; } Property Value bool EnablePhysics Gets or sets whether milling force evaluation is enabled. [JsAce(DocContentHtml = \"Enable milling force evaluation.\")] public bool EnablePhysics { get; set; } Property Value bool EnableWearEffect Gets or sets whether tool wear effects are enabled in simulation. [JsAce] public bool EnableWearEffect { get; set; } Property Value bool FeedPerCycle Gets a new feed per cycle machining motion resolution instance. [JsAce] public FeedPerCycleMachiningMotionResolution FeedPerCycle { get; } Property Value FeedPerCycleMachiningMotionResolution FeedPerTooth Gets a new feed per tooth machining motion resolution instance. [JsAce] public FeedPerToothMachiningMotionResolution FeedPerTooth { get; } Property Value FeedPerToothMachiningMotionResolution Fixture Gets or sets the fixture. [JsAce] public Fixture Fixture { get; set; } Property Value Fixture Global Global variables. [JsAce(\"Global[$1key]\")] public Dictionary Global { get; } Property Value Dictionary InitSpindleTemperature_C Gets or sets the initial spindle temperature in degrees Celsius. [JsAce(DocContentHtml = \"Spindle Temperature on initialization.\")] public double InitSpindleTemperature_C { get; set; } Property Value double JsAceCompletionProfileJsonArray Internal used. public static JsonArray JsAceCompletionProfileJsonArray { get; } Property Value JsonArray MachiningMotionResolution Gets or sets the machining motion resolution. [JsAce] public IMachiningMotionResolution MachiningMotionResolution { get; set; } Property Value IMachiningMotionResolution MachiningResolution Gets or sets the machining resolution in millimeters. For legacy compatable. [JsAce] [Obsolete(\"Use MachiningResolution_mm instead.\")] public double MachiningResolution { get; set; } Property Value double MachiningResolution_mm Gets or sets the machining resolution in millimeters. [JsAce] public double MachiningResolution_mm { get; set; } Property Value double MachiningSession public MachiningSession MachiningSession { get; } Property Value MachiningSession MapTask Task tracking the status of mapping operations. public Task MapTask { get; set; } Property Value Task MillingCycleDivisionNum Gets or sets the number of divisions per cycle for milling force calculation. This property should be set before milling force evaluation if TrainMillingPara(SampleFlag, string, double, ICuttingPara) is intended to be used. [JsAce] public static int MillingCycleDivisionNum { get; set; } Property Value int MillingForceCycleDivisionNum Gets or sets the number of divisions per cycle for milling force calculation. This property should be set before milling force evaluation if TrainMillingPara(SampleFlag, string, double, ICuttingPara) is intended to be used. [JsAce] [Obsolete(\"Use MillingCycleDivisionNum instead.\")] public static int MillingForceCycleDivisionNum { get; set; } Property Value int NcOptOption Gets or sets the NC optimization options. [JsAce] public NcOptOption NcOptOption { get; set; } Property Value NcOptOption OptEnableDepthCompensation Enables or disables depth compensation during optimization. [JsAce] public bool OptEnableDepthCompensation { get; set; } Property Value bool OptEnableFeedrate Gets or sets whether to enable feed rate optimization in NC optimization. [JsAce] public bool OptEnableFeedrate { get; set; } Property Value bool OptEnableForwardCompensation Enables or disables forward compensation during optimization. [JsAce] public bool OptEnableForwardCompensation { get; set; } Property Value bool OptEnableInterpolation Enables or disables reinterpolation for optimization. [JsAce] public bool OptEnableInterpolation { get; set; } Property Value bool OptEnableSideCompensation Enables or disables side compensation during optimization. [JsAce] public bool OptEnableSideCompensation { get; set; } Property Value bool OptExtendedPostDistance_mm Gets or sets the extended post-distance in millimeters for NC optimization. This is the distance after the current segment that will be considered for optimization. [JsAce] public double OptExtendedPostDistance_mm { get; set; } Property Value double OptExtendedPreDistance_mm Gets or sets the extended pre-distance in millimeters for NC optimization. This is the distance before the current segment that will be considered for optimization. [JsAce] public double OptExtendedPreDistance_mm { get; set; } Property Value double OptFeedrateAssignmentRatio Gets or sets the feedrate assignment ratio for optimization. If the feedrate change exceeds this ratio, the feedrate in the NC line will be updated. [JsAce] public double OptFeedrateAssignmentRatio { get; set; } Property Value double OptMaxAcceleration_mmds2 Maximum acceleration in mm/s² during optimization. Only takes effect on reinterpolated section. [JsAce(DocContentHtml = \"Only take effect on reinterpolated section.\")] public double OptMaxAcceleration_mmds2 { get; set; } Property Value double OptMaxFeedPerTooth_mm Gets or sets the maximum feed per tooth in millimeters for optimization. [JsAce] public double OptMaxFeedPerTooth_mm { get; set; } Property Value double OptMaxFeedrate_mmdmin Maximum feed rate in mm/min for cutting movements during optimization. [JsAce] public double OptMaxFeedrate_mmdmin { get; set; } Property Value double OptMaxJerk_mmds3 Maximum jerk in mm/s³ during optimization. Only takes effect on reinterpolated section. [JsAce(DocContentHtml = \"Only take effect on reinterpolated section.\")] public double OptMaxJerk_mmds3 { get; set; } Property Value double OptMinFeedPerTooth_mm Gets or sets the minimum feed per tooth in millimeters for optimization. [JsAce] public double OptMinFeedPerTooth_mm { get; set; } Property Value double OptMinFeedrate_mmdmin Minimum feed rate in mm/min for cutting movements during optimization. [JsAce] public double OptMinFeedrate_mmdmin { get; set; } Property Value double OptPreferedForce_N Preferred force in N for optimization. [JsAce] public double OptPreferedForce_N { get; set; } Property Value double OptRapidFeed_mmdmin Rapid feed rate in mm/min for non-cutting movements during optimization. [JsAce] public double OptRapidFeed_mmdmin { get; set; } Property Value double OptSpindlePowerSafetyFactor Safety factor for spindle power during optimization. [JsAce] public double OptSpindlePowerSafetyFactor { get; set; } Property Value double OptSpindlePowerUtilizationFactor Utilization factor for spindle power during optimization. It is the reciprocal of the spindle power safety factor. [JsAce] public double OptSpindlePowerUtilizationFactor { get; set; } Property Value double OptSpindleTorqueSafetyFactor Gets or sets the spindle torque safety factor for NC optimization. [JsAce] public double OptSpindleTorqueSafetyFactor { get; set; } Property Value double OptSpindleTorqueUtilizationFactor Utilization factor for spindle torque during optimization. It is the reciprocal of the spindle torque safety factor. [JsAce] public double OptSpindleTorqueUtilizationFactor { get; set; } Property Value double OptThermalYieldSafetyFactor Safety factor for spindle torque during optimization. [JsAce] public double OptThermalYieldSafetyFactor { get; set; } Property Value double OptThermalYieldUtilizationFactor Utilization factor for thermal yield during optimization. It is the reciprocal of the thermal yield safety factor. [JsAce] public double OptThermalYieldUtilizationFactor { get; set; } Property Value double OptYieldingSafetyFactor Safety factor for yielding during optimization. [JsAce] public double OptYieldingSafetyFactor { get; set; } Property Value double OptYieldingUtilizationFactor Utilization factor for yielding during optimization. It is the reciprocal of the yielding safety factor. [JsAce] public double OptYieldingUtilizationFactor { get; set; } Property Value double ScriptOptions ScriptOptions. public ScriptOptions ScriptOptions { get; set; } Property Value ScriptOptions SessionMessageHost Gets the session message host for displaying messages. [JsAce] public SessionMessageHost SessionMessageHost { get; } Property Value SessionMessageHost StepCount Gets the total number of milling steps. [JsAce] public int StepCount { get; } Property Value int Workpiece Gets or sets the workpiece. [JsAce] public Workpiece Workpiece { get; set; } Property Value Workpiece Methods AddTimeDataByFile(string, string, double, double) Adds time-based data from a file to the time mapping dictionary with specified time bounds in seconds. [JsAce(\"AddTimeDataByFile($1key, $2relFile, $3beginTime, $4endTime)\")] public bool AddTimeDataByFile(string key, string relFile, double beginTime, double endTime) Parameters key string Key to identify the data relFile string Relative path to the data file beginTime double Beginning time in seconds endTime double Ending time in seconds Returns bool True if the data was successfully added, false otherwise AddTimeDataByFile(string, string, string, string) Adds time-based data from a file to the time mapping dictionary with specified time bounds. [JsAce(\"AddTimeDataByFile($1key, $2relFile, $3beginTime, $4endTime)\")] public bool AddTimeDataByFile(string key, string relFile, string beginTimeText, string endTimeText) Parameters key string Key to identify the data relFile string Relative path to the data file beginTimeText string Beginning time as text (seconds or TimeSpan format) endTimeText string Ending time as text (seconds or TimeSpan format) Returns bool True if the data was successfully added, false otherwise AppendMessagesToFile(string, params string[]) Appends messages to a file, optionally filtered by tags. [JsAce(\"AppendMessagesToFile(\\\"dstRelFile\\\",flags)\")] public void AppendMessagesToFile(string dstRelFile, params string[] flags) Parameters dstRelFile string Destination relative file path flags string[] Optional flags to filter messages by tags BeginPreserve() Begin Preserve section in optimzation process. [JsAce(\"BeginPreserve()\")] public void BeginPreserve() BeginSelection(string, AnchorMode, IStepShift) Begin mark on current line. milling step() has not triggered yet. public void BeginSelection(string key, AnchorMode anchorMode = AnchorMode.LineBegin, IStepShift shift = null) Parameters key string Identifier key for the selection anchorMode AnchorMode Mode for anchoring the beginning of selection shift IStepShift Step shift to apply BeginSession() Begins a new machining session. Not for end user. public void BeginSession() ClearTimeMappingData() Clears all time mapping data. [JsAce] public void ClearTimeMappingData() Diff(double) Performs a difference analysis on the workpiece geometry to detect variations. [JsAce(\"Diff($1detectionRadius_mm)\")] public void Diff(double detectionRadius_mm) Parameters detectionRadius_mm double Radius for detecting differences EndPreserve() End Preserve section in optimzation process. [JsAce(\"EndPreserve()\")] public void EndPreserve() EndSelection(string, AnchorMode, IStepShift) End mark on current line for selection. public void EndSelection(string key, AnchorMode anchorMode = AnchorMode.LineEnd, IStepShift shift = null) Parameters key string Identifier key for the selection anchorMode AnchorMode Mode for anchoring the end of selection shift IStepShift Step shift to apply EndSession() Ends the current machining session. Not for end user. public void EndSession() ErrorMessage(string) Displays an error message in the message host. [JsAce(\"ErrorMessage($1message)\")] public void ErrorMessage(string message) Parameters message string The error message to display FixedPace(double, double) Creates a fixed machining motion resolution with specified parameters. [JsAce(\"FixedPace($1linearResolution_mm, $2rotaryResolution_deg)\")] public FixedMachiningMotionResolution FixedPace(double linearResolution_mm, double rotaryResolution_deg) Parameters linearResolution_mm double Linear resolution in millimeters rotaryResolution_deg double Rotary resolution in degrees Returns FixedMachiningMotionResolution A new fixed machining motion resolution instance GetMillingStep(int) Retrieves a milling step at the specified index. [JsAce(Snippet = \"GetMillingStep($1\\\"stepIndex\\\")\")] public MachiningStep GetMillingStep(int stepIndex) Parameters stepIndex int Index of the milling step to retrieve Returns MachiningStep The milling step at the specified index GetStickMachiningToolObservationHeight_mm(int) Gets the observation height in millimeters for the specified stick machining tool. [JsAce(\"GetStickMachiningToolObservationHeight_mm($1toolId)\")] public double GetStickMachiningToolObservationHeight_mm(int toolId) Parameters toolId int The ID of the tool Returns double The observation height in millimeters GetUniformContourTrayShiftAngle_deg(int) Gets the shift angle in degrees for the uniform contour tray of the specified tool. [JsAce(\"GetUniformContourTrayShiftAngle_deg($1toolId)\")] public double GetUniformContourTrayShiftAngle_deg(int toolId) Parameters toolId int The ID of the tool Returns double The shift angle in degrees LineSelection(string, AnchorMode, IStepShift, AnchorMode, IStepShift) Create a line selection from begin to end mark. public void LineSelection(string key, AnchorMode beginAnchorMode = AnchorMode.LineBegin, IStepShift beginShift = null, AnchorMode endAnchorMode = AnchorMode.LineEnd, IStepShift endShift = null) Parameters key string Identifier key for the selection beginAnchorMode AnchorMode Mode for anchoring the beginning of selection beginShift IStepShift Step shift to apply at beginning endAnchorMode AnchorMode Mode for anchoring the end of selection endShift IStepShift Step shift to apply at end LoadCuttingParaByFile(string) Loads cutting parameters from a file. [JsAce(\"LoadCuttingParaByFile($1\\\"relFile\\\")\")] public void LoadCuttingParaByFile(string relFile) Parameters relFile string File path relative to BaseDirectory. Map(string, FileTimeSection, CycleSamplingMode?) Maps selection data to time section. public Task Map(string key, FileTimeSection fileTimeSection = null, StepTimeShotUtil.CycleSamplingMode? cycleSamplingMode = CycleSamplingMode.SpindleCycle) Parameters key string Identifier key for the selection fileTimeSection FileTimeSection File time section, or null to use the one associated with the key cycleSamplingMode StepTimeShotUtil.CycleSamplingMode? Cycle sampling mode Returns Task Task representing the asynchronous mapping operation MapByActualTime(string, CycleSamplingMode) Maps machining steps by actual time from a time shot file. [JsAce(\"MapByActualTime($1timeShotRelFile)\")] public void MapByActualTime(string timeShotRelFile, StepTimeShotUtil.CycleSamplingMode cycleSamplingMode = CycleSamplingMode.SpindleCycle) Parameters timeShotRelFile string Relative path to the time shot file. cycleSamplingMode StepTimeShotUtil.CycleSamplingMode The cycle sampling mode. Message(string) Displays a message in the message host. [JsAce(\"Message($1message)\")] public void Message(string message) Parameters message string The message to display OptCallPreferFuncIndexDictionary() Gets the dictionary of preferred function index for NC optimization. [JsAce(\"OptCallPreferFuncIndexDictionary()\")] public Dictionary, double> OptCallPreferFuncIndexDictionary() Returns Dictionary, double> Dictionary mapping functions to their preference indexes. OptimizeToFiles(string) Optimizes NC files and saves results using the specified file template. [JsAce(Snippet = \"OptimizeToFiles(\\\"Output/Opt-[NcName]\\\")\", DocContentHtml = \"Optimize To Files by substitude template keywoard \\\"[NcName]\\\"\")] public void OptimizeToFiles(string relFileTemplate = \"Output/Opt-[NcName]\") Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder Pace() A pausable mark for the playing process. The function enables Pause() to take effect. [JsAce(\"Pace();\")] public void Pace() Remarks Waits for the player to signal the next pace. Pause() Pause Player [JsAce(DocContentHtml = \"Pause Player\")] public void Pause() PlayAct(IAct, IIndexedFileLine, CancellationToken?) Plays an act with pacing control. [JsAce] public void PlayAct(IAct act, IIndexedFileLine sourceCommand = null, CancellationToken? cancellationToken = null) Parameters act IAct The act to play. sourceCommand IIndexedFileLine The source command. cancellationToken CancellationToken? Cancellation token. PlayClTeleport(double, double, double, double, double, double) Plays a CL (cutter location) teleport operation. [JsAce] public void PlayClTeleport(double x, double y, double z, double i, double j, double k) Parameters x double X coordinate. y double Y coordinate. z double Z coordinate. i double I vector component. j double J vector component. k double K vector component. PlayCsvFile(string) Plays an Csv file with the specified relative path. [JsAce(\"PlayCsvFile($1\\\"csvFile\\\");\")] public void PlayCsvFile(string relFilePath) Parameters relFilePath string Relative path to the CSV file PlayNc(string, string) Plays NC code directly from a string, executing each action and pacing between them. [JsAce(Snippet = \"PlayNc($1\\\"ncCommand\\\",$2\\\"\\\"(Direct Command)\\\"\\\");\", DocContentHtml = \"Play NC. second parameter is the file name alternative shows in the log.\")] public void PlayNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string NC code as a string fileNameAlternative string Alternative name to display in logs PlayNcFile(string) Plays an NC file with the specified relative path. [JsAce(\"PlayNcFile($1\\\"ncFile\\\");\")] public void PlayNcFile(string relNcFilePath) Parameters relNcFilePath string Relative path to the NC file PlayToolingTeleport(int) Plays a tooling teleport operation. [JsAce] public void PlayToolingTeleport(int toolId) Parameters toolId int The tool ID to teleport. Preserve() Preserve one line NC code in optimzation process. [JsAce(\"Preserve()\")] public void Preserve() ProgressMessage(string) Displays a progress message in the message host. [JsAce(\"ProgressMessage($1message)\")] public void ProgressMessage(string message) Parameters message string The progress message to display ReTrainMillingPara(SampleFlag, string, double) Re-trains milling parameters using the specified sample flag. [JsAce(\"ReTrainMillingPara(Fx|Fy|Fz, $1dstFile)\")] public void ReTrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double outlierRatio = 0.1) Parameters sampleFlag SampleFlag Sample flag indicating which components to train dstRelFile string Destination relative file path outlierRatio double Outlier ratio for data filtering ReadCsvByTimeInterpolation(string) Reads a CSV file and performs time-based interpolation to map data to milling steps. [JsAce(Snippet = \"ReadCsvByTimeInterpolation($1\\\"csvFile\\\")\")] public void ReadCsvByTimeInterpolation(string csvFile) Parameters csvFile string Path to the CSV file relative to the base directory ReadRuntimeGeom(string) Reads runtime geometry from a file. [JsAce(\"ReadRuntimeGeom($1\\\"srcFile\\\")\")] public void ReadRuntimeGeom(string relFile) Parameters relFile string Relative path to the input file RegisterStepVariable(string, string, string, string, Func) Registers a step variable for tracking during execution. [JsAce(Snippet = \"RegisterStepVariable(\\\"$1key\\\",\\\"$2name\\\",\\\"$3unit\\\",\\\"$4formatString\\\",\\\"$5variableFunc\\\")\", DocContentHtml = \"

Register Step Variable.

\\\"unit\\\" is nullable

\\\"formatString\\\" is nullable

\")] public void RegisterStepVariable(string key, string name, string unit, string formatString, Func variableFunc = null) Parameters key string Unique key to identify the variable name string Human-readable name of the variable unit string Physical unit of the variable (can be null) formatString string Format string for displaying the variable (can be null) variableFunc Func Function to compute the variable value from a milling step (can be null) RemoveFlyPiece() Removes any disconnected or “flying” pieces from the workpiece geometry. [JsAce] public void RemoveFlyPiece() Reset() Reset Player [JsAce(DocContentHtml = \"Reset Player\")] public void Reset() ResetRuntime() Clears internal buffers. [JsAce] public void ResetRuntime() RunNc(string, string) Runs NC code directly from a string. Not for end user. [JsAce(Snippet = \"RunNc($1\\\"ncCommand\\\",$2\\\"\\\"(Direct Command)\\\"\\\");\", DocContentHtml = \"Run NC. second parameter is the file name alternative shows in the log.\")] public IEnumerable RunNc(string ncText, string fileNameAlternative = \"--\") Parameters ncText string NC code as a string fileNameAlternative string Alternative name to display in logs Returns IEnumerable Enumerable sequence of actions to be executed RunNcFile(string) Runs an NC file with the specified relative path. Not for end user. [JsAce(\"RunNcFile($1\\\"ncFile\\\");\")] public IEnumerable RunNcFile(string relNcFilePath) Parameters relNcFilePath string Relative path to the NC file Returns IEnumerable Enumerable sequence of actions to be executed ScaledFeedPerCycle(double) Gets a new feed per cycle machining motion resolution instance with the specified scale. [JsAce(\"FeedPerCycle($1scale)\")] public FeedPerCycleMachiningMotionResolution ScaledFeedPerCycle(double scale) Parameters scale double The scale factor for the resolution. Returns FeedPerCycleMachiningMotionResolution A new FeedPerCycleMachiningMotionResolution instance with the specified scale. SetNcResolutionFeedPerCycle() Sets NC resolution to feed per cycle mode. public void SetNcResolutionFeedPerCycle() SetNcResolutionFeedPerTooth() Sets NC resolution to feed per tooth mode. public void SetNcResolutionFeedPerTooth() SetNcResolutionFixed(double, double) Sets NC resolution to fixed mode with specified resolution values. public void SetNcResolutionFixed(double linearResolution_mm, double rotaryResolution_deg) Parameters linearResolution_mm double Linear resolution in millimeters. rotaryResolution_deg double Rotary resolution in degrees. SetStickMachiningToolObservationHeight_mm(int, double) Sets the observation height in millimeters for the specified stick machining tool. [JsAce(\"SetStickMachiningToolObservationHeight_mm($1toolId,$2height_mm)\")] public void SetStickMachiningToolObservationHeight_mm(int toolId, double height) Parameters toolId int The ID of the tool height double The observation height in millimeters to set SetUniformContourTrayShiftAngle_deg(int, double) Sets the shift angle in degrees for the uniform contour tray of the specified tool. [JsAce(\"SetUniformContourTrayShiftAngle_deg($1toolId,$2angle_deg)\")] public void SetUniformContourTrayShiftAngle_deg(int toolId, double angle_deg) Parameters toolId int The ID of the tool angle_deg double The shift angle in degrees to set ShiftDistance_mm(double) Creates a distance shift object representing the specified distance in millimeters. public DistanceShift ShiftDistance_mm(double distanceShift_mm) Parameters distanceShift_mm double Distance shift in millimeters Returns DistanceShift Distance shift object ShiftTime_s(double) Creates a time shift object representing the specified time in seconds. public TimeShift ShiftTime_s(double seconds) Parameters seconds double Time in seconds Returns TimeShift Time shift object TrainMillingPara(SampleFlag, string, double, ICuttingPara) Trains milling parameters using the specified sample flag. [JsAce(\"TrainMillingPara(Fx|Fy|Fz, $1dstFile)\")] public void TrainMillingPara(SampleFlag sampleFlag, string dstRelFile, double outlierRatio = 2, ICuttingPara paraTemplate = null) Parameters sampleFlag SampleFlag Sample flag indicating which components to train dstRelFile string Destination relative file path outlierRatio double Outlier ratio for data filtering paraTemplate ICuttingPara Optional parameter template for cutting operations. WarningMessage(string) Displays a warning message in the message host. [JsAce(\"WarningMessage($1message)\")] public void WarningMessage(string message) Parameters message string The warning message to display WriteRuntimeGeom(string) Writes the current runtime geometry to a file. [JsAce(\"WriteRuntimeGeom($1\\\"dstFile\\\")\")] public void WriteRuntimeGeom(string relFile) Parameters relFile string Relative path to the output file WriteRuntimeGeomToStl(string, double) Writes the current runtime geometry to an STL file. [JsAce(\"WriteRuntimeGeomToStl($1\\\"dstFile\\\",$2resolution_mm)\")] public void WriteRuntimeGeomToStl(string relFile, double resolution_mm = 0) Parameters relFile string Relative path to the output STL file resolution_mm double Resolution in millimeters (0 for default) WriteShotFiles(double, string) Writes time-series data to shot files with the specified resolution period (alternative parameter order). public void WriteShotFiles(double resolutionPeroid_ms, string relFileTemplate) Parameters resolutionPeroid_ms double Resolution period in milliseconds relFileTemplate string Template for output file path, can include [NcName] placeholder WriteShotFiles(string, double) Writes time-series data to shot files with the specified resolution period. [JsAce(Snippet = \"WriteShotFiles(\\\"Output/[NcName].shot.csv\\\",resolutionPeroid_ms)\", DocContentHtml = \"Write time series data by resolutionPeroid_ms\")] public void WriteShotFiles(string relFileTemplate = \"Output/[NcName].shot.csv\", double resolutionPeroid_ms = 1) Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder resolutionPeroid_ms double Resolution period in milliseconds WriteStepFiles(string) Writes step-series data to files with the specified file template. [JsAce(Snippet = \"WriteStepFiles(\\\"Output/[NcName].step.csv\\\")\", DocContentHtml = \"Write step series data.\")] public void WriteStepFiles(string relFileTemplate = \"Output/[NcName].step.csv\") Parameters relFileTemplate string Template for output file path, can include [NcName] placeholder Events MachiningStepBuilt Gets or sets the action to configure steps during execution. The event will be cleared by the calling of ResetRuntime(). [JsAce(Snippet = \"MachiningStepBuilt+=($1preStep,$2curStep)=>{$3Command};\", DocContentHtml = \"Runtime Step Configuration action. preStep is the Previous Milling Step; curStep is the Current Milling Step. preStep is null if no previous step existed.\")] public event MachiningActRunner.MachiningStepBuiltDelegate MachiningStepBuilt Event Type MachiningActRunner.MachiningStepBuiltDelegate MachiningStepSelected Event that is triggered when a milling step is selected. The event will be cleared by the calling of ResetRuntime(). [JsAce(Snippet = \"MachiningStepSelected+=($1millingStep)=>{$2Command};\")] public event Action MachiningStepSelected Event Type Action" }, "api/Hi.MachiningProcs.RuntimeController.html": { "href": "api/Hi.MachiningProcs.RuntimeController.html", @@ -3632,7 +3632,7 @@ "api/Hi.Numerical.FilePlayers.CsvRunner.html": { "href": "api/Hi.Numerical.FilePlayers.CsvRunner.html", "title": "Class CsvRunner | HiAPI-C# 2025", - "summary": "Class CsvRunner Namespace Hi.Numerical.FilePlayers Assembly HiNc.dll Provides functionality for running and processing csv lines. public class CsvRunner : IControlRunner Inheritance object CsvRunner Implements IControlRunner Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CsvRunner(PacePlayer, LocalProjectService, SessionMessageHost) Initializes a new instance. public CsvRunner(PacePlayer pacePlayer, LocalProjectService localProjectService, SessionMessageHost sessionMessageHost) Parameters pacePlayer PacePlayer The pace player for controlling playback. localProjectService LocalProjectService sessionMessageHost SessionMessageHost The session message host for logging. Properties Config Configuration for CSV Runner. public CsvRunnerConfig Config { get; set; } Property Value CsvRunnerConfig PacePlayer Gets the pace player for controlling playback. public PacePlayer PacePlayer { get; } Property Value PacePlayer SessionMessageHost External Hosted. public SessionMessageHost SessionMessageHost { get; set; } Property Value SessionMessageHost Methods Reset() Reset runtime data. public void Reset() ResetFileIndex() Resets the file index to zero. public void ResetFileIndex() RunControlLines(string, IEnumerable, CancellationToken) Runs raw Control lines and yields source control line and Act pairs. public IEnumerable RunControlLines(string relFilePath, IEnumerable lines, CancellationToken cancellationToken) Parameters relFilePath string The relative path of the control file lines IEnumerable The enumerable collection of command (control code) lines cancellationToken CancellationToken Cancellation token to cancel the operation Returns IEnumerable Enumerable of source control line and Act pairs RunToLineEnd() Set EnumerablePlayer before use the function. public void RunToLineEnd()" + "summary": "Class CsvRunner Namespace Hi.Numerical.FilePlayers Assembly HiNc.dll Provides functionality for running and processing csv lines. public class CsvRunner : IControlRunner Inheritance object CsvRunner Implements IControlRunner Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CsvRunner(PacePlayer, LocalProjectService, SessionMessageHost) Initializes a new instance. public CsvRunner(PacePlayer pacePlayer, LocalProjectService localProjectService, SessionMessageHost sessionMessageHost) Parameters pacePlayer PacePlayer The pace player for controlling playback. localProjectService LocalProjectService The local project service. sessionMessageHost SessionMessageHost The session message host for logging. Properties Config Configuration for CSV Runner. public CsvRunnerConfig Config { get; set; } Property Value CsvRunnerConfig PacePlayer Gets the pace player for controlling playback. public PacePlayer PacePlayer { get; } Property Value PacePlayer SessionMessageHost External Hosted. public SessionMessageHost SessionMessageHost { get; set; } Property Value SessionMessageHost Methods Reset() Reset runtime data. public void Reset() ResetFileIndex() Resets the file index to zero. public void ResetFileIndex() RunControlLines(string, IEnumerable, CancellationToken) Runs raw Control lines and yields source control line and Act pairs. public IEnumerable RunControlLines(string relFilePath, IEnumerable lines, CancellationToken cancellationToken) Parameters relFilePath string The relative path of the control file lines IEnumerable The enumerable collection of command (control code) lines cancellationToken CancellationToken Cancellation token to cancel the operation Returns IEnumerable Enumerable of source control line and Act pairs RunToLineEnd() Set EnumerablePlayer before use the function. public void RunToLineEnd()" }, "api/Hi.Numerical.FilePlayers.CsvRunnerConfig.html": { "href": "api/Hi.Numerical.FilePlayers.CsvRunnerConfig.html", @@ -4622,7 +4622,7 @@ "api/HiNc.Grpcs.MachiningProjectGrpcServer.html": { "href": "api/HiNc.Grpcs.MachiningProjectGrpcServer.html", "title": "Class MachiningProjectGrpcServer | HiAPI-C# 2025", - "summary": "Class MachiningProjectGrpcServer Namespace HiNc.Grpcs Assembly HiNc.dll Server for exposing machining project functionality via gRPC. public class MachiningProjectGrpcServer : IDisposable, IMakeXmlSource Inheritance object MachiningProjectGrpcServer Implements IDisposable IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningProjectGrpcServer(LocalProjectService) Initializes a new instance of the MachiningProjectGrpcServer class. public MachiningProjectGrpcServer(LocalProjectService localProjectService) Parameters localProjectService LocalProjectService MachiningProjectGrpcServer(XElement, LocalProjectService) Initializes a new instance of the MachiningProjectGrpcServer class from XML. public MachiningProjectGrpcServer(XElement src, LocalProjectService localProjectService) Parameters src XElement XML source element localProjectService LocalProjectService Properties IsServiceRunning Gets whether the service is currently running. public bool IsServiceRunning { get; } Property Value bool ServicePort Gets or sets the port used by the gRPC service. public int ServicePort { get; set; } Property Value int WebApplication Gets the web application instance for the gRPC server. public WebApplication WebApplication { get; } Property Value WebApplication XName Name for XML IO. public static string XName { get; } Property Value string Methods Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. StartAsync() Starts the gRPC server asynchronously. public Task StartAsync() Returns Task A task representing the asynchronous operation StopAsync() Stops the gRPC server asynchronously. public Task StopAsync() Returns Task A task representing the asynchronous operation" + "summary": "Class MachiningProjectGrpcServer Namespace HiNc.Grpcs Assembly HiNc.dll Server for exposing machining project functionality via gRPC. public class MachiningProjectGrpcServer : IDisposable, IMakeXmlSource Inheritance object MachiningProjectGrpcServer Implements IDisposable IMakeXmlSource Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningProjectGrpcServer(LocalProjectService) Initializes a new instance of the MachiningProjectGrpcServer class. public MachiningProjectGrpcServer(LocalProjectService localProjectService) Parameters localProjectService LocalProjectService MachiningProjectGrpcServer(XElement, LocalProjectService) Initializes a new instance of the MachiningProjectGrpcServer class from XML. public MachiningProjectGrpcServer(XElement src, LocalProjectService localProjectService) Parameters src XElement XML source element localProjectService LocalProjectService The local project service. Properties IsServiceRunning Gets whether the service is currently running. public bool IsServiceRunning { get; } Property Value bool ServicePort Gets or sets the port used by the gRPC service. public int ServicePort { get; set; } Property Value int WebApplication Gets the web application instance for the gRPC server. public WebApplication WebApplication { get; } Property Value WebApplication XName Name for XML IO. public static string XName { get; } Property Value string Methods Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. StartAsync() Starts the gRPC server asynchronously. public Task StartAsync() Returns Task A task representing the asynchronous operation StopAsync() Stops the gRPC server asynchronously. public Task StopAsync() Returns Task A task representing the asynchronous operation" }, "api/HiNc.Grpcs.html": { "href": "api/HiNc.Grpcs.html", @@ -5052,7 +5052,7 @@ "brief/dev-doc/release-note/index.html": { "href": "brief/dev-doc/release-note/index.html", "title": "Release Note | HiAPI-C# 2025", - "summary": "Release Note HiNc Packages Version 3.1.100 Refactor project architecture: split runtime functions from MachiningProject to LocalProjectService for better separation of concerns Improve MillingTraining module with separate lead and result parameter templates for more accurate cutting parameter training Separate C++ library for code protection Add UTF-8 file path support for runtime geometry IO operations Improve CsvRunner with enhanced time mapping pattern Various architecture improvements and bug fixes HiNc Packages Version 3.1.91 Add NcOptimizationEmbeddedLogMode to control embedded log detail level (None/SimpleLog/FullLog) (see 嵌入式日誌註解). Fix bug of NcOptProc duplicated feedrate assignment HiNc Packages Version 3.1.90 Rename optimization log API EnableIndividualStepAdjustmentLog Fix crash from workpiece displaying with specific mechanical topology setting Improve .flatproc.log output to maintain step order during parallel computation Various stability improvements and bug fixes HiNc Packages Version 3.1.86 Re-build NcOptProc with stricter optimization logics Add optimization logging features (see 優化日誌): .flatproc.log file output for optimization process analysis Embedded log comments in optimized NC file marking source lines with (src) suffix Fix cutting depth and width accuracy by bounding-box method with workpiece surface Fix collision check error during concurrent changing collidable object Various stability improvements and bug fixes HiNc Packages Version 3.1.84 Optimize memory usage by shrinking map-size of clStripPos Fix design pattern of cutting parameter training module (MillingTraining) Add LoadCuttingParaByFile function to load cutting parameters from file Improve CsvRunner actual time parsing: automatically calculate step duration from actual time when duration is not provided Enhance message handling in RuntimeApi by unifying SessionMessageHost usage Improve optimization performance with better task scheduling Various performance improvements and bug fixes HiNc Packages Version 3.1.75 Add actual time tracking functionality (ActualTime) Various stability improvements and bug fixes HiNc Packages Version 3.1.74 Rename class MillingCutterOptLimit to MillingCutterOptOption Add physics simulation function for relief face collision depth detection (ReliefFaceCollidingDepth_mm) and optimization (EnableLimitByReliefAngle) Add UpdateNcOptOption function to step processing Fix step ordering bug from concurrent processing Fix ClStrip shrinking to zero issue" + "summary": "Release Note HiNc Packages Version 3.1.102 Separate resource files (Resource, wwwroot, Doc) to HiNc-Resource nuget package for smaller package size Add ScaledFeedPerCycle function for scaled feed-per-cycle machining motion resolution Upgrade target framework to .NET 10.0 Various code cleanup and improvements HiNc Packages Version 3.1.100 Refactor project architecture: split runtime functions from MachiningProject to LocalProjectService for better separation of concerns Improve MillingTraining module with separate lead and result parameter templates for more accurate cutting parameter training Separate C++ library for code protection Add UTF-8 file path support for runtime geometry IO operations Improve CsvRunner with enhanced time mapping pattern Various architecture improvements and bug fixes HiNc Packages Version 3.1.91 Add NcOptimizationEmbeddedLogMode to control embedded log detail level (None/SimpleLog/FullLog) (see 嵌入式日誌註解). Fix bug of NcOptProc duplicated feedrate assignment HiNc Packages Version 3.1.90 Rename optimization log API EnableIndividualStepAdjustmentLog Fix crash from workpiece displaying with specific mechanical topology setting Improve .flatproc.log output to maintain step order during parallel computation Various stability improvements and bug fixes HiNc Packages Version 3.1.86 Re-build NcOptProc with stricter optimization logics Add optimization logging features (see 優化日誌): .flatproc.log file output for optimization process analysis Embedded log comments in optimized NC file marking source lines with (src) suffix Fix cutting depth and width accuracy by bounding-box method with workpiece surface Fix collision check error during concurrent changing collidable object Various stability improvements and bug fixes HiNc Packages Version 3.1.84 Optimize memory usage by shrinking map-size of clStripPos Fix design pattern of cutting parameter training module (MillingTraining) Add LoadCuttingParaByFile function to load cutting parameters from file Improve CsvRunner actual time parsing: automatically calculate step duration from actual time when duration is not provided Enhance message handling in RuntimeApi by unifying SessionMessageHost usage Improve optimization performance with better task scheduling Various performance improvements and bug fixes HiNc Packages Version 3.1.75 Add actual time tracking functionality (ActualTime) Various stability improvements and bug fixes HiNc Packages Version 3.1.74 Rename class MillingCutterOptLimit to MillingCutterOptOption Add physics simulation function for relief face collision depth detection (ReliefFaceCollidingDepth_mm) and optimization (EnableLimitByReliefAngle) Add UpdateNcOptOption function to step processing Fix step ordering bug from concurrent processing Fix ClStrip shrinking to zero issue" }, "brief/dev-doc/system-requirements.html": { "href": "brief/dev-doc/system-requirements.html", @@ -5382,7 +5382,7 @@ "brief/user-guide/zh-Hant/script/Resolution/index.html": { "href": "brief/user-guide/zh-Hant/script/Resolution/index.html", "title": "仿真解析度 | HiAPI-C# 2025", - "summary": "仿真解析度 仿真解析度可分為程序幾何的實體解析度、程序幾何的顯示解析度、加工運動解析度。 程序幾何實體解析度 MachiningResolution_mm(API) 設定程序幾何實體解析度。 Note 指令格式 MachiningResolution_mm = <實數>; Tip 指令範例 MachiningResolution_mm = 0.125; 工件網格由正立方體組成,工件實體解析度為最小工件網格立方體的寬度。 網格立方體的寬度僅能為2的指數,包含 ..., 4, 2, 1, 0.5, 0.25, 0.125, ... 。如果設置的值不是2的指數,則系統會將其調整為2的指數。 工件實體解析度越高,切削時計算量越大、仿真速度越慢。 工件實體解析度每增加一倍,需要至多8倍的材料移除演算時間與RAM記憶體空間。 工件顯示暫存組態 DispCache_Mb(API) 設定工件顯示暫存組態。 Note 指令格式 DispCache_Mb = <實數(Mb)>; Tip 指令範例 DispCache_Mb = 260; 工件網格的顯示解析度由暫存空間的大小決定。 顯示網格是基於實體網格,所以顯示網格不會小於實體網格。 數值設置越大,顯示延遲越長,建議數值不超過1000Mb。 加工運動解析度 MachiningMotionResolution(API) 設定加工運動解析度,決定仿真的每步間隔。 有以下項目可選擇,預設值為每刃進給。 每轉進給(Feed Per Cycle) 一步為主軸一轉。 每刃進給(Feed Per Tooth) 一步為刀刃一轉。 固定解析度(Fixed Resolution) 固定解析度在仿真時採用掃掠,兩步間沒有殘丘。 其中線性解析度(Linear Resolution)為兩步間最大直線距離;旋轉解析度(Rotary Resolution)為兩步間最大旋轉角度。 Note 指令格式 MachiningMotionResolution = <運動解析度物件>; MachiningMotionResolution = FeedPerCycle; MachiningMotionResolution = FeedPerTooth; MachiningMotionResolution = FixedPace(<線性解析度(mm)>, <旋轉解析度(deg)>); Tip 指令範例 MachiningMotionResolution = FeedPerCycle; MachiningMotionResolution = FixedPace(1, 15); 仿真效率 物理仿真採用平行處理,在大部分情況下不影響仿真速度,持續的高解析度大面積切削會出現暫時卡頓。 與市面其他仿真軟件不同,HiNC的仿真使用體模型,刀具與工件接觸範圍越小,仿真速度越快。 五軸切削仿真的速度會快於大面銑刀的仿真速度。" + "summary": "仿真解析度 仿真解析度可分為程序幾何的實體解析度、程序幾何的顯示解析度、加工運動解析度。 程序幾何實體解析度 MachiningResolution_mm(API) 設定程序幾何實體解析度。 Note 指令格式 MachiningResolution_mm = <實數>; Tip 指令範例 MachiningResolution_mm = 0.125; 工件網格由正立方體組成,工件實體解析度為最小工件網格立方體的寬度。 網格立方體的寬度僅能為2的指數,包含 ..., 4, 2, 1, 0.5, 0.25, 0.125, ... 。如果設置的值不是2的指數,則系統會將其調整為2的指數。 工件實體解析度越高,切削時計算量越大、仿真速度越慢。 工件實體解析度每增加一倍,需要至多8倍的材料移除演算時間與RAM記憶體空間。 工件顯示暫存組態 DispCache_Mb(API) 設定工件顯示暫存組態。 Note 指令格式 DispCache_Mb = <實數(Mb)>; Tip 指令範例 DispCache_Mb = 260; 工件網格的顯示解析度由暫存空間的大小決定。 顯示網格是基於實體網格,所以顯示網格不會小於實體網格。 數值設置越大,顯示延遲越長,建議數值不超過1000Mb。 加工運動解析度 MachiningMotionResolution(API) 設定加工運動解析度,決定仿真的每步間隔。 有以下項目可選擇,預設值為每刃進給。 每轉進給(Feed Per Cycle) 一步為主軸一轉。 縮放每轉進給(Scaled Feed Per Cycle) 一步為主軸一轉乘以縮放係數。例如縮放係數為0.5時,一步為主軸半轉。 每刃進給(Feed Per Tooth) 一步為刀刃一轉。 固定解析度(Fixed Resolution) 固定解析度在仿真時採用掃掠,兩步間沒有殘丘。 其中線性解析度(Linear Resolution)為兩步間最大直線距離;旋轉解析度(Rotary Resolution)為兩步間最大旋轉角度。 Note 指令格式 MachiningMotionResolution = <運動解析度物件>; MachiningMotionResolution = FeedPerCycle; MachiningMotionResolution = ScaledFeedPerCycle(<縮放係數>); MachiningMotionResolution = FeedPerTooth; MachiningMotionResolution = FixedPace(<線性解析度(mm)>, <旋轉解析度(deg)>); Tip 指令範例 MachiningMotionResolution = FeedPerCycle; MachiningMotionResolution = ScaledFeedPerCycle(0.5); MachiningMotionResolution = FixedPace(1, 15); 仿真效率 物理仿真採用平行處理,在大部分情況下不影響仿真速度,持續的高解析度大面積切削會出現暫時卡頓。 與市面其他仿真軟件不同,HiNC的仿真使用體模型,刀具與工件接觸範圍越小,仿真速度越快。 五軸切削仿真的速度會快於大面銑刀的仿真速度。" }, "brief/user-guide/zh-Hant/script/RuntimeGeom/index.html": { "href": "brief/user-guide/zh-Hant/script/RuntimeGeom/index.html", diff --git a/App/zh-Hans/HiNc.resources.dll b/App/zh-Hans/HiNc.resources.dll index a33051bdf47599af35dbaddeb7a8844d14d2c514..4b709872f19103754e10be471d246d080fdc038b 100644 GIT binary patch delta 223 zcmZorX;7Ka!Lo9W?aGZkPRxwyo6j=~G6_7_vS+&3YU{LUYhiSx=~R`;A6R!<8tWM_ zFqkqj7#Qmr>KPgsYnvxo8krjcnwy&#rlzK)B&DTVq**4L z8g72XwuYHAoq>^onSp^Jee-m#Rz^nS&9XejjKRhX+6?9lNeq?@MnKvK$T9=c#$Y;) zArZ(n0g5Cuq%jyWSOBppPy{4q$dC$zX$&bqm1#hh1(37^sxxIUocx&A5@bBzV`c!W Cz%>B? delta 223 zcmZorX;7Ka!D15|w|`@g6EkDl=JU*gOad7vW`237VdcF0U6OZ1)6M&nKd|n!G}1F* zU@&E5Ffi6L)H5_N(l$3VvPiM8FiJ@_NH$KkNJ}58H0@&v>D793>l0VEErON*aFB(VMt~$ z0AgbxwqQsDl7>KR4irlPLNg#M2`HD!kjP*Pls5yil7K2wfhyC0r1|8>yp|y2`5rR^ E0FlKwAOHXW diff --git a/App/zh-Hant/HiNc.resources.dll b/App/zh-Hant/HiNc.resources.dll index 916a1ddcfa1a3fb3a13c7482fff64f46e16a8e20..29818727a1ab2af0d3376c0d8946f9f44382be3a 100644 GIT binary patch delta 223 zcmZoLX)u}4!7@9?`oP8>CuYX<&F7i7G6`7jnpRZ!&(mevM7e8BHl9l+Phs0>X{=|! zz+lSAU|_6gsAp(ktZklTX=HAcWM*!hWR{j_Zeo_4W@uq(YHn^~n3|fFl9ZNek!G1} zYPh+Lor9Y*oq>^onSp^Jee-moRz^nS&9WlJjKRhX+6?9lNeq?@MnKvK$T9=c#$Y;) zArZ(n0g5Cuq%jyWSOBppPy{4q$dC$zX$&bqm1#hh1(37^sxxIUocvhS5@fvCV`c#R Cb~P3N delta 223 zcmZoLX)u}4!E(XG?f%9dCuYX9&F7i7G70d;ewLfU80t79a+&=sb(LL{r?Bm`G}1F* zU@&E5Ffi6L)H5_N(l$3VvPiM8FiJ@_NH$KkNJ}