Improve Mrr_mm3ds precision: the material-removal-rate now sums each cut contour's signed area-vector (fan triangulation, skipping non-finite triangles) projected on the feed direction, replacing the per-contour bounding-box area that over-estimated the cut cross-section
Add AlignWorkpieceProgramZeroToIso script command: resolves a G54/G55/… entry from the project ISO coordinate table and places workpiece + fixture so the program zero coincides with that machine coordinate (topology math delegated to the new AlignWorkpieceProgramZeroToIso extension)
Drop gRPC plumbing from the HiNc package: remove Hi.Grpcs.* ClStrip/Player service runners and protos, MachiningProjectGrpcServer, MonitoringPlayer, and UniversalNcMonitorClient; fold CsvRunnerConfig back into CsvRunner (gRPC services now ship in HiNcRcl / UJoinRcl)
HiNc Packages Version 3.1.172
Replace implicit XFactory registration (private static <ClassName>() constructors + _ = X.XName wake-up touches) with explicit public static void Reg(XFactory factory = null) methods across ~270 classes. XFactory becomes an instance class with a process-wide Default singleton; Generators is renamed from Regs and now an instance property; the delegate type is renamed XGeneratorDelegate from GenByXElementDelegate. Composite types chain X.Reg(factory) on dependents in place of the old wake-up touches; multi-name (legacy alias) registrations keep the current XName first and group aliases under a //legacy aliases comment. Entry points (web service, win-desktop, test fixtures) must call Reg once at startup before any project XML is deserialized — registration no longer happens by accident when the type is first touched. See XML IO.
HiNc Packages Version 3.1.171
Rename RuntimeApi → SessionShell (the runtime entry point exposed to scripting); IShellCommand → ISessionCommand and RuntimeController → SessionShellController; the Hi.ShellCommands namespace moves to Hi.SessionCommands, and every command implementer's Run() parameter renames scriptApi → sessionShell
Tri-state milling-physics contract: MachiningStep physics getters converge on a tri-state result, non-null MillingPhysicsBrief on no-cut steps under EnablePhysics; silently skip thermal physics on null FluteMaterial / WorkpieceMaterial; lazy first-equip warning; align relief-face null-sentinel across NoCut + producer (in NcOpt and forces)
Rename IMachiningStepHost → IMachiningService (drops the ICsScriptApi seam)
Fixes: rotary IK round-trip anchored to pre-FK interpolated angle; ForceAccelShot.ReadRows skips blank lines
Update ISO coordinate rendering for 3+2 axis machines: coordinate position now uses IsoCoordinateEntryDisplayee with full machining chain anchor instead of table-buckle-only anchor
Rename SessionMessageHost → SessionProgress on both SessionProgress and SessionProgress (SessionShell.SessionMessageHost is kept as [Obsolete])
Remove obsolete HiLog logging utility and DynamicMachiningProjectDisplayee0
HiNc Packages Version 3.1.160
Fix NC optimization R-format arc interpolation with negative R values (follow-up to v158 R-format arc fix)
Fix cubetree construction defect when a triangle edge passes through a wire corner
Mech Builder: geometry (STL) file picker for anchored transformation now offers Project directory in addition to Resource directory.
Fix G53.1 tool height compensation behavior: replace NcEnv.SetToolHeightCompensationOnFeatureNormal configuration with automatic detection via NC flag state
Make EnableIntegerShrinkOnPositionCommand configurable via project settings (previously hard-coded by CNC brand, now defaults to false with XML IO support)
Fix NC optimization splitting R-format arcs (G02/G03 with R parameter) by converting to IJK format, since R sign meaning does not apply correctly to individual fragments
Fix step.csv reading crash on null or malformed values
Fix XML IO sub-base directory not applied in some project file operations
Upgrade internal fraction representation to float128 precision for improved cubetree geometry accuracy and numerical stability
Refactor messaging system from IMessageHost to standard IProgress<T> pattern; SessionProgress (formerly SessionMessageHost) now implements IProgress<T>, and all messaging methods renamed from Add* to Report* (e.g., AddProgress → ReportProgress)
Fix cubetree initialization crash
Improve postprocess precision by applying sin–cos parameterization instead of direct angle-based formulation for rotary axis numerical solving in XyzabcSolver
Add asynchronous anchor solid preparation on project load for improved startup performance