{ "source_base_path": "C:/program1/HiAPIs/HiAPI-docfx-2025", "xrefmap": "xrefmap.yml", "files": [ { "type": "Resource", "output": { "resource": { "relative_path": "index.json" } } }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.CachedTris.SweepingMode.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.CachedTris.SweepingMode.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr.CachedTris.SweepingMode", "Summary": "
Defines the mode for sweeping operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.CachedTris.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.CachedTris.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr.CachedTris", "Summary": "Feature-cached triangle for
Encapsulates cube tree construction defect results,\nincluding both defect data and visualization drawings.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.CubeTree.DefectNodeInfo.TriWireInfo.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.CubeTree.DefectNodeInfo.TriWireInfo.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr.CubeTree.DefectNodeInfo.TriWireInfo", "Summary": "A single triangle-wire relation entry within a defect node.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.CubeTree.DefectNodeInfo.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.CubeTree.DefectNodeInfo.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr.CubeTree.DefectNodeInfo", "Summary": "Info for a single defect node detected during cube tree construction.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.CubeTree.DefectTriWireInfoInterop.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.CubeTree.DefectTriWireInfoInterop.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr.CubeTree.DefectTriWireInfoInterop", "Summary": "Interop struct matching C++ defect_tri_wire_info_interop_t.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.CubeTree.InfNodeInfo.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.CubeTree.InfNodeInfo.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr.CubeTree.InfNodeInfo", "Summary": "Info for a single node with inf edge_cuts, containing box and edge indices.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.CubeTree.TriWireRelationInterop.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.CubeTree.TriWireRelationInterop.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr.CubeTree.TriWireRelationInterop", "Summary": "Interop struct matching C++ tri_wire_relation_interop_t.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.CubeTree.diff_response_func_t.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.CubeTree.diff_response_func_t.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr.CubeTree.diff_response_func_t", "Summary": "Delegate for handling difference responses during geometry comparison.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.CubeTree.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.CubeTree.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr.CubeTree", "Summary": "Cube-based data structure. CubeTree has high performance for free-form geometry manipulation include volume removal and addition.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.CubeTreeExportExtensions.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.CubeTreeExportExtensions.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr.CubeTreeExportExtensions", "Summary": "Mesh export helpers for
Represents a file containing cube tree data.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.DiffAttachment.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.DiffAttachment.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr.DiffAttachment", "Summary": "Represents an attachment with a difference value for cube tree.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.GeomBoolCache.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.GeomBoolCache.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr.GeomBoolCache", "Summary": "Cache for geometry boolean operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.GeomBoolCacheEnum.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.GeomBoolCacheEnum.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr.GeomBoolCacheEnum", "Summary": "Enumeration of geometry boolean cache types.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.IGetInitStickConvex.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.IGetInitStickConvex.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr.IGetInitStickConvex", "Summary": "Interface of
Encapsulates inf edge cuts defect visualization for a cube tree,\nincluding defect boxes, edge segments, and flag drawings.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.InitStickConvex.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.InitStickConvex.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr.InitStickConvex", "Summary": "Represents a stick convex initialization object.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.Substraction.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.Substraction.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr.Substraction", "Summary": "Represents the result of a volume subtraction operation.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.UnhighlightablePickable.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.UnhighlightablePickable.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr.UnhighlightablePickable", "Summary": "Cbtr un-highlightable pickable.\nFor initailizing purpose by
Data about the adding behavior of
Data about the removing behavior of
For Internal Use Only.\nRepresents a wire cube for display purposes.\nThe edge index follows the C++ cube_node_t pattern:\nedgeIndex = (dir << 2) | (th1 << 1) | th0\nwhere dir is the edge direction (0=X, 1=Y, 2=Z),\nth0 is the position flag in (dir+1)%3 direction,\nth1 is the position flag in (dir+2)%3 direction.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.node_diff_t.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.node_diff_t.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr.node_diff_t", "Summary": "Structure representing a node with a difference value.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Cbtr.yml", "output": { ".html": { "relative_path": "api/Hi.Cbtr.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Cbtr", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.AnchoredCollidableLeaf.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.AnchoredCollidableLeaf.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.AnchoredCollidableLeaf", "Summary": "Represents a leaf node in the anchored collidable hierarchy.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.AnchoredCollidablePair.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.AnchoredCollidablePair.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.AnchoredCollidablePair", "Summary": "Represents a pair of anchored collidable objects for collision detection.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.CollidableStl.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.CollidableStl.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.CollidableStl", "Summary": "Collidable Stl.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.CollisionFlag.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.CollisionFlag.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.CollisionFlag", "Summary": "Collision flag.\nThe definition is the same as native collision_flag.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.CollisionIndexPair.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.CollisionIndexPair.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.CollisionIndexPair", "Summary": "Represents a pair of collision indices for collision detection.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.CollisionUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.CollisionUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.CollisionUtil", "Summary": "Utility of tree grid related structure.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.FuncAnchoredCollidable.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.FuncAnchoredCollidable.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.FuncAnchoredCollidable", "Summary": "Represents a function-based implementation of an anchored collidable object.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.IAnchoredCollidableBased.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.IAnchoredCollidableBased.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.IAnchoredCollidableBased", "Summary": "Interface for objects that are based on anchored collidable nodes.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.IAnchoredCollidableLeaf.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.IAnchoredCollidableLeaf.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.IAnchoredCollidableLeaf", "Summary": "Interface for leaf nodes in the anchored collidable hierarchy.\nA leaf node represents a collidable object that doesn't contain other collidable objects.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.IAnchoredCollidableNode.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.IAnchoredCollidableNode.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.IAnchoredCollidableNode", "Summary": "Base interface for anchored collidable nodes in the collision hierarchy.\nDo not inherit this interface directly.\nOnly inherit directly from
Interface for stem nodes in the anchored collidable hierarchy.\nA stem node represents a collidable object that contains other collidable objects.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.ICollidable.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.ICollidable.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.ICollidable", "Summary": "Collidable geometry.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.ICollidee.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.ICollidee.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.ICollidee", "Summary": "Dont inherit the interface.\nOnly
Interface for a topological collision arena that manages collision detection between objects.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.ICollisionIndex.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.ICollisionIndex.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.ICollisionIndex", "Summary": "Interface for collision index objects that provide identification and anchoring for collidable objects.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.IGetAnchoredCollidablePairs.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.IGetAnchoredCollidablePairs.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.IGetAnchoredCollidablePairs", "Summary": "Interface for objects that can provide pairs of anchored collidable objects for collision detection.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.IGetCollidable.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.IGetCollidable.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.IGetCollidable", "Summary": "Interface for objects that can provide a collidable object.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.IGetCollisionIndexPairs.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.IGetCollisionIndexPairs.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.IGetCollisionIndexPairs", "Summary": "Interface for objects that can provide pairs of collision indices for collision detection.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.IGetDefaultCollidablePairs.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.IGetDefaultCollidablePairs.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.IGetDefaultCollidablePairs", "Summary": "Interface for objects that can provide default pairs of anchored collidable objects.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.IGetTriTree.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.IGetTriTree.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.IGetTriTree", "Summary": "Interface of
Represents the result of a mechanical collision detection operation.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.MechCollisionUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.MechCollisionUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.MechCollisionUtil", "Summary": "Utility class providing methods for mechanical collision detection and management.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Collision.TriTree.yml", "output": { ".html": { "relative_path": "api/Hi.Collision.TriTree.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Collision.TriTree", "Summary": "A wrapper provides native tree-grid-based structure.\nIt wraps
Represents a collidable object that is associated with an
Defines a collidable object that has an associated
Utility for handling color. Includes handle of RGB and HSL.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Coloring.DictionaryColorGuide.yml", "output": { ".html": { "relative_path": "api/Hi.Coloring.DictionaryColorGuide.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Coloring.DictionaryColorGuide", "Summary": "A color guide that manages a dictionary of color guides and allows selection of one active guide.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Coloring.DiscreteQuantityColorGuide.yml", "output": { ".html": { "relative_path": "api/Hi.Coloring.DiscreteQuantityColorGuide.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Coloring.DiscreteQuantityColorGuide", "Summary": "A color guide that assigns colors based on discrete quantity values.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Coloring.FilteredColorGuide.yml", "output": { ".html": { "relative_path": "api/Hi.Coloring.FilteredColorGuide.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Coloring.FilteredColorGuide", "Summary": "A color guide that combines a filter color guide with a dictionary color guide.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Coloring.FuncRangeColorGuide.yml", "output": { ".html": { "relative_path": "api/Hi.Coloring.FuncRangeColorGuide.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Coloring.FuncRangeColorGuide", "Summary": "A color guide that uses a function to get a numeric value and maps it to a color using a range color rule.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Coloring.IColorGuide.yml", "output": { ".html": { "relative_path": "api/Hi.Coloring.IColorGuide.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Coloring.IColorGuide", "Summary": "Interface of setting color and the rendering priority.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Coloring.IColorGuideProperty.yml", "output": { ".html": { "relative_path": "api/Hi.Coloring.IColorGuideProperty.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Coloring.IColorGuideProperty", "Summary": "Interface for objects that have a color guide property.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Coloring.IGetColorGuide.yml", "output": { ".html": { "relative_path": "api/Hi.Coloring.IGetColorGuide.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Coloring.IGetColorGuide", "Summary": "Interface of
Interface for retrieving a range color rule.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Coloring.IGetRgb.yml", "output": { ".html": { "relative_path": "api/Hi.Coloring.IGetRgb.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Coloring.IGetRgb", "Summary": "Rgb getter interface
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Coloring.IGetRgbWithPriority.yml", "output": { ".html": { "relative_path": "api/Hi.Coloring.IGetRgbWithPriority.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Coloring.IGetRgbWithPriority", "Summary": "Interface of
A color guide that provides a constant color value.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Coloring.QuantityColorGuide.yml", "output": { ".html": { "relative_path": "api/Hi.Coloring.QuantityColorGuide.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Coloring.QuantityColorGuide", "Summary": "A color guide that maps numeric quantities to colors using a range color rule.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Coloring.RangeColorRule.yml", "output": { ".html": { "relative_path": "api/Hi.Coloring.RangeColorRule.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Coloring.RangeColorRule", "Summary": "Defines a rule for mapping numeric values to colors based on a range.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Coloring.RatioRgbFuncEnum.yml", "output": { ".html": { "relative_path": "api/Hi.Coloring.RatioRgbFuncEnum.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Coloring.RatioRgbFuncEnum", "Summary": "Ratio-based RGB function enum.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Coloring.RgbSeed.yml", "output": { ".html": { "relative_path": "api/Hi.Coloring.RgbSeed.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Coloring.RgbSeed", "Summary": "A simple object contains RGB value.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Coloring.yml", "output": { ".html": { "relative_path": "api/Hi.Coloring.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Coloring", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.BinIoUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.BinIoUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.BinIoUtil", "Summary": "Utility class for binary I/O operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.BitUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.BitUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.BitUtil", "Summary": "Utility for bit control for integer.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.BlockingTimer.yml", "output": { ".html": { "relative_path": "api/Hi.Common.BlockingTimer.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.BlockingTimer", "Summary": "Timer use one task and delay each event call.\nThe delay time is
Utility class for byte array operations and memory size conversions.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Collections.DictionaryUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Collections.DictionaryUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Collections.DictionaryUtil", "Summary": "Utility class providing extension methods for dictionary operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Collections.EnumerableUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Collections.EnumerableUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Collections.EnumerableUtil", "Summary": "Utility class providing extension methods for enumerable collections.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Collections.FixedSizeConcurrentLinkedListUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Collections.FixedSizeConcurrentLinkedListUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Collections.FixedSizeConcurrentLinkedListUtil", "Summary": "Utility of Fixed Size Concurrent LinkedList.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Collections.LazyLinkedList-1.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Collections.LazyLinkedList-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Collections.LazyLinkedListA singly-growable linked list that can lazily materialize nodes\nfrom an
Node for
Utility methods for working with linked lists.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Collections.ListIndexBasedEnumerable-1.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Collections.ListIndexBasedEnumerable-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Collections.ListIndexBasedEnumerableProvides an enumerable wrapper for a list that iterates over a specified range of indices.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Collections.ListIndexBasedIEnumerator-1.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Collections.ListIndexBasedIEnumerator-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Collections.ListIndexBasedIEnumeratorProvides an enumerator that iterates over a specified range of indices in a list.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Collections.ListUtil.OuterPolationMode.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Collections.ListUtil.OuterPolationMode.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Collections.ListUtil.OuterPolationMode", "Summary": "Defines the mode for handling values outside the range of a collection during interpolation.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Collections.ListUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Collections.ListUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Collections.ListUtil", "Summary": "Provides utility methods for working with lists and collections.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Collections.SearchTargetMode.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Collections.SearchTargetMode.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Collections.SearchTargetMode", "Summary": "Specifies the search method to use when looking for values in a sorted list.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Collections.SeekDirection.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Collections.SeekDirection.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Collections.SeekDirection", "Summary": "Specifies the seek direction for sorted list operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Collections.SortedListUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Collections.SortedListUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Collections.SortedListUtil", "Summary": "Utility class providing extension methods for SortedList operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Collections.SubList-1.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Collections.SubList-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Collections.SubListRepresents a sub-list view of a source list within a specified index range.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Collections.SynList-1.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Collections.SynList-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Collections.SynListThread-safe List.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Collections.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Collections.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Collections", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.ConcurrentTimeCounter.yml", "output": { ".html": { "relative_path": "api/Hi.Common.ConcurrentTimeCounter.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.ConcurrentTimeCounter", "Summary": "Thread-safe utility for measuring and tracking execution time across multiple tasks.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.ConsoleUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.ConsoleUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.ConsoleUtil", "Summary": "Utility class for console window operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.CppLogUtil.LogDelegate.yml", "output": { ".html": { "relative_path": "api/Hi.Common.CppLogUtil.LogDelegate.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.CppLogUtil.LogDelegate", "Summary": "Internal Use Only.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.CppLogUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.CppLogUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.CppLogUtil", "Summary": "Internal Use Only.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.CsvUtils.CsvInputKit.yml", "output": { ".html": { "relative_path": "api/Hi.Common.CsvUtils.CsvInputKit.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.CsvUtils.CsvInputKit", "Summary": "Utility class for parsing and processing CSV input data.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.CsvUtils.CsvOutputKit.yml", "output": { ".html": { "relative_path": "api/Hi.Common.CsvUtils.CsvOutputKit.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.CsvUtils.CsvOutputKit", "Summary": "CSV output toolkit.\nToolkit for getting Comma-seperated Csv lines.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.CsvUtils.CsvUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.CsvUtils.CsvUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.CsvUtils.CsvUtil", "Summary": "Provides utility methods for working with CSV (Comma-Separated Values) data.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.CsvUtils.ICsvRowIo.yml", "output": { ".html": { "relative_path": "api/Hi.Common.CsvUtils.ICsvRowIo.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.CsvUtils.ICsvRowIo", "Summary": "Object that can be two-way converting between CSV row.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.CsvUtils.IGetCsvDictionary.yml", "output": { ".html": { "relative_path": "api/Hi.Common.CsvUtils.IGetCsvDictionary.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.CsvUtils.IGetCsvDictionary", "Summary": "Interface of
Declares one culture's text for one vocabulary key on the member carrying\nthe attribute — the static wording of command titles and labels, owned by\nthe declaring library as a DEFAULT: a GUI layer may override it or add\ncultures the library never declared (see\n
\nThe key defaults to the member's own display name: its\n
The English culture the engine formats and parses with, and the one call\nthat pins a thread to it.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.DuplicateUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.DuplicateUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.DuplicateUtil", "Summary": "Utility methods for duplication operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.EnumUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.EnumUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.EnumUtil", "Summary": "Utility class for enum operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.EnumerablePlayer.yml", "output": { ".html": { "relative_path": "api/Hi.Common.EnumerablePlayer.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.EnumerablePlayer", "Summary": "Run enumerable with
Event arguments for when a file processing begins.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.FileLines.FileEndEventArgs.yml", "output": { ".html": { "relative_path": "api/Hi.Common.FileLines.FileEndEventArgs.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.FileLines.FileEndEventArgs", "Summary": "Event arguments for when a file processing ends.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.FileLines.FileLineCharIndex.yml", "output": { ".html": { "relative_path": "api/Hi.Common.FileLines.FileLineCharIndex.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.FileLines.FileLineCharIndex", "Summary": "Represents a character-level position within a file by file index, line index, and character index.\nAll indices are 0-based.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.FileLines.FileLineCharIndexSegment.yml", "output": { ".html": { "relative_path": "api/Hi.Common.FileLines.FileLineCharIndexSegment.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.FileLines.FileLineCharIndexSegment", "Summary": "Represents a character-level segment within file(s).\n
Represents a location in a file by its file index and line number.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.FileLines.FileLineUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.FileLines.FileLineUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.FileLines.FileLineUtil", "Summary": "Utility of
Utility to manage files.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.FileLines.IFileChangedEventSupport.yml", "output": { ".html": { "relative_path": "api/Hi.Common.FileLines.IFileChangedEventSupport.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.FileLines.IFileChangedEventSupport", "Summary": "Interface for supporting file change events.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.FileLines.IFileLine.yml", "output": { ".html": { "relative_path": "api/Hi.Common.FileLines.IFileLine.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.FileLines.IFileLine", "Summary": "Interface of file line.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.FileLines.IFileLineCharIndex.yml", "output": { ".html": { "relative_path": "api/Hi.Common.FileLines.IFileLineCharIndex.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.FileLines.IFileLineCharIndex", "Summary": "Interface for a character-level position within a file: file, line, and character index.\nAll indices are 0-based.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.FileLines.IFileLineIndex.yml", "output": { ".html": { "relative_path": "api/Hi.Common.FileLines.IFileLineIndex.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.FileLines.IFileLineIndex", "Summary": "Interface of file number and line number.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.FileLines.IGetFileLineIndex.yml", "output": { ".html": { "relative_path": "api/Hi.Common.FileLines.IGetFileLineIndex.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.FileLines.IGetFileLineIndex", "Summary": "Interface of
Interface for objects that can provide a file line.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.FileLines.IIndexedFileLine.yml", "output": { ".html": { "relative_path": "api/Hi.Common.FileLines.IIndexedFileLine.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.FileLines.IIndexedFileLine", "Summary": "Interface for a file line with associated file and line index information.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.FileLines.ILineChangedEventSupport.yml", "output": { ".html": { "relative_path": "api/Hi.Common.FileLines.ILineChangedEventSupport.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.FileLines.ILineChangedEventSupport", "Summary": "Interface for objects that support line change events.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.FileLines.IndexedFile.yml", "output": { ".html": { "relative_path": "api/Hi.Common.FileLines.IndexedFile.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.FileLines.IndexedFile", "Summary": "Represents a file with an associated index.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.FileLines.IndexedFileLine.yml", "output": { ".html": { "relative_path": "api/Hi.Common.FileLines.IndexedFileLine.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.FileLines.IndexedFileLine", "Summary": "Represents a line of text from a file with associated file and line information.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.FileLines.IndexedFileLineChar.yml", "output": { ".html": { "relative_path": "api/Hi.Common.FileLines.IndexedFileLineChar.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.FileLines.IndexedFileLineChar", "Summary": "Represents a character-level position within a file, with associated file path context.\nAnalogous to
Event arguments for when line processing begins.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.FileLines.LineEndEventArgs.yml", "output": { ".html": { "relative_path": "api/Hi.Common.FileLines.LineEndEventArgs.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.FileLines.LineEndEventArgs", "Summary": "Event arguments for when line processing ends.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.FileLines.yml", "output": { ".html": { "relative_path": "api/Hi.Common.FileLines.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.FileLines", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.IAbstractNote.yml", "output": { ".html": { "relative_path": "api/Hi.Common.IAbstractNote.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.IAbstractNote", "Summary": "Interface for objects that provide an abstract description or note.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.IBinaryIo.yml", "output": { ".html": { "relative_path": "api/Hi.Common.IBinaryIo.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.IBinaryIo", "Summary": "Interface for binary input/output operations.\nExtends
Interface for objects that can clear their internal cache.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.ICommandTextSource.yml", "output": { ".html": { "relative_path": "api/Hi.Common.ICommandTextSource.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.ICommandTextSource", "Summary": "A culture-bearing vocabulary commands compose their titles and labels\nfrom: it maps a vocabulary key — the English default text — onto that\nculture's text. The CALLER picks the source, so the presentation layer\nowns the language (no thread culture involved); the command keeps its\ncomposition and degradation rules. Presentation layers can implement\ntheir own source or take the engine-default one from\n
Interface for objects that support deep cloning/duplication.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.IGetQuantityByKey.yml", "output": { ".html": { "relative_path": "api/Hi.Common.IGetQuantityByKey.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.IGetQuantityByKey", "Summary": "Interface for retrieving a quantity value using a string key.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.IGetSelectionName.yml", "output": { ".html": { "relative_path": "api/Hi.Common.IGetSelectionName.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.IGetSelectionName", "Summary": "Interface for objects that can provide a name for selection purposes.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.INameNote.yml", "output": { ".html": { "relative_path": "api/Hi.Common.INameNote.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.INameNote", "Summary": "Interface for objects that have a name and note property.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.IPreferredFileName.yml", "output": { ".html": { "relative_path": "api/Hi.Common.IPreferredFileName.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.IPreferredFileName", "Summary": "Interface for objects that can specify a preferred file name.\nGenerally used to suggest a name when generating or saving files.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.IProgressFraction.yml", "output": { ".html": { "relative_path": "api/Hi.Common.IProgressFraction.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.IProgressFraction", "Summary": "Interface for progress reporting functionality.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.ISourceFile.yml", "output": { ".html": { "relative_path": "api/Hi.Common.ISourceFile.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.ISourceFile", "Summary": "Interface for objects that have a source file.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.IToPresentDto.yml", "output": { ".html": { "relative_path": "api/Hi.Common.IToPresentDto.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.IToPresentDto", "Summary": "Interface for converting objects to presentation DTOs (Data Transfer Objects) for JSON serialization.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.IUpdateByContent.yml", "output": { ".html": { "relative_path": "api/Hi.Common.IUpdateByContent.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.IUpdateByContent", "Summary": "Interface for objects that can update themselves based on their content.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.IUriGetter.yml", "output": { ".html": { "relative_path": "api/Hi.Common.IUriGetter.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.IUriGetter", "Summary": "Interface for retrieving a URI string.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.IWriteBin.yml", "output": { ".html": { "relative_path": "api/Hi.Common.IWriteBin.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.IWriteBin", "Summary": "Interface for writing binary data.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.IndexSegment.yml", "output": { ".html": { "relative_path": "api/Hi.Common.IndexSegment.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.IndexSegment", "Summary": "Represents a segment of indices with a beginning (inclusive) and ending (exclusive> point.\nUsed for defining segment of data in collections or arrays.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.IntegerKeyDictionaryConverter-1.yml", "output": { ".html": { "relative_path": "api/Hi.Common.IntegerKeyDictionaryConverter-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.IntegerKeyDictionaryConverterGeneric version of
Converts dictionaries with string keys to dictionaries with integer keys for more efficient storage and lookup.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.InternalException.yml", "output": { ".html": { "relative_path": "api/Hi.Common.InternalException.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.InternalException", "Summary": "Exception that represents an internal error that should never occur during normal operation.\nUsed to indicate programming errors or unexpected states that require developer attention.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.InvokeUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.InvokeUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.InvokeUtil", "Summary": "Utility class for method invocation operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.JsonUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.JsonUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.JsonUtil", "Summary": "Helper utilities for reading and writing JSON files.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.LooseRunner.MergedCancellationTokenRun.yml", "output": { ".html": { "relative_path": "api/Hi.Common.LooseRunner.MergedCancellationTokenRun.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.LooseRunner.MergedCancellationTokenRun", "Summary": "Delegate for actions that accept a merged cancellation token.\nThe merged token combines the runner's disposal token with an optional external cancellation token.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.LooseRunner.yml", "output": { ".html": { "relative_path": "api/Hi.Common.LooseRunner.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.LooseRunner", "Summary": "Provides a mechanism for running actions asynchronously in a loose manner.\nOnly the most recent action is executed and previous pending actions are discarded.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.ManualUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.ManualUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.ManualUtil", "Summary": "Utility class for handling manual and documentation files with culture support.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.MaskUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.MaskUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.MaskUtil", "Summary": "Utility for bits masking.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Messages.ActionProgress-1.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Messages.ActionProgress-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Messages.ActionProgressLightweight
Bootstrap theme colors for UI styling.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Messages.Category.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Messages.Category.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Messages.Category", "Summary": "Classification of an
Debug utility provides functions: pause process, count execution time and show the count.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Messages.ExceptionUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Messages.ExceptionUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Messages.ExceptionUtil", "Summary": "Provides utility methods for handling exceptions.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Messages.IMessage.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Messages.IMessage.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Messages.IMessage", "Summary": "Common contract for a single reportable item on an NcDiagnostic by\nNcDiagnosticProgress, ClStripPos by ClStrip) rather than being mixed\ninto one shared collection.
Marker for an
\nEmpty by design: the contract is purely the marker. The children are exposed by the concrete\ntype (e.g. StepScopedProgress.MessageList) and drained at the point that owns the\nordering guarantee, so a consumer that does not recognize
Utility class for displaying messages on a message board.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Messages.MessageCollector.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Messages.MessageCollector.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Messages.MessageCollector", "Summary": "A minimal IProgress<IMessage> messageProgress), runs the operation, then reads the\ncollected messages back — e.g. to return them in an HTTP response so a REST / AI\ncaller sees progress, success, and error notifications inline.
Unlike the session / strip sinks (SessionProgress, StepDiagnosticProgress) it\nfires no events and holds no session or pipeline state; it is cheap to create and\ndiscard for the lifetime of a single call.
Enumeration of common message types used for system notifications.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Messages.MessageUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Messages.MessageUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Messages.MessageUtil", "Summary": "Extension helpers for reporting NcDiagnosticProgress's shorthand methods. Every helper is named\n{Category}{Severity} and is id-first; the structured id is used for\nfiltering / suppression. All overloads are null-safe on host.
\nEach helper has a {Category}{Severity}Fmt sibling taking a\n
Importance level of an Validation + Warning). Promoted from the former\nNcDiagnosticSeverity so non-NC messages (simple notices, progress fractions) share a\nsingle scale.
Delegate for showing message board notifications.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Messages.SimpleMessage.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Messages.SimpleMessage.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.Messages.SimpleMessage", "Summary": "A plain StepIndex / SentenceCarrier without the producer needing to know it.
Represents a position with an index, key, and a range of values.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.MinMaxUtils.MinMaxUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.MinMaxUtils.MinMaxUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.MinMaxUtils.MinMaxUtil", "Summary": "Provides utility methods for finding minimum and maximum values in collections.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.MinMaxUtils.yml", "output": { ".html": { "relative_path": "api/Hi.Common.MinMaxUtils.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.MinMaxUtils", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.NameUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.NameUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.NameUtil", "Summary": "Utility class for handling object names and display names.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.NativeProgresses.NativeProgressFraction.yml", "output": { ".html": { "relative_path": "api/Hi.Common.NativeProgresses.NativeProgressFraction.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.NativeProgresses.NativeProgressFraction", "Summary": "Native implementation of the progress report interface.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.NativeProgresses.progress_monitor_t.yml", "output": { ".html": { "relative_path": "api/Hi.Common.NativeProgresses.progress_monitor_t.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.NativeProgresses.progress_monitor_t", "Summary": "Native structure for progress monitoring.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.NativeProgresses.report_progress_func_t.yml", "output": { ".html": { "relative_path": "api/Hi.Common.NativeProgresses.report_progress_func_t.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.NativeProgresses.report_progress_func_t", "Summary": "Delegate for reporting progress from native code.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.NativeProgresses.yml", "output": { ".html": { "relative_path": "api/Hi.Common.NativeProgresses.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.NativeProgresses", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.PacePlayee.yml", "output": { ".html": { "relative_path": "api/Hi.Common.PacePlayee.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.PacePlayee", "Summary": "Represents an entity that can be controlled by the pace player.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.PacePlayer.yml", "output": { ".html": { "relative_path": "api/Hi.Common.PacePlayer.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.PacePlayer", "Summary": "Controls the pace execution of a task.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Pair-2.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Pair-2.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.PairEditable pair values.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.ParallelBulkUtils.ParallelBulkReader-1.yml", "output": { ".html": { "relative_path": "api/Hi.Common.ParallelBulkUtils.ParallelBulkReader-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.ParallelBulkUtils.ParallelBulkReaderParallel bulk reader that provides efficient data access with caching capabilities.\nManages reading data in parallel with forward and backward caching to optimize performance.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.ParallelBulkUtils.ParallelBulkWriter-1.yml", "output": { ".html": { "relative_path": "api/Hi.Common.ParallelBulkUtils.ParallelBulkWriter-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.ParallelBulkUtils.ParallelBulkWriterParallel bulk writer that efficiently processes and writes data in parallel.\nThe writing data is buffered and processed on a separate task to improve performance.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.ParallelBulkUtils.ReadBulkDelegate-1.yml", "output": { ".html": { "relative_path": "api/Hi.Common.ParallelBulkUtils.ReadBulkDelegate-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.ParallelBulkUtils.ReadBulkDelegateDelegate for reading a bulk of data from a specified range.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.ParallelBulkUtils.SequentialBulkReader-1.yml", "output": { ".html": { "relative_path": "api/Hi.Common.ParallelBulkUtils.SequentialBulkReader-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.ParallelBulkUtils.SequentialBulkReaderSequential bulk reader that provides efficient data access with caching capabilities.\nUnlike
Represents a path with a named base path and an optional extended path component.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.PathUtils.HttpUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.PathUtils.HttpUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.PathUtils.HttpUtil", "Summary": "Utility class for HTTP operations such as URL validation and content retrieval.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.PathUtils.Lang.yml", "output": { ".html": { "relative_path": "api/Hi.Common.PathUtils.Lang.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.PathUtils.Lang", "Summary": "Provides language-related utilities for path handling.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.PathUtils.NamedPath.yml", "output": { ".html": { "relative_path": "api/Hi.Common.PathUtils.NamedPath.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.PathUtils.NamedPath", "Summary": "Represents a file system path with an associated name or alias.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.PathUtils.PathUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.PathUtils.PathUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.PathUtils.PathUtil", "Summary": "Utility class for path manipulation and management.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.PathUtils.yml", "output": { ".html": { "relative_path": "api/Hi.Common.PathUtils.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.PathUtils", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.ProgressFraction.yml", "output": { ".html": { "relative_path": "api/Hi.Common.ProgressFraction.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.ProgressFraction", "Summary": "Represents a progress report implementation. Also exposes an SimpleMessage / NcDiagnostic:
This cacher suits scattered IO with repeatity.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.QueueCacheUtils.QueueCacherHost-1.yml", "output": { ".html": { "relative_path": "api/Hi.Common.QueueCacheUtils.QueueCacherHost-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.QueueCacheUtils.QueueCacherHostThis cacher suits scattered IO with repeatity.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.QueueCacheUtils.yml", "output": { ".html": { "relative_path": "api/Hi.Common.QueueCacheUtils.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.QueueCacheUtils", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.Range-1.yml", "output": { ".html": { "relative_path": "api/Hi.Common.Range-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.RangeRange from
File-name convention that marks a shipped resource item as a system-owned\ndefault: a file carries the token before its final extension\n(AlTiBN.default.CoatingMaterial), a folder-shaped resource carries it\nas a folder-name suffix (MachineTool/Table-B1.default/) with the\nfiles inside left untouched.
Provides the relative folder paths that make up the shipped resource tree.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.ResourceUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.ResourceUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.ResourceUtil", "Summary": "Utility class for working with resource managers and localized strings,\nand the home of the attribute-declared command vocabulary: the\n
Block the thread to the given delay from the previous block.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.SearchResult.yml", "output": { ".html": { "relative_path": "api/Hi.Common.SearchResult.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.SearchResult", "Summary": "Represents the result of a search operation.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.SeqPair-1.yml", "output": { ".html": { "relative_path": "api/Hi.Common.SeqPair-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.SeqPairRepresents a sequence pair containing previous and current values.\nUsed to track sequential state changes of a value.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.SeqPairUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.SeqPairUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.SeqPairUtil", "Summary": "Utility class for SeqPair operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.ServerFileExplorerConfig.yml", "output": { ".html": { "relative_path": "api/Hi.Common.ServerFileExplorerConfig.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.ServerFileExplorerConfig", "Summary": "Configuration for server file explorer functionality.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.StringLocalizer.yml", "output": { ".html": { "relative_path": "api/Hi.Common.StringLocalizer.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.StringLocalizer", "Summary": "Provides localization functionality for strings using resource managers.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.StringUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.StringUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.StringUtil", "Summary": "Utility for managing text.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.TaskUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.TaskUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.TaskUtil", "Summary": "Utility class for Task-related operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.TimeCounter.yml", "output": { ".html": { "relative_path": "api/Hi.Common.TimeCounter.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.TimeCounter", "Summary": "A utility counts the average/total time consume between the
A class that combines an XML-serializable data object with its source file path.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.XmlUtils.IMakeXmlSource.yml", "output": { ".html": { "relative_path": "api/Hi.Common.XmlUtils.IMakeXmlSource.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.XmlUtils.IMakeXmlSource", "Summary": "Interface for objects that can be serialized to XML format.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.XmlUtils.IToXElement.yml", "output": { ".html": { "relative_path": "api/Hi.Common.XmlUtils.IToXElement.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.XmlUtils.IToXElement", "Summary": "Interface of
Carries the API version read from a project file's XML attribute\nthrough the object[] res parameter.\nConsumers retrieve it with res?.OfType<ProjectApiVersion>().FirstOrDefault().
Delegate for setting the file path during XML operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.XmlUtils.XFactory.XGeneratorDelegate.yml", "output": { ".html": { "relative_path": "api/Hi.Common.XmlUtils.XFactory.XGeneratorDelegate.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.XmlUtils.XFactory.XGeneratorDelegate", "Summary": "Delegate for generating an object from an XML element with relative\nfile path context.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.XmlUtils.XFactory.XmlExceptionDelegate.yml", "output": { ".html": { "relative_path": "api/Hi.Common.XmlUtils.XFactory.XmlExceptionDelegate.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.XmlUtils.XFactory.XmlExceptionDelegate", "Summary": "Delegate for handling XML exceptions during generation.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.XmlUtils.XFactory.yml", "output": { ".html": { "relative_path": "api/Hi.Common.XmlUtils.XFactory.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.XmlUtils.XFactory", "Summary": "Factory for generating objects from XML elements using registered generator\nfunctions.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.XmlUtils.XmlUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Common.XmlUtils.XmlUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.XmlUtils.XmlUtil", "Summary": "Utility for managing XML.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.XmlUtils.yml", "output": { ".html": { "relative_path": "api/Hi.Common.XmlUtils.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common.XmlUtils", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Common.yml", "output": { ".html": { "relative_path": "api/Hi.Common.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Common", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.CutterLocations.ClPath.ClCircleArc.yml", "output": { ".html": { "relative_path": "api/Hi.CutterLocations.ClPath.ClCircleArc.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.CutterLocations.ClPath.ClCircleArc", "Summary": "Cutter location path of circle arc.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.CutterLocations.ClPath.ClLinear.yml", "output": { ".html": { "relative_path": "api/Hi.CutterLocations.ClPath.ClLinear.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.CutterLocations.ClPath.ClLinear", "Summary": "Cutter location path by linear interpolation.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.CutterLocations.ClPath.IClPath.yml", "output": { ".html": { "relative_path": "api/Hi.CutterLocations.ClPath.IClPath.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.CutterLocations.ClPath.IClPath", "Summary": "Cutter location path.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.CutterLocations.ClPath.yml", "output": { ".html": { "relative_path": "api/Hi.CutterLocations.ClPath.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.CutterLocations.ClPath", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.CutterLocations.ClStrips.ClStrip.yml", "output": { ".html": { "relative_path": "api/Hi.CutterLocations.ClStrips.ClStrip.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.CutterLocations.ClStrips.ClStrip", "Summary": "Represents a CL (Cutter Location) strip for 3D display.\nThis class manages the display and interaction of cutter location points and lines.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.CutterLocations.ClStrips.ClStripPos.yml", "output": { ".html": { "relative_path": "api/Hi.CutterLocations.ClStrips.ClStripPos.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.CutterLocations.ClStrips.ClStripPos", "Summary": "Represents a position in a cutter location strip, containing program coordinates and state information.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.CutterLocations.ClStrips.RgbFunc.yml", "output": { ".html": { "relative_path": "api/Hi.CutterLocations.ClStrips.RgbFunc.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.CutterLocations.ClStrips.RgbFunc", "Summary": "Delegate for getting RGB color from a source object.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.CutterLocations.ClStrips.yml", "output": { ".html": { "relative_path": "api/Hi.CutterLocations.ClStrips.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.CutterLocations.ClStrips", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.CutterLocations.IGetProgramCl.yml", "output": { ".html": { "relative_path": "api/Hi.CutterLocations.IGetProgramCl.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.CutterLocations.IGetProgramCl", "Summary": "Interface of get CL (Cutter Location).
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.CutterLocations.SimpleCl.yml", "output": { ".html": { "relative_path": "api/Hi.CutterLocations.SimpleCl.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.CutterLocations.SimpleCl", "Summary": "Represents a simple cutter location with position and normal vector.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.CutterLocations.yml", "output": { ".html": { "relative_path": "api/Hi.CutterLocations.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.CutterLocations", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Bind.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Bind.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Bind", "Summary": "Runtime rendering data for each iteration in rendering loop.\nIt manipulates geometry transformation, such as moving, rotatingand scaling.\nIt also deal with color and picking.\nA bind_t object is generated by rendering in the every beginning of each rendering iteration.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Box3dDispUtil.BoxableExpandToBox3dDel.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Box3dDispUtil.BoxableExpandToBox3dDel.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Box3dDispUtil.BoxableExpandToBox3dDel", "Summary": "Delegate for expanding a native boxable object to a box3d.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Box3dDispUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Box3dDispUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Box3dDispUtil", "Summary": "Utility and Extension of
A displayee implementation that delegates display functionality to a function.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.DispEngine.ImageRequestedDelegate.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.DispEngine.ImageRequestedDelegate.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.DispEngine.ImageRequestedDelegate", "Summary": "For
HiAPI display engine.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.DispEngineConfig.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.DispEngineConfig.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.DispEngineConfig", "Summary": "Configuration class for display engine.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.DispFrameUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.DispFrameUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.DispFrameUtil", "Summary": "Utility class for display frame management.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.DispList.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.DispList.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.DispList", "Summary": "A combination of
Display Utility
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Drawing.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Drawing.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Drawing", "Summary": "The most efficient elemental 3D rendering unit.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Flag.ColorScaleBar.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Flag.ColorScaleBar.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Flag.ColorScaleBar", "Summary": "ColorScaleBar.\nFor Covering mode.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Flag.CoordinateDrawing.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Flag.CoordinateDrawing.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Flag.CoordinateDrawing", "Summary": "Draw a Cartesian Coordinate.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Flag.CubicalFlagDrawing.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Flag.CubicalFlagDrawing.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Flag.CubicalFlagDrawing", "Summary": "A drawing class for cubical flag visualization.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Flag.DimensionBar.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Flag.DimensionBar.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Flag.DimensionBar", "Summary": "DimensionBar.\nFor Covering mode.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Flag.DispCoverUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Flag.DispCoverUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Flag.DispCoverUtil", "Summary": "Utility class for display covering functionality.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Flag.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Flag.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Flag", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.FuncDisplayee.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.FuncDisplayee.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.FuncDisplayee", "Summary": "A displayee implementation that delegates display functionality to function delegates.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.GL.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.GL.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.GL", "Summary": "Native opengl functions wrapper.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.IDisplayee.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.IDisplayee.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.IDisplayee", "Summary": "An object which can be displayed in
Interface fo getting
Get
Bridge of Native OpenGL Context.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.MatStack.ItemDisposable.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.MatStack.ItemDisposable.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.MatStack.ItemDisposable", "Summary": "A disposable class that manages push and pop operations on a matrix stack.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.MatStack.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.MatStack.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.MatStack", "Summary": "Stack-based Matrix.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.MvpBoxRelation.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.MvpBoxRelation.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.MvpBoxRelation", "Summary": "Relation between mvpBox and an AABB
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Pickable.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Pickable.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Pickable", "Summary": "Picking event handler for rendering.\nNote that it has to be disposed manually or the object occurs memory leak.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.PopModelMat.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.PopModelMat.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.PopModelMat", "Summary": "Call
Call
Utilities for converting geometry segments to renderable drawings.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.ShowEventPickable.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.ShowEventPickable.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.ShowEventPickable", "Summary": "Show pick events in console.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Stamp.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Stamp.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Stamp", "Summary": "Data scope of the double array for
An
A utility class for temporarily changing the line width and restoring it when disposed.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Treat.LineWidthTreat.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Treat.LineWidthTreat.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Treat.LineWidthTreat", "Summary": "Object for set line width of opengl drawing.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Treat.PointSizeSwap.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Treat.PointSizeSwap.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Treat.PointSizeSwap", "Summary": "A utility class for temporarily changing the point size and restoring it when disposed.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Treat.PointSizeTreat.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Treat.PointSizeTreat.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Treat.PointSizeTreat", "Summary": "Object for set point size of opengl drawing.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Treat.RgbSwap.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Treat.RgbSwap.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Treat.RgbSwap", "Summary": "A utility class for temporarily changing the RGB color and restoring it when disposed.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Treat.RgbTreat.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Treat.RgbTreat.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Treat.RgbTreat", "Summary": "A displayee that sets the RGB color in the binding context.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Treat.RgbWrapper.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Treat.RgbWrapper.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Treat.RgbWrapper", "Summary": "A wrapper displayee that applies an RGB color to the wrapped displayee.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Treat.TransformationWrapper.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Treat.TransformationWrapper.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Treat.TransformationWrapper", "Summary": "A wrapper displayee that applies a transformation matrix to the wrapped displayees.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Treat.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Treat.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Treat", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.Tri3dDispUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.Tri3dDispUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp.Tri3dDispUtil", "Summary": "Utility and Extension of
Utility and Extension of
A wrapper class for IDisplayee that allows customizing display and bounding box behavior.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Disp.yml", "output": { ".html": { "relative_path": "api/Hi.Disp.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Disp", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Fanuc.FanucVarTable.yml", "output": { ".html": { "relative_path": "api/Hi.Fanuc.FanucVarTable.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Fanuc.FanucVarTable", "Summary": "Represents a table of Fanuc variables used for CNC machine control.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Fanuc.FanucVarValue.yml", "output": { ".html": { "relative_path": "api/Hi.Fanuc.FanucVarValue.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Fanuc.FanucVarValue", "Summary": "Represents a value for Fanuc variable that can be interpreted as either an integer or a double.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Fanuc.yml", "output": { ".html": { "relative_path": "api/Hi.Fanuc.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Fanuc", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.ArrayUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.ArrayUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.ArrayUtil", "Summary": "Utility class for array operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.AxisAngle4d.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.AxisAngle4d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.AxisAngle4d", "Summary": "Axis(3d) and angle(1d)
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Box2d.NoInit.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Box2d.NoInit.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Box2d.NoInit", "Summary": "Flag for calling
Lightweight 2d box.\nAn orthogonal box which the edges are all parallel with Cartesian Coordinate.\nThe data contains in a
Flag for calling
Lightweight 3d box.\nAn orthogonal box which the edges are all parallel with Cartesian Coordinate.\nThe data contains in a
3d Geometry of Cylindroid.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.DVec3d.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.DVec3d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.DVec3d", "Summary": "Dual Vec3d with p(
Enumeration of coordinate axis directions in 3D space.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.ExtendedCylinder.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.ExtendedCylinder.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.ExtendedCylinder", "Summary": "An extensible cylinder geometry that generates a corresponding
Represents a 3D plane defined by a unit normal vector and its signed distance from the origin.\nThe plane equation is: Ax + By + Cz + d = 0, where (A,B,C) is the normal vector and d is the distance to origin.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Fraction-1.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Fraction-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.FractionPure C# unlimited precision fraction.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.FractionStatus.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.FractionStatus.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.FractionStatus", "Summary": "Status flags for Fraction and
A class that manages multiple STL sources as a single source.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.GeomUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.GeomUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.GeomUtil", "Summary": "Utility of Geometry.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.IExpandToBox2d.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.IExpandToBox2d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.IExpandToBox2d", "Summary": "Object that can be expanded to a
Object that can be expanded to a
Interface for a 3D plane that provides an anchor point and a normal vector.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.IGenStl.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.IGenStl.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.IGenStl", "Summary": "Interface for generating STL geometry with a resolution.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.IGeomProperty.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.IGeomProperty.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.IGeomProperty", "Summary": "Interface for objects that have a geometry property.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.IGetStl.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.IGetStl.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.IGetStl", "Summary": "Interface for retrieving STL geometry data.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.IGetZrContour.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.IGetZrContour.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.IGetZrContour", "Summary": "Interface for retrieving Z-R contour data for rotational geometries.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.IGetZrList.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.IGetZrList.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.IGetZrList", "Summary": "Interface for getting a list of Z-R pairs.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.IStlSource.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.IStlSource.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.IStlSource", "Summary": "Interface for 3D triangles.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.IVec-1.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.IVec-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.IVecInterface for vector types with generic element type.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.IZrListSourceProperty.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.IZrListSourceProperty.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.IZrListSourceProperty", "Summary": "Provides a source for obtaining an
Specifies the indexing method for matrix construction from vectors.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Mat4d.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Mat4d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Mat4d", "Summary": "4x4 Matrix.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.MathNetUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.MathNetUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.MathNetUtil", "Summary": "Utility class for MathNet.Numerics operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.MathUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.MathUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.MathUtil", "Summary": "Math Utility.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.NativeFraction.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.NativeFraction.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.NativeFraction", "Summary": "Native wrapper for C++ fraction_t<0> (unlimited precision fraction).\nA fraction consists of a numerator and denominator using unlimited precision integers.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.NativeStl.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.NativeStl.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.NativeStl", "Summary": "Native Stl. For purpose of efficient swept volume.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.ObjUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.ObjUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.ObjUtil", "Summary": "Wavefront OBJ writer for RGB-coloured triangle buffers.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.PairZr.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.PairZr.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.PairZr", "Summary": "Value pair of Z and R.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.PairZrUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.PairZrUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.PairZrUtil", "Summary": "Utility class for working with PairZr objects
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.PlyUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.PlyUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.PlyUtil", "Summary": "Stanford PLY writer for RGB-coloured triangle buffers.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Polar3d.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Polar3d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Polar3d", "Summary": "Represents a point in 3D space using polar coordinates
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Resolution.IPolarResolution2d.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Resolution.IPolarResolution2d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Resolution.IPolarResolution2d", "Summary": "Interface for objects that control STL resolution parameters for both linear and angular measurements.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Resolution.IPolarResolution2dSourceProperty.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Resolution.IPolarResolution2dSourceProperty.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Resolution.IPolarResolution2dSourceProperty", "Summary": "Provides a property for the source of polar resolution.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Resolution.PolarResolution2d.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Resolution.PolarResolution2d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Resolution.PolarResolution2d", "Summary": "Polar resolution for generating geometry in polar coordinate.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Resolution.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Resolution.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Resolution", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Segment3d.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Segment3d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Segment3d", "Summary": "Represents a 3D line segment defined by two endpoints.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Solvers.BinarySolverUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Solvers.BinarySolverUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Solvers.BinarySolverUtil", "Summary": "Utility class providing binary solving methods for one-dimensional functions.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Solvers.BinarySolvingEntry.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Solvers.BinarySolvingEntry.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Solvers.BinarySolvingEntry", "Summary": "Represents the status of a binary solving process.\nContains information about the current state of the solver including best solutions and error metrics.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Solvers.DeepSolvingStatus.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Solvers.DeepSolvingStatus.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Solvers.DeepSolvingStatus", "Summary": "Represents the status of a deep solving process with multiple parameters.\nContains detailed information about the solving process including iterations, convergence, and Jacobian matrix.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Solvers.NumericalSolver.GetRepondsDelegate.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Solvers.NumericalSolver.GetRepondsDelegate.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Solvers.NumericalSolver.GetRepondsDelegate", "Summary": "Delegate for getting response values from the system being solved.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Solvers.NumericalSolver.SetParasDelegate.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Solvers.NumericalSolver.SetParasDelegate.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Solvers.NumericalSolver.SetParasDelegate", "Summary": "Delegate for setting parameter values in the system being solved.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Solvers.NumericalSolver.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Solvers.NumericalSolver.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Solvers.NumericalSolver", "Summary": "A numerical solver for systems of equations using the Jacobian matrix.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Solvers.SolverUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Solvers.SolverUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Solvers.SolverUtil", "Summary": "Utility class providing advanced numerical solving methods for systems of equations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Solvers.SolvingResult.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Solvers.SolvingResult.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Solvers.SolvingResult", "Summary": "Represents the result of a solving process.\nContains detailed information about the solution including parameters, biases, and convergence metrics.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Solvers.SolvingStatus.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Solvers.SolvingStatus.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Solvers.SolvingStatus", "Summary": "Enumeration of possible statuses for solving results.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Solvers.SolvingTerm.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Solvers.SolvingTerm.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Solvers.SolvingTerm", "Summary": "Enumeration of solving terms or methods used in geometric solvers.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Solvers.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Solvers.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Solvers", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Stl.StlType.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Stl.StlType.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Stl.StlType", "Summary": "Stl file format.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Stl.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Stl.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Stl", "Summary": "STL (stereolithography). Composed by Triangles.\nProvide Stl File R/W.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.StlFile.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.StlFile.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.StlFile", "Summary": "Represents an STL file with loading and saving capabilities
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.StlFuncHost.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.StlFuncHost.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.StlFuncHost", "Summary": "A class that hosts a function to generate STL geometry.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.StlUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.StlUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.StlUtil", "Summary": "Utility for
What a carve boolean did to the workpiece container.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Topo.CarveBooleanResult.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Topo.CarveBooleanResult.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Topo.CarveBooleanResult", "Summary": "Result of one carve boolean step. On failure the workpiece is untouched\nand the step may simply be skipped.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Topo.CarveStl.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Topo.CarveStl.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Topo.CarveStl", "Summary": "A triangle mesh that can be carved: an exact-fraction topology graph with\nan incrementally maintained spatial index, mutated in place by exact\nboolean steps (
Native TopoStl with element type double.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Topo.NativeTopoStl3wfr.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Topo.NativeTopoStl3wfr.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Topo.NativeTopoStl3wfr", "Summary": "Native TopoStl with element type fraction.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Topo.TopoLine3Hfr.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Topo.TopoLine3Hfr.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Topo.TopoLine3Hfr", "Summary": "Topological 3D line (directed edge) with topo_line3wfr_t.
Stock (pool) of topological lines with deduplication based on endpoint identity.\nCorresponds to C++ topo_line3wfr_stock_t.
Topological 3D point with topo_point3wfr_t.
Stock (pool) of topological points with deduplication based on fraction coordinates.\nCorresponds to C++ topo_point3wfr_stock_t.
Pure C# topological STL (triangle mesh) with topo_stl3wfr_t.
Flat-shaded displayee for topo_stl3::_flatDraw + all-lines draw.
Smooth-shaded displayee for topo_stl3::_smoothDraw + _edgeDraw.
Topological 3D triangle with topo_tri3wfr_t.
Stock (pool) of topological triangles.\nCorresponds to C++ topo_tri3wfr_stock_t.
3D vector with vec3<wfr_t>.
Represents a geometric transformation that can be applied to a geometry object.\nThis class combines a transformer with a target geometry to produce transformed geometric results.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Tri3d.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Tri3d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Tri3d", "Summary": "Basic 3D Triangle.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Tri3dUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Tri3dUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Tri3dUtil", "Summary": "Utility of
Represents physical units used in the system.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.UnitUtils.StringValueAttribute.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.UnitUtils.StringValueAttribute.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.UnitUtils.StringValueAttribute", "Summary": "Attribute for associating a string value with an enum value or other element.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.UnitUtils.UnitConvertUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.UnitUtils.UnitConvertUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.UnitUtils.UnitConvertUtil", "Summary": "Provides utility methods for converting between different physical units and their string representations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.UnitUtils.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.UnitUtils.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.UnitUtils", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Vec2d.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Vec2d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Vec2d", "Summary": "Basic 2D point (or vector).
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Vec2i.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Vec2i.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Vec2i", "Summary": "Basic 2D point (or vector).
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.Vec3d.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.Vec3d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom.Vec3d", "Summary": "Basic 3D point (or vector).
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Geom.yml", "output": { ".html": { "relative_path": "api/Hi.Geom.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Geom", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.HiNcKits.BasePathEnum.yml", "output": { ".html": { "relative_path": "api/Hi.HiNcKits.BasePathEnum.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.HiNcKits.BasePathEnum", "Summary": "Enumeration of base path types used in the HiNC system.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.HiNcKits.HiNcHost.yml", "output": { ".html": { "relative_path": "api/Hi.HiNcKits.HiNcHost.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.HiNcKits.HiNcHost", "Summary": "Rich HiNC Service.\nHost class for HiNC functionality that provides project management, path resolution, and DB integration.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.HiNcKits.LocalApp.yml", "output": { ".html": { "relative_path": "api/Hi.HiNcKits.LocalApp.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.HiNcKits.LocalApp", "Summary": "Local application initialization and cleanup utilities.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.HiNcKits.LocalAppConfig.yml", "output": { ".html": { "relative_path": "api/Hi.HiNcKits.LocalAppConfig.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.HiNcKits.LocalAppConfig", "Summary": "Configuration for host-related settings.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.HiNcKits.ProxyConfig.yml", "output": { ".html": { "relative_path": "api/Hi.HiNcKits.ProxyConfig.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.HiNcKits.ProxyConfig", "Summary": "Configuration for proxy-related settings.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.HiNcKits.ResourceSeeder.yml", "output": { ".html": { "relative_path": "api/Hi.HiNcKits.ResourceSeeder.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.HiNcKits.ResourceSeeder", "Summary": "Seeds the shipped default resources (Resource/** from the\nHiNc-Resource content package, next to the executable) into the\nadmin resource directory, honoring the
X.default.Ext files, Name.default/\nfolders) are system territory — they are copied in, refreshed when the\nshipped bytes change, and deleted when no longer shipped.HiNc-Resource version; when it matches, the whole pass is skipped,\nso steady-state startup cost is one small file read.\n"
},
{
"type": "ManagedReference",
"source_relative_path": "api/Hi.HiNcKits.yml",
"output": {
".html": {
"relative_path": "api/Hi.HiNcKits.html"
}
},
"version": "",
"Uid": null,
"IsMRef": true,
"Title": "Hi.HiNcKits",
"Summary": null
},
{
"type": "ManagedReference",
"source_relative_path": "api/Hi.Licenses.AuthFeature.yml",
"output": {
".html": {
"relative_path": "api/Hi.Licenses.AuthFeature.html"
}
},
"version": "",
"Uid": null,
"IsMRef": true,
"Title": "Hi.Licenses.AuthFeature",
"Summary": "Internal Use Only.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Licenses.AuthorizationFailedEventArgs.yml", "output": { ".html": { "relative_path": "api/Hi.Licenses.AuthorizationFailedEventArgs.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Licenses.AuthorizationFailedEventArgs", "Summary": "Event arguments for authorization failure events.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Licenses.BlockType.yml", "output": { ".html": { "relative_path": "api/Hi.Licenses.BlockType.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Licenses.BlockType", "Summary": "Block type.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Licenses.License.yml", "output": { ".html": { "relative_path": "api/Hi.Licenses.License.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Licenses.License", "Summary": "License of this module.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Licenses.LicenseType.yml", "output": { ".html": { "relative_path": "api/Hi.Licenses.LicenseType.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Licenses.LicenseType", "Summary": "Defines the types of licenses available.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Licenses.yml", "output": { ".html": { "relative_path": "api/Hi.Licenses.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Licenses", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.FreeformRemover.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.FreeformRemover.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining.FreeformRemover", "Summary": "Represents a freeform cutting tool that can be used in machining operations.\nThis cutter type supports complex geometries for both the noble (upper) part and the shaper (cutting) part.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.ICutter.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.ICutter.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining.ICutter", "Summary": "Interface of cutter.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.ICutterAnchorable.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.ICutterAnchorable.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining.ICutterAnchorable", "Summary": "Interface of Get
Interface for machining tools that combine a holder and a cutter.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.IVolumeRemover.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.IVolumeRemover.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining.IVolumeRemover", "Summary": "Only inherit from
Defines the components of a machining setup that can participate in collision detection.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.MachiningEquipmentUtils.IGetMachiningEquipment.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.MachiningEquipmentUtils.IGetMachiningEquipment.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining.MachiningEquipmentUtils.IGetMachiningEquipment", "Summary": "Interface for objects that can provide access to a machining equipment instance.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.MachiningEquipmentUtils.IMachiningEquipment.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.MachiningEquipmentUtils.IMachiningEquipment.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining.MachiningEquipmentUtils.IMachiningEquipment", "Summary": "Machining equipment.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipment.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining.MachiningEquipmentUtils.MachiningEquipment", "Summary": "Machining Equipment. Include the machining chain, workpiece, tool and fixture, etc..
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndex", "Summary": "Represents a collision index for machining equipment components.\nThis class manages collision detection between different parts of the machining equipment.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining.MachiningEquipmentUtils.MachiningEquipmentCollisionIndexPairsSource", "Summary": "Source of
Utility methods for working with machining equipment.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.MachiningEquipmentUtils.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.MachiningEquipmentUtils.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining.MachiningEquipmentUtils", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.MachiningToolHouse.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.MachiningToolHouse.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining.MachiningToolHouse", "Summary": "Tool House.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.MachiningVolumeRemovalProc.StepMotionSnapshot.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.MachiningVolumeRemovalProc.StepMotionSnapshot.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining.MachiningVolumeRemovalProc.StepMotionSnapshot", "Summary": "Represents a snapshot of the machining motion state.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.MachiningVolumeRemovalProc.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.MachiningVolumeRemovalProc.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining.MachiningVolumeRemovalProc", "Summary": "Handles the machining volume removal process and related operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.MatInterpolationKit.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.MatInterpolationKit.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining.MatInterpolationKit", "Summary": "Provides functionality for interpolating between two transformation matrices.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.MatRelation.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.MatRelation.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining.MatRelation", "Summary": "Defines the relationship between two matrices.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.MatRelationUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.MatRelationUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining.MatRelationUtil", "Summary": "Utility methods for determining relationships between matrices.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.Sweptable.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.Sweptable.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining.Sweptable", "Summary": "Sweptable geometry.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.SweptableUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.SweptableUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining.SweptableUtil", "Summary": "Util for
Exception thrown when a tool with the specified ID is not found.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Machining.yml", "output": { ".html": { "relative_path": "api/Hi.Machining.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Machining", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.AllowNoActiveSessionAttribute.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.AllowNoActiveSessionAttribute.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.AllowNoActiveSessionAttribute", "Summary": "Marks a session-scoped controller action as callable without an active session, exempting it\nfrom
Marks a project-level controller action as callable without a loaded project, exempting it\nfrom
The shared outcome envelope for a web-API action: whether it succeeded and the messages\nit reported, in order. Returned by the project-level surface\n(
Delegate for configuring a milling step with additional arguments.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.IMachiningProjectGetter.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.IMachiningProjectGetter.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.IMachiningProjectGetter", "Summary": "Interface for objects that can provide a MachiningProject instance.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.IProjectService.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.IProjectService.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.IProjectService", "Summary": "Interface for services that manage machining projects.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.LocalProjectService.MachiningProjectChangedDelegate.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.LocalProjectService.MachiningProjectChangedDelegate.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.LocalProjectService.MachiningProjectChangedDelegate", "Summary": "Delegate for machining project changed events.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.LocalProjectService.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.LocalProjectService.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.LocalProjectService", "Summary": "Root(Local) project service.\nApply absolute file path.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.LocalProjectServiceController.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.LocalProjectServiceController.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.LocalProjectServiceController", "Summary": "HTTP controller exposing the project-level (session-independent) operations of\n
Delegate for configuring a step with previous and current step information.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.MachiningActRunner.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.MachiningActRunner.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.MachiningActRunner", "Summary": "Represents a runner for machining actions that manages milling steps, tool paths, and collision detection.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.MachiningActRunnerConfig.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.MachiningActRunnerConfig.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.MachiningActRunnerConfig", "Summary": "Represents the configuration for a milling act runner.\nProvides settings for physics simulation, evaluation, and temperature control.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.MachiningParallelProc.StepTaskBundle.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.MachiningParallelProc.StepTaskBundle.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.MachiningParallelProc.StepTaskBundle", "Summary": "Represents a bundle of tasks related to a milling step.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.MachiningParallelProc.SubstractionResult.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.MachiningParallelProc.SubstractionResult.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.MachiningParallelProc.SubstractionResult", "Summary": "Represents the result of a subtraction operation.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.MachiningParallelProc.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.MachiningParallelProc.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.MachiningParallelProc", "Summary": "Represents a parallel processing system for milling operations that manages various tasks\nsuch as sweeping, subtraction, force calculation, and physics simulation.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.MachiningProject.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.MachiningProject.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.MachiningProject", "Summary": "Represents a milling project that manages the execution, simulation, and analysis of NC programs.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.MachiningSession.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.MachiningSession.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.MachiningSession", "Summary": "Represents a machining session that manages the execution and optimization of machining operations.\nProvides functionality for controlling the machining process, handling optimization options,\nand managing session state. Implements
One reported
Provides utility methods for milling calculations and operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.NcKind.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.NcKind.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.NcKind", "Summary": "Kind of an NC program file — selects which of the session's runners plays\nit (
NC pipeline state held on a Previous/Next connectivity (and thus\nModalCarrySyntax deep-clone) crosses file boundaries.
Thrown when a project-file operation (New / Load / Save / SaveAs / Reload) is\nrequested while another one is already in progress. The newcomer is cancelled\nrather than queued; controllers surface this as HTTP 409 Conflict.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.ProxyProjectService.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.ProxyProjectService.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.ProxyProjectService", "Summary": "Delegate (User-based) Project Service.\nApply relative file path from
Flags that control which elements are rendered in the visualization.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.RequireActiveSessionAttribute.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.RequireActiveSessionAttribute.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.RequireActiveSessionAttribute", "Summary": "Action filter for the session-scoped web-API surface: before a guarded action runs,\nverifies a machining session is active (
Action filter for the project-level web-API surface: before a guarded action runs,\nverifies a project is loaded (MachiningActRunner.Config, workpiece, runners — are null until a project is\nopen). Apply at the controller level; exempt the endpoints that create or load a project\nwith
End-user-facing facade for a machining session: aggregates session lifecycle,\nNC playback, optimization, geometry I/O, and scripting infrastructure into a\nsingle delegation surface. Used as the C# script globals object and as the\nconcrete target of
HTTP controller exposing
Controller for setup operations of machining projects.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.ShellProgress.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.ShellProgress.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.ShellProgress", "Summary": "Append-only, thread-safe sink for session-level routine / lifecycle messages on the\n
\nThis is partitioned by message kind, orthogonal to the other sinks: plain\nNcDiagnosticProgress.\n
\nAppend-only: session-routine messages are emitted sequentially, so report order already is\nexecution order — there is no per-step anchor and no stable-index bookkeeping.\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.SpindleSpeedCache.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.SpindleSpeedCache.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.SpindleSpeedCache", "Summary": "Represents cached spindle speed information.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningProcs.StepDiagnostic.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningProcs.StepDiagnostic.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningProcs.StepDiagnostic", "Summary": "An
\nDecorator over an inner
Bridges a step-anchored ValidationError, ConfigurationWarning, …) and still land a\n
Append-only, thread-safe sink for step-anchored diagnostics on the
\nThis sink stores only NcDiagnosticProgress,\nplain session-level notices live in
\nBecause every
A per-step
\nIt does not forward to a downstream sink as messages arrive; instead it collects them into\n
\nNo locking: a single step's construction is a data-dependency chain (substraction → physics →\npost-physics), so only one task writes
temperary design for showing flag text.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningSteps.IMachiningService.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningSteps.IMachiningService.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningSteps.IMachiningService", "Summary": "Represents a host interface for milling steps that provides access to milling equipment and related resources.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningSteps.IMotionStepIndex.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningSteps.IMotionStepIndex.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningSteps.IMotionStepIndex", "Summary": "Abstraction for an object that carries a ClStripPos), and the messages anchored to it\n(StepDiagnostic, StepScopedProgress) can be matched by the same\nordinal without depending on a concrete type.
\nDistinct from
Narrow host contract for accessing the step-variable registry and registering\nnew step variables. Exposed as a dedicated surface so pipelines that only\nneed step-variable wiring (e.g.
MachiningStep has spindle information.\nNote that the spindle information is only for milling behavior.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningSteps.MachiningStep.CollidedKeyPair.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningSteps.MachiningStep.CollidedKeyPair.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningSteps.MachiningStep.CollidedKeyPair", "Summary": "A pair of collided keys that indicates two entities are in collision.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningSteps.MachiningStep.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningSteps.MachiningStep.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningSteps.MachiningStep", "Summary": "Represents a machining step enriched with physics, mapping and source metadata.\nThe duration-based step property is based on the duration from previous-step to current-step.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningSteps.MachiningStepUtil.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningSteps.MachiningStepUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningSteps.MachiningStepUtil", "Summary": "Utility class for milling step related constants and helper methods.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningSteps.PresentAccess.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningSteps.PresentAccess.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningSteps.PresentAccess", "Summary": "Provides a value accessor bound with its
Attribute for presenting property information with localization support.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningSteps.PropertyAccess-1.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningSteps.PropertyAccess-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningSteps.PropertyAccessProvides access to properties of a milling step with presentation information.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MachiningSteps.StepActualTime.yml", "output": { ".html": { "relative_path": "api/Hi.MachiningSteps.StepActualTime.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MachiningSteps.StepActualTime", "Summary": "Wall-clock stamp of a machining step end — the controller-recorded timeline,\nas opposed to the simulated machine timeline\n(
Internal Use Only.\nExpands the .X/.Y/.Z, the cutter\nlocation to .X/.Y/.Z/.I/.J/.K).
Represents a numerical control step loaded from a CSV file, with support for interpolation and arithmetic operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mapping.FileToTimeShotMapping.yml", "output": { ".html": { "relative_path": "api/Hi.Mapping.FileToTimeShotMapping.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mapping.FileToTimeShotMapping", "Summary": "Provides mapping between files and time shot data with caching capabilities.\nThis class manages the loading and caching of time shot data from measurement files.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mapping.IAccelerationShot.yml", "output": { ".html": { "relative_path": "api/Hi.Mapping.IAccelerationShot.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mapping.IAccelerationShot", "Summary": "Interface for objects that represent acceleration measurements at a specific time point.\nExtends the ITimeShot interface to include acceleration data in multiple units.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mapping.IForceShot.yml", "output": { ".html": { "relative_path": "api/Hi.Mapping.IForceShot.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mapping.IForceShot", "Summary": "Interface for objects that represent force measurements at a specific time point.\nExtends the ITimeShot interface to include force vector data.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mapping.IMomentShot.yml", "output": { ".html": { "relative_path": "api/Hi.Mapping.IMomentShot.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mapping.IMomentShot", "Summary": "Interface for objects that represent moment (torque) measurements at a specific time point.\nExtends the ITimeShot interface to include moment vector data.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mapping.ITimeShot.yml", "output": { ".html": { "relative_path": "api/Hi.Mapping.ITimeShot.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mapping.ITimeShot", "Summary": "Interface for objects that represent a snapshot of data at a specific time and support arithmetic operations.\nThis interface provides a foundation for time-series data with vector operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mapping.MappingUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Mapping.MappingUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mapping.MappingUtil", "Summary": "Shared CSV column tags and physics-related column prefixes for mapping simulator or\nlogged controller data onto
Defines the cycle sampling modes for mapping time shots to machining steps.\nThe sampling mode determines how time shots are aligned with machining cycles.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mapping.StepTimeShotUtil.GetTimeShotByFileDelegate.yml", "output": { ".html": { "relative_path": "api/Hi.Mapping.StepTimeShotUtil.GetTimeShotByFileDelegate.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mapping.StepTimeShotUtil.GetTimeShotByFileDelegate", "Summary": "Delegate for retrieving time shots from a file.\nImplementations should handle file reading, parsing, and error handling.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mapping.StepTimeShotUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Mapping.StepTimeShotUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mapping.StepTimeShotUtil", "Summary": "Utility methods for working with time-based shots (measurements) and mapping them to machining steps.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mapping.TimeMapping.yml", "output": { ".html": { "relative_path": "api/Hi.Mapping.TimeMapping.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mapping.TimeMapping", "Summary": "Provides mapping between machining steps and time-based measurements (shots).\nIt is one step to many data mapping (one-many).
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mapping.yml", "output": { ".html": { "relative_path": "api/Hi.Mapping.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mapping", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mappings.FileDateTimeSection.yml", "output": { ".html": { "relative_path": "api/Hi.Mappings.FileDateTimeSection.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mappings.FileDateTimeSection", "Summary": "(B) Time window expressed in absolute
(C) Time window carrying both forms. The timecode form is authoritative for\nmapping (timecode-first); the absolute form is retained for the anchor and\nfor projecting to a single-form section (new FileTimecodeSection(c) /\nnew FileDateTimeSection(c)) when the two forms do not agree.
(A) Time window expressed in relative
A file plus the time window of it that maps onto a range of machining steps.\nThe window is expressed in whichever form the referenced sensor file uses —\na relative
\nThese are pure data carriers — turning an absolute
General Mechanism.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.IGetAnchorToSolidDictionary.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.IGetAnchorToSolidDictionary.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.IGetAnchorToSolidDictionary", "Summary": "Provides functionality to retrieve a dictionary mapping anchors to their corresponding solids.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.IGetMachiningChain.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.IGetMachiningChain.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.IGetMachiningChain", "Summary": "Provides functionality to retrieve a machining chain instance.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.IMachiningChain.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.IMachiningChain.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.IMachiningChain", "Summary": "Represents a machining chain with two ends, connecting a tool and a workpiece.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.IMachiningChainSource.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.IMachiningChainSource.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.IMachiningChainSource", "Summary": "Provides XML serialization/deserialization capabilities for
Utility methods for machining chains.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.Anchor.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.Anchor.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.Anchor", "Summary": "A coordinate system using in kinematic chain.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.AnchorFuncSource.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.AnchorFuncSource.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.AnchorFuncSource", "Summary": "Provides an anchor through a function delegate.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.AnchoredBoxable.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.AnchoredBoxable.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.AnchoredBoxable", "Summary": "Represents an object that is both anchored to a root point and can expand to a 3D box.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.AnchoredDisplayee.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.AnchoredDisplayee.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.AnchoredDisplayee", "Summary": "Represents a displayable object that is anchored to a specific point in a topology.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.Asmb.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.Asmb.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.Asmb", "Summary": "Collection of
Render all
The linkage between two
A data pack contains
Utility of topology.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.DynamicFreeform.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.DynamicFreeform.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.DynamicFreeform", "Summary": "Dynamic Freeform transformer.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.DynamicRotation.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.DynamicRotation.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.DynamicRotation", "Summary": "Dynamic rotate transformer.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.DynamicTranslation.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.DynamicTranslation.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.DynamicTranslation", "Summary": "Dynamic translate transformer
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.GeneralTransform.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.GeneralTransform.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.GeneralTransform", "Summary": "Represents a general transformation that combines scaling, rotation, and translation.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.IAnchoredDisplayee.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.IAnchoredDisplayee.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.IAnchoredDisplayee", "Summary": "Interface for objects that can be displayed and are anchored to a root point in a topology.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.IDynamicRegular.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.IDynamicRegular.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.IDynamicRegular", "Summary": "Dynamic Regular Transformer
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.IDynamicRotation.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.IDynamicRotation.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.IDynamicRotation", "Summary": "Topology joint that applies a single-axis rotation about
Dynamic Transformer.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.IGetAnchor.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.IGetAnchor.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.IGetAnchor", "Summary": "Interface to get the key
Interface for getting a list of anchored displayable objects.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.IGetAsmb.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.IGetAsmb.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.IGetAsmb", "Summary": "Interface of Getting a key
Interface of
Interface for objects that can provide their inverse transformer.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.IGetTopoIndex.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.IGetTopoIndex.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.IGetTopoIndex", "Summary": "interface of
Static Transformer
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.ITopo.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.ITopo.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.ITopo", "Summary": "Defines an interface for displaying topological elements that combines assembly, anchoring, and display capabilities.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.ITopoDisplayee.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.ITopoDisplayee.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.ITopoDisplayee", "Summary": "Represents a topology object that can be displayed and has an anchor.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.ITransformer.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.ITransformer.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.ITransformer", "Summary": "Interface of single transform matrix manipulation.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.ITransformerProperty.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.ITransformerProperty.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.ITransformerProperty", "Summary": "Interface for objects that have a transformer property.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.NoTransform.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.NoTransform.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.NoTransform", "Summary": "Static Identity Transformer.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.StackTransformer.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.StackTransformer.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.StackTransformer", "Summary": "Represents a transformer that maintains a stack of transformations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.StaticFreeform.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.StaticFreeform.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.StaticFreeform", "Summary": "Static Freeform transformer.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.StaticRotation.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.StaticRotation.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.StaticRotation", "Summary": "Static Rotation.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.StaticTranslation.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.StaticTranslation.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.StaticTranslation", "Summary": "Static Translate.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.TopoDisplayee.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.TopoDisplayee.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.TopoDisplayee", "Summary": "Implements a displayable topological element that manages a collection of anchored displayees within an assembly.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.TopoDisplayeeUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.TopoDisplayeeUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.TopoDisplayeeUtil", "Summary": "Provides utility methods for displaying and manipulating topological displayees.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Mech.Topo.TopoReflection.yml", "output": { ".html": { "relative_path": "api/Hi.Mech.Topo.TopoReflection.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Mech.Topo.TopoReflection", "Summary": "Clone
Utility of handling
Utility for
Apt derivative.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Apts.BallApt.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Apts.BallApt.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Apts.BallApt", "Summary": "Ball End Apt.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Apts.BullNoseApt.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Apts.BullNoseApt.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Apts.BullNoseApt", "Summary": "Bull Nose End APT.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Apts.ColumnApt.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Apts.ColumnApt.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Apts.ColumnApt", "Summary": "Column End APT.\nThe composition is identical to the
Cone End APT.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Apts.ExactColumnApt.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Apts.ExactColumnApt.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Apts.ExactColumnApt", "Summary": "Column End APT.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Apts.GeneralApt.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Apts.GeneralApt.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Apts.GeneralApt", "Summary": "APT standard milling cutter geometry.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Apts.IAptAlpha.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Apts.IAptAlpha.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Apts.IAptAlpha", "Summary": "Interface for APT objects with alpha angle.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Apts.IAptBased.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Apts.IAptBased.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Apts.IAptBased", "Summary": "Interface for APT-based objects.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Apts.IAptBeta.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Apts.IAptBeta.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Apts.IAptBeta", "Summary": "Interface for APT objects with beta angle.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Apts.IAptRc.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Apts.IAptRc.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Apts.IAptRc", "Summary": "Interface for APT objects with corner radius.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Apts.IAptRr.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Apts.IAptRr.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Apts.IAptRr", "Summary": "Interface for APT objects with round radius.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Apts.IAptRz.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Apts.IAptRz.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Apts.IAptRz", "Summary": "Interface for APT objects with Z-axis round center distance.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Apts.IGetApt.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Apts.IGetApt.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Apts.IGetApt", "Summary": "Interface for objects that can provide an APT-based object.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Apts.IGetGeneralApt.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Apts.IGetGeneralApt.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Apts.IGetGeneralApt", "Summary": "Interface of
Taper End APT.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Apts.apt_t.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Apts.apt_t.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Apts.apt_t", "Summary": "Native apt.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Apts.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Apts.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Apts", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Cutters.AptProfile.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Cutters.AptProfile.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Cutters.AptProfile", "Summary": "Represents an APT (Automatically Programmed Tool) based profile for a milling cutter.\nThis profile uses APT definitions to describe the cutter geometry.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Cutters.ConstRatioProfile.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Cutters.ConstRatioProfile.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Cutters.ConstRatioProfile", "Summary": "Represents a constant ratio profile for a milling cutter.\nThis profile maintains a constant ratio between inner and outer radii.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Cutters.CustomSpinningProfile.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Cutters.CustomSpinningProfile.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Cutters.CustomSpinningProfile", "Summary": "Represents a custom spinning profile for a milling cutter.\nThis profile allows for custom geometry to be used as the cutter profile.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Cutters.CutterUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Cutters.CutterUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Cutters.CutterUtil", "Summary": "Utility class providing extension methods for cutter operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Cutters.FluteContourDisplayee.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Cutters.FluteContourDisplayee.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Cutters.FluteContourDisplayee", "Summary": "Provides display functionality for flute contours in milling cutters.\nThis class handles the visualization of both front and back surfaces of flute contours.\nInternal Use Only
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Cutters.FluteDependentRatioProfile.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Cutters.FluteDependentRatioProfile.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Cutters.FluteDependentRatioProfile", "Summary": "Represents a flute number dependent ratio profile for a milling cutter.\nThis profile determines the ratio between inner and outer radii based on the number of flutes.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Cutters.IShaperProfile.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Cutters.IShaperProfile.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Cutters.IShaperProfile", "Summary": "Interface defining the shape profile of a cutter flute.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Cutters.MillingCutter.IntegralModeEnum.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Cutters.MillingCutter.IntegralModeEnum.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Cutters.MillingCutter.IntegralModeEnum", "Summary": "Defines the integral mode of the cutter.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Cutters.MillingCutter.MassAssignmentMode.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Cutters.MillingCutter.MassAssignmentMode.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Cutters.MillingCutter.MassAssignmentMode", "Summary": "Defines the mass assignment mode for the cutter.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Cutters.MillingCutter.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Cutters.MillingCutter.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Cutters.MillingCutter", "Summary": "Represents a milling cutter with its geometric and physical properties.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Cutters.MillingCutterEditorDisplayee.ShapeModeEnum.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Cutters.MillingCutterEditorDisplayee.ShapeModeEnum.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Cutters.MillingCutterEditorDisplayee.ShapeModeEnum", "Summary": "Display shape mode for the cutter.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Cutters.MillingCutterEditorDisplayee.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Cutters.MillingCutterEditorDisplayee.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Cutters.MillingCutterEditorDisplayee", "Summary": "Represents a displayable editor for milling cutter visualization.\nThis class handles the rendering of cutter geometry, including flutes, profiles, and inner structures.\nInternal Use Only
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Cutters.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Cutters.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Cutters", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Engagements.BitwiseMillingEngagement.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Engagements.BitwiseMillingEngagement.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Engagements.BitwiseMillingEngagement", "Summary": "Represents a bitwise milling engagement that uses bit arrays to efficiently store engagement information.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Engagements.EngagementLayer.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Engagements.EngagementLayer.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Engagements.EngagementLayer", "Summary": "Represents a layer of engagement between a tool and workpiece.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Engagements.EngagementSlice.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Engagements.EngagementSlice.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Engagements.EngagementSlice", "Summary": "Engagement slice.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Engagements.IBitwiseMillingEngagementSupport.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Engagements.IBitwiseMillingEngagementSupport.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Engagements.IBitwiseMillingEngagementSupport", "Summary": "Interface for classes that support bitwise milling engagement.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Engagements.IGetLayerMillingEngagement.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Engagements.IGetLayerMillingEngagement.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Engagements.IGetLayerMillingEngagement", "Summary": "Interface of
Milling Engagement.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.Engagements.MillingEngagementUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.Engagements.MillingEngagementUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.Engagements.MillingEngagementUtil", "Summary": "Utility of
Represents a constant helix side contour for milling cutters.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.FluteContours.FluteContour.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.FluteContours.FluteContour.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.FluteContours.FluteContour", "Summary": "Represents a flute contour for milling tools.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.FluteContours.FluteContourUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.FluteContours.FluteContourUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.FluteContours.FluteContourUtil", "Summary": "Provides utility methods for working with flute contours in milling tools.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.FluteContours.FreeFluting.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.FluteContours.FreeFluting.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.FluteContours.FreeFluting", "Summary": "A milling cutter's fluting in which every flute is defined individually —\neach flute carries its own contour, so spacing, helix and rake need not\nrepeat. Use
Represents a freeform bottom contour for milling tools, allowing arbitrary contour shapes.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.FluteContours.FreeformSideContour.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.FluteContours.FreeformSideContour.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.FluteContours.FreeformSideContour", "Summary": "Represents a freeform side contour for milling tools, allowing arbitrary contour shapes.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.FluteContours.IBottomContour.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.FluteContours.IBottomContour.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.FluteContours.IBottomContour", "Summary": "Represents a bottom flute contour for milling tools.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.FluteContours.IFluteNumSourceProperty.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.FluteContours.IFluteNumSourceProperty.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.FluteContours.IFluteNumSourceProperty", "Summary": "Interface that requiring a FluteNumSource property.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.FluteContours.IFluting.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.FluteContours.IFluting.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.FluteContours.IFluting", "Summary": "A milling cutter's fluting: the complete set of flute contours that do the\ncutting. Either one shared baseline repeated evenly around the cutter\n(
Provides a method to get the number of flutes.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.FluteContours.ISideContour.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.FluteContours.ISideContour.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.FluteContours.ISideContour", "Summary": "Represents a side flute contour for milling tools.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.FluteContours.IWorkingContour.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.FluteContours.IWorkingContour.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.FluteContours.IWorkingContour", "Summary": "Represents a working contour for cutting operations in milling tools.\nThis interface is implemented by both side contours (
Represents a working contour that has been shifted by a specified angle.\nThis class wraps another working contour and applies an angular transformation to it.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.FluteContours.SideContourDisplayee.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.FluteContours.SideContourDisplayee.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.FluteContours.SideContourDisplayee", "Summary": "Represents a displayable side contour.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.FluteContours.SlideBottomContour.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.FluteContours.SlideBottomContour.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.FluteContours.SlideBottomContour", "Summary": "Represents a slide bottom contour for milling cutters.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.FluteContours.SpanContourPos4d.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.FluteContours.SpanContourPos4d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.FluteContours.SpanContourPos4d", "Summary": "Represents a position in 4D space (r, theta, z, radial angle) for contour spans
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.FluteContours.UniformFluting.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.FluteContours.UniformFluting.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.FluteContours.UniformFluting", "Summary": "A milling cutter's fluting built from one shared baseline contour repeated\nevenly around the cutter: every flute has the same geometry, spaced at equal\nangles. Use
Interface for objects that provide diameter information.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.IGetFluteHeight.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.IGetFluteHeight.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.IGetFluteHeight", "Summary": "Interface for objects that provide flute height information.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.IGetMillingGeomBrief.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.IGetMillingGeomBrief.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.IGetMillingGeomBrief", "Summary": "Interface for retrieving milling geometry brief information.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.IGetRadialReliefAngle.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.IGetRadialReliefAngle.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.IGetRadialReliefAngle", "Summary": "Interface for objects that provide radial relief angle information.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.IMillingGeomBriefAccessor.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.IMillingGeomBriefAccessor.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.IMillingGeomBriefAccessor", "Summary": "Interface for accessing and modifying milling geometry brief information.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.MillingGeomBrief.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.MillingGeomBrief.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.MillingGeomBrief", "Summary": "Brief of milling geometry.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.MillingRemovalUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.MillingRemovalUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.MillingRemovalUtil", "Summary": "Utility for milling removal.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.MillingTools.MillingTool.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.MillingTools.MillingTool.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.MillingTools.MillingTool", "Summary": "Represents a central stick milling tool that combines a holder and a cutter.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.MillingTools.MillingToolAnchorReference.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.MillingTools.MillingToolAnchorReference.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.MillingTools.MillingToolAnchorReference", "Summary": "Defines reference points for anchoring milling tools.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.MillingTools.MillingToolEditorDisplayee.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.MillingTools.MillingToolEditorDisplayee.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.MillingTools.MillingToolEditorDisplayee", "Summary": "Display host for a milling tool composed of a cutter and a holder.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.MillingTools.MillingToolPhysicsPack.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.MillingTools.MillingToolPhysicsPack.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.MillingTools.MillingToolPhysicsPack", "Summary": "The scalar physics derivations of one tool (and one cutting-parameter set), computed\nonce on a sequential boundary and frozen. The per-step force build, the sequential\nphysics, and the step/shot writers read these values thousands to millions of times\nper play; the tool and cutter objects themselves expose them as deliberately\nuncached pure computations, so hot session paths read this pack instead —\ncallers outside a session simply pass null and the pure computation runs on\nuse. Owned per session by MachiningSession, keyed by tool id. A pack is never\nupdated in place: the paths that change tool/cutter/para state invalidate the\nsession's packs explicitly (run-op start, tool change — see\nMachiningSession.InvalidateToolPhysicsPacks), and
Provides utility methods for working with milling tools.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.MillingTools.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.MillingTools.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.MillingTools", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.SpindleCapability.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.SpindleCapability.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling.SpindleCapability", "Summary": "Represents the capability of a spindle, including power, torque, and thermal characteristics.\nInternal Use Only
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Milling.yml", "output": { ".html": { "relative_path": "api/Hi.Milling.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Milling", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.Fittings.CuttingParaUtil.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.Fittings.CuttingParaUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.Fittings.CuttingParaUtil", "Summary": "Utility methods for working with cutting parameters.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.Fittings.ICuttingPara.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.Fittings.ICuttingPara.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.Fittings.ICuttingPara", "Summary": "Interface of milling parameter.\nThe milling parameter is trainable.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.Fittings.IGetCuttingPara.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.Fittings.IGetCuttingPara.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.Fittings.IGetCuttingPara", "Summary": "Interface of
Represents a category for milling force samples with step and division information.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.Fittings.SampleFlag.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.Fittings.SampleFlag.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.Fittings.SampleFlag", "Summary": "Flags representing different types of force and moment samples in milling operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.Fittings.SampleFlagUtil.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.Fittings.SampleFlagUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.Fittings.SampleFlagUtil", "Summary": "Utility methods for working with sample flags.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.Fittings.SampleInstance.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.Fittings.SampleInstance.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.Fittings.SampleInstance", "Summary": "Represents a sample instance with step and local division indices for milling force analysis.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.Fittings.TimeForce.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.Fittings.TimeForce.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.Fittings.TimeForce", "Summary": "Represents a force measurement at a specific time point.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.Fittings.TimeForceFrequencyDomain.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.Fittings.TimeForceFrequencyDomain.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.Fittings.TimeForceFrequencyDomain", "Summary": "Represents force data in the frequency domain after Fourier transformation.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.Fittings.TimeForceSeries.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.Fittings.TimeForceSeries.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.Fittings.TimeForceSeries", "Summary": "Represents a time series of force measurements.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.Fittings.TimeForceUtil.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.Fittings.TimeForceUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.Fittings.TimeForceUtil", "Summary": "Utility class for reading and processing time-based force measurement data.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.Fittings.TimeVsForceSeries.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.Fittings.TimeVsForceSeries.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.Fittings.TimeVsForceSeries", "Summary": "Represents a time series of force measurements with compensation capabilities.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.Fittings.TimeVsTorqueSeries.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.Fittings.TimeVsTorqueSeries.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.Fittings.TimeVsTorqueSeries", "Summary": "Represents a time series of torque measurements with compensation capabilities.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.Fittings.TrainingSample.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.Fittings.TrainingSample.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.Fittings.TrainingSample", "Summary": "Represents a training sample for milling force prediction models.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.Fittings.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.Fittings.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.Fittings", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.IGetMillingForce.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.IGetMillingForce.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.IGetMillingForce", "Summary": "Interface of
Interface of
Milling force.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.MillingForceLicense.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.MillingForceLicense.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.MillingForceLicense", "Summary": "Provides license information and management for the milling force calculation functionality.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.MillingForceLuggage.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.MillingForceLuggage.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.MillingForceLuggage", "Summary": "Represents a container for milling force data and calculations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.MillingForceUtil.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.MillingForceUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.MillingForceUtil", "Summary": "Utility class for milling force calculations and related operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.MillingPhysicsBrief.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.MillingPhysicsBrief.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.MillingPhysicsBrief", "Summary": "Instant Physics brief on rake face for milling.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.PhysicsUtil.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.PhysicsUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.PhysicsUtil", "Summary": "Provides utility methods for physics calculations in milling operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.ProfileMillingParas.IGetLocalProfileMillingPara.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.ProfileMillingParas.IGetLocalProfileMillingPara.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.ProfileMillingParas.IGetLocalProfileMillingPara", "Summary": "Interface of getting
Milling parameter of altintas model.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.ProfileMillingParas.ProfileMillingParaMap", "Summary": "Represents a mapping of milling parameters for profile milling operations.\nThis class manages cutting parameters for both side and bottom milling operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.ProfileMillingParas.RtaMillingParaKey.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.ProfileMillingParas.RtaMillingParaKey.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.ProfileMillingParas.RtaMillingParaKey", "Summary": "Keys for milling parameters in radial-tangential-axial (RTA) coordinate system
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.ProfileMillingParas.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.ProfileMillingParas.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.ProfileMillingParas", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.RakeFaceCuttingParas.IRakeFaceCuttingPara.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.RakeFaceCuttingParas.IRakeFaceCuttingPara.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.RakeFaceCuttingParas.IRakeFaceCuttingPara", "Summary": "Defines cutting parameters on the rake face for force modeling, supporting XML IO and duplication.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.RakeFaceCuttingParas.MillingPhysicsUtil.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.RakeFaceCuttingParas.MillingPhysicsUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.RakeFaceCuttingParas.MillingPhysicsUtil", "Summary": "Utility class for milling physics calculations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.RakeFaceCuttingParas.MultiFormRakeFaceCuttingPara", "Summary": "Represents a multi-form rake face cutting parameter set that can handle multiple flute forms.\nInternal Use Only.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara2d", "Summary": "Represents a 2D cutting parameter for rake face cutting operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingPara3d", "Summary": "Represents local ECN (Edge-Cross-Normal) cutting parameters for rake face cutting.\nE: cutting edge direction\nC: Cross vector, along the rake face cross line, perpendicular to cutting edge\nN: rake face normal direction\nInternal Use Only.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.RakeFaceCuttingParas.RakeFaceCuttingParaMap", "Summary": "Represents a map of rake face cutting parameters.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.RakeFaceCuttingParas.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.RakeFaceCuttingParas.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.RakeFaceCuttingParas", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.ToolObservationReference.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.ToolObservationReference.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.ToolObservationReference", "Summary": "Defines reference points for tool observation measurements.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.Training.MillingParaTrainResult.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.Training.MillingParaTrainResult.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.Training.MillingParaTrainResult", "Summary": "Snapshot of the most recent milling-parameter training call\n(LocalProjectService.TrainMillingPara / ReTrainMillingPara) —\nthe queryable training outcome that otherwise only lands in the output\n.mp file's Note. Held by\nLocalProjectService.LastMillingParaTrainResult (service lifetime,\nlast-wins) so callers such as the webservice can read it after a run\nwithout touching the file system.
Provides utilities for milling force training and parameter identification.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.Training.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.Training.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces.Training", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingForces.yml", "output": { ".html": { "relative_path": "api/Hi.MillingForces.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingForces", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingProcs.MillingGuide.yml", "output": { ".html": { "relative_path": "api/Hi.MillingProcs.MillingGuide.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingProcs.MillingGuide", "Summary": "Provides guidance and configuration for milling visualization and analysis.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingProcs.yml", "output": { ".html": { "relative_path": "api/Hi.MillingProcs.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingProcs", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingStepUtils.ClStripChartConfig.yml", "output": { ".html": { "relative_path": "api/Hi.MillingStepUtils.ClStripChartConfig.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingStepUtils.ClStripChartConfig", "Summary": "Configuration for ClStrip charts.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingStepUtils.ClStripChartItemConfig.yml", "output": { ".html": { "relative_path": "api/Hi.MillingStepUtils.ClStripChartItemConfig.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingStepUtils.ClStripChartItemConfig", "Summary": "Configuration for an individual ClStrip chart item.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingStepUtils.ForceCycleFlag.yml", "output": { ".html": { "relative_path": "api/Hi.MillingStepUtils.ForceCycleFlag.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingStepUtils.ForceCycleFlag", "Summary": "Flags representing different force cycle types.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingStepUtils.ForceCycleLineDivConfig.yml", "output": { ".html": { "relative_path": "api/Hi.MillingStepUtils.ForceCycleLineDivConfig.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingStepUtils.ForceCycleLineDivConfig", "Summary": "Configuration for force cycle line division display and analysis.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingStepUtils.LineChartVRangeMode.yml", "output": { ".html": { "relative_path": "api/Hi.MillingStepUtils.LineChartVRangeMode.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingStepUtils.LineChartVRangeMode", "Summary": "Specifies the mode for vertical range in line charts.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.yml", "output": { ".html": { "relative_path": "api/Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingStepUtils.SpindleMomentCycleLineDivConfig", "Summary": "Configuration for spindle moment cycle line division display and analysis.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingStepUtils.TimeChartYConfig.yml", "output": { ".html": { "relative_path": "api/Hi.MillingStepUtils.TimeChartYConfig.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingStepUtils.TimeChartYConfig", "Summary": "Configuration for Y-axis settings in time charts.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingStepUtils.yml", "output": { ".html": { "relative_path": "api/Hi.MillingStepUtils.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingStepUtils", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingSteps.MillingInstance.yml", "output": { ".html": { "relative_path": "api/Hi.MillingSteps.MillingInstance.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingSteps.MillingInstance", "Summary": "Instance of milling in a
Represents additional data associated with a milling step.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.MillingSteps.yml", "output": { ".html": { "relative_path": "api/Hi.MillingSteps.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.MillingSteps", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Motion.MatValves.ClMachiningValve.yml", "output": { ".html": { "relative_path": "api/Hi.Motion.MatValves.ClMachiningValve.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Motion.MatValves.ClMachiningValve", "Summary": "Optimize the sequential transformation matrixes step by step for machining.\nFiltering the unnecessary transformation matrixes.\nAccept milling mode by
Optimize the sequential transformation matrixes step by step by filtering the unnecessary transformation matrixes.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Motion.MatValves.MacroMotionValve.yml", "output": { ".html": { "relative_path": "api/Hi.Motion.MatValves.MacroMotionValve.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Motion.MatValves.MacroMotionValve", "Summary": "Optimize the sequential transformation matrixes step by step by filtering the unnecessary transformation matrixes.\nThe steps in the middle of each linear cut are filtered.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Motion.MatValves.StepMotionValve.yml", "output": { ".html": { "relative_path": "api/Hi.Motion.MatValves.StepMotionValve.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Motion.MatValves.StepMotionValve", "Summary": "Optimize the sequential transformation matrixes step by step by filtering the unnecessary transformation matrixes.\nAll step will be pumped.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Motion.MatValves.yml", "output": { ".html": { "relative_path": "api/Hi.Motion.MatValves.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Motion.MatValves", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Motion.MotionUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Motion.MotionUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Motion.MotionUtil", "Summary": "Cutter location utility.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Motion.yml", "output": { ".html": { "relative_path": "api/Hi.Motion.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Motion", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.StopSource.yml", "output": { ".html": { "relative_path": "api/Hi.Native.StopSource.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.StopSource", "Summary": "Represents a source that can be used to create and control stop tokens.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.StopToken.yml", "output": { ".html": { "relative_path": "api/Hi.Native.StopToken.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.StopToken", "Summary": "Represents a token that can be used to request cancellation of operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.StopTokenKit.yml", "output": { ".html": { "relative_path": "api/Hi.Native.StopTokenKit.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.StopTokenKit", "Summary": "A kit that manages the lifecycle of a StopToken and its associated resources.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.StopTokenUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Native.StopTokenUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.StopTokenUtil", "Summary": "Utility class for working with stop tokens.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.bind_t.yml", "output": { ".html": { "relative_path": "api/Hi.Native.bind_t.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.bind_t", "Summary": "Runtime rendering data for each iteration in rendering loop.\nIt manipulates geometry transformation, such as moving, rotatingand scaling.\nIt also deal with color and picking.\nA bind_t object is generated by rendering in the every beginning of each rendering iteration.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.box2d.yml", "output": { ".html": { "relative_path": "api/Hi.Native.box2d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.box2d", "Summary": "Native box3d.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.box3d.yml", "output": { ".html": { "relative_path": "api/Hi.Native.box3d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.box3d", "Summary": "Native implementation of a 3D bounding box structure for interop scenarios.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.expand_to_box3d_func_t.yml", "output": { ".html": { "relative_path": "api/Hi.Native.expand_to_box3d_func_t.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.expand_to_box3d_func_t", "Summary": "Delegate for expanding a bounding box.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.key_event_t.yml", "output": { ".html": { "relative_path": "api/Hi.Native.key_event_t.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.key_event_t", "Summary": "Native key event.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.key_table__transform_view_by_key_pressing_t.yml", "output": { ".html": { "relative_path": "api/Hi.Native.key_table__transform_view_by_key_pressing_t.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.key_table__transform_view_by_key_pressing_t", "Summary": "Native key table for native function transform_view_by_key_pressing.\nKey values follow W3C KeyboardEvent.key standard (e.g. “Home”, “ArrowLeft”, “Shift”).
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.mat4d.yml", "output": { ".html": { "relative_path": "api/Hi.Native.mat4d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.mat4d", "Summary": "Native mat4d.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.mat_stack_t.yml", "output": { ".html": { "relative_path": "api/Hi.Native.mat_stack_t.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.mat_stack_t", "Summary": "Native mat_stack_t.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.mouse_button_event_t.yml", "output": { ".html": { "relative_path": "api/Hi.Native.mouse_button_event_t.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.mouse_button_event_t", "Summary": "Native mouse button event.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.mouse_button_table__transform_view_by_mouse_drag_t.yml", "output": { ".html": { "relative_path": "api/Hi.Native.mouse_button_table__transform_view_by_mouse_drag_t.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.mouse_button_table__transform_view_by_mouse_drag_t", "Summary": "Mouse button table for native function of transform_view_by_mouse_drag.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.mouse_move_event_t.yml", "output": { ".html": { "relative_path": "api/Hi.Native.mouse_move_event_t.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.mouse_move_event_t", "Summary": "Native mouse move event.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.mouse_wheel_event_t.yml", "output": { ".html": { "relative_path": "api/Hi.Native.mouse_wheel_event_t.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.mouse_wheel_event_t", "Summary": "Native mouse wheel event.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.panel_state_t.yml", "output": { ".html": { "relative_path": "api/Hi.Native.panel_state_t.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.panel_state_t", "Summary": "Native panel state.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.picking_event_t.yml", "output": { ".html": { "relative_path": "api/Hi.Native.picking_event_t.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.picking_event_t", "Summary": "Internal Use Only.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.picking_mark_t.yml", "output": { ".html": { "relative_path": "api/Hi.Native.picking_mark_t.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.picking_mark_t", "Summary": "Internal Use Only.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.tri3d.yml", "output": { ".html": { "relative_path": "api/Hi.Native.tri3d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.tri3d", "Summary": "Native tri3d.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.ui_event_type.yml", "output": { ".html": { "relative_path": "api/Hi.Native.ui_event_type.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.ui_event_type", "Summary": "Native ui event.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.vec2d.yml", "output": { ".html": { "relative_path": "api/Hi.Native.vec2d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.vec2d", "Summary": "Native vec2d.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.vec3d.yml", "output": { ".html": { "relative_path": "api/Hi.Native.vec3d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.vec3d", "Summary": "Native vec3d.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.vec3f.yml", "output": { ".html": { "relative_path": "api/Hi.Native.vec3f.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native.vec3f", "Summary": "Native vec3f.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Native.yml", "output": { ".html": { "relative_path": "api/Hi.Native.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Native", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Fixtures.Fixture.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Fixtures.Fixture.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Fixtures.Fixture", "Summary": "Represents a fixture used to hold workpieces during machining operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Fixtures.FixtureEditorDisplayee.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Fixtures.FixtureEditorDisplayee.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Fixtures.FixtureEditorDisplayee", "Summary": "Displayee for fixture visualization and editor overlays.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Fixtures.FixtureEditorDisplayeeConfig", "Summary": "Configuration settings for fixture editor display features.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Fixtures.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Fixtures.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Fixtures", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Holders.CylindroidHolder.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Holders.CylindroidHolder.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Holders.CylindroidHolder", "Summary": "Represents a cylindrical tool holder for machining operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Holders.FreeformHolder.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Holders.FreeformHolder.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Holders.FreeformHolder", "Summary": "Represents a freeform tool holder with customizable geometry.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Holders.HolderEditorDisplayee.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Holders.HolderEditorDisplayee.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Holders.HolderEditorDisplayee", "Summary": "Displayee for holder editor that provides visualization functionality.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Holders.IHolder.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Holders.IHolder.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Holders.IHolder", "Summary": "Interface for tool holders in NC machining.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Holders.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Holders.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Holders", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.ICollisionIndexPairsSource.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.ICollisionIndexPairsSource.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.ICollisionIndexPairsSource", "Summary": "Interface that provides access to collision index pairs and XML serialization capabilities.\nExtends
Interface for retrieving solid geometry objects.\nProvides a standardized way to access solid models.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Solids.Solid.RenderingModeEnum.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Solids.Solid.RenderingModeEnum.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Solids.Solid.RenderingModeEnum", "Summary": "Rendering mode for solids.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Solids.Solid.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Solids.Solid.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Solids.Solid", "Summary": "Represents a solid geometry object with display, collision detection, and STL capabilities.\nProvides thread-safe access to geometry data and caching mechanisms.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Solids.SolidFuncSource.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Solids.SolidFuncSource.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Solids.SolidFuncSource", "Summary": "Provides a function-based source for solid geometry objects.\nAllows dynamic generation of solid models through a delegate function.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Solids.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Solids.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Solids", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Topo.INcStroke.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Topo.INcStroke.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Topo.INcStroke", "Summary": "Nc capability include key char, stroke and speed limit.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Topo.INcTransformer.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Topo.INcTransformer.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Topo.INcTransformer", "Summary": "Transformer for NC motion axis.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Topo.ITopoBrick.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Topo.ITopoBrick.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Topo.ITopoBrick", "Summary": "Interface that represents a topological brick in NC machining.\nCombines solid geometry, display capabilities, and collision detection functionality.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Topo.NcRotation.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Topo.NcRotation.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Topo.NcRotation", "Summary": "Represents a rotational transformer for NC machine tool axes.\nProvides functionality for rotational motion with stroke and speed limits.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Topo.NcTranslation.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Topo.NcTranslation.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Topo.NcTranslation", "Summary": "Represents a translational transformer for NC machine tool axes.\nProvides functionality for linear motion with stroke and speed limits.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Topo.SolidSourceTopoBrick.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Topo.SolidSourceTopoBrick.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Topo.SolidSourceTopoBrick", "Summary": "Represents a topological brick that sources its geometry from a solid model.\nImplements display, collision detection, and content update capabilities.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Topo.StlSourceTopoBrick.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Topo.StlSourceTopoBrick.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Topo.StlSourceTopoBrick", "Summary": "Represents a topological brick that sources its geometry from an STL file.\nImplements display, collision detection, and content update capabilities.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Topo.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Topo.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Topo", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Workpieces.Workpiece.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Workpieces.Workpiece.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Workpieces.Workpiece", "Summary": "Workpiece configuration data model.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayee.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayee.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Workpieces.WorkpieceEditorDisplayee", "Summary": "Displayee for visualizing workpiece raw/ideal/meshed geometry and anchors.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Workpieces.WorkpieceEditorDisplayeeConfig", "Summary": "Configuration settings for workpiece editor display.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Workpieces.WorkpieceService.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Workpieces.WorkpieceService.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Workpieces.WorkpieceService", "Summary": "Runtime service for
This machine tool class helps very quick test by the code configuration.\nFor general/end-user use, apply
Represents a URI-based container for CodeXyzabcMachineTool.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Xyzabc.GeneralXyzabcMachineTool", "Summary": "General implementation of an XYZABC machine tool.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Xyzabc.IGetCodeXyzabcMachineTool.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Xyzabc.IGetCodeXyzabcMachineTool.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Xyzabc.IGetCodeXyzabcMachineTool", "Summary": "Interface of
Interface for XYZABC machine tools that combines chain, display, collision and other functionalities.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.Xyzabc.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.Xyzabc.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech.Xyzabc", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcMech.yml", "output": { ".html": { "relative_path": "api/Hi.NcMech.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcMech", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcOpt.CuttingVelocityOptLimit.yml", "output": { ".html": { "relative_path": "api/Hi.NcOpt.CuttingVelocityOptLimit.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcOpt.CuttingVelocityOptLimit", "Summary": "Represents optimization limits for cutting velocity parameters.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcOpt.FixedFeedPerCycleOptLimit.yml", "output": { ".html": { "relative_path": "api/Hi.NcOpt.FixedFeedPerCycleOptLimit.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcOpt.FixedFeedPerCycleOptLimit", "Summary": "Represents fixed feed-per-cycle optimization limits.\nProvides implementation for feed-per-cycle optimization with fixed minimum and maximum values.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcOpt.FixedFeedPerToothOptLimit.yml", "output": { ".html": { "relative_path": "api/Hi.NcOpt.FixedFeedPerToothOptLimit.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcOpt.FixedFeedPerToothOptLimit", "Summary": "Represents fixed feed-per-tooth optimization limits.\nProvides implementation for feed-per-tooth optimization with fixed minimum and maximum values.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcOpt.ICutterOptLimitHost.yml", "output": { ".html": { "relative_path": "api/Hi.NcOpt.ICutterOptLimitHost.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcOpt.ICutterOptLimitHost", "Summary": "Interface for hosts that contain cutter optimization limits.\nProvides access to cutter optimization limit settings.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcOpt.ICutterOptOption.yml", "output": { ".html": { "relative_path": "api/Hi.NcOpt.ICutterOptOption.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcOpt.ICutterOptOption", "Summary": "Interface for cutter optimization limits.\nCombines feed-per-tooth optimization capabilities with duplication and XML serialization support.\nInherits from
Interface for cutting velocity optimization limits.\nDefines methods to get minimum and maximum cutting velocity values.\nImplements
Interface for feed-per-tooth optimization limits.\nDefines methods to get minimum and maximum feed per tooth values.\nImplements
Represents NC optimization option for milling cutters.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcOpt.NcOptOption.yml", "output": { ".html": { "relative_path": "api/Hi.NcOpt.NcOptOption.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcOpt.NcOptOption", "Summary": "Represents the optimization options for NC operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcOpt.NcOptimizationEmbeddedLogMode.yml", "output": { ".html": { "relative_path": "api/Hi.NcOpt.NcOptimizationEmbeddedLogMode.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcOpt.NcOptimizationEmbeddedLogMode", "Summary": "Embedded log mode for NC optimization.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcOpt.ShapeBasedCutterOptLimit.yml", "output": { ".html": { "relative_path": "api/Hi.NcOpt.ShapeBasedCutterOptLimit.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcOpt.ShapeBasedCutterOptLimit", "Summary": "Represents optimization limits based on cutter shape parameters.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcOpt.yml", "output": { ".html": { "relative_path": "api/Hi.NcOpt.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcOpt", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.ControllerPresetWriter.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.ControllerPresetWriter.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.ControllerPresetWriter", "Summary": "Writes the built-in brand controller presets out as standalone\n
\nA controller resource file is one serialized Resource/Controller/ so the Object Management Load\nbrowser starts populated; they are regenerable snapshots, not the source of\ntruth — the brand properties on
\nWriting needs no XFactory.GenListSkippingUnloadable drops every unregistered pipeline\nentry and hands back a silently hollow runner.\n
Axis type: linear (translation), rotary (rotation), or spindle (speed/positioning dual mode).
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Dependencys.CncBrandDependency.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Dependencys.CncBrandDependency.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Dependencys.CncBrandDependency", "Summary": "Explicit CNC controller brand identifier carried in\nncDependencyList.OfType<CncBrandDependency>().FirstOrDefault()\nto retrieve the brand.
Base class for brand-specific controller parameter tables.\nProvides shared data structures, XML IO, and
Fanuc #5003: Cutter compensation startup/cancellation type.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Dependencys.Fanuc.FanucGotoIterationDependency", "Summary": "Watchdog for Fanuc Custom Macro B GOTO loops. Holds a\nFanucGotoSyntax stops firing and emits a warning) plus a\nruntime per-target hit counter (
\nThe dependency is syntax-managed: FanucGotoSyntax reads the\nlimit, increments the counter, and decides whether to fire. There is\nno host Func provider — the dep is placed in\n
\nThe counter key is (FileName, TargetN) where FileName\nis the source-level file path of the block containing the GOTO (the\nrelative path form carried on IndexedFileLine labels). Source-level keying means\nmultiple inline invocations of the same subprogram pool their counts\n(they ARE the same source-code GOTO), while two different files with\ntheir own N100 stay isolated (they ARE different jumps).\n
\nDefault
Fanuc controller parameter table.\nStores system parameters (single value) and axis parameters (per-axis value)\nfollowing real Fanuc parameter numbering.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Dependencys.Fanuc.FanucParameterTableProxy.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Dependencys.Fanuc.FanucParameterTableProxy.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Dependencys.Fanuc.FanucParameterTableProxy", "Summary": "Get-or-create #5221+ / #7001+), so the\nproxy carries a fixed machine-config
\nThe proxy deliberately does not implement the machine-config interfaces\n(
Fanuc-style position system variables read from the previous block's\nruntime-state JSON sections:
\n#5001-#5003Block-end position X/Y/Z (workpiece) → previous block's #5021-#5023Current machine position X/Y/Z → previous block's #5041-#5043Current absolute position X/Y/Z → previous block's \nStateless. Configured on\nNcDependencyList because the read needs the block node for\n
Fanuc-side adapter that exposes a wrapped #2001+N → effective height of offset N\n(geometry − wear).
\nThe underlying dependencies list, so XML round-trip is trivial (an empty element).\n
\nRegistered on a brand preset's\nNcDependencyList as the data dependency.\n
Watchdog for Fanuc Custom Macro B WHILE/END m bounded loops. Sibling\nto
\nThe counter key is (FileName, LoopId) where FileName\nis the source-level file path of the WHILE/END pair (the relative\npath form carried on WHILE DO 1 stay isolated.\n
\nThe consuming syntax (
\nDefault
Fanuc-style ISO controller common variable table for the retained range\n#500-#999. These variables survive a power cycle (in real hardware\nthey live in NV-RAM) and are serialised into the project file.
\nExcluded by design:\n
#1-#33Call-frame scoped (Fanuc local variables); lives in the SyntaxPiece JSON dataflow, not here.#100-#499Cleared by program-end / power reset; lives in the SyntaxPiece JSON dataflow as well, not in this table.#1000+Read-only or computed from runtime state; resolved by dedicated reading syntaxes against other dependencies (e.g. \nVacant (Fanuc <vacant>) is represented by null: either the dictionary\nhas no entry for the key, or the entry maps to null. Both are treated identically by
\nNaming rationale: Fanuc official documentation calls #500-#999 \"retained common variables\"\n(and #100-#499 \"non-retained common variables\"). The umbrella term \"macro variable\" was\navoided because it conflicts with Custom Macro B's call-frame concept (G65/G66 push a frame\ncontaining the local #1-#33); using RetainedCommonVariableTable reserves \"macro\"\nfor the call-frame topic.\n
Get-or-create #500–#999).
HiNC-specific fallback dependency that provides default values\nfor all optional configuration interfaces.
\n\nShould be placed as the last element in\nOfType<T>().FirstOrDefault().\n
\nWhen a brand table (e.g.,
Default / prefix) is ON, other layers\nare OFF. Each layer can be toggled individually.
\nXML form:\n
<GenericBlockSkipConfig>\n <EnabledLayers>1,3</EnabledLayers>\n</GenericBlockSkipConfig>\nWhen EnabledLayers is absent the default is layer 1 only.\n\n"
},
{
"type": "ManagedReference",
"source_relative_path": "api/Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.yml",
"output": {
".html": {
"relative_path": "api/Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable.html"
}
},
"version": "",
"Uid": null,
"IsMRef": true,
"Title": "Hi.NcParsers.Dependencys.Generic.IsoCoordinateTable",
"Summary": "Coordinate table for NC controller.\nThe dictionary key is a G-code coordinate name (e.g. “G54”, “G59.2”);\nthe dictionary value is machine coordinate offset.
\n\nBrand-agnostic standalone implementation of
Get-or-create
Brand-neutral
Folder lookup configuration for\nO<n> file when the host program executes M98 P_ L_\n(M198 P_\n(
\nEither path may be absolute or relative; when relative, it resolves\nagainst the host file's parent directory at lookup time. Either may\nbe null — a null
Single row of a
Integer-keyed tool offset table implementing
Get-or-create
HiNC-specific: machine position axes move to during tool change (M06).\nNot a standard Fanuc parameter — in real Fanuc, tool change motion\nis programmed in the macro program (O9006).\nEach axis value: a position to move to, or
Watchdog for Heidenhain FN 9–12 GOTO LBL jumps — the\nlabel-keyed sibling of the Siemens\nLBL numbers-or-names, matched in their canonical\nform (“01” ≡ 1 on a TNC, quotes stripped).
\nThe counter key is (FileName, Label) where FileName is\nthe source-level file path of the jump host (the relative form carried\non Label is the normalised\ntarget. Klartext has no direction mnemonic — a backward jump is the\nlanguage's loop primitive, a forward jump can only fire once per\narrival — so all jumps to one label share one bucket and the cap stays\ngenerous.\n
\nThe consuming syntax\n(HeidenhainGoto--IterationLimitExceeded and falls through. A\nmissing dependency disables the cap (Fanuc parity) — the brand preset\nwires one by default.\n
Heidenhain TNC/iTNC machine parameter table.\nStores machine parameters (MP numbers) as system and per-axis values.
\n\nMP100–MP199: General machine configuration.\nMP400–MP499: Axis-specific parameters.\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTableProxy.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTableProxy.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Dependencys.Heidenhain.HeidenhainParameterTableProxy", "Summary": "Get-or-create
\nThe proxy deliberately does not implement the machine-config\ninterfaces (
Heidenhain Q-parameter table for the ranges that persist on a real TNC:\nfree parameters Q0-Q99 (survive power cycles) and the permanent\nQR0-QR499 range (nonvolatile, backed up with the machine). Like\nthe Siemens sibling
\nThe other Q ranges deliberately live elsewhere: Q100-Q199 are\ncontroller-written system parameters — null for them (read fail-soft, no fabricated values) and the\nreading syntax refuses writes; Q200+ are volatile cycle/user\nparameters carried block-to-block in Vars.Volatile (JSON\ndataflow, cleared at program end) — null so the evaluator's chain falls through to\n
\nReads flow through NcDependencyList); writes flow through\nParsing.Assignments.Qn entries after\n
\nVacant is represented by null: either the dictionary has no entry\nfor the key, or the entry maps to null — both read identically. A\nvacant read failing loud (Variable--Vacant via the evaluator) surfaces\nmissing setup data instead of silently machining with 0.\n
Get-or-create Q0–Q99 + QR0–QR499).
Heidenhain datum preset and datum shift tables.\nCYCL DEF 247 Q339=N reads from
\nOn real Heidenhain controllers, preset and datum tables are separate\ndisk files (e.g. TNC:\\table\\preset.pr, *.d) — distinct\nfrom MP-prefixed Machine Parameters (held by\nHeidenhainParameterTable.\n
\nImplements
Get-or-create
Runtime state of the controller's Block Delete / Block Skip switches.\nPresent in / or /N\n(parsed by
\nLayers are 1..9; Layer 1 corresponds to the bare / prefix.\nControllers (Fanuc / Syntec / Mazak / Siemens) let each layer be\ntoggled independently via panel switches or system parameters.\n
\nWhen this dependency is absent from\n/ prefix so no UnparsedText--Remaining\ndiagnostic is produced.\n
Canned cycle configuration parameters.\nImplemented by brand-specific parameter tables\n(e.g.,
\nSiemens and Heidenhain specify peck clearance per-call\n(CYCLE83 parameter / CYCL DEF), so their tables do not implement\nthis interface. The
G28 first reference position (home machine coordinate) per axis.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Dependencys.IIndexingPositionConfig.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Dependencys.IIndexingPositionConfig.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Dependencys.IIndexingPositionConfig", "Summary": "Indexing-axis position table: maps 1-based indexing position numbers to\naxis coordinates for axes that only take up discrete stations (Hirth\ncouplings, indexing rotary tables, turret-style workholders). Consumed\nby the coded-position coordinate functions (Siemens\nCAC()/CIC()/CDC()/CACP()/CACN() —\nunwrapped by $MA_INDEX_AX_ASSIGN_POS_TAB per\naxis; global tables MD10910/MD10930; equidistant MD30501–MD30503).
\nPositions are expressed in the axis' native units (degrees for rotary,\nmm for linear) in the coordinate frame the axis word itself is written\nin — machine coordinates for rotary words, program coordinates for\nlinear words. Position numbering is 1-based: number 1 is the first\ntable entry (the Siemens machine-data help and alarm texts count this\nway; the 0-based value range printed in some programming-manual\neditions describes the machine-data array index, not the programmable\nnumber).\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Dependencys.IIsoCoordinateConfig.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Dependencys.IIsoCoordinateConfig.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Dependencys.IIsoCoordinateConfig", "Summary": "ISO work coordinate offset provider.\nMaps a G-code work coordinate id (e.g. “G54”, “G59.2”, “G54.1P1”)\nto a machine-coordinate offset Vec3d.
\n\nImplementations include\n$P_UIFR frames),\nand
Machine-declared M-code map: what each machine-specific (OEM/PLC) M-code\ndoes, as
Machine axis configuration: which axes exist and their types.\nCompatible with Fanuc, Siemens, Heidenhain, Mazak, Okuma.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Dependencys.INcDependency.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Dependencys.INcDependency.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Dependencys.INcDependency", "Summary": "Marker interface for objects that participate in the NC dependency list resolved by the soft-NC runtime.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Dependencys.INcDependencyListHost.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Dependencys.INcDependencyListHost.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Dependencys.INcDependencyListHost", "Summary": "Hosts a per-case MachiningProject.
An MachiningProject).
\n\"Maker and taker\":
\nA proxy may carry runtime-only state (the wired host, a memoized resolved\ndependency). That state is host-wired per run and MUST NOT be written by\n
Marks an
\nImplementers should clear only the volatile subset they own (e.g. Fanuc common volatile\nmacro variables #100-#499), and leave persistent state untouched\n(e.g. #500-#999, controller parameters).\n
\nCall-frame local state (Fanuc #1-#33, Heidenhain Q200-Q1199) is NOT in scope —\nthat lives in the SyntaxPiece JSON dataflow and is bounded by call activation, not power cycle.\n
Provides per-axis rapid traverse feedrate for motion semantics.\nImplemented by
Machine-specific spindle control codes: maps custom spindle direction\nM-codes to M203 (CW) and stopped by M205 (STOP) instead of\nISO M03/M05. Consulted by\n
Per-axis stroke (travel) limits.\nUnit is mm for linear axes, deg for rotary axes.\nImplemented by
Machine-level tool-change trigger mode. Machining centers with a\nmagazine treat a bare T word as pre-selection only (the magazine\nrotates, no feed axis moves) and change the tool on the trigger M-code;\nlathes/turret machines index the turret — and thereby change the tool —\non the T word itself. Real controllers declare this per machine\n(e.g. Siemens MD22550 $MC_TOOL_CHANGE_MODE, where 0 means the\nT word performs the change). Consulted by\n
Tool offset configuration indexed by a single integer offset number.\nApplies to Fanuc (H/D numbers), Heidenhain (tool number), Mazak, Okuma,\nand other ISO-compatible controllers where one integer selects the offset row.
\n\nFor Siemens (840D/Sinumerik) where offsets are addressed by\n(tool number, cutting edge D number), see\n
Machine position axes move to during tool change (M06).
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Dependencys.IsoCoordinateAddressMap.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Dependencys.IsoCoordinateAddressMap.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Dependencys.IsoCoordinateAddressMap", "Summary": "Fanuc-style ISO coordinate parameter address mapping.\nG54–G59 → #5221+ (stride 20, three consecutive numbers per entry for X/Y/Z),\nG54.1 P1–P48 → #7001+ (stride 20).\nShared between
What one machine-declared M-code does. Real-machine OEM M-codes are\nfrequently composite — e.g. an M13 that means “spindle CW +\nflood coolant on” — so a declaration carries every effect the code\nperforms rather than a single meaning, and additionally an\n
Siemens (840D/Sinumerik) tool offset configuration.\nOffsets are addressed by (tool number T, cutting edge D number),\nunlike
\nSiemens stores up to 25 data fields per cutting edge ($TC_DP1..$TC_DP25),\nincluding three independent length components (L1/L2/L3 for Z/X/Y directions),\nradius, and corresponding wear values.\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Dependencys.Siemens.SiemensFrameTable", "Summary": "Sinumerik settable work coordinate frames ($P_UIFR[n]).\nModels G54–G57 (ISO-compatible), G505–G599 (extended Siemens),\nand G500 (cancel — always zero).
\nOn real Sinumerik, $P_UIFR is a frame array containing translation,\nrotation, scale and mirror per entry. HiNC currently consumes only the\ntranslation component, so this table stores
\nDeliberately not $P_UIFR write from the\nprogram survives reset and power-off, so a replayed session must see\nthe values the previous run wrote.\n
Get-or-create
Watchdog for Siemens GOTOF/GOTOB jumps — the\nlabel-keyed sibling of the Fanuc\n
\nThe counter key is (FileName, Label) where FileName is\nthe source-level file path of the jump host (the relative form\ncarried on LBL1 stay\nisolated. Forward and backward jumps to the same label share one\nbucket — only the backward direction can loop, but a shared bucket\nkeeps the accounting simple and the cap generous.\n
\nThe consuming syntax\n(SiemensGoto--IterationLimitExceeded and falls through. A\nmissing dependency disables the cap (Fanuc parity) — the brand preset\nwires one by default.\n
Watchdog shared by all four Siemens loop constructs\n(WHILE/ENDWHILE, FOR/ENDFOR, REPEAT/UNTIL,\nLOOP/ENDLOOP) — construct-neutral by design, unlike the Fanuc\nsibling (
\nSiemens loop constructs carry no LoopId, so the counter key is\n(FileName, BeginLineNo) — the loop-entry line recorded in the\nactive frame identifies the construct uniquely within its file, and\nthe file path isolates identically-numbered lines across files (and\nacross inlined subprograms).\n
\nThe consuming syntax\n(UNTIL), so a\nloop whose condition is false from the outset consumes zero\niterations. Above SiemensLoop--IterationLimitExceeded, pops the frame and\nfalls through. A missing dependency disables the cap for the\ncondition-bearing constructs (Fanuc parity) but hard-blocks the\nENDLOOP back-jump — LOOP has no exit condition, so an\nuncapped back-jump would hang the pipeline deterministically.\n
Siemens Sinumerik machine data table.\nStores machine data (MD numbers) as system and per-axis parameters.
\n\nMD10000–MD19999: General machine data.\nMD20000–MD29999: Axis-specific machine data.\nMD30000–MD39999: Axis-specific machine data (extended).\n
\n\nDeliberately not
Get-or-create
\nThe proxy deliberately does not implement the machine-config\ninterfaces (
Sinumerik R-parameter table (R0-R999). R parameters are the\nSiemens arithmetic-variable surface (R63=100.5, C=R61,\nR26=(558.5+14)/2); on real hardware they live in retentive memory\n(sized by MD28050) and survive program end and power cycles, so — like\nthe Fanuc sibling
\nReads flow through NcDependencyList); writes flow through\nParsing.Assignments.Rn entries after\n
\nVacant is represented by null: either the dictionary has no entry\nfor the key, or the entry maps to null — both read identically.\nReal Sinumerik default-initialises every allocated R to 0, but a vacant\nread failing loud (Variable--Vacant via the evaluator) surfaces missing\nsetup data instead of silently machining with 0.\n
Get-or-create R0–R999).
One Siemens cutting-edge offset row ($TC_DP fields for a (T, D) pair):\ngeometry lengths L1/L2/L3 ($TC_DP3/4/5), radius ($TC_DP6) and the\ncorresponding wear values ($TC_DP12/13/14/15) as typed properties (all\nmm), plus
Per-case Siemens tool offset table — the first concrete\n
\nAlso carries the T=\"D8R1\")\ncan resolve to the int-keyed act chain — consumed by\n
\nPer-case editable data — reaches the pipeline through\n
Get-or-create
Syntec controller parameter table.\nStores system parameters (single value) and axis parameters (per-axis value)\nfollowing Syntec Pr-prefixed parameter numbering.
\n\nSyntec is largely Fanuc-compatible in parameter numbering,\nbut some parameters differ in unit or interpretation.\nFor example, Pr4002 (peck retraction) is stored in microns\nwhereas Fanuc #4002 stores in mm.\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Dependencys.Syntec.SyntecParameterTableProxy.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Dependencys.Syntec.SyntecParameterTableProxy.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Dependencys.Syntec.SyntecParameterTableProxy", "Summary": "Get-or-create
Per-session monotonically-increasing file index allocator. Holds the\ncounter as a private field;
\nTwo consumers share one allocator:\n
L repetition — distinct indices ensure\n (FileIndex, LineIndex) pairs stay unique across overlapping\n subprogram line ranges.Exposes the full
Narrow NC-pipeline dependency that lets a CSV semantic convert an absolute\ncontroller instant to a run-relative timecode against the project mapping\nanchor, without reaching the whole TimeMapping.ToTimecode, whose\nset-once ??= seeds (lazily builds) the anchor on first use.
\nRuntime-only: the provider is wired per host and not persisted; serialization\nwrites only the empty element so the dependency survives an XML round-trip.\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Dependencys.SystemWired.NcKinematicsDependency", "Summary": "Provides
\nThe actual kinematics instance is resolved at runtime via\n
\nConsumed by dependencyList.OfType<IMachineKinematics>().\n
In-memory line source for NC “files” with no disk backing — inline\nNC-code plays whose “NC Code”). Control-flow\nre-segmentation (WHILE reverse jump, backward GOTO, M99 P{seq}\ncaller re-entry — every *FileNotFound diagnostic.\n
\nEntries persist for the runner's lifetime, the latest registration of a\npath winning — deliberately NOT
Exposes the absolute base directory of the project that owns this\nrunner. Resolved at runtime via LocalProjectService, a test harness) wires the\nprovider to its known project root after the runner is constructed,\nbecause baseDirectory argument it sees during XML deserialization.
\nConsumed by syntaxes that need to resolve a project-relative path\nto an absolute file system location — e.g.\nO<n>\nsubprogram lookup under\nPath.GetFullPath would\nanchor against the process working directory, not the project root.\n
Exposes the active O<n>\nsubprogram file and re-using the host runner's segmenter so the inlined\nblocks are split with the same rules).
\nThe actual segmenter is resolved at runtime via\n
Per-session monotonically-increasing
\nThis dependency exists to fix the sentence-index double-booking bug:\nbefore it, the host file's lazy enumerator numbered pieces from\nlayers[0].Count captured at file-append time while subprogram /\nmacro / control-flow re-segmentation numbered from\nlayers[0].Last.Value.SentenceIndex + 1 — two independent\nsequences that overlap as soon as a call is inlined mid-stream\n(host blocks after M98 and the inlined body shared the same\nindices). With this counter,
\nValues are never negative, preserving the -1 \"not in pipeline\"\nsentinel used by SoftNcRunner XML constructor's\nsystem-wired back-fill), because saves that predate this dependency\nnever self-heal by round-tripping — re-saving stamps a new\nApiVersion on the same incomplete list.\n
Exposes the host's step-variable registry to NC pipeline components\n(today:
\nThe provider is wired by the host (e.g. LocalProjectService) so\nthe dependency does not carry strong references to host types; this lets\nthe runner be created before the host is fully constructed and reused\nacross project loads.\n
\nA sibling
Exposes the per-session layers[0] immediately after the M98 host\nnode so the entire syntax pipeline naturally re-processes them.
\nThe actual layer list is resolved at runtime via\n
Exposes the project's
Push / pop helpers for the per-block
\nPairs with P{seq} reading the top frame's\n
Outcome of evaluating an
Stateless variable lookup that needs per-block runtime context — the\ncurrent MachineCoordinateState\n/ ProgramXyz) and the dependency list (so the lookup can read\nfrom sibling dependencies without holding a static reference).
\nDistinguished from IRuntimeVariableLookup is for context-sensitive\nresolutions configured declaratively on\n
\nImplementations should be brand-specific (e.g. Fanuc #5001-#5043\nposition reads) and return null for keys outside their range so\nthe evaluator's chain can fall through to the next lookup.\n
\nImplementations are XML-serialised as part of\nXName, registers itself with
Resolves a Custom Macro B variable reference to its current numeric value,\nor null for vacant (Fanuc <vacant>) and out-of-scope alike.
\nThe key is the raw source token — Fanuc \"#124\", Heidenhain\n\"Q1\", Siemens \"R1\" — so the interface itself is brand-agnostic.\nImplementations are typically narrow (one per id range / per brand prefix)\nand parse the prefix locally; chain them at the call site by trying each\nin priority order until one returns a non-null value.\n
\nA returned null is treated by Variable--Vacant failure when the\nvalue is consumed in arithmetic context.\n
Reads Fanuc-style local macro variables (#1-#33) from\nVars.Local on the current
\nTwo-step lookup (mirrors
\nFrame isolation via
\nStateless and dependency-free — instances are interchangeable.\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.NcBinaryExpr.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.NcBinaryExpr.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.EvaluationSyntaxs.Evaluation.NcBinaryExpr", "Summary": "Binary operation on two operands. Covers arithmetic\n(+ - * / / MOD), comparison\n(EQ NE GT GE LT LE, yielding 1.0 / 0.0), and\nlogical bitwise (AND OR XOR, operands truncated to\n
Binary operators allowed in Fanuc Custom Macro B value expressions.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.NcExpr.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.NcExpr.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.EvaluationSyntaxs.Evaluation.NcExpr", "Summary": "AST root for a Fanuc Custom Macro B value expression. Concrete leaves\nand combinators sit alongside
Selects which brand expression grammar a syntax parses value expressions\nwith. All dialects produce the same #nnn + brackets vs\nSiemens Rn/named/$ + parentheses).
Dispatch helpers over
Walks an #nnn via an
\nPhase-1 supports: SIN COS TAN ASIN ACOS ATAN SQRT ABS ROUND FIX FUP LN\nEXP POW. Trigonometric arguments and results are in degrees, matching\nFanuc Custom Macro B convention. Unknown function names surface as\nSQRT[-1]) as
\nNumeric domain & type conventions. All values are IEEE 754\nEQ NE GT GE LT LE) yield 1.0 (true) or\n0.0 (false), using strict double equality / ordering (NaN\ncompares as IEEE specifies — NaN EQ NaN is 0.0). Logical\nops (AND OR XOR) truncate each operand to a 64-bit signed\ninteger (IF / WHILE\ngates is value != 0 — any non-zero value (bit, float, comparator\nresult) is true.\n
Recursive-descent parser for Fanuc Custom Macro B value expressions.\nPure: takes a string, produces an
Grammar (lowest precedence at top):
\nexpr := or-expr\nor-expr := and-expr (('OR' | 'XOR') and-expr)*\nand-expr := cmp-expr ('AND' cmp-expr)*\ncmp-expr := add-expr (('EQ' | 'NE' | 'GT' | 'GE' | 'LT' | 'LE') add-expr)*\nadd-expr := term (('+' | '-') term)*\nterm := factor (('*' | '/' | 'MOD') factor)*\nfactor := ('+' | '-')? primary\nprimary := number\n | '#' integer\n | '#' '[' expr ']'\n | '[' expr ']'\n | ident '[' arglist ']' ('/' '[' expr ']')?\narglist := expr (',' expr)*\n\nFunction names and keyword operators (MOD, EQ NE GT GE LT LE,\nAND OR XOR) are case-insensitive (SIN = sin,\nEQ = eq); each keyword requires a non-identifier character\non its right boundary so EQ1 is not the EQ operator\nfollowed by 1. Whitespace is skipped between tokens. The\n'/' '[' expr ']' tail captures the dual-bracket form Fanuc uses\nfor ATAN[a]/[b]; non-ATAN callers that happen to use it produce a\nfunction with an extra arg, which the evaluator rejects with an arity\nerror.\n
\nOperator precedence intentionally puts boolean / logical layers below\narithmetic so #1 + 1 GT 0 parses as (#1 + 1) GT 0 and\n#1 GT 0 AND #2 LT 10 parses as (#1 GT 0) AND (#2 LT 10),\nmatching the Fanuc Custom Macro B spec for IF [..] GOTO /\nIF [..] THEN / WHILE [..] DO conditions.\n
Built-in function call like SIN[x], SQRT[x], ATAN[a]/[b].
Indirect variable reference #[expr]. The inner expression is\nevaluated and truncated toward zero to obtain an integer; the lookup key\nis then Prefix="#", computed 124 → "#124").
Numeric literal (e.g. 1.5, 15., .5, 1e-3).
Unary + or - applied to an operand.
Unary operators allowed in Fanuc Custom Macro B value expressions.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.NcVariableExpr.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.NcVariableExpr.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.EvaluationSyntaxs.Evaluation.NcVariableExpr", "Summary": "Direct variable reference; "#124") passed verbatim to
Reads Fanuc-style non-retained common variables (#100-#499)\nfrom Vars.Volatile. Self-gates the id range so the evaluator's\n
\nSingle-step lookup: Vars.Volatile into the next block, so\nthe entry — if it exists — must be on the current block (when this\nlookup runs after the reader) or on the immediately previous block\n(when this lookup runs before the reader on the same block, which is\nthe Fanuc preset's order — evaluator first, reader second). No\narbitrary walk-back: such a walk would be defensive overkill given\nthe reader's carry guarantee.\n
\nStateless and dependency-free — instances are interchangeable. Reads\nstay decoupled from the reader (read side here; write side in the\nreader).\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Evaluation.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.EvaluationSyntaxs.Evaluation", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucConditionReader.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucConditionReader.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucConditionReader", "Summary": "Shared polymorphic reader for Fanuc Custom Macro B conditional gate\nexpressions (IF [...] GOTO, IF [...] THEN,\nWHILE [...] DO m). The condition node is read post-evaluation —\n
\nThree states, mapping directly to the\nConditionEvaluated: true | false | null stamp shape used by\nall three consumers (see
<Syntax>--ConditionNotEvaluated warning.\nThe Display form is the human-readable expression text for\ndiagnostic messages. For resolved numerics it is the value formatted\nvia \"IF [<Display>] GOTO ...\" etc.\n
\nCallers typically
Resolves Fanuc Custom Macro B GOTO control flow.\nTriggered by Parsing.FanucGoto (written by\nlayers[0] with\nthe re-segmented file content starting at the matching N{target}\nlabel. The host block stays materialised (so cache dumps still see the\nGOTO call site); execution naturally continues from the new source\nonce the pipeline pulls the next block.
\nBoth unconditional GOTO <n> and conditional\nIF [<expr>] GOTO <n> are implemented. The conditional\nform leans on Parsing.FanucGoto.Condition with a numeric\nFanucGoto--ConditionNotEvaluated and falls\nthrough.\n
\nPipeline placement: tail of the Fanuc / Mazak / Syntec Evaluation\nbundle. Must run after #<var> in the target N (e.g. GOTO #1) has been\nsubstituted to a literal in Parsing.FanucGoto.N. Reader syntaxes\n(Parsing.Assignments, not Parsing.FanucGoto.\n
\nLabel scanning uses two hosted helper syntaxes —\nCommentSyntax and IndexSyntax — applied to\neach candidate block in turn so the predicate\nIndexNote.Number == target matches the same way the Parsing\nbundle would. Both are XML-IO-able so API customers can swap them\n(e.g. for a controller variant using ;-style comments or a\ndifferent head symbol). Defaults match Fanuc: \"N\" symbol.\n
Resolves Fanuc Custom Macro B IF [<cond>] THEN <body>\nsingle-block conditionals. Triggered by Parsing.FanucIfThen\n(written by PendingAssignments sub-object into the canonical\nParsing.Assignments bucket so the brand-specific reader syntaxes\ndownstream route each entry to its store the same way they would handle\nan unconditional #nnn = <literal> on a normal block.
\nUnlike FanucIfThen section on the host's top-level JSON keeps the\nIF-THEN call site visible to cache dumps and diagnostics, with\n
\nPipeline placement: in the Evaluation bundle after\nPendingAssignments RHS string has been evaluated to a numeric\n
\nThree condition outcomes mirror the\nFanucGotoSyntax.ReadCondition shape:\n
FanucIfThen--ConditionNotEvaluated, do not\n lift, Applied=false.FanucIfThen--UnsupportedBody and falls through.\n\n"
},
{
"type": "ManagedReference",
"source_relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.yml",
"output": {
".html": {
"relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.html"
}
},
"version": "",
"Uid": null,
"IsMRef": true,
"Title": "Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax",
"Summary": "Routes literal-RHS assignments to Fanuc-style local macro variables\n(#1-#33) from Parsing.Assignments into Vars.Local\non the current block, carrying the previous block's Vars.Local\ndict forward when both blocks share the same\n#100-#499 range, with two differences:
#11 = 5) emit\nLocalVariable--MainFrameWriteUnsupported and consume the\nassignment without persisting — real Fanuc allows main-frame local\nwrites but this simulator only tracks locals inside G65/G66 call\nframes; surfacing the gap as a diagnostic is more informative than\na silent\n\nPipeline placement: Evaluation bundle, after\n#11 = #1 + 1 has already been normalised to a literal by the\ntime this reader runs) and after the other range readers\n(
\nOnly literal numeric RHS values are consumed here; non-literal\nentries (which can only persist if\nVariableExpression--Unevaluated diagnostic plus\n
Fanuc Custom Macro B Type-I argument-letter map: which call-line letter\nbinds to which Vars.Local id (#1-#26) inside the macro body.\nReserved letters (G, L, N, O, P) are\nabsent — they are consumed by the call itself, not passed through.
\nUsed by #nnn bindings the macro body's expression evaluator can read.\n
Inlines a Fanuc Custom Macro B one-shot call (G65 P_ L_ [letter\nvalue …]) into the source layer and binds the call-line argument\nletters to Vars.Local #1-#26 per the Type-I map (see\n#1-#33 writes forward only within the same frame. The host\nblock itself records layers[0]).
\nFrame isolation works on two layers. Statically, caller blocks\nhave no L-repetition) never collide with main. Dynamically,\nVars.Local entry across a block boundary\n— a macro body's body-internal writes therefore stay inside the\nmacro and never leak back into the caller's frame.\n
\nFilename lookup mirrors O{P:D4}.NC, O{P}.NC, O{P:D4}, O{P},\n{P:D4}.NC, {P}.NC — first match wins. The lookup root\nis
\nL > 1 inlines the same macro L times in series. Each\nrepetition is a fresh segmentation pass (so each block gets its own\nFileIndex (so\n(FileIndex, LineIndex) pairs stay unique across the\nL-copies of the same source lines).\n
\nPipeline placement: ahead of Evaluation G65 P_ + M98 P_ on the same block\nexpands the G65 macro first (would be an unusual but legal\ncomposition). Detection is on the Parsing.G65 sub-object\nwritten by \"G65\" never reaches Parsing.Flags because the\nparameterized match has already consumed the text by the time\n
Identifies which pipeline phase the instance runs in. The two\nvalues correspond to the Evaluation-bundle and PostLogic-bundle\nregistrations of this same syntax class.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax", "Summary": "Handles Fanuc Custom Macro B modal-call lifecycle (G66 setup,\nG67 cancel, and per-motion-block implicit macro invocation).\nThe same class is registered twice in the pipeline via\n
\nKeeping both phases in one class makes the pairing visually explicit:\nreaders see \"G66 in one file\" and the two methods (DoSetup,\nDoExpansion) make the lifecycle obvious. The two factory\nhelpers (ModalCarrySyntax.Logic / .PostLogic pattern already in\nthe codebase.\n
Consumes Fanuc-style system-control variable assignments\n(#3000-#3999) — alarm trigger (#3000), millisecond and\nhour clocks (#3001 / #3002), single-block / feed-hold\nbypass flags (#3003 / #3004), pause-with-message\n(#3006), mirror-image flags (#3007), date / time\n(#3011 / #3012), tool-life data (#3030 /\n#3032), etc.
\nEvery id in this range is a controller-side state variable — its\nauthoritative value lives on the real hardware (RTC, alarm bus,\noverride switches, …) and an NC write at most triggers a side effect\n(clock reset, alarm raise, message-pause prompt). Offline simulation\nhas none of that machinery, so this syntax does not emulate the\neffect. Instead it:\n
\nVars.SystemControl (round-trip and cache-dump visibility);FanucSystemControl--Unsupported\nParsing.Assignments so it does not\nre-surface as a generic Parsing--Unconsumed diagnostic.\nThe dictionary carries forward block-by-block (same dict-merge pattern\nas SyntaxPiece linkage.\n
\nOnly literal numeric RHS values are consumed; non-literal RHS\n(e.g. #3002 = #500) is left in Parsing.Assignments for\n
\nFanuc-family only — Siemens uses named system variables\n($AC_TIME, $A_DAY, …) and Heidenhain uses\nFN18: SYSREAD; neither flows through Parsing.Assignments.#nnn.\n
Resolves Fanuc Custom Macro B WHILE [..] DO m ... END m\nbounded loops. Two phrases dispatched by\n
WHILE [..] DO m — entry: reads the resolved condition\n via WhileFrames dict, and either falls\n through (truthy) or forward-jumps past the matching END m\n (falsy / unresolved).END m — terminator: unconditionally reverse-jumps to\n the WHILE block recorded in WhileFrames[LoopId].BeginLineNo\n so the next iteration re-evaluates the entry condition. Increments\n the per-loop iteration counter on\n \nWhileFrames carrier. The top-level WhileFrames JSON\nsection is a { BeginLineNo: int }. Frames are pushed when\na WHILE block first encounters a truthy condition with no existing\nframe for that LoopId; popped when the condition becomes falsy or\nunresolved; otherwise carried forward unchanged by\n
\nPipeline placement. Evaluation bundle, after the variable\nreaders (defensive — WHILE/END blocks per spec do not carry\nassignments, but the placement is consistent with GOTO). Must run\nafter
\nForward scan to matching END m uses the anchored\nParsing.FanucWhileDo.Term == \"END\" && LoopId == target.\n
\nReverse scan to WHILE BeginLineNo does not need a label\npredicate — the BeginLineNo is a known file-line index recorded in\nthe active frame, so the END side re-segments the file from the top\nand returns the slice starting at the first piece whose\nBegin.LineIndex\nmatches.\n
Recursive-descent parser for Heidenhain klartext FN value expressions.\nProduces the same
Grammar (lowest precedence at top):
\nexpr := add-expr\nadd-expr := term (('+' | '-') term)*\nterm := factor (('*' | '/' | 'DIV') factor)*\nfactor := ('+' | '-')? primary\nprimary := number\n | '(' expr ')'\n | 'Q' digits | 'QR' digits | 'QL' digits | 'QS' digits\n | func primary → prefix form \"SQRT 4\" (FN 5)\n | func '(' arglist ')' → paren form \"SQRT(Q2)\"\n\nDialect notes: Q-family tokens are canonicalised to uppercase\n(q1 → Q1) so Parsing.Assignments keys, table\nlookups and same-block references agree. (Caveat shared with the\nSiemens R canonicalisation: a lowercase-captured Assignments key\nkeeps its raw spelling in the evaluator's same-block dictionary, so\na later same-block reference resolves to the pre-block value instead\n— klartext posts emit uppercase, corpus-zero.) DIV is the FN 4\ndivision spelling (FN 4: Q4 = +8 DIV +Q2) and maps onto the\nshared divide operator. Function names are limited to the klartext\nmath vocabulary (SQRT SIN COS TAN ASIN ACOS ATAN ABS INT FRAC SGN\nNEG LN LOG EXP); INT normalises to the evaluator's\nFIX (truncate toward zero), names the shared evaluator lacks\n(FRAC/SGN/NEG/LOG) parse fine and fail\nsoft at evaluation. Any other identifier is a parse error — klartext\nhas no named variables, and rejecting bare words keeps the\nevaluator's Parsing-tree pass from touching non-expression strings\n(MM, MAX, tool-axis letters). Comparison/logical\noperators are deliberately absent: FN 9–12 jump conditions are\npre-normalised by\n
Resolves Heidenhain FN 9–12 conditional jumps — the\nLBL\ntargets and a structural condition. Triggered by\nParsing.HeidenhainGoto (written by\nlayers[0] with the re-segmented file content starting at the\ntarget label line (inclusive — the definition marker is consumed by\n
\nThe condition is compared here, not by the expression grammar: the\nparsing owner pre-normalised the statement into two value operands\nplus a shared comparison word (the P2 decision that keeps the\nHeidenhain dialect free of comparison/logical layers). Each operand is\nread polymorphically — numeric (typed at capture for literals, or\nsubstituted in place by HeidenhainGoto--ConditionNotEvaluated and falls through — no\nfabricated values, both endings stay fail-soft.\n
\nThe label scan is whole-file first-match through the runner's own\nsegmenter (\"01\" ≡ 1); GOTO LBL 0 targets the\nend-of-subprogram sentinel and is refused\n(HeidenhainGoto--Lbl0Target, the\nCALL LBL/CALL PGM splice or a\nREP section pass) are recognized but not simulated — the\nredirect would discard the pending inline tail\n(HeidenhainGoto--InlinedContextUnsupported, the Siemens P5\nguard).\n
\nPipeline placement: tail of the Heidenhain Evaluation bundle, after\n(file, label); a missing watchdog disables\nthe cap (Fanuc parity).\n
Obtains values for Heidenhain Q parameters by consuming literal numeric\nassignments from Parsing.Assignments.Qn/QRn and routing\nthem by id range — one reader for the single Q key shape, range\nrouting inside (the Heidenhain analogue of the Fanuc range-routed reader\ntrio):
Q0-Q99 → QRn → the same table's permanent QR store.Q100-Q199 → controller-written system parameters: the write\nis consumed but not applied, with a\nHeidenhainQ--SystemReadOnly warning (no fabricated values).Q200+ → volatile range: dict-merged into\nVars.Volatile with canonical Q+id keys, carried\nblock-to-block like the Fanuc \nThe carry of the previous block's Vars.Volatile happens on every\nblock regardless of assignments, so the single-step traceback contract of\n
\nOnly literal numeric RHS values are consumed\n(Q1 = 5000 ✓; Q1 = Q1*.75 ✗). Non-literal RHS entries are\nleft untouched in Parsing.Assignments;\n
Consumes the Parsing.CALL record captured by\n
CALL LBL n / CALL LBL \"name\" (subprogram):\nthe host file is re-segmented through the runner's own segmenter\n(LBL definition with LBL 0 (inclusive — its consumption pops the frame), and\nprepended into layers[0] with a pushed LBL 0 is a structured safe-skip\n(inlining to EOF would double-execute the file tail).CALL LBL n REP m (program-section repeat — TNC\nsemantics: the section from LBL n up to, not including, the\ncall line runs m extra times): m fresh re-segmentation passes of that\nslice are prepended. A loop, not a call — no new LBL 0 passed inside the section is a no-op for the return\nsyntax (null-safe pop).CALL PGM name: resolved through\n{0}.h → {0}.H →\n{0}) and inlined whole — the\nHeidenhainCall--Skipped). The callee's END PGM pops\nthe frame via\n\nRecursion rail: like the Siemens call path, a self-recursive\nCALL LBL/CALL PGM would splice forever; a call whose\nhost block already carries HeidenhainCall--DepthLimitExceeded. No
Evaluation bundle\n(the Fanuc discipline — call/inline ahead of all variable machinery).\n"
},
{
"type": "ManagedReference",
"source_relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Heidenhain.HeidenhainSubProgramReturnSyntax.yml",
"output": {
".html": {
"relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Heidenhain.HeidenhainSubProgramReturnSyntax.html"
}
},
"version": "",
"Uid": null,
"IsMRef": true,
"Title": "Hi.NcParsers.EvaluationSyntaxs.Heidenhain.HeidenhainSubProgramReturnSyntax",
"Summary": "Consumes the two klartext return spellings and the standalone label\nmarkers:
\nLBL 0 — end-of-subprogram sentinel: stamps\nTerm: \"LBL 0\") and pops the\nLBL 0 reached in\nthe main flow — the 1.H head layout — is a no-op). Like the Fanuc\nM99, the \"return\" itself is structural: the call syntax truncated the\ninlined slice at this block, so the caller's tail follows\nnaturally.LBL n / LBL \"name\" — definition markers:\nconsumed into a block-root END PGM with a non-empty CALL PGM callee: consumes Parsing.PGM\nbefore the Logic program-header syntax can treat it as a real program\nend (which would clear the volatile Q store mid-stream), stamps\nTerm: \"END PGM\"), and pops the\nframe. The main file's END PGM (empty stack) is untouched.Reads Heidenhain volatile Q parameters (Q200+, the cycle/user\nrange that resets at program start) from Vars.Volatile. Self-gates\nthe id range so the evaluator's\nQ0-Q99/QRn resolve on the\nQ100-Q199 stay vacant by design). Sibling of the\nFanuc Vars.Volatile into the next block, so the entry — if it exists —\nis on the current block or the immediately previous one.
\nKeys are stored canonically as Q + id by the reader; this lookup\nre-canonicalises the incoming key the same way, so lowercase raw\ncaptures still resolve. Stateless and dependency-free.\n
Scan region and match policy for the anchored\n
Shared “re-segment a file and skip pieces until a label matches”\nscan, used by both\nM99 P{seq} jump\ninto the caller file). Reads the file via\nIndexNote.Number, and returns the slice from the\nfirst matching block to EOF.
\nReturns null when no block matches — the caller's\nresponsibility to surface the appropriate diagnostic. The probes\nare idempotent because the downstream Parsing bundle re-runs the\nsame syntaxes on the yielded pieces with no-op effect (the regex\npatterns no longer match once the N-prefix is consumed and the\nparenthesised comment stripped).\n
Tri-form resolution result.
Shared subprogram-/macro-file resolver for Fanuc-style O<n>\nlookups consumed by
O####.NC form\nthe resolver matched. Stored in JSON sections (FanucMacroCall,\nSubProgramCall) as the structural NC-language identifier;\nindependent of which folder the dependency happened to be pointing\nat, so the JSON stays portable across environments.\"NC/O1234.NC\"). Used as the\n\nFilename lookup order (first match wins) mirrors real Fanuc fallback:\nO{P:D4}.NC, O{P}.NC, O{P:D4}, O{P},\n{P:D4}.NC, {P}.NC. Case-insensitive match is delegated\nto the host filesystem (Windows is, Linux is not).\n
Shared inline mechanism for Fanuc Custom Macro B body expansion —\nused by both Vars.Local. Centralising lets the two\ncall sites stay in lock-step — frame allocation, file-index\nallocation, and the inline-piece JSON shape are guaranteed\nidentical.
\nFrame ids share the same
Obtains values for Fanuc-style retained common variables (#500-#999)\nby consuming literal numeric assignments from Parsing.Assignments.#nnn\nand writing them straight to a registered\n
\nNo SyntaxPiece JSON mirror is created — the table is the single source of\ntruth for retained values, and
\nOnly literal numeric RHS values are consumed by this syntax\n(#500 = 1.234 ✓; #600 = #500 + 1 ✗). Non-literal RHS entries\nare left untouched in Parsing.Assignments;
\nIf no NcDependencyList, this syntax is a no-op.\n
Recognizes the Siemens per-word coordinate function family on axis\nwords — AC(...) (absolute), IC(...) (incremental),\nDC(...) (rotary shortest-path), ACP(...) /\nACN(...) (rotary directional approach), and the coded-position\n(indexing axis) counterparts CAC(...) / CIC(...) /\nCDC(...) / CACP(...) / CACN(...) — e.g.\nX=AC(400), C=IC(360/17), C=DC(47.296),\nB=CAC(2) — unwraps the inner\nexpression so the downstream Coded* values for the coded-position verbs).
\nSiemens semantics: the wrapper forces the interpretation of that one\ncoordinate word for that one block, regardless of the modal G90/G91\nstate. The positional conversion itself stays with the same consumers\nthat honor the modal state —\n
\nScope: axis words (per DC/ACP/ACN are unwrapped only\non rotary axes (per AC/IC only (Siemens circle centers are\nincremental by default; I=AC(...) switches that one component\nto an absolute center coordinate, consumed by\nCDC/CACP/CACN\nadditionally require the axis to be rotary. Everywhere else (a\nnon-indexing axis, no indexing config on the list, I/J/K) they stay\nuntouched, mirroring the Siemens alarm 17500 (\"axis is not an\nindexing axis\") with loud unevaluated residue. The number→coordinate\nlookup happens at the write stage\n(POS[C]=DC(...) / SPOS=) never\nreach the word path and are out of scope. Values whose parentheses\ndo not balance around the wrapper (e.g. IC(1)+AC(2)) are also\nleft untouched.\n
\nMust be placed in the Evaluation bundle before\n
Recursive-descent parser for Sinumerik value expressions. Produces the\nsame
Grammar (lowest precedence at top):
\nexpr := or-expr\nor-expr := and-expr (('OR' | 'XOR') and-expr)*\nand-expr := cmp-expr ('AND' cmp-expr)*\ncmp-expr := add-expr (('==' | '<>' | '>=' | '<=' | '>' | '<') add-expr)*\nadd-expr := term (('+' | '-') term)*\nterm := factor (('*' | '/' | 'MOD') factor)*\nfactor := ('+' | '-')? primary\nprimary := number\n | '(' expr ')'\n | 'R' digits → variable \"R63\" (canonical uppercase)\n | '$' name ('[' indexlist ']')? → variable \"$P_UIFR[1,X,TR]\" (canonical)\n | name '(' arglist ')' → function call\n | name '[' indexlist ']' → variable \"_RENC[35]\" (canonical)\n | name → variable \"_X_HOME\" (case preserved)\nindexlist := (integer | name) (',' (integer | name))*\narglist := expr (',' expr)*\n\nDialect differences from the Fanuc parser: parentheses group and call\n(Fanuc uses brackets); comparisons are spelled == <>\n>= <= > < (Fanuc uses\nEQ NE .. words); bare identifiers are named-variable references\n(Fanuc rejects an identifier without [); R63 is\ncanonicalised to uppercase so table lookups and\nParsing.Assignments keys agree. Indexed accesses\n($P_UIFR[1,X,TR], _RENC[35]) require literal index\nelements (integers, bare letters, or keywords like TR) and are\nemitted as a single ATAN2 → ATAN\n(both are two-arg atan2 in degrees), TRUNC → FIX\n(truncate toward zero). Unknown functions (e.g. the rotary positioning\nform DC(...)) parse fine and fail later in the evaluator, which\ncallers treat as fail-soft.\n
Resolves Siemens GOTOF/GOTOB control flow — the\nParsing.SiemensGoto\n(written by layers[0] with the re-segmented file content starting at the\ntarget label line (inclusive — a Siemens label may prefix code).
\nDirection comes from the mnemonic and drives the anchored\nGOTOF takes the first\nmatch strictly below the host line, GOTOB the nearest match\nstrictly above it — never the whole-file first match, which would\nsilently mis-target duplicate label texts. Targets may be a named\nlabel (LBL1: line, matched Ordinal-exact on the block-root\nN<num> block\nnumber (matched on
\nThe conditional forms (IF <cond> GOTOF <label>)\nlean on SiemensGoto--ConditionNotEvaluated and falls through. Because\nthe label field is an ordinary Parsing string, a label name that\ncollides with a set named variable may have been substituted to a\nnumeric by the evaluator — the original text is then recovered from\nthe Formula.SiemensGoto.Label mirror.\n
\nPipeline placement: Evaluation bundle, in the control-flow group\nafter (file, label); a missing watchdog disables the cap\n(Fanuc parity).\n
Resolves the Siemens IF ... [ELSE ...] ENDIF block\nconditional. Three phrases dispatched by\n
IF — reads the resolved condition via\n ELSE (else-branch\n executes) or after the matching ENDIF when no else exists;\n unresolved warns SiemensIf--ConditionNotEvaluated and falls\n through (no redirect on unresolved input — the then-branch\n executes, and the ELSE rule below then skips the else-branch,\n which keeps the two branches mutually exclusive even on the\n fail-soft path).ELSE — reached in the normal stream only when the\n then-branch just executed (a false IF jumps past the ELSE line\n directly), so it unconditionally forward-jumps past the matching\n ENDIF.ENDIF — consumed no-op (stamped for cache dumps).\nBoth forward scans run on the anchored IF increments the depth, each ENDIF at\ndepth > 0 decrements it, and the match fires only at depth 0. The\nprobe stack replays the Parsing statement owners the depth counter\ndepends on — including IF cond GOTOF lbl is claimed by the GOTO owner and never\nmiscounted as a block-IF.\n
\nPipeline placement: Evaluation bundle control-flow group, after\n
Detects whether a block executes inside a P4 inlined body — an\nL/name-call subprogram splice or a REPEAT label section\nrepetition. Both are PrependSource inlines whose “return to\nthe caller / to the line after REPEAT” is the natural pipeline tail;\nthe P5 control-flow redirects (ReplaceSource with a\nre-segmented host-file slice) would silently discard that pending\ntail — and, for a section repeat, re-execute the REPEAT\nstatement itself, which has no watchdog (its count is eagerly known)\nand therefore no bound. The P5 jump syntaxes consult this guard and\ndegrade to a structured warning + fall-through instead: control flow\ninside an inlined body is recognized but not simulated (corpus count\nzero; true support needs return-frame machinery, a future work\nitem).
Resolves the four Siemens loop constructs against one shared frame\nstack — WHILE ... ENDWHILE, FOR ... ENDFOR,\nREPEAT ... UNTIL (the label-less post-test loop) and\nLOOP ... ENDLOOP — the\n
ENDWHILE\n (depth-counted). ENDWHILE back-jumps unconditionally; the\n WHILE line re-evaluates.Parsing.Assignments (the reader syntaxes downstream\n persist it exactly as a written assignment), and pushes a frame\n carrying Var/End/Value; each re-arrival increments\n Value until it exceeds End, then pops and jumps past\n ENDFOR.REPEAT pushes and\n always falls through; UNTIL exits on truthy (pop), warns\n and exits on unresolved, back-jumps to the REPEAT line on\n falsy.ENDLOOP back-jumps\n while the \nBack-jump counting happens at the back-jump step only (a loop whose\ncondition is false from the outset consumes zero iterations), keyed\n(FileName, BeginLineNo) on the watchdog. All scans use the\nanchored
\nPipeline placement: Evaluation bundle control-flow group, after\n
\nKnown limitation — stack pairing vs lexical pairing. Real\nSinumerik pairs loop constructs lexically at block preparation; this\nsyntax pairs them dynamically on the carried frame stack. A\nGOTOF/GOTOB that leaves a loop body strands that\nloop's frame (only the FOR head detects and drops a stale frame, via\nBlockSkipSyntax — a /-prefixed terminator is invisible\nto the exit scans.\n
Reads Sinumerik named program variables (_X_HOME) from\nVars.Named. Self-gates on the named-identifier key shape so the\nevaluator's Vars.Named into the next block, so the\nentry — if it exists — is on the current block or the immediately\nprevious one.
\nStateless and dependency-free — instances are interchangeable.\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Siemens.SiemensNamedVariableReadingSyntax.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Siemens.SiemensNamedVariableReadingSyntax.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.EvaluationSyntaxs.Siemens.SiemensNamedVariableReadingSyntax", "Summary": "Obtains values for Sinumerik named program variables (GUD/LUD\nidentifiers such as _X_HOME, declared via DEF REAL or\nassigned directly). Reads literal numeric assignments from\nParsing.Assignments.<ident>, dict-merges them with the\nprevious block's state, and writes the resulting per-block dictionary\ninto Vars.Named — the same carry-forward pattern as the Fanuc\n
\nLifetime is bounded by MachiningSession: within one session the\ndictionary carries forward block-by-block; session restart abandons the\nSyntaxPiece JSON dataflow and starts fresh. This matches LUD scoping\nwell (program-local) and under-persists real GUD (globally retentive) —\nacceptable until a GUD definition-file feature exists.\n
\nOnly literal numeric RHS values are consumed\n(_X_HOME = 155.5 ✓; _A = R1+5 ✗ — the evaluator resolves\nthose to literals earlier on the same block). String-valued RHS (quoted)\nnever reaches Assignments — the quote-guard syntaxes quarantine it in\nthe Parsing bundle.\n
Obtains values for Sinumerik R parameters (R0-R999) by consuming\nliteral numeric assignments from Parsing.Assignments.Rn and\nwriting them straight to a registered
\nNo SyntaxPiece JSON mirror is created — the table is the single source of\ntruth for R values, and
\nOnly literal numeric RHS values are consumed by this syntax\n(R63 = 100.5 ✓; R26 = R64-14/2 ✗). Non-literal RHS entries\nare left untouched in Parsing.Assignments;
\nIf no NcDependencyList, this syntax is a no-op.\n
Executes the Siemens REPEAT StartLabel EndLabel [P=n] section\nrepeat: the host file is re-segmented from the top, the\n[StartLabel: … EndLabel:) slice is cut out (start-label line\nincluded — it may carry trailing code; end-label line excluded), and\nthe slice is prepended into layers[0] once per repetition via\nEND m which actively fires a syntax).
\nLabel scanning reuses
\nFail-soft paths (consume + structured warning + no motion): missing\nend label in the statement (single-label form — corpus count zero,\nnot simulated), start/end label not found in the file, a slice that\ncontains the REPEAT line itself (would re-fire forever — real\nSinumerik programs place REPEAT after the end label), and missing\nruntime dependencies. The repetition count is known eagerly, so no\niteration watchdog is needed.\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Siemens.SiemensSubProgramCallSyntax.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.EvaluationSyntaxs.Siemens.SiemensSubProgramCallSyntax.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.EvaluationSyntaxs.Siemens.SiemensSubProgramCallSyntax", "Summary": "Consumes the Parsing.SiemensCall sub-object captured by\n
{name}.SPF →\n{name}.MPF → {name}) is segmented and prepended into\nlayers[0] — the P-times repetition loop,\nper-repetition file indices, and a pushed HQ_FC, Renishaw L9810, L_ZYM91) whose\ndefinition files ship with the machine, not the NC program. The call\nis consumed whole with a block-root Skipped: true) and a single structured\nSiemensCall--Skipped warning — motion state untouched,\nreplacing the raw UnparsedText--Remaining noise.\nPipeline placement: head of the Siemens Evaluation bundle\n(the Fanuc discipline — call/inline ahead of all variable and motion\nmachinery). Argument binding to PROC parameters is not implemented:\na resolved call carrying arguments emits\nSiemensCall--ArgsNotBound and inlines without bindings.\n
Consumes Siemens subprogram-end words — M17 (subprogram end)\nand RET (return without function output) — and pops one\nlayers[0] by the caller's next block, so this syntax only\nconsumes the trigger (keeping\n
\nM17 in the main frame (no caller) is the norm in practice —\npost-processors commonly end a main .MPF with M17 — and is\nconsumed silently\nwith no pop and no warning, mirroring how a plain M99 tolerates the\nmain frame. Sinumerik's M17 has no P-jump form, so there is no\nredirect path here.\n
\nTriggers: M17 arrives in Parsing.Flags via\nRET via the\n
\nKnown limitation — early return. Because the return is the\nnatural pipeline tail, an M17/RET in the middle\nof a body (e.g. inside an IF branch) pops the frame but does\nnot truncate the remaining inlined blocks — they still execute.\nHonoring a mid-body return needs body-boundary bookkeeping (a future\nwork item alongside PROC parameter binding); the corpus places every\nreturn at the body end.\n
Consumes writes to Sinumerik $ system variables the pipeline does\nnot simulate ($TC_DP… handled elsewhere aside, e.g.\n$AC_TIME, $SC_…, non-TR $P_UIFR components).\nSiemens counterpart of the Fanuc record-only\n
Reads Sinumerik settable-frame translations\n(R100=$P_UIFR[1,X,TR]) from the $P_UIFR[n,axis,TR] key shape so the evaluator's\n
\nState-from-deps flavour: the table is resolved from the call's\ndependencies list on every call — never held as a field —\nso the lookup survives XML round-trip without a rebind path (the wrapper\nanti-pattern ban on
Consumes Sinumerik settable-frame translation writes\n($P_UIFR[5,Z,TR]=R102-281.48, probing programs' workpiece\nre-referencing idiom) by routing literal numeric assignments from\nParsing.Assignments into the G54/G505+ selection reads the updated\noffset through the existing CoordinateOffset path (X/Y/Z), and\n$P_UIFR reads see it via
\nOnly literal numeric RHS values are consumed;\nTR component is\nbridged — other components (RT, FI) stay in Assignments\nand fall to the record-only $P_UIFR[0,..]\n(G500) are consumed but ignored, matching\n
\nIf no
Inlines a Fanuc-style subprogram into the source layer when an M98 or\nM198 host block is reached. M98 P_ L_ reads the matching\nO<P> file from M198 P_ reads from layers[0] via\nwalkNode.Next\ntraversal as if they had always been part of the host file.
\nPipeline placement: first child of the Fanuc Evaluation\nParsing.M98 / Parsing.M198 sub-object carrying the\ncaptured P / L parameters. Note: those sub-objects\nare this syntax's only trigger — \"M98\" / \"M198\"\nnever reach Parsing.Flags, because the parameterized\nmatch has already consumed the text by the time\n
\nFilename lookup uses a fallback chain:\nO{P:D4}.NC, O{P}.NC, O{P:D4}, O{P},\n{P:D4}.NC, {P}.NC — first match wins. Case-insensitive\nmatch is delegated to the host filesystem (Windows is, Linux is not).\n
\nL > 1 inlines the same subprogram L times in series. Each\nrepetition is a fresh segmentation pass so each block gets its own\n
\nNot yet supported: M99 P{seq} early return inside a\nsubprogram and partial-program calls (M98 P{seq}{prog} split\nencoding). Custom Macro B argument-binding calls (G65 /\nG66 / G67) live in #1..#26 binding and the macro-call frame\nisolation that M98 deliberately does not provide.\n
Consumes Fanuc-style M99 subprogram-return blocks and pops\none M99 relies on the\nnatural pipeline tail — the inlined body's last block is followed\nin layers[0] by the caller's next block, so the “return”\nhappens implicitly; this syntax only consumes the M99 trigger (so\n
\nM99 P{seq} additionally redirects control flow to the\ncaller's N{seq} block via\nSegmentAndSkipUntilLabel helper as\n\"N\") because the M99 P semantic itself is\nFanuc-family-only and Mazak / Syntec follow the same conventions.\nThe iteration is counted against\n(FileName, TargetN) bucket so a tight\nM98 → M99 P → M98 … loop trips the same threshold.\n
\nPipeline placement: same Evaluation bundle slot it always occupied,\nright after M99 P{seq} is to fire; without them the plain-M99 path still\nworks and the P-jump emits a configuration warning.\n
\nDetection is on the Parsing.M99 sub-object written by\n\"M99\" never reaches Parsing.Flags because the\nparameterized match has already consumed the text by the time\n
Pure expression normalizer for Custom Macro B syntax. Walks the\nparser-stage residue on a single block and inlines numeric values\nwherever a Fanuc-style variable reference or bracket expression\nappears — but does not write to any specific store. Routing\n“where the resolved literal lands” stays in the brand-specific\nreader syntaxes (
\nTwo passes per block:\n
\nParsing.Assignments.#nnn entries\nwhose RHS is non-literal (e.g. \"#500+1\", \"SQRT[#100]\")\nare evaluated via the \"R\"-format). The entry stays in Parsing.Assignments so\ndownstream reader syntaxes consume it as a pure-literal assignment.\nIteration follows source order (Parsing.Assignments insertion order).\nParsing.<tag> (axis tags, canned-cycle sub-objects)\nis parsed; on a successful evaluation the string is replaced with a\nnumeric VariableExpression--Unevaluated only if the tag is actually read.\n\nLookup chain (first non-null wins, configured per brand preset via\nNcDependencyList):\n
#nnn=literal is visible to a later\nRHS that mentions #nnn).#1-#33),\n#100-#499),\n#5001-#5043).NcDependencyList, in registration order\n(\nEach lookup self-gates its id range; the evaluator stays brand- and\nrange-agnostic. Adding a new variable surface is additive: register\nan
\nSame-block forward reference — when an Assignment RHS\nreferences a #nnn that is also being assigned later in\nthe same block (i.e. listed in Parsing.Assignments after the\nRHS being evaluated), the VariableEvaluator--SameBlockForwardReference warning is\nemitted per such RHS so the user is told the source-order semantics\nwere not honoured. Practical impact is near-zero for typical\nCAM-emitted NC (one assignment per line).\n
\nFormula mirror tree — when either pass actually performs a\nnon-trivial expression evaluation (i.e. the RHS / tag value was not\nalready a pure literal and the evaluator returned a finite value),\nthe original expression string is mirrored to a parallel\nFormula.<same path> entry at the root of the block JSON.\nThe Parsing.* subtree carries the resolved value (R-format\nstring for Assignments; numeric Formula.* subtree preserves the source-text expression\nfor diagnostics, round-trip reconstruction, and downstream\ninspection. Pure-literal RHS values produce no Formula entry — the\nParsing value is already the original text. In the tag pass the same\nholds for the Heidenhain dialect only (literal strings short-circuit\nthere because klartext readers consume them as strings); Fanuc /\nSiemens literal-string tags are numeric-ified as they always were\n(int-typed capture fallbacks and constant conditions depend on it)\nand thus carry a Formula entry. Evaluation failures (parse error,\nvacant variable, non-finite result) produce no Formula entry — the\noriginal string is still in Parsing.* untouched, no\npreservation needed.\n
Obtains values for Fanuc-style non-retained common variables\n(#100-#499). Reads literal numeric assignments from\nParsing.Assignments.#nnn, dict-merges them with the previous block's\nvolatile state, and writes the resulting per-block dictionary into\nVars.Volatile.
\nLifetime is bounded by MachiningSession: within one session the\ndictionary carries forward block-by-block via this syntax; session restart\nabandons the SyntaxPiece JSON dataflow and starts fresh. Program-end\n(M02/M30) clearing is handled by
\nOnly literal numeric RHS values are consumed by this syntax\n(#124 = 15. ✓; #100 = #1 + 5 ✗). Non-literal RHS entries\nare left untouched in Parsing.Assignments; SyntaxPiece linkage so it does not depend on having run before\nor after this syntax.\n
Abstraction for a source that carries a
Carries a reference to a source
Abstraction for an object that carries a (FileIndex, LineIndex) source order\nis not enough because SubProgram inline reorders blocks relative to\nsource order.
Marker for objects that hold session-scoped runtime state which must be\ncleared when state.IsInitialized == false edge).
\nImplementers may live on either chain:
\nDistinct from #100-#499), an edge that survives ordinary session boundaries.\nSession-reset clears state whose lifetime is one pipeline pass (iteration\ncounters, file-index allocators, etc.).\n
Sets the initial
Populates the init-block JSON sections (e.g. home position, static defaults)\nbefore the soft-NC runtime processes any source NC syntax. Implementations\nsuch as
Merges a fixed G54, G80)\nbefore any source NC syntax is processed.
Removes indicated JSON keys from
\nPlace at the end of the syntax list, after all consumers have read the keys.\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.InspectionSyntaxs.ProgramXyzBackfillSyntax", "Summary": "Debug / observability back-fill: writes\n
\nSkips the block entirely when either of these holds:\n
\nOnly back-fills the root block; ProgramXyz).\n
\nPlacement: end of ProgramXyz entries in the cached\nsyntax-pieces dump, which makes block-to-block debugging\nand diffing easier.\n
Debug-time JsonObject capture: deep-clones every key on the current\njson[,\nleaving the rest of the block untouched.
\nInsertable at any position in
\nExcluding the
\nSet false to keep the configuration\nin place but skip the capture (no JSON mutation, no allocation) —\nconvenient for toggling a debug pipeline without removing the entries.\n
Emits diagnostic warnings for content remaining after all upstream\nsyntaxes have run: unconsumed
Optional block skip marker extracted from the head of an NC block.\nISO 6983 / Fanuc calls this feature Block Delete (BDT switch);\nSiemens / Syntec / Mazak use the same / prefix with matching\nbehaviour.
\nThe section is only present on blocks that carry a / prefix.\nWhether the block's NC commands are actually skipped at runtime\ndepends on
/\nprefix is consumed, UnparsedText, so downstream parsing syntaxes see nothing and\nno NC action is emitted. Comment syntaxes run before this one so\ncomments (and any embedded CsScript) still take effect.One entry in M99 P{seq} to locate the caller's N{seq} block.
JSON-section data shape representing the active call-frame stack on\na block — pushed by call-and-inline syntaxes\n(
\nThe section is wrapped in a
Section key holder + concrete implementation for
Comment extracted from an NC block.\n
Section key holder + concrete implementation for
Section key holder + concrete implementation for
Work coordinate offset state written by\nnameof.
\nManaged commands (ISO): G54, G55, G56, G57, G58, G59, G59.1–G59.9.\nSiemens: G54–G57 + G505–G599 (extended), G500 to cancel.\nHeidenhain: CYCL DEF 247 (Datum Preset) / CYCL DEF 7 (Datum Shift).\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Keywords.CsScript.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Keywords.CsScript.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Keywords.CsScript", "Summary": "Section-key holder for inline C# scripts attached to an NC block. Carries\n
Section key holder + concrete implementation for
Fanuc-specific G-code and M-code constants.\nFor ISO standard codes shared across brands, see
Fanuc Custom Macro B GOTO record. Stamped on the host block by\nParsing.FanucGoto) carrying the raw captured fields.
\nTwo source forms map to the same shape:\n
GOTO <n> — unconditional jump. IF [<bool-expr>] GOTO <n> — conditional jump.\n \nAt parsing time \"100\"), a variable reference (\"#1\"), or a\nbracketed expression (\"#[#2+5]\"). int.TryParses the final string to produce an int target.\n
\nLifecycle of the condition fields.\n
Formula.FanucGoto.Condition\n when substitution succeeds.Fanuc Custom Macro B IF [<cond>] THEN <body>\nsingle-block conditional record. Stamped on the host block by\nParsing.FanucIfThen) carrying the raw captured fields\nplus an internal PendingAssignments sub-object harvested from the\nbody text.
\nSpec: IF [bool-expr] THEN <stmt> executes <stmt>\nonly when the condition is truthy. Unlike #nnn = <expr>); multiple assignments in one body are also\naccepted and lifted together.\n
\nReadCondition shape used by\n
One-shot custom-macro-call record written by\nG65 host block (the caller) and every inlined block of the\nmacro body — so a cache-dump reader can land on any block inside the\nmacro and immediately see “this block belongs to a G65 call of\n
\nEach inlined block additionally carries the resolved\nVars.Local #1-#26 bindings derived from Vars.Local written, so\nafter the macro body ends, the next caller block reads null\nfor any #1-#26 without any explicit frame marker.\n
Modal-macro-call record left by\nG66 setup state forward block-to-block until cancelled by\nG67. The section is also written on the G67 block itself\n(with “G67”) so cache dumps show the cancel\nedge; subsequent blocks then carry no section at all.
\nPer-block expansion of the modal call into an actual macro inline at\nevery positioning move is not yet implemented — a\nFanucModalMacro--NotExpanded warning is emitted on the setup\nblock to flag the simulation gap. The setup state itself is captured\nfaithfully so external tooling can detect \"this block sits inside a\nG66 modal\" via the carried section.\n
Section data holder for
Fanuc-family program identifier header that follows a\nO1234 or\n<O1234>.
Fanuc Custom Macro B WHILE/END bounded-loop record. Stamped on the\nhost block by\nParsing.FanucWhileDo) carrying the\nraw captured fields.
\nTwo phrases map to the same shape, distinguished by
WHILE [<bool-expr>] DO <m> — loop entry.\n END <m> — loop terminator. Carries no condition;\n unconditionally reverse-jumps to the matching WHILE block on every\n execution (re-evaluation of the entry condition is the WHILE block's\n responsibility).\nm in DO m / END m). Nested loops\nmust use distinct LoopIds; matching is by exact value. Same-LoopId\nnesting is spec-undefined and not given special handling here.\n
\nActive loop frames are carried block-to-block via the top-level\nWhileFrames JSON section (a BeginLineNo of the WHILE block that opened that frame).\nCarried by
Section key holder + concrete implementation for
ISO/RS274 standard G-code and M-code constants.\nShared across Fanuc, Mazak, Okuma, and other ISO-compatible controllers.\nBrand-specific codes belong in their own keyword classes\n(e.g.,
Motion interpolation form constants used in
Block-root record left on a CALL LBL/CALL PGM host block\nby
Block-root record left on a cycle-call host block by\nM140 retract hand-off for\n
Heidenhain FN 9–12 conditional jump record\n(FN 12: IF +Q1 LT +5 GOTO LBL n). Two lifetimes share the shape:
Parsing.HeidenhainGoto — written by\nFN12:IF+Q94 LT+1GOTOLBL\"NAME\").HeidenhainGoto — stamped by\n\nUnlike the Fanuc / Siemens jump records the condition is not one\nexpression string: the klartext jump grammar is strictly\n<value> <comparator> <value>, and the\nHeidenhain expression grammar deliberately has no comparison layer\n(its bare-word rejection is what keeps the evaluator's Parsing-tree\npass off non-expression strings). The parsing owner therefore\npre-normalises the statement: EQU→EQ; NE/GT/LT\nas written). The comparison itself happens in the evaluation syntax.\n
\nKlartext has no unconditional jump statement and no direction\nmnemonic — a TNC label is unique per program, so the consumer scans\nthe whole host file and takes the first matching definition\n(LBL n / LBL \"name\"), forward or backward alike.\n
Block-root record left on a consumed LBL marker block by\n
JSON section schema for Heidenhain CYCL DEF blocks. The\n“DATUM SETTING”) or a parameter line (e.g. “Q339=+1”).
Block-root section carrying the stored Heidenhain machining-cycle\ndefinition (the CYCL DEF 2xx “setup half”). Written by\nCYCL CALL/M99 (call-once) or M89 (modal call on\npositioning blocks), which convert this store into a direct ISO cycle\nsub-section under Parsing.
Arc motion data written by
Canned cycle modal state (Group 09). Captures which cycle is\ncurrently active, its return mode (G98/G99), and the resolved\nabsolute parameter set used for modal lookback.
\n\nWritten by
\n\"G80\" is the explicit-cancel sentinel\nused by G00 X.. Y..) simply omit the section entirely.\n
Compound motion section definition for commands that produce\nmultiple sub-operations (G28, G53.1, G81, G82, etc.).\nContains a
Item types (discriminated by key presence):
\nCoolant state (M07 mist / M08 flood / M09 off).\nWritten by
\n
Dwell/pause section definition for use inside Sequence items.\nResolved by
Fanuc-specific path smoothing state written by\n
\nExtends
\nJSON section key remains nameof(PathSmoothing) so generic readers\n(cache dumps, modal carry, UI) can cast to
Feedrate state written by nameof.
\nISO standard: F command + G94 (per minute) / G95 (per revolution).\nSupported by all major CNC brands.\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Keywords.IFlagsDef.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Keywords.IFlagsDef.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Keywords.IFlagsDef", "Summary": "JSON section schema describing the modal/non-modal flags that take effect\non an NC block. Each entry in
Modal machine-coordinate state — absolute six-axis machine position\nafter the block has executed. Written on every block by motion-related\nLogicSyntaxs (
\nOnly configured axes appear as keys (X/Y/Z/A/B/C). Non-existent axes\n(e.g., A/B/C on a 3-axis machine) are omitted rather than written\nas NaN sentinels.\n
\n\nAfter the PostLogic carry the section is a MODAL record: key presence\nmeans \"state known\", never \"this block commanded the axis\". Consumers\nneeding \"commanded\" must read the block's Parsing words or compare\nvalues against the previous block (see\nLinearMotionUtil.HasRotaryMotion). The only presence-as-commanded\ncarve-out is CompoundMotion.Items[*] item-level sections, which\nthe carry never touches.\n
One-shot motion event — present on every block whose source programmed\na motion command, regardless of whether the resulting displacement is non-zero.\nA redundant G01 X10 on a block already at X10 still gets a\ndistance <= 0 and emit no\n
\nReason for the \"programmed, not displaced\" definition: Fanuc G66 modal\nmacro fires once per programmed motion command (per Fanuc spec —\nno distance gate), so
nameof.\n"
},
{
"type": "ManagedReference",
"source_relative_path": "api/Hi.NcParsers.Keywords.IMotionStateDef.yml",
"output": {
".html": {
"relative_path": "api/Hi.NcParsers.Keywords.IMotionStateDef.html"
}
},
"version": "",
"Uid": null,
"IsMRef": true,
"Title": "Hi.NcParsers.Keywords.IMotionStateDef",
"Summary": "Modal motion state — Group 01 G-code mode (G00 / G01 / G02 / G03 ...).\nWritten on every block by nameof.
\nUnlike sibling modal sections (Term\nand a brand-neutral conventional field, FindPrevious* can resume motion-mode bookkeeping.\n
JSON section schema carrying the raw, brand-specific parsing trace for an\nNC block. The
Path smoothing state. The base interface is brand-agnostic; controller\nbrands extend it with their own argument fields (e.g.\n
\nISO/Fanuc G05.1 Q1 (enable) / G05.1 Q0 (disable):\nhigh-precision contour control / AICC / Nano Smoothing.\nController-internal interpolation black box — simulation records\nthe state but does not alter the tool path.\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Keywords.IPlaneSelectDef.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Keywords.IPlaneSelectDef.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Keywords.IPlaneSelectDef", "Summary": "Active plane selection state written by\nnameof.
\nISO: G17/G18/G19. Heidenhain: implicit from L/CC syntax.\n
JSON section schemas for Fanuc Polar Coordinate Interpolation (G12.1/G13.1).\nProperty names are used as JSON keys via nameof.
\n
\nInitRxcz + ProgramPolarRxcz, mirroring HardNc\nPolarEntry.CentralProgramPolarRxcz.\n
Modal positioning state — ISO Group 03 (G90 absolute / G91 incremental).\nWritten by nameof.
\n
Program end marker (M02/M30).\nWritten by
Program-stop marker (M00 unconditional / M01 optional).\nWritten by
\nDistinct from
\nM00 halts execution unconditionally; the operator must press Cycle\nStart to resume. M01 is an optional stop gated by the operator's\n\"Optional Stop\" panel switch — ignored when the switch is off.\nThis parsing-layer section records the NC intent; runtime /\nsemantic layers decide whether to actually pause.\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Keywords.IProgramXyzDef.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Keywords.IProgramXyzDef.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Keywords.IProgramXyzDef", "Summary": "JSON section schema carrying the program-coordinate position commanded on\nthe current block. Written by
Radius compensation state written by\nnameof.
\nManaged commands (ISO): G41 (left), G42 (right), G40 (cancel).\nHeidenhain Klartext maps RL → G41, RR → G42, R0 → G40.\nWhen active, the tool path is offset perpendicular to the programmed path\nby ProgramXyz retains the user-programmed position;\nMachineCoordinate is overwritten to reflect the compensated path.\n
Spindle control item for use inside
Oriented spindle stop item for use inside\n
Spindle speed and direction state written by\nnameof.
\nISO: S command for speed, M03/M04/M05 for direction.\nHeidenhain: M3/M4/M5. Siemens: M3/M4/M5 or SPOS.\nDirection is stored as the conventional
Tilt transform state written by tilt transform syntaxes.\nProperty names are used as JSON keys via nameof.
\nManaged commands (ISO/Fanuc): G68 (2D rotation), G68.2 (tilted work plane), G69 (cancel).\nSiemens equivalent: CYCLE800, ROT/AROT (handled by separate syntax).\nHeidenhain equivalent: PLANE SPATIAL / PLANE RESET (handled by separate syntax).\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Keywords.IToolHeightCompensationDef.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Keywords.IToolHeightCompensationDef.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Keywords.IToolHeightCompensationDef", "Summary": "Tool height compensation state written by\nnameof.\nThe JSON section can be deserialized to an instance implementing this interface.
\nManaged commands (ISO/Fanuc): G43, G44, G49.\nFanuc extension: G43.4 (TCPM — parsed only in Fanuc syntax list).\nSiemens equivalent: TRAFOOF/TRAORI (handled by separate syntax).\nHeidenhain equivalent: TOOL CALL / M128/M129 (handled by separate syntax).\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Keywords.ITransformationDef.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Keywords.ITransformationDef.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Keywords.ITransformationDef", "Summary": "Chain of named ProgramXyz → MachineCoordinate transformation entries.\nStored as a “Source”, “Kind”, and “Mat4d” keys.\nEach contributing McXyz = ProgramXyz * T[0] * T[1] * ... * T[n].
\nKind contour-validity classification. Each entry is either:\n
\"Static\" — the Mat4d is valid for any point along the contour.\nTilt, coord-offset, and the kinematic pivot in non-RTCP / rotary-stable\nblocks are all Static.\"Dynamic\" — the Mat4d is a block-endpoint snapshot of a\nrotary-state-dependent transform (RTCP rotary-dynamic). Composition still\nyields a correct endpoint MC, but the matrix is not contour-valid:\nintermediate CL-point positions cannot be derived by applying it to an\ninterpolated ProgramXyz. The semantic layer\n(Unit-system state (ISO Group 06: G20 inch / G21 metric).\nWritten by
\nHiNC's NC pipeline works exclusively in millimetres. G21 is therefore\na no-op confirmation of the default; G20 is reported as an\nUnsupported Error and callers are expected to pre-convert the NC\nprogram to metric before loading.\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Keywords.IUnparsedTextDef.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Keywords.IUnparsedTextDef.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Keywords.IUnparsedTextDef", "Summary": "JSON section schema carrying the residual block text that was not consumed\nby any registered syntax. Used for diagnostics and round-trip preservation.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Keywords.IndexNote.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Keywords.IndexNote.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Keywords.IndexNote", "Summary": "JSON-section data shape pairing a single-character address symbol\n(e.g. ‘O’, ‘N’) with its numeric index, used to annotate\nprogram/sequence numbers on an NC block.
ISO/Fanuc-family local coordinate offset state (G52) written by\nnameof.
\nG52 X Y Z installs a local coordinate-system shift that stacks on top of\nthe active G54-G59 work offset. The cancel mechanism is to write\nG52 X0 Y0 Z0 (or hit M30 / reset) — there is no separate G code\nfor \"cancel\". The offset vector is therefore always modal: zero is a\nvalid modal value, not a \"disabled\" state, so the section is recorded\non every block.\n
\nBrand-specific kin: Siemens TRANS/ATRANS (which can also\ncarry rotation/scale/mirror) and Heidenhain TRANS DATUM are\nhandled by their own syntaxes and write to their own sections — they\ndo not share this key, because their data shapes are richer.\n
Section key holder for
Top-level integer marker stamped onto a G66\nmodal expansion, Heidenhain LBL CALL, …) that needs\nlocal-variable isolation across call boundaries.
\nSemantics: the value is an opaque id; only equality matters. Two\nblocks with the same 0 is reserved for the main\nprogram frame and is returned by
\nStored as a top-level JSON int (not an object section) so it stays\nlightweight on every inlined block. Decoupled from\nMacroFrame is the\npurely functional marker the local-variable I/O syntaxes consult.\n
Section key holder + concrete implementation for
Section key holder + concrete implementation for
Section key holder for
Section key holder for
Inner-key constants of the\n
Section key holder + concrete implementation for
Per-word positioning override — a non-modal block-root section keyed\nby word name (axis words and the I/J/K interpolation parameters)\nwhose values are
\nWritten by\nAC() / IC() / DC() / ACP() /\nACN() or their coded-position counterparts CAC() /\nCIC() / CDC() / CACP() / CACN().\nConsumed by\n
Section key holder for
Section key holder + concrete implementation for
Section key holder + concrete implementation for
Siemens path-control / smoothing modal registers recorded by\n
\nEach property mirrors one orthogonal Sinumerik modal group; a property\nis absent from the JSON section until its group is first programmed.\nCYCLE832).\n
Block-root section recording a Siemens MSG("...") operator\ndisplay message, written by\nMSG() clear form.\nRecord-only: simulation ignores it; the section exists for\nbidirectional NC-text reconstruction and UI display.
Siemens subprogram-call record. Two lifetimes share the shape:
\nParsing.SiemensCall — written by\nL9810, L123 P3,\nHQ_FC(1,2)). Carries SiemensCall — written by\nHQ_FC, Renishaw L9810) where\nthe call is consumed with zero motion effect and a structured\nwarning replaces the raw unparsed-text noise.Siemens FOR <var> = <start> TO <end> ... ENDFOR\ncounting-loop record. The Parsing capture stores the start expression\nas a single-entry Init map ({ “R1”: 0 }) — the variable\nname is a JSON key, which the evaluator's pass-2 tree walk\nnever rewrites (values only), so a loop variable whose name matches a\nset named variable is not clobbered; the start/end values are\nsubstituted normally. The block-root stamp records the loop variable\nand its per-iteration
Siemens GOTOF/GOTOB jump record. Two lifetimes share the\nshape:
Parsing.SiemensGoto — written by\nGOTOF LBL1) and the single-line conditional\n(IF R1==1 GOTOF LBL1).SiemensGoto — stamped by\n\nUnlike Fanuc's numbered GOTO n, the target is a named label\n(LBL1: line) or an N<num> block number; direction\nis explicit in the mnemonic — GOTOF scans forward from the host\nline, GOTOB scans backward to the nearest label above.\n
Siemens IF/ELSE/ENDIF block-conditional record.\nParsing.SiemensIf carries the captured phrase; the block-root\nstamp written by ELSE reached in the normal stream always means the true\nbranch just finished (a false condition jumps past the ELSE\nline directly), so ELSE unconditionally skips to its matching\nENDIF and ENDIF itself is a consumed no-op.
Siemens Sinumerik G-code and M-code constants.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Keywords.Siemens.SiemensLabel.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Keywords.Siemens.SiemensLabel.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Keywords.Siemens.SiemensLabel", "Summary": "Block-root record for a Siemens label line (LBL1:), written by\n
Siemens LOOP ... ENDLOOP endless-loop record. The construct has\nno exit condition — real programs leave it via GOTOF/GOTOB\nor a subprogram return; offline replay is bounded by\nENDLOOP back-jump\n(a missing watchdog suppresses the jump instead of hanging the\npipeline).
One entry on the (Kind, FilePath, BeginLineNo) — the file path disambiguates a\nloop line in the main program from the same line number inside an\ninlined subprogram, and lets the terminator refuse a cross-file\nmismatch.
Block-root carrier for the active Siemens loop-construct stack,\nmutated by WhileFrames pattern). Wrapped in a\nJSON object ({ “Frames”: [ ... ] }) rather than a bare array so\nthe ModalCarry deep-clone JsonObject carry applies — the same reason\n
\nA single shared stack (rather than one per construct kind) is what\nmakes mixed-construct nesting work: a FOR inside a\nWHILE pushes on top of the WHILE frame, and each terminator\nvalidates that the innermost (last) frame carries its own\n
Section data holder for
Block-root record for a Siemens PROC declaration header,\nwritten by
Siemens REPEAT record. Parsing.SiemensRepeat carries the\ncaptured label pair; the block-root section written by\n
Siemens REPEAT ... UNTIL <cond> post-test loop record.\nThe bare REPEAT line (no label — the labelled forms belong to\nUNTIL evaluates\nthe exit condition after each pass.
Siemens WHILE ... ENDWHILE pre-test loop record.\nParsing.SiemensWhile carries the captured phrase; the block-root\nstamp adds the per-arrival gate outcome. Loop state lives on the\nshared
Block-root section recording a consumed Siemens STOPRE\n(stop preprocessing / block-search buffer sync), written by\n
Section key holder + concrete implementation for
Section key holder + concrete implementation for
Section key holder + concrete implementation for
Subprogram call record left by\nP".
\nM98 and M198 share the exact same section shape. The\ndifference between them is purely environmental — which folder the\nresolver looks in (SubProgramFolderConfig.InternalFolder vs\nExternalFolder) — and that lives on the dependency, not in\nthis JSON record.\n
Subprogram return record left on the M99 host block by\nM99 P{seq} jump decision.
Tape leader / trailer line — the literal % that historically\nmarked the start and end of a punched paper-tape program. ISO-style\ncontrollers (Fanuc, Mazak, Syntec, Siemens) all preserve it as a\nfile-level boundary marker. Distinct from a comment: the controller\nuses it as a tape/file delimiter, not as embedded operator text.
Concrete class for
Section key holder for
Section key holder + concrete implementation for
JSON section schema for per-block variable storage. Each sub-property\nnames a sub-section that holds a { “#nnn”: value } dictionary\nkeyed by Fanuc-style variable id.
\nThe sub-sections partition the variable space by lifetime:\n
\n#1-#33, scope: macro call frame\n(pushed/popped by G65 / G66 / M99).#100-#499, non-retained common;\ncarries block-to-block, cleared by ProgramEndCleanSyntax on M02 / M30.#3000-#3999, controller-side\nsystem variables; offline-only round-trip record (real controller\neffects such as clock reset / alarm trigger / message pause are not\nsimulated).\nThe property types are #100, #5001, …) discovered at parse time, not a fixed\nschema. This class exists solely to give the section name and sub-keys\nstable nameof() targets — instances are never constructed at\nruntime.\n
G87 back boring cycle. Supports modal repetition.\nCuts upward from Z to R — used to bore the back side of a workpiece.
\n\nCycle sequence:\n
\nQ specifies the lateral shift distance (mm).\nShift direction defaults to +X (OSS angle 0°).\n
\n\nReads absolute coordinates from the cycle section, which is\nresolved by
Configurable handling for a G28 block with no axis specifiers\n(“bare G28”) — value of
G85/G86/G89 boring cycles.
\n\nCycle sequence:\n
\nG85: feed to Z, feed retract — smooth bore finish.\nG86: feed to Z, spindle stop (implicit), rapid retract.\nG89: feed to Z, dwell P, feed retract — like G85 with bottom dwell.\n
\n\nReads absolute coordinates from the cycle section, which is\nresolved by
Resolves the canned-cycle Group-09 state for the current block\nand writes the result to the
Parsing overrides with previous-cycle stored params, applies\nG91 incremental-to-absolute conversion and missing-axis fallback,\nwrites Parsing under the cycle code for downstream cycle\nsyntaxes ({ Term: \"G80\" }, acting as a hard\nsentinel for \nMust be placed after
Writes
\nG02/G03 mode is modal (Group 01) — persists across blocks via\n
\nMust be placed before
\nHardNcLine.BuildArcNcArg +\nArcNcArg.GetCenterOrCenterOnBeginPlane (HiUniNc 3.1.152.2)\nbit for bit.\n
Shared coded-position resolution for the write-stage consumers\n(CAC()/CIC()/CDC()/CACP()/CACN())\nplus the evaluated position number into an axis coordinate via\n
\nFailure semantics mirror the Siemens alarms as far as a simulator can:\nan invalid position number (alarm 17510) or a missing table reports an\nerror diagnostic and resolves to \"hold\" — the caller writes the anchor\nso the axis does not move. CIC(0) also resolves to hold, by\nspecification (\"the indexing axis is not traversed\") and silently.\nA CIC from between two indexing positions advances to the n-th\nnext position in the programmed direction. On a cyclic indexing axis\nthe incremental sign becomes a directional\n(
Consumes M07 (mist ON), M08 (flood ON), and M09 (coolant OFF) from\n
Shared utilities for all coordinate offset syntaxes\n(ISO, Siemens, Heidenhain). Handles section IO,\nbackward lookback, and
G81/G82 drilling cycle (rapid retract). Supports modal repetition.\nG82 covers G81 — the only difference is an optional dwell (P) at the bottom.
\n\nCycle sequence:\n
\nReads absolute coordinates from the cycle section, which is\nresolved by
Consumes the non-modal G4/G04 dwell sub-section captured by\nParsing.G4 / Parsing.G04) and emits a\n
\nArgument dialects are configured per brand preset:\n
\nX/U (seconds), P (milliseconds), S\n(spindle revolutions).G4 F<seconds> / G4 S<revolutions>:\nthe preset sets F, clears the\nmilliseconds list, keeps S revolutions.\nBecause the capture layer owns the whole argument (the F/X/P word\nlands inside the dwell sub-section, never in Parsing.F /\nParsing.X), a dwell block cannot poison the modal\nG04 F60000 feed-poison and\nG04 X0.5 ghost-motion hazards.\n
\nSpindle-revolution dwell needs the modal spindle speed: this syntax\nmust be placed after Dwell--SpindleRevUnresolved)\ninstead of being time-simulated — no act is emitted.\n
\nWhen several recognized argument prefixes appear on one block the\nresolution priority is seconds → milliseconds → revolutions; every\nrecognized key is consumed either way. Unrecognized keys inside the\nsub-section are left in place so they surface through\n
Consumes Fanuc G05.1 (high-precision contour / AICC II / Nano Smoothing)\nand records the modal state in the
\nModal carry to subsequent blocks is handled by\nPathSmoothing section key and deep-clones it forward.\n
Consumes F (feedrate) from
G76 fine boring cycle. Supports modal repetition.
\n\nCycle sequence:\n
\nQ specifies the lateral shift distance (mm) to avoid dragging\nthe tool across the finished bore surface during retract.\nShift direction defaults to +X (OSS angle 0°).\n
\n\nReads absolute coordinates from the cycle section, which is\nresolved by
Handles G43.4 RTCP (Rotary Tool Center Point) activation. Writes\nthe
\nThe RTCP kinematic rotary part (Pn→MC rigid transform) is orthogonal\nto this syntax and is written by G01 after G49 still\ninherits the last ABC from the program).\n
\nThe \"rotary dynamic\" distinction lives on the chain entry's\n
\nG43.4 is used by Fanuc, Mazak, Syntec, and Okuma. Siemens (TRAORI) and\nHeidenhain (M128) are handled by separate syntaxes. Must be placed\nafter
G53.1 — non-modal, one-shot rotary axis positioning.\nPositions the rotary axes (A/B/C) to align the physical tool axis\nwith the active tilted work plane defined by G68.2.\nXYZ position is unchanged; only rotary axes move via rapid traverse.
\n\nRequires
\nMust be placed after
Bridges the klartext machining-cycle vocabulary onto the shared ISO\ncanned-cycle machinery. Owns the self-carrying\n
Parsing.MachiningCycle from\nHeidenhainCycl--Unsupported, stored\nunarmable so a later call warns instead of moving. Required\nparameters that are missing or non-literal make the store unarmable\nwith HeidenhainCycl--ParamsNotLiteral.CYCL CALL [POS] record from\nM99 flag on a\npositioning block — the TNC block-wise call, unrelated to the Fanuc\nreturn M99): writes the mapped cycle as a direct Parsing.G8x\nsub-section on this block, which\nM89): sets CArc statement) fires the same direct-section path with the\nblock's X/Y consumed into the cycle. M99 fires once and\nclears the modality; a new CYCL DEF replaces the store.G80 flag\nis injected (the P0 G00/G01 injection pattern) so\n\nKnown divergences (recorded, corpus-benign): the cycle's mapped feed\nenters the modal
Heidenhain-specific: turns the Parsing.CC record into the\nmodal HeidenhainCircleCenter { X, Y, Z? } section (absolute\nprogram coordinates). Self-carrying every block (PlaneSelect pattern\n— detected ?? previous), so the arc syntax's single-step read always\nworks without ModalCarry involvement; a CC with partial axes merges\nthe missing components from the previous center. Must run before\n
Heidenhain circular motion — the Klartext half of the brand's two\narc syntaxes. The shared CArc and no I/J/K/R; an ISO arc\nthe reverse) and both honor the single Group 01\nParsing.C statement marker (klartext arcs\ncarry no G02/G03 and no modal arc continuation): the endpoint comes\nfrom the block's resolved ProgramXyz, the center from the\nmodal DR- (CW → G02) / DR+ (CCW → G03). A\nclosed arc on the active plane is a full circle. A missing DR warns\n(Arc-DR–Missing) and degrades to the modal linear move to the\nendpoint (chord).
Heidenhain-specific: resolves coordinate offset from\nCYCL DEF 247 (Datum Preset) and CYCL DEF 7 (Datum Shift).
\n\nCYCL DEF 247 Q339=N: selects datum preset table entry N — written to\nthe shared
\nCYCL DEF 7 (#N table row or direct X/Y/Z) is additive on top\nof the active preset (TNC semantics; HardNc oracle composes\n-preset + shift): it is written to its own DatumShift\nsection with a separate ProgramToMcTransform entry\n(CYCL DEF 7.1 X+0 Y+0 Z+0).\n
Lifts the expanded cycle's initial plane to the recorded TNC\npre-position Z. A CYCL CALL POS … Z±n (and an M99/M89\npositioning block's own Z word) positions the spindle BEFORE the cycle\nruns; the shared ISO expansion instead anchors its initial plane — the\nfirst rapid and the G98 final retract — on the PREVIOUS block's Z.\nLeft unlifted, a call that climbs to a safe Z before drilling would be\nsimulated traversing at the stale old Z (phantom collisions through\nfixtures) and G98 would plunge the tool back to that stale Z after the\nhole.
\nMechanics: when the Z and a ProgramXyz are re-anchored to the pre-position Z. G99 finals\n(R-plane) are untouched. Runs after the shared cycle syntaxes and\nbefore
Consumes the Parsing.M140 record that\nCYCL CALL [POS] host (… M140 MB+n is a real\nhouse.H shape), an M99/M89 flag block, or any block\nunder armed M89 modality.\n
ProgramXyz is lifted to the retract plane. The MB math is\nF on the M140 is\nrecorded on the item but the appended retract stays rapid\n(corpus M140-on-call blocks are all F-less).Heidenhain-specific M-function semantics for the near-universal corpus\nfamily:
\nM126/M127 — shortest-path rotary traverse on/off.\nWrites the modal RotaryWrap { Shortest } section consumed by\nM128/M129 — owned by ToolHeightCompensation section);\nthis syntax no longer touches them.M140 MB — tool-axis retract. Executes a machine-coordinate\nmove along +Z (the corpus machines are table-tilting, so the tool\naxis stays machine +Z; a head-machine generalization is a recorded\nP6 backlog item):\nMB+n retracts by n mm, MB MAX retracts to the positive\nZ stroke limit (M140--NoStrokeLimit and skips). The retract runs at the\nmodal feed (the statement's F is recorded on the MotionEvent as\nRetractFeedrate, not folded into the modal feedrate).Simulates the Heidenhain DIN/ISO G28 MIRROR IMAGE function\n(the CYCL DEF 8 twin): consumes the statement list\nParsing.MirrorImage, keeps the modal mirror set in the root\nG28 Y after\nG28 X Y leaving only Y mirrored; bare G28 resets), and\nwrites the sign-flip matrix into\n
\nMust run before every other transform writer\n(
\nTwo statement shapes stay recognized-but-not-simulated:\na rotary axis letter (G91 G28 X0 Y0 Z0 in\na mislabeled .I file must not arm a full-XYZ mirror; the\nstatement is consumed with zero effect).\n
Heidenhain-specific: maps the klartext L statement marker\n(written by L block carrying the one-shot\nFMAX flag becomes a rapid (G00) block; every other L\nblock is a feed move (G01) driven by the modal feedrate. The injected\nG00/G01 flag is consumed downstream exactly like a DIN/ISO block —\nby
\nFMAX is one-shot on the real TNC: because every klartext motion is an\nL statement and this syntax stamps a mode per statement, the\nrapid mode never leaks into the next block — the following L\nwithout FMAX is stamped G01 again. FAUTO (feed from cycle) is\nconsumed as a feed move. Must be placed at the top of the Logic bundle,\nbefore
Heidenhain-specific: consumes the structured CYCL DEF 32 TOLERANCE\nrecord (PathSmoothing section (tracked by the Logic ModalCarry):\na positive tolerance arms smoothing\n({IsEnabled:true, Term:“CYCL DEF 32”, Tolerance, HscMode?, Ta?});\na bare or zero-tolerance cycle cancels it. Untouched blocks are left\nto ModalCarry; the stream's first block seeds a conservative\n{IsEnabled:false} (Siemens sibling shape). Replaces the dead\nFanucPathSmoothingSyntax in the Heidenhain list (it read\nParsing[“G05.1”], which no Heidenhain capture produces).
Heidenhain pivot gate over the shared engine\n(PLANE SPATIAL term, or a mixed-dialect G68/G68.2 term), an\nactive RTCP modal (
\nThe third sibling gate after PivotTransform entry lands last.\n
Heidenhain PLANE consumer — the Heidenhain sibling of\n
Rx(SPA)·Ry(SPB)·Rz(SPC) (row-vector, degrees; the HardNc\noracle's HeidenhainPlaneSpatialArg matrix verbatim) into\nTerm = \"PLANE SPATIAL\".SPC under TABLE ROT still turns the\ntable; tool-axis-normal fallback for machines with fewer rotary DOF;\nno identity short-circuit — the explicit zero-angle\nPLANE SPATIAL SPA+0 SPB+0 SPC+0 TURN is the klartext idiom\nfor returning the rotaries to 0, oracle parity)\nand written into Term = \"PLANE SPATIAL\". MOVE's DIST (tool retract\nradius during the swivel) and the TCP-preserving XYZ compensation\nare recorded but not simulated — the machine XYZ stays at the\nprevious position like TURN, a transient-only divergence from the\nHardNc oracle (endpoints re-anchor at the next commanded point);\nMOVE's F is recorded on the event as MoveFeedrate.Coord-Tilt--007 warns (solution-family selection is not\nmodeled; the HardNc ±2π window wrap would be undone by\nTerm = \"G69\" + identity entry). The rotary axes are not\nre-positioned on reset (CYCLE800 cancel precedent; corpus programs\nfollow with explicit rotary moves).HeidenhainPlane--Unsupported warns, and the previous tilt\nstate carries unchanged (the HardNc oracle instead reuses a stale\nspatial arg here — SoftNc deliberately exceeds it).\nOwns the once-per-block CoordinateOffset,\nmirroring the Siemens frame slot; implicit MC rotary values must\nland before McAbc's per-axis lookback).\n
Heidenhain-specific: consumes the Parsing.PGM record\n(BEGIN|END PGM name MM|INCH) — the unit word is pushed into\nParsing.Flags for the InchCodes=[“INCH”], MetricCodes=[“MM”] (which\nmust run after this syntax), and END PGM writes the shared\none-shot ProgramEnd section (existence-checked by its\nconsumers exactly like M30). Consuming PGM also removes the\nprogram-header unconsumed noise every klartext file used to emit.
Heidenhain-specific: maps the klartext radius-compensation words\ncaptured by RL/RR/R0\nboolean Parsing-root records) onto the shared vocabulary consumed by\nthe radius-compensation pass: RL → Parsing.G41 {D: toolId},\nRR → G42, R0 → G40 flag. The offset id is the current\ntool number (klartext has no D word; IToolOffsetConfig documents\nthe offset id as the Heidenhain tool number), resolved by walking back\nto the most recent ToolChange section. A missing or non-numeric\ntool id degrades to mode-only injection (radius 0 — the compensation\npass records the state but applies no geometric offset) with an\nRadiusComp–ToolUnresolved warning.
\nMust run before the PostLogic radius-compensation pass (any Logic\nposition works — PostLogic sees completed Logic output) and after\n
Heidenhain RTCP (M128/M129, FUNCTION TCPM/FUNCTION RESET TCPM): the\nHeidenhain sibling of ToolHeightCompensation chain entry becomes a\ntool-normal · offset translation at the block endpoint ABC\n(
\nTool length ownership stays with the TOOL CALL machinery\n(Delta_mm (DL) rides along so the hand-back restores\nit. A deactivation with no active RTCP (the corpus' ubiquitous\nprogram-head M129) is consumed silently. Same-block\ncontradiction (M128 with M129): the off state wins conservatively\n(the P1 rule, kept for continuity).\n
\nThe M128 feed limit (M128 F6000., or an FQn token the\nevaluator could not resolve) is recorded on the section as\nTcpm--ArgsNotSimulated on activation.\n
\nMust run after UnitZ · offset\ntranslation when
Heidenhain-specific: consumes the Parsing[“BLK FORM”] record\n(workpiece blank declaration, present in virtually every klartext\nfile) into the brand-neutral StockDeclaration section —\nrecognized and recorded, not simulated. The simulation stock always\ncomes from the project's own workpiece setup, mirroring the HardNc\noracle which recognizes-and-skips the same lines; the structured\nrecord keeps the declared blank readable for a future stock consumer\nwithout feeding geometry today.
Heidenhain-specific: consumes the Parsing[“TOOL CALL”] record\n(written by TOOL CALL always performs the change — no separate M06\ntrigger exists — so true with Term = “TOOL CALL”.
\nThe spindle-speed word (S) is relocated to the root of\n
\nP0 limits recorded as diagnostics: non-Z tool axis\n(ToolChange--AxisUnsupported), non-zero DL/DR deltas\n(ToolChange--DeltaUnsupported; zero deltas are consumed\nsilently), and a TOOL CALL without a tool id\n(ToolChange--MissingToolId, e.g. a variable tool number the\nparser could not capture).\n
\nKnown P2 limitation: a quoted tool NAME that happens to spell a Q\ntoken (TOOL CALL \"Q1\" Z) loses its quotes at capture, so the\nevaluator substitutes the Q parameter's value and the numeric branch\nbelow treats it as a tool number. Corpus-zero (real names are\n\"B40R\"-style); fixing it needs the capture to preserve the\nquoted-ness, which would change the P0-pinned record shape.\n
Heidenhain-specific: klartext TOOL CALL always applies tool-length\ncompensation (there is no cancel word — HardNc compensates\nunconditionally). On TOOL CALL blocks the effective height =\nToolHeightCompensation\nsection is written (Term = “TOOL CALL”, OffsetId = tool id —\nthe offset id is documented as the Heidenhain tool number) and the\ntranslation composes into the transform chain via the shared\nToolHeightCompensation source (mutual exclusion with the ISO\nG43 sibling by same-source replace).
\nModal: on following blocks the section is re-resolved per block from\nthe table (mirroring the Siemens D sibling — give-way when a same\nblock ISO term took ownership; carry Term/OffsetId/Delta_mm\notherwise). Must sit after
G73 high-speed peck drilling cycle (chip breaking). Supports modal repetition.\nDrills in increments of depth Q, partially retracting by\n
\nCycle sequence:\n
\nReads absolute coordinates from the cycle section, which is\nresolved by
Resolves G91 incremental axis values to absolute in-place\nwithin
\nPer-word override: a block-root\nCAC()/CIC() on a linear indexing axis) carries an\nindexing position number instead of a coordinate: the number\nis resolved through
\n[[\"Parsing\"], [\"Parsing\", \"G28\"]].\nAll matching paths are converted.\n
\nCanned cycle paths (Parsing.G81, G82, G83, …) are intentionally\nexcluded — their Z/R incremental semantics differ from normal axes\n(R is relative to init level, Z is relative to R-point).\nResolution is handled by\n
\nUses
ISO/Fanuc/Mazak/Okuma/Syntec: resolves G54–G59.9 work coordinate offset.\nReads G54/G55/.../G59.9 from
ISO/Fanuc: resolves G68 (2D coordinate rotation) and G69 (cancel).\nComputes a rotation
\nNo
\nManaged commands: G68, G69 (idempotent with
ISO/Fanuc: resolves G68.2 (tilted work plane) and G69 (cancel).\nComputes a tilt
\nManaged commands: G68.2, G69 (idempotent with
ISO G52: Local coordinate system offset (additive to G54-series).
\n\nG52 X10 Y20 Z5 → sets local offset.\nG52 X0 Y0 Z0 → cancels (resets to zero).\nM30 (program end) → also cancels.\n
Parsing.G52 (from \"IsoLocalCoordinateOffset\" entry to the transformation chain.\nModal — persists via backward lookback until changed or cancelled.\n"
},
{
"type": "ManagedReference",
"source_relative_path": "api/Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.yml",
"output": {
".html": {
"relative_path": "api/Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax.html"
}
},
"version": "",
"Uid": null,
"IsMRef": true,
"Title": "Hi.NcParsers.LogicSyntaxs.LinearMotionSyntax",
"Summary": "Writes
\n
Expands machine-declared M-codes (M06, spindle\ndirection → M03/M04/M05, coolant →\nM07/M08/M09. Must run ahead of\nM13 = spindle CW + flood coolant) feed\nseveral downstream consumers without any of them fighting over who\nremoves the original flag. Same rewrite-into-shared-vocabulary pattern\nas
\nTwo deliberate boundaries keep the rewrite faithful. Declarations whose\nsole content is a spindle direction\n(<SpindleMCode> configs bit-identical and avoids the\nexpansion product being re-translated by that same custom-first map\n(e.g. a mirrored M03↔M04 remap would otherwise flip direction).\nExpansion codes are inserted at the declared flag's own position, and a\ncode whose raw twin also appears un-declared elsewhere in the block is\nnot emitted — the block's textual order keeps deciding last-wins\nconflicts exactly as it did before.\n
\nDeclared-but-unmodeled behavior stays loud: a declaration carrying an\nDeclaredMCode--UnmodeledEffects informational diagnostic per\noccurrence — a declaration replaces the raw Parsing--Unconsumed\nwarning with an explanation, never with silence. A declaration with no\neffects and no note consumes its code silently by explicit intent.\nUndeclared codes are untouched and keep falling through to\n
Handles machine coordinate selection — non-modal, one-shot.\nThe axis values (X/Y/Z) in the block are interpreted as machine\ncoordinates, bypassing all work offsets, local coordinates,\ntool height compensation, and coordinate rotations.\nIf G91 (incremental) is active, the code is ignored per ISO standard.
\n\nDefaults to ISO G53. Brands with additional one-shot\nmachine-coordinate codes widen G153 and SUPA (both suppress every\nactive frame for one block; in this pipeline all of those reduce to\n\"bypass the composed SUPA G0 B0) are left to\n
\nMust be placed before
Resolve modular rotary axes to the shortest cyclic path relative to the previous node.\nUses
\nTwo stages, mirroring
MachineCoordinateState — anchored at the previous\n block's modal rotary state.i > 0 at item i-1's\n post-cycle value (per-axis chain). Items without a rotary\n MachineCoordinateState are skipped.\nPer-word directional override: a block-root\nACP()) or\nACN()) swaps that\naxis's window for this block only: [anchor, anchor+360°) /\n(anchor-360°, anchor] instead of the default ±180° — the approach\ndirection is forced even when it is the longer way around. A target\ncongruent with the anchor (within an ULP-scale epsilon) keeps the\nanchor value verbatim — no move, never a spurious full turn, and no\ndeg→rad→deg drift. DC())\nis the default window and needs no special path here. The override\nis read from the current block only (it is one-shot, never carried —\ndeliberately unlike the modal RotaryWrap gate's one-step\nprevious fallback) and applies to the root MC stage only, not to\nCoord-McAbc--003 — the promise cannot be honored there and\nsilence would mis-read the program's intent; an entry with no anchor\nto resolve against (first rotary value in the stream) is reported as\nCoord-McAbc--004 and adopted unwrapped, matching the default\npath.\n
Writes rotary axis values (A/B/C) into\n
\nOnly active when
\nThis syntax is intentionally ABC-only. When the block is rotary-only\n(no ProgramXyz, e.g. G00 A30.) the section is created\nwith ABC but without X/Y/Z.
\nMissing rotary axes are filled from previous\n
\nPer-word override: a block-root\nAC()/IC() coordinate functions) marks a rotary\nword MachineCoordinateState lookback, falling back to a value\nalready present in the current section, then 0) instead of being\nwritten as an absolute angle. The accumulated raw degrees stay\nmonotonic across iterations — each per-block step is well inside the\n±180° window, so the AC()) matches\nthe default write and needs no special path — and so, deliberately,\ndo the rotary-family entries DC()) / ACP()) / ACN()): this syntax writes the raw absolute target and the\nshortest/directional swing is resolved by the\n
\nCoded-position overrides (Siemens\nCAC()/CIC()/CDC()/CACP()/CACN())\ncarry an indexing position number instead of an angle: the\nnumber is resolved through CIC keeps\nits programmed direction through the directional values) before the\ntail-pass runs, so the tail-pass never sees a coded value. A failed\nresolve (invalid number, missing table) reports an error and holds\nthe axis at its previous value.\n
\nMust be placed before
Fills missing X/Y/Z on an ABC-only\n
G00 A30. (non-RTCP pivoting).\nMC = inheritedProgramXyz × composedTransform, where the\ncomposed transform is the block's endpoint chain (now including\nProgramXyz is also stamped onto\nthe current block so downstream consumers see a consistent\nProgramXyz + MC pair.\n\nPair with ProgramXyz via the transform chain\nwhen the block carries linear motion. If ProgramXyz), this syntax completes\nthe MC section as described above.\n
\nDoes nothing when the section already carries all three of X/Y/Z\n(normal linear-motion blocks), or when there is no section at all\n(pure parse-only block that introduces no MC). Must be placed\nafter
Derives
\nProcesses two stages:\n
ProgramXyz → root MachineCoordinateMachineCoordinate from ProgramXyz for items\n that have ProgramXyz but no MachineCoordinateProgramXyz\n(e.g., MachineCoordinate\n(e.g., G83 peck drilling cycle. Supports modal repetition.\nDrills in increments of depth Q, fully retracting to R between strokes.
\n\nCycle sequence (per stroke):\n
\nRetraction distance is read from
\nReads absolute coordinates from the cycle section, which is\nresolved by
Shared engine for the brand pivot-gate syntaxes\n(PivotTransform chain entry\ncomposition live here so every brand writes the identical JSON\nvocabulary.
ISO/Fanuc-family pivot gate: writes the\n
\nMirrors real Fanuc semantics: plain G43 offsets along the active\ntilted-plane normal (or machine Z when no tilt is active), and\nplain XYZ moves map directly to machine axis registers regardless\nof indexed table/head rotary position. Only G43.4 follows the live\ntool vector and only G68.2 redefines the work-plane orientation —\nboth of which this guard detects via the existing chain markers.\n
\n\nChain position: must run after all Pn-frame writers\n(PivotTransform entry — when\nemitted — naturally lands as the last chain element. Must\nrun before
\nSilently no-ops when
Consumes G17/G18/G19 plane selection from
\nDownstream consumers (
Warns on G-codes that Fanuc disallows during Polar Coordinate\nInterpolation (G12.1), per the manual whitelist mirrored from HardNc\nIsGCodePolarModeCompatible\n(
\nPlaced FIRST in the Logic bundle so the scan sees\n
\nResidual blind spot (documented): codes captured as Parsing sub-objects\nby ParameterizedFlagSyntax in the Parsing bundle (G28, G43/G44,\nG43.4, G05.1, G52, G54.1, G68/G68.2, canned cycles) never reach Flags\nand stay outside the scan. They cannot corrupt the polar trajectory —\nthe plane normal is fixed by the polar pair — so the gap is\ndiagnostic-only, same as HardNc's own per-code parse-time check.\n
Maintains the modal Polar Coordinate Interpolation valve section\n(
\nOn a G12.1 block: consumes the flag, reads the block's own X/C words as\nthe anchor (HardNcLine case 12_100.\n
\nOn a G13.1 block: consumes the flag and stops carrying the state — the\nblock itself is already Cartesian, matching HardNc case 13_100.\n
\nOn other blocks: re-materializes the previous block's state section\n(single-step lookback carry, the FanucPolar--IncompatibleGCode for G-codes outside the\nFanuc polar-mode whitelist (mirrors HardNc\nIsGCodePolarModeCompatible).\n
Detects G90/G91 positioning mode from
\nFanuc/ISO: reads G90/G91 from
\nDoes NOT convert incremental values — that is handled by\n
Clears the per-block Vars.Volatile dictionary on blocks that\ntriggered program end (M02 / M30, identified by the\n
\nReal Fanuc clears non-retained common variables (#100-#499) on program\nend + reset; this syntax models that behaviour at the simulator level.\nThe clear happens on the same block that carried M02/M30 — the next\nblock's
\nPipeline placement: must run after both
\nRetained common variables (#500-#999, owned by\n#1-#33, scope: macro call frame) are also\nuntouched here; their lifecycle belongs to G65/G66/M99 push/pop, not\nprogram end.\n
\nAlso clears any active G67-shaped cancel marker so\nthe carry mechanism in\n
Consumes M02/M30 (program end) from
\nDownstream syntaxes that need to reset modal state on program end\n(e.g.
Polar-mode sibling of
NcGroup03.GetNcFromSyntax);Consumes the program-stop words in
\nTerm with its literal; every listed word is removed from the\nblock either way. A brand preset widens the list for its own\nvocabulary (the Heidenhain STOP word — the\n
\nSiblings with
\nThe parsing layer only records NC intent. Whether M01 actually\npauses the run is a runtime/semantic decision gated by the operator's\n\"Optional Stop\" switch (analogous to\n
Resolves ProgramXyz (leaf coordinate) from syntax XYZ tags.\nWrites
\n
Shared utilities for
\nTwo strategies for \"what's the program coordinate at a block's\nendpoint?\" — both invert an MC value through an\n
HardNcLine.RebuildProgramXyzByMc.\nnodeCarryingMc was originally commanded\nat, by inverting that same node's own transform on its own MC.\nSuitable for RTCP rotary-dynamic inheritance, where the modal\ninvariant is \"tool tip in workpiece frame stays put while rotary axes\nturn\" — the recovered Vec3d carries forward as the next rotary block's\nmodal ProgramXyz unchanged, regardless of how its\nPivotTransform differs.\n\nBoth strategies yield the same Vec3d when prev and current share the\nsame chain modal state; they only diverge across chain boundaries\n(RTCP toggle, coord-system swap, tilt activation) and at rotary motion\n(PivotTransform difference). Pick the wrong one and the result lands\nin a stale frame:\n
\nG43.4 H03 would inherit\nProgramXyz still in the G49 frame and the next motion's MC.Z drifts\nby the introduced tool-height offset. (This was the 2026-04-25\nSoftNc / HardNc divergence found on a five-axis sample program.)\nPivotTransform difference, so the inherited workpiece anchor\nrotates by the C delta on every rotary block.\n\nDirect callers of the two strategy helpers are rare — typically you\ncall the dispatcher
Writes Parsing.G28\n(written by
\nMust be placed after
Shared utilities for rotary axis (A/B/C) resolution.\nUsed by
Siemens variant of CR=\n(captured as Parsing.CR by an equals-form\nTURN= (Parsing.TURN).
\nDifferences from the Fanuc/ISO parent, per the corpus-driven plan:\n
CR replaces R — same math\n (Arc-CR--ClosedChord, params left visible.TURN=N means N additional full circles:\n AdditionalCircleNum = TURN + (closed ? 1 : 0) — no −1\n (the legacy HardNc path treated TURN like Fanuc L and silently\n undercounted Siemens helices by one turn; deliberately not ported).\n The closed-loop +1 stacks on the same closure heuristic used when\n TURN is absent, because the downstream angle wrap yields 0 rad for\n closed arcs and the whole loop count must come from\n AdditionalCircleNum.L and no K-as-pitch reading — Siemens L{n} is a\n subprogram call and helix travel is endpoint + TURN driven.I=AC(...) /\n J=AC(...) / K=AC(...) wrapper (unwrapped by\n Parsing value plus a PositioningOverride\n entry) switches that one component from the default incremental\n offset-from-start to an absolute center coordinate\n (IC()-wrapped ones —\n keep the incremental reading. Blocks without the section take the\n legacy \nMust be placed before
Siemens Sinumerik: resolves work coordinate offset from G54–G57 (ISO-compatible),\nG505–G599 (extended Siemens), and G500 (cancel — machine coordinate mode).\nReads from
Consumes the Siemens CUT3DC flag (3D circumferential cutter\ncompensation mode, used with TRAORI) from\nSiemensCutComp–Unsupported warning\nis emitted: a later G41/G42 in this program simulates\nas plane compensation, not as the control's 3D surface-normal\noffset — recognized, visibly not simulated, never a half-guess.
\nCapture side: CUT3DC is a bare word collected by the Siemens\npreset's
Siemens CYCLE800 (swivel cycle): resolves the tilted work plane from\nthe positional arguments captured by\nTerm = “CYCLE800” (mirroring\n
\nArgument layout (HardNc reference NcArgCycle800):\nCYCLE800(FR, TC, ST, MODE, X0, Y0, Z0, A, B, C, X1, Y1, Z1, DIR\n[, FR_I, DMODE]) — 15- and 16-arg post variants both occur in\nthe corpus. MODE is bit-coded: bits 7-6 select the swivel\nmode (00 axis-by-axis, 01 solid angle, 10 projection angle,\n11 direct rotary), bit pairs 1-0/3-2/5-4 select each angle's axis\n(01=X, 10=Y, 11=Z). The motion-convention matrix is\nT(X1,Y1,Z1) · R · T(X0,Y0,Z0) (row-vector; the post-rotation\nzero offset applies innermost). ST units digit 1 composes\nadditively onto the current programmable frame; FR/FR_I\nretraction and DIR solution preference are recorded in the\nsection but not simulated (DIR = 0 suppresses the rotary\npositioning, per the control's frame-only variant).\n
\nCancel forms — bare CYCLE800, empty parentheses, the\nsingle-argument CYCLE800(0), or swivel-data-record name\nTC = \"0\" — reset the tilt to the shared inactive sentinel\n(Term = \"G69\" + identity entry, HardNc's convention). An\nin-between argument count (1–9 with a live TC) is treated as a\ntruncated/unmodeled capture, not a cancel — warning + visible\nresidue, so a mis-parsed call can never silently drop an active\nswivel. The rotary axes are not re-positioned on cancel: the\nretract/re-orient behavior depends on the machine's swivel data\nrecord, which does not exist offline; corpus programs follow the\ncancel with explicit G0 A.. C.. moves anyway.\n
\nFail-soft: a non-numeric argument (machine-runtime variable) leaves\nthe Parsing.CYCLE800 residue visible and applies no transform\n(Coord-Tilt--003); an IK failure keeps the euler tilt and\nskips positioning (Coord-Tilt--004); a rotating CYCLE800 on a\nmachine without kinematics/rotary axes keeps the tilt and warns\n(Coord-Tilt--005).\n
\nMust run before CoordinateOffset).\n
Consumes the Siemens G74 (reference-point approach) /\nG75 (fixed-point approach) statement captured into\nParsing.G74 / Parsing.G75 by the Siemens preset's\ndedicated
\nSiemens semantics honored here: non-modal; only the axes written in\nthe block participate; the numeric axis value is a dummy\n(conventionally 0) and is discarded; the motion happens in MACHINE\ncoordinates ignoring every active frame; the F word in the block does\nnot change the modal feed (the machine travels at its own rapid).\nThe frame bypass reuses the
\nTarget position: G74 (reference-point approach) reads the per-axis\nmachine reference from $MA_FIX_POINT_POS via\nFP= word in the block emits Coord-FixPoint--003 and\nuses fixed point 1. Non-participating linear axes keep the previous\nmachine position; rotary axes participate only when written and\nconfigured rotary (their target lands in the shared MC section,\nwrapped shortest-path later by
\nPlacement: after Parsing and surfaces as unconsumed residue.\n
Maps Siemens MCALL CYCLE8x(…) modal drilling calls onto the\nshared canned-cycle machinery — the “setup half” of the Fanuc\nG66-style modal pattern; the “expansion half” needs no new code\nbecause
MCALL CYCLE81/82(RTP,RFP,SDIS,DP,DPR[,DTB]) → an armed\nCannedCycle section (Term G81/G82) with\nParams.R = RFP + |SDIS|, Params.Z = DP (or\nRFP − DPR), dwell P = DTB for G82.MCALL CYCLE83(…,FDEP,FDPR,DAM,DTB,DTS,FRF,VARI,…) →\nG83 (VARI≠0, full retract) or G73 (VARI=0, chip-break) with\nQ = |RFP − FDEP| or |FDPR|. The FDEP/DAM decreasing\npeck chain is approximated by that constant first-peck depth.MCALL CYCLE85(…,DTB,FFR,RFF) → G89 (DTB>0, dwell) or\nG85, feed-in F = FFR; the separate retract feed RFF has no\nslot in the shared expansion (retract reuses F).MCALL → the G80 cancel sentinel\n(\nThe MCALL block itself must NOT execute the cycle (Sinumerik arms\nonly), so no Parsing.G8x section is written here — the armed\nsection rides the CannedCycle tracked key to the following motion blocks.\nReturn plane: ReturnMode = G98 (previous-block Z); RTP has no\nslot in the shared expansion — programs that park at RTP before the\nfirst trigger get exactly RTP back, the corpus shape.\nFail-soft paths (consume + structured warning + no arm): non-literal\narguments (R-parameter args — cycle args bypass the P2 evaluator),\nmissing RFP / depth / peck values, and any callee outside the CYCLE8x\nmap (MCALL L123 modal subprogram calls are not simulated).\nPipeline placement: before
Records the Siemens path-control / smoothing modal registers into the\nbrand-invariant PathSmoothing section (fields per\nParsing.CYCLE832 call sub-object (captured by\n
\nRecord-only — simulation does not alter the tool path (same contract\nas the Fanuc G05.1 sibling Parsing[\"G05.1\"] sub-object no Siemens capture produces).\n
\nModal behavior: a block touching any group starts from a clone of the\nprevious block's section, applies the touched groups and rewrites the\nsection; untouched blocks write nothing and\nTrackedKeys already contain PathSmoothing) carries the\nprevious section forward. The stream's first block stamps a\nconservative { IsEnabled: false } default — the actual\ndelivered state of a real control is machine-data dependent, so no\nterm is invented for it.\n
Siemens pivot gate over the shared engine\n(ToolHeightCompensation.Term), an active swivel/tilt\n(CYCLE800, or a mixed-dialect G68/G68.2 term), or a Dynamic chain\nentry. The Siemens-specific exclusion: a plain geometric frame\n(TRANS/ATRANS/ROT/AROT,\nTRANS X0 Y0 Z0\nreset would otherwise leave the modal term folding the pivot on\nevery later plain-mode block.
\nThe ISO/Fanuc sibling gate is\nPivotTransform entry lands last.\n
Siemens programmable frame (TRANS/ATRANS/ROT/AROT incl.\nRPL=, plus the solid-angle forms ROTS/AROTS): consumes\nthe structured\nParsing.<keyword> sub-objects captured by\nAddOrReplaceTransform's in-place replacement (on a real\nSinumerik, CYCLE800 itself writes the programmable frame chain, so\nsingle ownership mirrors the control).
\nSemantics follow the Sinumerik programmable-frame rules (HardNc\nreference: HardNcLine.ParseSiemensFrameTransform +\nNcArgSiemensFrame): the absolute forms TRANS/ROT\nreset the whole programmable frame and set only their own\ncomponent; the additive forms ATRANS/AROT compose onto\nthe current frame with the new operation applied first\n(M = M_op · M_prev, row-vector convention — an AROT\nafter a TRANS rotates inside the translated frame). A bare\nkeyword (any of the four) resets the programmable frame entirely —\nwritten as the shared inactive sentinel Term = \"G69\" plus an\nidentity chain entry (the same convention HardNc's CYCLE800 reset\nuses). Multi-axis rotation in one statement applies the Sinumerik\nRPY order (intrinsic Z → Y′ → X″, i.e. row-vector\nRx·Ry·Rz); RPL rotates about the active G17/G18/G19\nplane normal and composes after the axis angles.\n
\nThe solid-angle forms ROTS/AROTS follow the Sinumerik\nrules (Programming Manual Fundamentals 03/2010 §12.5, \"ROTS and\nAROTS behave in the same way as ROT and AROT\"): at most two solid\nangles orient a plane, composed first-named axis first with the\nsecond rotation about the original (extrinsic) axis — the\npair X,Y keeps the new X axis in the old Z/X plane (row-vector\nRx·Ry), Y,Z keeps the new Y axis in the old X/Y plane\n(Ry·Rz), Z,X keeps the new Z axis in the old Y/Z plane\n(Rz·Rx). A single angle is identical to ROT/AROT;\nRPL= alone rotates in the active plane. Three angles, or\nRPL mixed with axis angles, fall outside the documented\ngrammar: the statement is left unapplied with a\nSiemensFrame--SolidAngleInvalid warning plus the visible\nParsing--Unconsumed residue — never a guessed frame.\n
\nCROTS/SCALE/ASCALE/MIRROR/AMIRROR (zero corpus occurrences;\nCROTS references the control's frame database which has no offline\ncounterpart, SCALE/MIRROR would inject non-rigid matrices whose\nremaining breakages are the radius-compensation magnitude, the\nprogram-space path length feeding durations, and the writeback Euler\ndecomposition) are consumed recognized-but-not-simulated with a\nSiemensFrame--Unsupported warning and zero transform effect.\nA structured keyword whose capture fell back to the verbatim\nStatement shape, or whose value is an unevaluated variable\nexpression, is left in Parsing — the\nVariableExpression--Unevaluated diagnostic plus the visible\nParsing--Unconsumed residue is the correct fail-soft (P2\nacceptance doctrine); the frame is not partially applied.\n
\nMust run after CoordinateOffset in the chain\n(McXyz = ProgramXyz · M_frame · M_offset · … — the\nprogrammable frame applies to program coordinates first, then the\nsettable G54 frame, matching the Sinumerik frame chain).\n
Consumes the Siemens STOPRE flag (stop preprocessing — the\ncontrol's look-ahead buffer sync) from Stopre–NoOp Unsupported Message is\nemitted: recognized, intentionally not simulated, safe offline.
\nCapture side: STOPRE is a bare word collected by the Siemens\npreset's
Siemens cutting-edge tool offset activation: consumes a standalone\nD word (D1 activates edge 1 of the active tool,\nD0 cancels compensation), resolves the effective length via\nSiemensToolOffset–TcdpRowMissing configuration warning), so\nan unfilled per-case table follows the ToolHouse-fed source instead\nof silently machining with offset 0 — and writes\nthe same downstream state as the ISO sibling\nTerm = “D”) plus the ToolHeightCompensation entry in the\nAddOrReplaceTransform's in-place replacement.
\nThe active tool number comes from the block's (or previous block's)\nToolChange section; a string tool name resolves through\nTerm is ours (\"D\"); an ISO term (G43/G44/G49) leaves the\nsection to G43H1 headers next to D1 blocks).\nMust therefore be placed after
\nConsuming Parsing.D here (Logic) intentionally precedes\nG41 D5 radius argument, and radius state derives from the same\n(T, D) edge ($TC_DP6; wiring the radius value is a follow-up).\n
Siemens TRAORI/TRAFOOF (orientation transformation = RTCP): the\nSiemens sibling of Term = “TRAORI” and the ToolHeightCompensation chain\nentry becomes a tool-normal · offset translation at the block\nendpoint ABC (
\nTool length ownership stays with the (T,D) machinery: on real\nSinumerik, TRAORI uses the active D edge's length. Activation adopts\nthe compensation the D edge (or a mixed-dialect ISO G43) has already\nresolved — D1 on any TRAORI-modal block first\nresolves Term = \"D\" and this syntax re-takes the section with\nthe fresh Offset_mm. The adopted owner is recorded in\n\"D\"), because plain length compensation survives\nTRAORI deactivation on the control — TRAFOOF only ends the\norientation-following. A TRAFOOF with no active TRAORI (the corpus'\nubiquitous defensive preamble) is consumed silently.\n
\nMust run after TRAORI term and folds the kinematic pivot.\nSilently degrades to a plain UnitZ · offset translation when\n
Consumes S (spindle speed) and spindle direction M-codes\nfrom
\nDirection M-codes: the ISO defaults M03 (CW) / M04 (CCW) / M05 (STOP)\nalways apply; a machine that starts/stops its spindle with custom\nM-codes (e.g., ultrasonic M203/M205) declares them on an\n
\nFallback: an S > 0 with no direction ever issued is contradictory\n(physics would silently never run). The build assumes CW and emits a\none-shot SpindleDirection--AssumedCw validation warning — once is\nstructural, not stateful: the stamped CW propagates modally, so later\nblocks no longer lack a direction. An explicit M05 (STOP) is a real\ndirection and never triggers the fallback.\n
G84 (right-hand) / G74 (left-hand) tapping cycles.\nSupports modal repetition.
\n\nCycle sequence:\n
\nG84: forward = CW (M03), reverse = CCW (M04).\nG74: forward = CCW (M04), reverse = CW (M03).\n
\n\nReads absolute coordinates from the cycle section, which is\nresolved by
Shared utilities for all tilt transform syntaxes\n(ISO, Siemens, Heidenhain). Handles section IO,\nbackward lookback, and
Synthesizes the machine motion of a tool change: on a block whose\nHardNcLine's M06 handling (McXyz/McAbc_rad overlay +\nRebuildProgramXyzByMc).
\nA same-number tool call (M06 without an actual change) emits no motion —\nthe parity twin of HardNc's preT != T overlay gate. A block with\nits own motion words folds them into the single rapid: the overlay\napplies on top of the block's commanded position and the stamped\n
\nPrograms that retract on their own (G75/G28/SUPA before M06 — every\nhealthy post) reach the tooling position before the M06 block, so the\nsynthesized move is zero-length and\nToolChange--UnsafePose\ndiagnostic.\n
Consumes T (tool number) and M06 (tool change) from\nToolChange section:\n{ “ToolId”: 1, “IsChange”: true, “Term”: “M06” }.\n
\nToolId is an int for numeric calls (T5) and a string for\nSiemens string tool calls (T=\"D8R1\", captured by\n
\nThe trigger is machine-configurable. A custom tool-change M-code\n(Siemens MD22560 $MC_TOOL_CHANGE_M_CODE) is declared on the\ncontroller parameter table\n(T word itself performs the\nchange (Siemens MD22550 $MC_TOOL_CHANGE_MODE = 0) set\nT block stays\npre-selection only — magazine rotation is the PLC's business and moves\nno feed axis.\n
Resolves ISO tool height offset (G43/G44/G49) to the effective offset\nvalue (mm) and composes the offset as a translation into the accumulated\n
\nRTCP modes (G43.4, TRAORI, M128) are handled by separate brand-specific\nsyntaxes (e.g.,
Detects the unit-system code (ISO Group 06: G20 inch / G21 metric)\nfrom
\nThe code vocabulary is configurable per brand: Term. Note Siemens G70/G71 must never be\nadded to ISO/Fanuc presets — on Fanuc lathes the same codes are\nfinishing/roughing cycles (same collision family as the documented\nSiemens G74 exclusion).\n
\nThe HiNC pipeline works exclusively in millimetres. When an inch code\nis detected this syntax emits an Unit--InchNotSupported\nUnsupported Error so upstream callers are forced to pre-convert the\nNC program to metric — while still recording what the program said.\nMetric codes are accepted as no-op confirmations of the default.\n
License gate for the NC composition layer — the capability of registering\nexternal (non-built-in) processing units into a
\nThe boundary: the script layer (calling the public API from your own\napplication code, e.g. session scripts) needs no extra license; the\ncomposition layer (registering or replacing processing units inside\nthe interpretation pipeline —
\nA unit is built-in when its concrete type lives in this library's\nown assembly; anything else is external. Order, count, duplication\nand constructor configuration of built-in units are unrestricted — the\ngate never inspects the shape of the pipeline, only the identity of each\nunit.\n
\n\nDegradation is silent and functional: without the license the built-in\ndialects run unchanged; external units are skipped for the session and a\nsingle Composition--NotLicensed diagnostic lists them. The decision\nand its rejection record live in the native license module.\n
A structured diagnostic from the
\nAlso an
\n{Primary}-{Secondary}--{Abbrev}\n(e.g., Cycle-Peck--BadPeckQ, Syntax-Build--Exception).\nFor irregular cases that don't fit the pattern, use a custom string.\n
Helper that emits *Fmt sibling taking a
A switchable “runner suit”: bundles the per-machine NC pipeline\n(
\nRead/Write only (pure IO, no own XxxFile identity pointer): the owning\nproject serializes the suit's two members flat in the project XML,\nkeeping the per-workpiece
Parses the ISO 6983 / Fanuc Block Delete (a.k.a. Block Skip) prefix\n/ or /N (N = 1..9) at the head of an NC block.
\nBehaviour:\n
/ → no-op, no / with UnparsedText and parses normally./ with layer ON → the remaining block text is moved\nfrom UnparsedText into UnparsedText is cleared. Downstream parsing syntaxes see no\nNC text so they emit nothing; semantics therefore produce no act.\nMust run after comment / CsScript syntaxes so that comments\n(and CsScript embedded in comments) continue to take effect\nregardless of the skip switch.Parses parenthesized comments such as (comment text) from the\nremaining unparsed text and emits a () symbol.
In-situ syntax that strips a trailing comment from the NC line: text from a configured\n
\nLine-aware on multi-line sentences (Heidenhain grouped / ~-continued\nblocks): the marker-to-end-of-line strip applies per physical line, so a\n; comment on one cycle-parameter line never swallows the following\nlines. Stripped comment texts are joined into a single\n
Extracts C# script markers from the oral content of a comment.\n
Parses Fanuc Custom Macro B GOTO phrases out of the remaining\nParsing.FanucGoto\nsub-object. Two forms are recognised:
GOTO <n> — unconditional jump.IF [<bool-expr>] GOTO <n> — conditional jump.\nIF [...] GOTO is matched as a single phrase, not as an IF\nsyntax composed with a GOTO syntax — Fanuc only permits the two\nfixed forms (the other being IF [...] THEN <assignment>,\nout of scope here), so a phrase-level parser is more faithful and\navoids parsing-ambiguity rabbit holes.\n
\n<n> is captured as a raw token (literal like \"100\",\nvariable like \"#1\", or bracketed expression like\n\"#[#2+5]\"). #N references and the\nevaluator rewrites them in place.\n
\nPipeline placement: after N{seq} on a block like N50 GOTO 100 has already been\nconsumed) and after (GOTO 100) inside a comment never matches).\nThe phrase consumes the entire remaining text on the block — Fanuc\nallows only the GOTO / IF-GOTO phrase after any preceding head index,\nno other instructions on the same block.\n
Parses the Fanuc Custom Macro B\nIF [<bool-expr>] THEN <body> single-block conditional\nphrase out of Parsing.FanucIfThen sub-object. Sibling to\nIF [...] GOTO <n> handled there,\nIF [...] THEN <stmt> handled here) so each form is matched\nphrase-level rather than composed from a generic IF combinator.
\nBody shape. The body after THEN is conceptually a single\nstatement that affects the current block only — no jump, no label scan.\nAlmost always a Custom Macro B assignment (#nnn = <expr>);\nmultiple assignments in the same body\n(#100 = 5. #101 = #100 + 1) are also accepted. The parsing\nsyntax pre-extracts these via\nParsing.FanucIfThen.PendingAssignments as {tag: rhs-string}\nentries — that shape lets Parsing.Assignments only when the gate\ncondition fires (so unfired bodies leave no trace in the readers).\n
\nPipeline placement. This syntax must run before\n^IF[..]GOTO n$) is anchored, but consuming IF-THEN here first\nkeeps the two phrases textually disjoint and avoids any future\nregression if either regex is loosened. Also placed before\nIF [...] THEN #100 = 5. is not first half-eaten as a plain\nassignment.\n
\nRaw FanucIfThen--UnsupportedBody) if no PendingAssignments were\nproduced on a truthy condition.\n
Detects a Fanuc-family program identifier header — O1234 or\n<O1234> — that follows a
Parses the two Fanuc Custom Macro B WHILE/END phrases out of\nParsing.FanucWhileDo sub-object:
WHILE [<bool-expr>] DO <m> — loop entry,\n writes { Term: \"WHILE...DO\", LoopId, Condition }.END <m> — loop terminator, writes\n { Term: \"END\", LoopId }.\nPipeline placement. This syntax must run before\n
\nLoopId is captured as an int directly (Fanuc spec\nrestricts the m identifier to small literal integers 1–3\ntypical, no expression form). The WHILE's Condition is captured\nas a string and substituted in place by\n
Syntax of fully Match flag.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.ParsingSyntaxs.FloatTagValueSyntax", "Summary": "Parses a leading block index (e.g. Heidenhain line numbers) after an optional
Heidenhain syntax of
CYCL DEF 247 DATUM SETTING and its\nDIN/ISO twin G247 Q339=+N (both spellings stamp the same\ncycle-number record for the Logic-side datum-preset resolver).\n"
},
{
"type": "ManagedReference",
"source_relative_path": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.yml",
"output": {
".html": {
"relative_path": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax.html"
}
},
"version": "",
"Uid": null,
"IsMRef": true,
"Title": "Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainDatumShiftSyntax",
"Summary": "Heidenhain syntax of
CYCL DEF 7 DATUM SHIFT and its\nDIN/ISO twin G54 WITH axis words (G54 X+50 Y+50\nshifts the datum, zero values cancel it — a declaration, never a\nmotion block; the bare G54 spelling stays on the Fanuc-style\nwork-offset select path).\n"
},
{
"type": "ManagedReference",
"source_relative_path": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainMachiningCycleSyntax.yml",
"output": {
".html": {
"relative_path": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainMachiningCycleSyntax.html"
}
},
"version": "",
"Uid": null,
"IsMRef": true,
"Title": "Hi.NcParsers.ParsingSyntaxs.Heidenhain.CyclDefSyntaxs.HeidenhainMachiningCycleSyntax",
"Summary": "Captures the body of a machining CYCL DEF (every cycle number\nwithout a dedicated owner — the datum family 7/247 and the tolerance\nfamily 32 keep their own syntaxes) into a structured\nParsing.MachiningCycle record:\n{ Number, Title?, Params?, Args? }.
Params — every Qnnn=value assignment in the head\nand body lines. Literal values are stored as JSON numbers (via\nParsing.Assignments (raw string RHS): on a real TNC the cycle\ndefinition genuinely assigns those Q parameters, and pre-P4 corpus\nbehavior (each parameter line was its own sentence consumed by the\nbare-assignment capture) already routed them into the volatile Q\nstore. The mirror keeps that store contract intact now that the\n~-grouped sentence is claimed here first.Title — the non-assignment remainder of the head line\n(e.g. PLANFRAESEN).Args — any other non-assignment body remainder, swept\ninto the record so residue (e.g. CYCL DEF 19.1 A90 B0 C105\nrotary words) can never leak into axis captures — the\nPLANE-family precedent from P3.Structures the klartext CYCL DEF 8 MIRROR IMAGE cycle (grouped\n8.0 MIRROR IMAGE / 8.1 X Y, or the single-line spelling) into\nthe same Parsing.G28 writes, so the shared\nParsing[“CYCL DEF”] = 8 + CyclHead) and ahead of\n
\nThe cycle body is the manual's bare axis letters (a bare 8.1\ncancels the mirror). A body carrying anything else — a valued word,\nan unknown token — is not claimed at all: the block falls\nthrough to the generic machining-cycle capture and its\nHeidenhainCycl--Unsupported report, which is the correct\nfail-soft. Claiming it would silently reduce to an empty axis list,\ni.e. read a shape we do not understand as a mirror reset.\n
Structures the klartext CYCL DEF 32 TOLERANCE cycle (grouped\n32.0 TOLERANCE / 32.1 T0.1 / 32.2 HSC-MODE:0 TA0.5 or the\nsingle-line forms) into Parsing.TOLERANCE { T?, HscMode?, Ta? }\nfor Parsing[“CYCL DEF”] = 32 + CyclHead). A bare 32.0 line\n(no T) is a tolerance reset and records Bare: true. The glued\ncorpus spelling 32.2HSC-MODE:0 leaves a digit-prefixed residue\nafter the CyclDef prefix strip — the HSC grab tolerates it.
Syntax for Heidenhain BLK FORM command (workpiece blank definition).
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCSyntax.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCSyntax.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCSyntax", "Summary": "Heidenhain circular-motion statement (C X+5.361 Y+23.064 DR-).\nMirrors “CArc”: true\nstatement marker (deliberately NOT the bare C key — that is a\nrotary axis word which Parsing.DR ("-" = CW =\nG02, "+" = CCW = G03) and radius-compensation words are\ncaptured like on L statements. The word-boundary head guard rejects\nCC/CT/CR/CP statements, and a value\nfollower rejects a leading rotary-axis word — a DIN/ISO block like\nC-90. (modal C-axis positioning, the same mixed-dialect list)\nis an axis coordinate for the root tag capture, never a klartext arc\nstatement head (klartext always separates the C head from its X/Y/DR\nwords, so a sign/digit/dot follower cannot be an arc statement).
Syntax for Heidenhain CALL commands (CALL PGM and CALL LBL).
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCcSyntax.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCcSyntax.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainCcSyntax", "Summary": "Heidenhain circle-center statement (CC X+12.7 Y+12.7). The\ncoordinates land in the nested Parsing.CC record — deliberately\nnot on the Parsing root, where \\b guard keeps a C statement from matching\nCC and vice versa, but CC-first is the safe order).
Captures the klartext cycle-call statement into a\nParsing[“CYCL CALL”] record:
CYCL CALL — { Bare: true }; any trailing M words\nstay in the text for the shared flag captures.CYCL CALL POS X±n Y±n Z±n … — { Pos: true } plus\nthe axis words grabbed into the record (never onto the\nParsing root: the POS coordinates are the call position — the\nX/Y feed the ISO cycle section, while the pre-position Z must not be\nmistaken for the hole-bottom Z slot). FMAX/F/M140\nwords stay in the text for their own captures.Initialization Syntax of Heidenhain fixed head block for
CYCL DEF.\n"
},
{
"type": "ManagedReference",
"source_relative_path": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.yml",
"output": {
".html": {
"relative_path": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax.html"
}
},
"version": "",
"Uid": null,
"IsMRef": true,
"Title": "Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainFnAssignmentSyntax",
"Summary": "Heidenhain FN variable assignment syntax.\nExtends
Structured skip for the Heidenhain FN opcodes the simulation does not\nimplement (FN 14 error display, FN 16 print, FN 18\nSYSREAD, table/pallet opcodes …): the whole statement is consumed and a\nsingle HeidenhainFn–Unsupported warning names the opcode. Two\nopcode families pass through untouched: FN 0-5 belong to\nFN 9-12 belongs to\n
\nClaiming the statement here is load-bearing, not cosmetic: an FN 18 line\nlike FN18: SYSREAD Q94= ID50 NR11 contains a Q94= token\nthat the bare Q-assignment capture (later in the Parsing bundle) would\notherwise grab, storing the garbage string ID50 into Q94. The\ntarget parameter must instead stay vacant so dependent expressions fail\nsoft (VariableExpression--Unevaluated) — no fabricated values.\n
Captures the Heidenhain FN 9–12 conditional jump statement whole into\nParsing.HeidenhainGoto. All four opcodes share one phrase shape\n(FN n: IF <value> <comparator> <value> GOTO LBL\n<label>); both the spaced standard spelling and the\ncompressed post spelling (FN12:IF+Q94 LT+1GOTOLBL"SLOW_FEED" —\nglued opcode head, glued value/target run, quoted name label) are\nrecognised.
\nPre-normalisation happens here, per the P2 expression-grammar\ndecision (the Heidenhain dialect deliberately has no comparison\nlayer): the comparator spelling collapses to the shared comparison\nwords (EQU→EQ), and the two operands are captured as\nseparate values — a pure numeric literal is typed numeric at capture\n(the P0 GetParsedDouble-string-trap discipline), a Q reference\nstays a string for\n
\nPlacement: whole-statement owner right after\nGOTO LBL spellings, but the jump owner claiming\nthe full line first keeps the exclusion a backstop rather than a\nload-bearing gate) and before
Heidenhain linear movement (the leading L) syntax. Strips the leading\nL — spaced (L X+10) or glued directly to an axis/F word\n(LX+153.933Y+4.196A-77.516, the dominant shape of post-processed\nturbine files) — writes the Parsing.L = true statement marker,\nand grabs axis-tag values for any of {axis}{signed-value} pairs; values are parsed as floats via\nLN/LP/LBL\nlines are excluded by the gate's lookahead: a glued axis letter only\ncounts when followed by a sign, digit, dot or Q variable, so the B of\nLBL (followed by another L) never matches. Glued M words\n(LM09) are accepted — stripping the L exposes the M word for\nthe numbered-flag syntax; the richer LM140/LM128\nstatements never reach this gate because their dedicated owners run\nearlier in the Heidenhain Parsing bundle.
\nAxis words land on the root of L) so the shared Logic consumers —\nL marker is consumed by\nFMAX flag) onto the shared\nG00/G01 motion-mode vocabulary.\n
\nThe radius-compensation words RL/RR/R0 are\ncaptured as boolean records on the Parsing root; the Logic-stage\n
Syntax for Heidenhain LBL command (label definition).\nLabel can be a number (1-65535) or a text name (e.g., “MyLabel”).\nLBL 0 is reserved for end of subprogram.
\n\nOnly a DEFINITION is captured: CALL LBL (any spacing) and the\nFN 9–12 jump spellings (GOTO LBL n, glued GOTOLBL) are\nexcluded — this syntax doubles as the label-scan probe of the P4 call\nmachinery, where mistaking a jump line (or the call line itself) for\na definition splices the wrong program section.\n
Captures the klartext M128 word (RTCP on) together with its\noptional feed-limit argument (M128 F6000.) into\nParsing.M128 { F? }. Must run before the shared F\ntag-value syntax — the F belongs to M128 (feed limit for compensating\nmovements), and letting it reach the Parsing root would pollute the\nmodal feedrate (HardNc has exactly this defect). Accepted spellings:\nthe leading/glued L statement (LM128, mirroring the M140\nsibling), the fully glued M128F6000, and a Q-parameter feed\nlimit (M128 FQ8, 1.H corpus) captured as the string token for\nthe evaluator pass to resolve. M129 (RTCP off) carries no\nargument and stays on the shared numbered-flag path.
Captures the klartext M140 MB tool-axis retract statement into\nParsing.M140 { MB, F? }. MB MAX retracts to the traverse\nlimit (recorded as the string “MAX”); MB+n retracts by\nn mm along the tool axis. Handles the corpus forms\nM140 MB+50 F6000, L M140 MB MAX (M word carried on an L\nstatement) and the glued LM140 MB MAX (TongTai post). Must run\nbefore L) and before the shared\nF tag-value syntax (the F is the retract feed).
Heidenhain DIN/ISO G28 = MIRROR IMAGE (the CYCL DEF 8 twin;\nbasic course 62192: G28 X flips the X sign about the current\ndatum, G28 X Y flips both, bare G28 resets) — the exact\nopposite of the Fanuc reference-point return the shared\nParsing.
\nAxis words are the manual's bare letters; a glued numeric or\nQ-variable follower (G28 X0 Y0 — the Fanuc idiom a mislabeled\n.I file could carry — or G28 XQ1) is claimed too so the\nvalue can never fall through to the root tag captures as a ghost\ncoordinate, and the statement is stamped G28 CC…)\nstops the claim run — the leftover surfaces through the residue\nsentinels instead of being guessed at.\n
Syntax for the Heidenhain PLANE statement family. Fully structured\n(simulated by the Logic-stage tilt consumer):
\nPLANE RESET [STAY|MOVE|TURN]PLANE SPATIAL SPA SPB SPC [SEQ±] [COORD ROT|TABLE ROT]\n[MOVE [DIST..] [F..]|TURN|STAY]PLANE PROJECTED PROPR PROMIN ROT ...PLANE VECTOR BX BY BZ NX NY NZ ... (corpus: 1.H)PLANE EULER/POINTS/RELATIV/AXIAL ... — the mode word is\ncaptured and the unmodeled argument text is swept verbatim into the\nrecord's Args so no token can leak to the shared tag captures\n(e.g. a PLANE AXIAL B+45 B word must never become a rotary\naxis move).MOVE DIST100 F8000 is the repositioning feed and would\notherwise pollute the modal feedrate (house.H corpus form; HardNc has\nexactly this defect).\n"
},
{
"type": "ManagedReference",
"source_relative_path": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.yml",
"output": {
".html": {
"relative_path": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax.html"
}
},
"version": "",
"Uid": null,
"IsMRef": true,
"Title": "Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainProgramSyntax",
"Summary": "Syntax for Heidenhain BEGIN PGM and END PGM commands.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainTcpmSyntax.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainTcpmSyntax.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainTcpmSyntax", "Summary": "Captures the modern-TNC RTCP statement pair into Parsing.TCPM:\nFUNCTION TCPM [args] (RTCP on — the M128 successor) and\nFUNCTION RESET TCPM (RTCP off). The behavior-tuning argument\nwords (F TCP / F CONT / AXIS POS / AXIS SPAT / PATHCTRL AXIS /\nPATHCTRL VECTOR) are corpus-zero and swept verbatim into the\nrecord's Args — recognized-but-not-simulated (the Logic RTCP\nconsumer warns); activation/deactivation itself is simulated. Must\nrun before the shared F tag-value syntax so an argument like\nF TCP can never be misread as a feed word.
Strips the TNC ~ line-continuation markers from a grouped\nsentence's UnparsedText. The raw "… ;STRATEGIE ~" (space\nbefore, line tail) and "DATUM SETTING~" (glued). Placed at the\nhead of the Parsing bundle, before the comment strippers, so a trailing\n~ after a ; comment never lands in the recorded comment\ntext.
Syntax for Heidenhain TOOL CALL command.\nHandles: TOOL CALL [ToolId|“ToolName”] [X|Y|Z] [S…] [DL…] [DR…]
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.ParsingSyntaxs.Heidenhain.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.ParsingSyntaxs.Heidenhain", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.ParsingSyntaxs.IntegerTagValueSyntax", "Summary": "Assignment syntax for named (identifier-style) variables with = sign.\nHandles variables that are multi-character identifiers\nrather than {prefix}{digits}.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax", "Summary": "Syntax for numbered flags (prefix + number) with optional decimal support.\n
\nSingle-digit integer codes are zero-padded to canonical 2-digit form\n(e.g. M6 → M06, G0 → G00, M3 → M03)\nso that downstream logic syntaxes comparing against\n
Syntax for flags with attached parameters (e.g., G54.1P1, G10L2P1).\nThis is essentially a combination of main flag matching (like
Applies the “conventional type” decimal-point interpretation to coordinate\nvalues in Y20), it is shrunk by\nthe implied decimal places: Y20 → Y0.020 (3 decimal places).\nValues that already contain a decimal point are left unchanged.
\nPlace inside
Captures a whole-line Siemens subprogram-call statement into\nParsing.SiemensCall for\n
HQ_FC(1,50,75,160), L_39(0.000,0.000),\nHH_ROBOT(2) → { \"Name\": \"HQ_FC\", \"Args\": [\"1\",\"50\",…] }.\nThe argument grammar (complete quoted runs admitted, quote-aware comma\nsplit) is L9810, L_ZYM91,\nHH_ROBOTOFF, with an optional repeat count L123 P3 →\n{ \"Name\": \"L123\", \"P\": 3 }. Restricted to L-leading or\nunderscore-bearing identifiers on purpose: this syntax runs ahead of\n\nPlacement: last of the dedicated statement owners and still before\nWRITE stays with\nthe quoted-statement quarantine; control-flow words are reserved for\ntheir future syntaxes). Whole-line anchored: a call mixed with other\ntokens (L9810 M8) does not match and stays visible in the\nunparsed warning.\n
Captures whitelisted Siemens cycle calls of the shape\nNAME(arg1,arg2,…) (or the bare NAME form) from the\nunparsed line text into a Parsing.NAME sub-object holding the\nverbatim positional argument strings:\nCYCLE832(0.05,_ORI_FINISH,0.8) →\nParsing.CYCLE832 = { “Args”: [“0.05”, “_ORI_FINISH”, “0.8”] }.\nEmpty slots (,,) stay as empty strings; NAME() yields an\nempty Args array; a bare NAME yields\n{ “Bare”: true } (a marker — empty sub-objects would be swept\nby intermediate CleanupParsing calls before the consumer runs).\nA brand Logic syntax consumes the sub-object\n(e.g.
\nStrictly whitelist-based (CYCLE832 + CYCLE800) — a generic WORD(args)\ncapture would eat OEM/unknown calls (HQ_FC(...),\nL_39(...)) whose safe-skip handling is a separate work item,\nand every unlisted call deliberately stays whole in\nUnparsedText--Remaining warning.\n
\nMust be placed early in the Parsing bundle — before the assignment\nand tag-value syntaxes: argument tokens standing after ( or\n, (_ORI_FINISH, or axis-letter shapes like V1)\nwould otherwise be shredded by\nCYCLE800(1,\"TC1\",…)): the args body admits complete\n\"…\" runs (which may hide ) or ,) and the\ncomma split is quote-aware; quotes are kept verbatim in the captured\narg string so the consumer distinguishes \"0\" (name) from\n0 (number). A line whose quotes do not pair falls through\nwhole to
Consumes Sinumerik variable declarations\n(DEF REAL _X_HOME=155.5, _SAFE_Z / DEF INT N_ST=3) and\nlowers each declared name into Parsing.Assignments: initialised\nnames carry their initialiser expression text (the Evaluation bundle\nresolves and routes it into Vars.Named like any named\nassignment), bare names carry “0” — Sinumerik default-initialises\nnumeric types to zero, so a later G0 Z=_SAFE_Z reads 0 instead of\nfailing vacant.
\nMust run before _X_HOME=155.5 but strand DEF REAL (and the comma list) as\nunparsed residue. Initialiser expressions are delimited by the\n
\nBOOL/CHAR initialise to 0 like INT; STRING\ndeclarations are not lowered (string values have no numeric store) —\nthe statement is consumed whole so it cannot shed ghost tokens. The\ndeclaration itself leaves no Parsing record: the lowered Assignments\nentries carry the entire semantic payload, and an inert record would\nonly re-surface as an Unconsumed residue.\n
Captures a whole Siemens frame statement (TRANS/ATRANS/ROT/AROT/\nROTS/AROTS/CROTS/SCALE/ASCALE/MIRROR/AMIRROR, bare or with\narguments) into a Parsing.<keyword> sub-object.\nSinumerik requires frame instructions in a block of their own, so\nthe whole remaining line belongs to the statement.
\nThe consumed keywords (TRANS/ATRANS/ROT/AROT/ROTS/AROTS — see\nX0, Y90.) and equals forms\n(RPL=45, Z=R5) both supported. Literal values are\nstored as JSON numbers; non-literal right-hand sides stay strings so\nAROT Z=R5 →\nParsing.AROT = { \"Z\": \"R5\" }). A token outside the modeled\ngrammar makes the whole statement fall back to the verbatim\n
\nThe remaining keywords (CROTS/SCALE/ASCALE/MIRROR/AMIRROR\n— zero corpus occurrences, no simulation) keep the verbatim\n{ \"Statement\": \"<args>\" } quarantine; the Logic consumer\nreports them as recognized-but-not-simulated. Either way the axis\nwords are kept out of reach of the quote/context-blind tag-value\nsyntaxes below, which would otherwise mint them into\nParsing.X/Y/Z and let
\nMust be placed early in the Parsing bundle — after\nROT RPL=45 shape would otherwise feed\n
Captures Siemens GOTOF/GOTOB jump statements whole into\nParsing.SiemensGoto. Four forms are recognised, mirroring the\nFanuc phrase-level split (IF ... GOTO is one phrase, not an IF\ncomposed with a GOTO):
GOTOF <label> / GOTOB <label> —\n unconditional forward / backward jump.IF <cond> GOTOF <label> /\n IF <cond> GOTOB <label> — the Sinumerik\n single-line conditional jump (no brackets around the condition).\nPlacement: inside the whole-statement owner group, after\nIF <cond> phrase,\nso this owner must win first (the block-IF owner also refuses\nGOTOF/GOTOB tails defensively). Must run before the assignment\nsyntaxes: IF R1==1 GOTOF LBL1 would otherwise be shredded by\nthe assignment capture (its LHS grammar matches R1 and the\nfirst = of ==).\n
\nThe label is captured as written (LBL1, MARKE_A, or an\nN<num> block number — both are legal Sinumerik jump\ntargets). The condition string is left for\n
Captures the Siemens block-conditional phrases whole into\nParsing.SiemensIf: IF <cond> (no brackets on\nSinumerik), ELSE, ENDIF. The single-line jump form\n(IF <cond> GOTOF <label>) belongs to\n(?!GOTO\\b)\nprecedent).
\nPlacement: whole-statement owner group, before the assignment\nsyntaxes — a condition like R1==1 would otherwise be shredded\nby the assignment capture (LHS grammar matches R1 plus the\nfirst =). The condition string is left for\n
Consumes a Siemens label at block start (LBL1: — identifier\nfollowed by a colon, optionally after the N head index) into a\nblock-root SiemensLabel.Name. Writing the\nrecord at the block root (not under Parsing) keeps the passive\ntoken out of Parsing.Def\nentry behind.
\nAnchored at the start of the remaining unparsed text, so a label\nburied mid-line is not captured (Sinumerik allows one label per block,\nat block start). Text after the colon stays in\nLBL1: G1 X0 executes its trailing motion normally.\nThe probe usage requires this syntax to stay self-sufficient: it reads\nonly UnparsedText and never touches the dependency list.\n
Captures the Siemens loop-construct phrases whole, one Parsing\nsection per construct family:
\nWHILE <cond> / ENDWHILE →\n Parsing.SiemensWhile.FOR <var> = <start> TO <end> /\n ENDFOR → Parsing.SiemensFor. The start expression is\n stored as a single-entry Init map keyed by the variable name\n — the evaluator's pass-2 tree walk rewrites values only, never\n keys, so the loop variable's name survives even when it collides\n with a set named variable. Literal start/end bounds are written as\n numeric JSON values directly (writer decides the node type);\n expressions stay strings for the evaluator.REPEAT / UNTIL <cond> →\n Parsing.SiemensRepeatUntil. Only the label-less form is\n taken — REPEAT LBL1 ... is the P4 section repeat owned by\n LOOP / ENDLOOP → Parsing.SiemensLoop.\nPlacement: whole-statement owner group, after\nFOR R1=0 TO 10 would\notherwise be shredded by the assignment capture (R1=0 is a\nlegal assignment shape and the TO 10 tail strands).\n
Captures a Siemens MCALL modal-call statement whole into a\nParsing.MCALL sub-object:\nMCALL CYCLE81(500.,327.9137,0.5,324.564,,,0,1,0) →\n{ “CycleName”: “CYCLE81”, “Args”: ["500.", …] }; a bare\nMCALL (modal cancel) → { “Bare”: true }; a\nparenthesis-less callee (MCALL L123) keeps\nCycleName without Args. The Logic consumer\n(CYCLE8x family onto the shared canned-cycle modal\nmachinery and warns on everything else.
\nWhole-statement owner: MCALL lines are standalone in the corpus, and\nowning the full statement keeps the cycle's positional arguments away\nfrom the assignment / tag-value syntaxes (same shredding hazard as\nMCALL would otherwise be captured bare-of-context and\nstrand the MCALLL word. A line mixing MCALL with other tokens\ndoes not match and falls through whole to the visible unparsed\nwarning.\n
Consumes a Siemens MSG(“text”) operator display call (or the\nbare MSG() clear form) from the unparsed line text into a\nblock-root Msg–Display system message.
\nMust be placed before every assignment / tag-value / flag\nsyntax in the Parsing bundle (right after\nMSG(\"TOOL=5\"), MSG(\"G54 OK\"),\nMSG(\"T20 R8.000 CR:2.500\")) which the quote-blind consumers\ndownstream would otherwise shred into ghost assignments, flags, or\naxis words. Consuming the whole call here removes that hazard\nstructurally — the planned fix recorded on\n
\nOnly the two literal forms are consumed: MSG(\"...\") and\nMSG(). Non-literal arguments (string concatenation\nMSG(\"A\"<<R1), variable interpolation) are deliberately\nleft whole in UnparsedText--Remaining warning — half-eating them\nwould silently lose content.\n
Consumes a Siemens PROC subprogram declaration header\n(PROC MY_SUB, PROC CONTOUR(REAL X, INT N) SAVE DISPLOF)\nwhole into a block-root Parsing entry) following the\n
\nAnchored at statement start: Sinumerik requires PROC to be the\nfirst statement of a subprogram file, so a mid-line PROC is\nleft alone (visible unparsed warning).\n
Quote guard: any line text still carrying a double quote after the\nliteral-form consumers (Parsing.QuotedStatement = { “Statement”: “<verbatim>” } —\nWRITE(ERROR,“CUTTIME”,“T5 X100”), string-concatenation\nMSG("..."<<R1), quoted-argument cycles not yet whitelisted.
\nEvery quote-blind syntax below (flags, numbered flags, tag values,\nassignments) opens a token boundary at the quote→letter transition,\nso without this guard the string contents get minted into REAL parser\nstate: \"G54\" inside a WRITE argument silently switches the\nactive work offset, \"T5 X100\" mints a ghost tool call plus a\nghost motion. Quarantining keeps the whole statement visible as one\nParsing--Unconsumed entry (QuotedStatement.Statement)\nwith zero state changes — the same deferred-not-corrupted contract as\n
\nTrade-off, deliberate: on an exotic mixed block the guard also takes\nthe co-resident plain words (a motion word sharing the block with an\nunconsumed quoted call goes into the quarantine too). Losing them is\nvisible in the warning text; minting false state would be silent —\nnever trade the first for the second. Corpus quoted statements\n(WRITE, non-literal MSG) are standalone blocks.\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.ParsingSyntaxs.Siemens.SiemensRepeatParsingSyntax.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.ParsingSyntaxs.Siemens.SiemensRepeatParsingSyntax.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.ParsingSyntaxs.Siemens.SiemensRepeatParsingSyntax", "Summary": "Captures a Siemens REPEAT statement whole into\nParsing.SiemensRepeat: REPEAT LBL1 LBL0 →\n{ “Start”: “LBL1”, “End”: “LBL0” }, with an optional trailing\nrepetition count (P=3 or P3). The Evaluation consumer\n(REPEAT LBL1 — repeat from the label back to the REPEAT line)\nis captured with End absent; the consumer currently warns it\nunsupported (corpus count: zero).
\nWhole-statement owner, anchored at statement start — mixing REPEAT\nwith other tokens on one block does not match and falls through whole\nto the visible unparsed warning. The end-label alternative refuses a\nP+digits word so REPEAT LBL1 P3 reads as\nstart-label + count, not as an end label named P3.\n
Consumes the Siemens string tool call T=“name” from the\nunparsed line text into Parsing.T as a string value\n(quotes stripped). Numeric concatenated calls (T5) stay with\nthe preset's
\nMust be placed before every tag-value syntax in the Parsing\nbundle: tool names routinely contain NC-shaped tokens\n(T=\"D16R3Z6\" — quote-blind consumers would mint ghost\nParsing.D/Parsing.Z entries out of the name;\n(?<=[0-9]) and quote→letter \\b boundaries in\n
\nA second T=\"...\" behind a ; comment\n(T=\"M6LWXD-1301\";T=\"M6LWX\", real corpus shape) never reaches\nthis syntax — the quote-aware\n
Assignment syntax with = sign.\nUnlike
Concatenated tag-value syntax (no = sign), glued by default.\nex.\nHeidenhain: L X+Q2 Y33.4 FQ1\nISO: X100.3Y3.3\nWith
Detects the % tape leader / trailer at the start of a block\nand records it under O1234) is a\nseparate concern handled by its own brand-specific syntax.
Per-block modal-section carry. For each key in
\nA JSON section is a candidate for
MotionState; the call/return pair own\n SubProgramCall-derived state).Vars.Local dict-merge — carry only when\n MacroFrame matches) belong in the owning syntax's own\n carry logic, not here.node.Previous read, or no carry\nat all if absence is meaningful — e.g. MacroFrame absent = main\nframe).\n\n\nThis replaces the earlier CacheSyntax design (which sampled\nevery Pace blocks). The legacy CacheSyntax XName is still\nrecognised on load for backward compatibility with previously-saved\nproject files.\n
Resolves cutter radius compensation (G41/G42/G40) by offsetting the\ntool path perpendicular to the programmed direction.
\n\nMust be placed after motion syntaxes (
\nFor simple cases (line-line, no transient), the syntax overwrites\nMachineCoordinate with the offset position. For arc blocks\nthat need transient bridging segments, the Motion section is\nreplaced with a
Heidenhain NC block builder.\nAlso support single line NC block.
\n\nTwo grouping rules produce multi-line
~ continuation (modern TNC cycle\ndefinitions): a line whose last visible character is ~\ncontinues on the next physical line; the chain ends at the first\nline without a trailing ~. Both corpus spellings are\naccepted — \"… ;STRATEGIE ~\" (space before, after a trailing\ncomment) and \"DATUM SETTING~\" (glued). Continuation lines\ncarry no klartext block number. Configurable via\n~ are simply mis-simulated without it, so legacy XML without\nthe attribute also gets the join).CYCL DEF): consecutive lines sharing the same\nCYCL DEF n head group into one sentence\n(7.0/7.1/… style).~ characters stay in the raw UnparsedText via\nInterface to segment
Segments NC lines by an inline delimiter (e.g. ';').\nA line containing the delimiter produces multiple
Maps each physical source line to one
Resolves
\nThe CL (cutter location) endpoints are derived from MC endpoints via\nforward kinematics, then interpolated linearly. The MC path is\nnon-linear because the tool orientation changes during the move.\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Semantics.CompoundMotionSemantic.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Semantics.CompoundMotionSemantic.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Semantics.CompoundMotionSemantic", "Summary": "Resolves
Resolves the
Resolves
Resolves
Base class for resolving
\nAlso supports an external script dictionary via
Resolves
Read MachineCoordinate from
Resolves
Resolves
\nDiscriminates by whether the block's rotary state actually CHANGED from\nthe previous modal state (
d = √(ΔX² + ΔY² + ΔZ² + ΔA_deg² + ΔB_deg² + ΔC_deg²)Resolves
\nThe arc geometry (center, direction, additional circles) was resolved by\nduration = length / feedrate (mirroring HardNc\nNcProc.GetActSpiralMcXyzContour), and emits the polar spiral act\nwhose per-step polar→machine conversion chains the C-axis branch.\n
\nWhen NcProc.GetActsFromArcCommand: an optional\nGetActMcContourByLinearProgramPos.\n
Resolves
\nReads the anchor-relative polar positions written by\nNcProc.GetActMcPolarLinearContour. Duration\nmirrors HardNc GetTimeCostByPolarLinearContour, including the\nC-axis speed clamp on the hypothetical component — the ceiling comes\nfrom the rotary rate bucket\n(MaxRotarySpeedABC.\n
Resolves
Reports a diagnostic error when
Resolves
\nA string ToolId (Siemens T=\"name\" call) is resolved to a\ntool number through\nToolChange--NameUnresolved warning and produces no act.\n
Resolves the
A small NC block for one or several lines.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.SoftNcRunner.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.SoftNcRunner.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.SoftNcRunner", "Summary": "Configurable NC Runner.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.SoftNcUtil.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.SoftNcUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.SoftNcUtil", "Summary": "JSON helpers for soft-NC blocks: vectors under
Depth-First Sequential Syntaxes management.\nIt saves space by save the LazyLinkedLists from each syntax to only one LazyLinkedLists in
Longest-valid-prefix expression parse over source:\nreturns true with consumedLength set to the\nnumber of leading characters forming a valid expression (the grammar\ndecides where a captured RHS ends), or false when not even a\nprefix parses. Capture syntaxes take this as an optional hook so the\nassignment/tag grammars stay decoupled from any concrete expression\nparser (see NcExpressionDialectUtil.TryParsePrefix).
Pre-built
Generic/ISO standard syntax kit. Involve G code.\nContains syntax definitions for common G codes used across multiple NC systems.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Syntaxs.HeidenhainSyntaxUtil.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Syntaxs.HeidenhainSyntaxUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Syntaxs.HeidenhainSyntaxUtil", "Summary": "Pre-built parsing syntax fragments for Heidenhain-style programs (Q variables, FMAX/FAUTO, etc.).
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Syntaxs.IExpandingNcSyntax.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Syntaxs.IExpandingNcSyntax.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Syntaxs.IExpandingNcSyntax", "Summary": "Expanding syntax: transforms one
Base interface for syntax-level data transformation on\n
In-situ syntax: mutates the
Mazak-specific NC syntax utilities.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Syntaxs.NcSyntaxUtil.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Syntaxs.NcSyntaxUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Syntaxs.NcSyntaxUtil", "Summary": "JSON serialization settings and grab/set helpers for NC block
Pre-built parsing syntax fragments for Siemens-style programs (R parameters, TRAORI, etc.).
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Syntaxs.SyntaxPiece.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Syntaxs.SyntaxPiece.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Syntaxs.SyntaxPiece", "Summary": "One NC block's source line paired with its parsed JSON payload during soft-NC processing.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Syntaxs.SyntaxStageKeys.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Syntaxs.SyntaxStageKeys.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Syntaxs.SyntaxStageKeys", "Summary": "Shared JSON key constants written by post-Logic and Inspection stage\nsyntaxes. Central registry so the string literals do not drift across\nsyntax files; readers of cache dumps can reference these constants\ndirectly rather than hard-coding the raw strings.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Syntaxs.SyntecSyntaxUtil.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Syntaxs.SyntecSyntaxUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Syntaxs.SyntecSyntaxUtil", "Summary": "Syntec-specific NC syntax utilities.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Syntaxs.TagValue.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Syntaxs.TagValue.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Syntaxs.TagValue", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.NcParsers.Syntaxs.TransformationUtil.yml", "output": { ".html": { "relative_path": "api/Hi.NcParsers.Syntaxs.TransformationUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.NcParsers.Syntaxs.TransformationUtil", "Summary": "Utilities for the {Source, Kind, Mat4d}; entries are composed in order\nwith pure matrix multiplication (
\n
Represents an action that records the absolute controller timestamp\n(wall-clock
Represents an action that sets the actual time for a machine step.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActClArc.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActClArc.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActClArc", "Summary": "Represents an arc movement action for cutter location.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActClArcMcXyzabcContour.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActClArcMcXyzabcContour.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActClArcMcXyzabcContour", "Summary": "Arc twin of
Represents a linear cutter location movement action.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActClLinearMcXyzabcContour.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActClLinearMcXyzabcContour.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActClLinearMcXyzabcContour", "Summary": "Represents a combined linear movement in both cutter location and machine coordinates.\nThis class handles synchronized linear interpolation of tool position and orientation.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActClStep.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActClStep.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActClStep", "Summary": "Represents a single cutter-location step with optional duration.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActClTeleport.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActClTeleport.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActClTeleport", "Summary": "Represents a teleport action for cutter location, allowing instant position change without movement.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActCooling.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActCooling.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActCooling", "Summary": "Represents a coolant state transition — the cutting-fluid delivery\nmode changes on the machine (from e.g.
Action that add data to the step.\nThe data is maybe from the sensor or computed, etc..
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActDelay.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActDelay.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActDelay", "Summary": "Represents a delay action in machining operations.\nThis class implements a simple time delay in the machining process.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActFeedrate.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActFeedrate.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActFeedrate", "Summary": "Represents a feedrate action for controlling the speed of machining operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActHiddenStateChanged.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActHiddenStateChanged.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActHiddenStateChanged", "Summary": "Represents an action that indicates a change in the hidden state of an object.\nThis action is typically skipped during normal processing.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActIntentionalSkip.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActIntentionalSkip.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActIntentionalSkip", "Summary": "Represents an action that is intentionally skipped during processing.\nUsed to explicitly mark operations that should be bypassed.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActLineBegin.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActLineBegin.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActLineBegin", "Summary": "Represents the beginning of a line act in numerical control operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActLineCsScript.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActLineCsScript.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActLineCsScript", "Summary": "Cs Script on one Line.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActLineEnd.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActLineEnd.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActLineEnd", "Summary": "Represents the end of a line act in numerical control operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActMcPolarLinearContour.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActMcPolarLinearContour.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActMcPolarLinearContour", "Summary": "Polar MCZ linear contour.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActMcPolarSpiralContour.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActMcPolarSpiralContour.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActMcPolarSpiralContour", "Summary": "Circular (arc/helix) contour on the polar hypothetical plane while\nPolar Coordinate Interpolation (Fanuc G12.1) is active.
\n\nThe arc geometry lives entirely in central polar Rxcz coordinates\n(X = radius-direction linear axis mm, Y = hypothetical rotary-substitute\naxis mm, Z = real Z mm, origin on the rotary center) — the same spiral\nmath as atan2 angle drives the machine C axis with the branch chained from\nthe previous step (
atan2, whose machine C\njumps by one cycle at the branch cut (same physical pose).\nAction of Machine Coordinate XYZ contour by Machine Coordinate linear interpolation.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActMcXyzSpiralContour.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActMcXyzSpiralContour.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActMcXyzSpiralContour", "Summary": "Represents a spiral contour movement in machine XYZ coordinates.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActMcXyzStep.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActMcXyzStep.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActMcXyzStep", "Summary": "Action representing a machine coordinate XYZ step movement.\nThis class handles linear positioning in machine coordinates.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActMcXyzabcLinearContour.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActMcXyzabcLinearContour.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActMcXyzabcLinearContour", "Summary": "Action of Machine Coordinate XYZABC contour by Machine Coordinate orientable linear interpolation.\nThis class handles complex tool movements with both position and orientation control.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActMcXyzabcStep.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActMcXyzabcStep.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActMcXyzabcStep", "Summary": "Action of Machine coordinate XYCABC Step.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActMcXyzabcTeleport.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActMcXyzabcTeleport.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActMcXyzabcTeleport", "Summary": "Instant machine-coordinate reposition — the MC counterpart of\nFROM / first-motion blocks when the runner drives\nan MC machine.
Rapid feedrate.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActSpindleDirection.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActSpindleDirection.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActSpindleDirection", "Summary": "Represents an action that sets the spindle rotation direction.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActSpindleOrientation.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActSpindleOrientation.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActSpindleOrientation", "Summary": "Oriented spindle stop — commands the spindle to stop at a specific\nangular position. Used by G76 (fine boring) and G87 (back boring)\nto orient the tool before lateral shift.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActSpindleSpeed.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActSpindleSpeed.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActSpindleSpeed", "Summary": "Represents an act that controls the spindle speed in numerical control operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActToolingStep.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActToolingStep.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActToolingStep", "Summary": "Action of equiping the tool with machining step operation such as collision detection and volume removal.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActToolingTeleport.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActToolingTeleport.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActToolingTeleport", "Summary": "Action of Equiping the tool without machining step operation such as collision detection and volume removal.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActUnknownSkip.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActUnknownSkip.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActUnknownSkip", "Summary": "Represents an act that skips unknown operations in numerical control.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ActUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ActUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ActUtil", "Summary": "Provides utility methods for numerical control actions.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.ArcRadialClosure.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.ArcRadialClosure.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.ArcRadialClosure", "Summary": "Classifies the radial closure of an arc motion — how far the arc's\nendpoint sits off the circle its center defines, measured as the gap\nbetween the begin radius and the end radius on the arc plane.\nA genuine arc closes (gap 0). The simulation accepts any gap and runs\nthe block as a spiral whose radius blends linearly\n(
Action parsing from NC, CL, NC Steps and etc., for controlling the mechanism and the mechanism simulation process.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.IActClMove.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.IActClMove.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.IActClMove", "Summary": "Interface for actions that involve cutter location movement.\nThis interface defines the contract for tool path movements in machining operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.IActDuration.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.IActDuration.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.IActDuration", "Summary": "Interface for actions that have a specific duration.\nThis interface is used to define actions that take a measurable amount of time to complete.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.IActMachineStep.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.IActMachineStep.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.IActMachineStep", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.IActMcXyzContour.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.IActMcXyzContour.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.IActMcXyzContour", "Summary": "Interface for actions that represent machine XYZ contours.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.IActMcXyzabcContour.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.IActMcXyzabcContour.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.IActMcXyzabcContour", "Summary": "Interface for actions that represent machine XYZABC contours.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.IActSkip.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.IActSkip.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.IActSkip", "Summary": "Interface for actions that should be skipped during normal processing.\nActs as a marker interface to identify actions that should not be executed.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.IActTooling.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.IActTooling.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.IActTooling", "Summary": "Represents a tooling action that changes or selects a tool.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.IWorkTimeAttrib.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.IWorkTimeAttrib.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.IWorkTimeAttrib", "Summary": "Interface for objects that provide both read and write access to work time.\nCombines the functionality of IWorkTimeGetter and IWorkTimeSetter.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.IWorkTimeGetter.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.IWorkTimeGetter.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.IWorkTimeGetter", "Summary": "Interface for objects that provide read-only access to work time.\nThis interface is part of the work time tracking system for machining operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.IWorkTimeSetter.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.IWorkTimeSetter.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.IWorkTimeSetter", "Summary": "Interface for objects that provide write-only access to work time.\nThis interface is used for components that need to update work time without reading it.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.StateActRunner.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.StateActRunner.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts.StateActRunner", "Summary": "Manages the state of numerical control operations during runtime.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Acts.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Acts.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Acts", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Args.OrthogonalPlaneFlag.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Args.OrthogonalPlaneFlag.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Args.OrthogonalPlaneFlag", "Summary": "Plane Selection Flag.\nFanuc Group02 flags.\nthe int value is the plane dir number.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Args.PolarModeDirEnum.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Args.PolarModeDirEnum.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Args.PolarModeDirEnum", "Summary": "Polar coordinate interpolation mode direction.\nYA,ZB has not implemented yet.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Args.PolarPairDef.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Args.PolarPairDef.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Args.PolarPairDef", "Summary": "Axis mapping of a Polar Coordinate Interpolation pair\n(
\nThe polar math itself runs in \"triple space\" — the Rxcz vector\n(linear/radius, hypothetical, depth) with the plane normal fixed at the\nthird component — and is pair-independent; this definition maps the\ntriple's ends onto real axes: NC words on the way in, machine\ncoordinates on the way out. The plane normal equals the rotary's\nrotation axis (C about Z, A about X, B about Y), so\n
\nThe lathe diameter-programming convention (the radius word arrives\ndoubled) applies to the X axis only, i.e. the XC pair — mirroring\nHardNc PolarEntry, which halves X unconditionally. HardNc's own\nYA/ZB slots are dead code (never selected); its\nProgramOrthogonalPlaneNormal table carried swapped normals for\nthem, corrected alongside this implementation.\n
MC-machine counterpart of the McXyzSyntax) and the\nprevious block's modal state.\nFeedrate/rapid timing mirrors
Resolves the pure-CL motion forms into cutter-location acts that drive a\nClMillingDevice chain directly — no machine coordinates involved:\nFeedrate section);\nrapid moves emit
\nContrast with
Valve that routes each block to exactly one motion-semantic family, so\nthe leaves keep a single duty and never need cross-guards:
\nMachineCoordinateState section (written by\nMcXyzSyntax when the chain\nis an MC machine) →\nClMillingDevice project) →\nMC-machine counterpart of the McXyzSyntax. Mirrors the\npure-CL teleport semantics —\nno machining step, no time accumulation.
Endpoint inverse kinematics for driving an MC machine from CLSF input,\nexpressed in the NC pipeline's transform vocabulary: when the pipeline's\nIXyzabcChain), each pure-CL motion block\ngets
ProgramXyz × chain exactly like the NC pipeline.ClMillingDevice project) this syntax is\ninert and the pipeline stays pure CL.\n\nEntry Kind follows the block's posture: when the solved rotary\nendpoint cyclically equals the previous block's modal state the entries\nare
\nWhen the endpoint cannot be solved (e.g. a tilted normal on a 3-axis\nmachine) the block's MotionEvent (and arc payload) is removed\ntogether with its ProgramXyz and transform chain — so\n
JSON section names and keys specific to the NX-CL (CLSF) pipeline.\nGeneral sections shared with the NC/CSV pipelines\n(MotionEvent, Feedrate, SpindleSpeed, Coolant,\nToolChange) keep their contracts from\n
Inspection-stage tail of the CLSF record chain. A record that survived\nevery RecordTo* syntax is dispatched here:
PAINT, TOOL PATH, …), consumed silently;UNITS — MM is the pipeline's native unit (silent);\nanything else keeps running but warns that coordinates are not\nconverted;SET_WORKPIECE — reported as ignored (the workpiece is\nproject-level configuration, not runner input);ClsfRecord--Unconsumed validation\nwarning.RecordTo* syntax.\n"
},
{
"type": "ManagedReference",
"source_relative_path": "api/Hi.Numerical.ClsfParsers.ClsfRecordSyntax.yml",
"output": {
".html": {
"relative_path": "api/Hi.Numerical.ClsfParsers.ClsfRecordSyntax.html"
}
},
"version": "",
"Uid": null,
"IsMRef": true,
"Title": "Hi.Numerical.ClsfParsers.ClsfRecordSyntax",
"Summary": "Per-record CLSF parsing syntax. Normalizes the block text (strips\n$$ comments, joins $ continuation lines), splits it into the\nrecord word and its comma-separated parameters, and stamps them into\nRecordTo* syntaxes to consume. Numeric parameters\nare pre-typed to
\nThe word is everything before the first / with whitespace runs\ncollapsed — multi-word heads (TOOL PATH) and hyphenated records\nwithout parameters (END-OF-PATH) are single words, fixing the\nlegacy parser's first-token-only dispatch.\n
Configuration dependency for the NX-CL (CLSF) runner: the rapid traverse\nrate (a CLSF has no machine axes, so RAPID timing needs an assumed\nrate), the tool-creation policy, and the intentionally skipped record\nwords. Also serves as the pipeline's McLinearMotionSemantic, ClLinearMcMotionSemantic) time\nrapids from the same assumed rates — axis-uniform: every linear axis gets\n
Segments an NX CLSF (cutter location source file) stream for the\n$$ comment)\nends with a single $ continues on the next line, so continued\nlines are joined into one multi-line
Materializes a milling tool from the modal\nTLDATA/MILL)\ninto the ToolChange section\nrequests a tool id the house does not hold — CLSF files carry their own\ntool definitions, so a project does not need to pre-configure every tool.\nWith
Expresses the modal CLSF MSYS frame in the NC pipeline's transform\nvocabulary on machine-coordinate motion blocks: the rotation part becomes\na ProgramXyz × composed chain → MachineCoordinateState.
\nEntry order carries the math: the MSYS matrix maps local points as\np·R + t (row-vector convention), so the rotation entry precedes\nthe translation entry. Both are\n
\nInert without a wired kinematics solver (pure-CL ClMillingDevice\nproject) and on non-motion blocks: the pure-CL pipeline keeps its own CL\nvocabulary and must never receive ProgramXyz or a transform chain\n—
Factory for a ClMillingDevice chain it\nresolves into pure-CL acts\n(ActClTeleport/ActClLinear/ActClArc); on an MC\nmachine (IXyzabcChain, detected through the wired\nProgramXyz, MachineCoordinateState from ProgramXyz × chain — and\nFeedrate, SpindleSpeed, Coolant,\nToolChange, MotionEvent), so the general semantics are\nreused unchanged; only the motion and tool-creation semantics are\nCLSF-specific.
\nThe modal carry runs first in the record bundle (unlike the NC\npipeline's carry-at-the-end): each piece receives the previous block's\nmodal sections (Msys, CutterLocationState, tool data,\nfeedrate, …) before its own record is resolved, so a GOTO reads its\nbegin point and MSYS from its own piece and then overwrites the state\nwith the new endpoint.\n
Translates the CLSF motion records into the pure-CL motion contract:
\nRAPID → one-shot FEDRAT cancels it).CIRCLE/MOVARC → one-shot\nGOTO → the modal MotionEvent whose\nForm is Translates a COOLNT record into the standardized\nON/FLOOD → MIST → OFF →\n
Translates a FEDRAT record into the standardized modal\nFeedrate section (always G94 — mm/min) plus the one-shot\nFEDRAT/MMPM,1400, FEDRAT/1400,MMPM, FEDRAT/1400\n(MMPM assumed), and IPM (converted to mm/min).
Translates an MSYS record into the modal
Translates a SPINDL record into the standardized\nSPINDL/8000,RPM,CLW or SPINDL/RPM,8000,CLW):\nthe first numeric field is the rpm, a field containing CCLW selects\ncounter-clockwise, and SPINDL/OFF maps to\n
Translates the CLSF tooling records:
\nTLDATA/MILL,… → the modal LOAD/TOOL,n[,XOFF,x][,YOFF,y][,ZOFF,z] → the standardized\nToolChange section (Represents different CNC controller brands supported by the system.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.CommentMark.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.CommentMark.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.CommentMark", "Summary": "Enumeration of different comment mark types used in NC code.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.CoolantMode.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.CoolantMode.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.CoolantMode", "Summary": "Cutting-fluid delivery mode parsed from typical NC coolant machine functions\n(e.g. M07 / M08 / M09). Values are consumed by higher-level machining simulation\nand thermal models that map each mode to convection and temperature assumptions.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.CoordinateInterpolationMode.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.CoordinateInterpolationMode.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.CoordinateInterpolationMode", "Summary": "Defines the coordinate interpolation mode for NC operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.CsvParsers.CsvActDataSemantic.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.CsvParsers.CsvActDataSemantic.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.CsvParsers.CsvActDataSemantic", "Summary": "CSV extension semantic: emits CsvRow columns — those not claimed by any RowTo*Syntax\n(tool id, spindle, feedrate, coolant, time, csscript) nor by the machine /\ncutter coordinate prefixes. A caller-supplied\n
CSV extension semantic: emits CsvRow. This is telemetry the general semantic list does not cover —\nthe absolute controller timestamp of the recorded sample. Stateless; the\nduration that consumes this timestamp is computed independently by\n
CSV motion semantic — the recorded-duration counterpart of the general\n
\nFirst coordinate row (no previous MC) →
\nBecause the upstream
Per-row CSV parsing syntax for the soft NC runner. Reads the active\n
\nNumeric cells are pre-typed to
Configuration class for CSV Runner. Lives in\n
Segments a CSV stream for the
Factory for a RowTo*Syntax classes maps each decoded CsvRow into the same\nstandardized JSON sections the brand-NC pipeline writes\n(SpindleSpeed, Feedrate, Coolant, CsScript,\nToolChange, MachineCoordinateState, MotionEvent), and a\nmostly-general semantic list resolves them into acts. A handful of CSV\nextension semantics cover telemetry the general list does not\n(
\nThis is the flagship CSV runner — it superseded an earlier single-syntax /\nsingle-semantic pipeline.\n
\n\nRecorded vs. computed timing. CSV is replayed telemetry, so\nStepDuration / ActualTime delta) rather than\nfeedrate × distance. Because
Translates the coolant column of a decoded CsvRow into the\nstandardized
Translates the begin/end C# script columns of a decoded CsvRow\n(
Translates the feedrate column of a decoded CsvRow into the\nstandardized
Translates the machine-coordinate columns of a decoded CsvRow\n(prefixed by MC.X … MC.C) into the standardized\n
Must run before
Marks every CSV row that carries a\n
\nCSV telemetry has no rapid concept, so
Translates the spindle columns of a decoded CsvRow into the\nstandardized
Moves the recorded-timing columns of a decoded CsvRow\n(CsvTiming section, consuming them from CsvRow. The cells stay\nas raw strings (the source format may be a TimeSpan or\nDateTime literal); parsing happens later in\nRowTo* syntaxes own their columns — is what lets\nCsvRow as\nresidual telemetry without a hard-coded consumed-key list.
Translates the tool-id column of a decoded CsvRow into the\nstandardized ToolChange section\n(
Provides functionality for running and processing NC code lines.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.FilePlayers.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.FilePlayers.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.FilePlayers", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.FlexDictionaryUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.FlexDictionaryUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.FlexDictionaryUtil", "Summary": "Utility for flexible dictionary operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.HardNcComment.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.HardNcComment.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.HardNcComment", "Summary": "Represents a comment in NC code.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.HardNcEnv.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.HardNcEnv.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.HardNcEnv", "Summary": "Represents the numerical control environment containing configuration for CNC operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.HardNcLine.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.HardNcLine.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.HardNcLine", "Summary": "Represents a line in the NC program with its associated data and operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.HardNcUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.HardNcUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.HardNcUtil", "Summary": "Utility class for working with NC code.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.IFlexDictionaryHost-1.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.IFlexDictionaryHost-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.IFlexDictionaryHostInterface of
Interface for retrieving feedrate information.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.IGetSpindleSpeed.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.IGetSpindleSpeed.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.IGetSpindleSpeed", "Summary": "Interface for retrieving spindle speed and direction information.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.INcRunner.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.INcRunner.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.INcRunner", "Summary": "NC runner — parses and executes NC program lines. Nc is the umbrella\nterm for any machine-readable control program (famous-brand controller\ncode, NX-CL, CSV): the same runner contract serves all of them, and\n
Interface for setting feedrate information.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.ISetSpindleSpeed.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.ISetSpindleSpeed.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.ISetSpindleSpeed", "Summary": "Interface for setting spindle speed.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.MachiningMotionResolutionUtils.FeedPerCycleMachiningMotionResolution", "Summary": "Automatic resolution by feed per spindle cycle.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.MachiningMotionResolutionUtils.FeedPerToothMachiningMotionResolution", "Summary": "Automatic resolution by feed per tooth.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.MachiningMotionResolutionUtils.FixedMachiningMotionResolution", "Summary": "Represents a fixed machining motion resolution with user-defined values.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.MachiningMotionResolutionUtils.IMachiningMotionResolution.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.MachiningMotionResolutionUtils.IMachiningMotionResolution.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.MachiningMotionResolutionUtils.IMachiningMotionResolution", "Summary": "Interface of Machining Cycle Resolution.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.MachiningMotionResolutionUtils.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.MachiningMotionResolutionUtils.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.MachiningMotionResolutionUtils", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.MechNcUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.MechNcUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.MechNcUtil", "Summary": "NC Utility.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.MillingToolOffsetTable.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.MillingToolOffsetTable.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.MillingToolOffsetTable", "Summary": "Offset table for milling tool.\nThe key is Offset ID (H or D in NC code).
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.MillingToolOffsetTableRow.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.MillingToolOffsetTableRow.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.MillingToolOffsetTableRow", "Summary": "Raw of
Arc parameters for
Represents arguments for the G28 command (Return to Reference Point).
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcArgs.Group07NcArg.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcArgs.Group07NcArg.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcArgs.Group07NcArg", "Summary": "parameters of
NC Argument of NC Group09.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcArgs.HeidenhainCycleDef7Arg.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcArgs.HeidenhainCycleDef7Arg.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcArgs.HeidenhainCycleDef7Arg", "Summary": "Argument of Heidenhain CYCL DEF 7. Datum Shift.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcArgs.HeidenhainPlaneSpatialArg.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcArgs.HeidenhainPlaneSpatialArg.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcArgs.HeidenhainPlaneSpatialArg", "Summary": "Represents a Heidenhain spatial plane defined by rotation angles.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcArgs.IHeidenhainBlockCacheArg.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcArgs.IHeidenhainBlockCacheArg.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcArgs.IHeidenhainBlockCacheArg", "Summary": "Interface for Heidenhain block cache arguments.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcArgs.IHeidenhainPlaneArg.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcArgs.IHeidenhainPlaneArg.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcArgs.IHeidenhainPlaneArg", "Summary": "Interface for Heidenhain plane arguments.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcArgs.ITiltPlaneNcArg.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcArgs.ITiltPlaneNcArg.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcArgs.ITiltPlaneNcArg", "Summary": "Interface of Tilt plane NC Arg. i.e. Group16 and Heidenhain Plane argument.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcArgs.NcArgCycle800.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcArgs.NcArgCycle800.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcArgs.NcArgCycle800", "Summary": "Represents parameters for Siemens CYCLE800 (Plane Tilting / Swivel).
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcArgs.NcArgG68.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcArgs.NcArgG68.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcArgs.NcArgG68", "Summary": "Represents arguments for G68 coordinate rotation command.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcArgs.NcArgG68p2.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcArgs.NcArgG68p2.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcArgs.NcArgG68p2", "Summary": "Represents arguments for G68.2 three-dimensional coordinate conversion command.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcArgs.NcArgSiemensFrame.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcArgs.NcArgSiemensFrame.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcArgs.NcArgSiemensFrame", "Summary": "Represents Siemens frame transformation (AROT/ROT/TRANS/ATRANS).\nSimilar to Heidenhain PLANE SPATIAL or FANUC G68.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcArgs.PausingNcArg.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcArgs.PausingNcArg.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcArgs.PausingNcArg", "Summary": "Pausing, i.e. G04, parameters for
NC Flag.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcFlagUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcFlagUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcFlagUtil", "Summary": "Utility class for working with NC flags and their lifecycle modes.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcGroup00.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcGroup00.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcGroup00", "Summary": "NcGroup enum.\nGCode Group00.\nInclude
NcGroup enum.\nFor linear move mode: G00 or G01.\nG00 is rapid move.\nG01 is linear cut.\nG02 is CW cut; G03 is CCW cut.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcGroup02.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcGroup02.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcGroup02", "Summary": "NcGroup enum.\nPlane selection.\nInclude
NcGroup enum.\nAbsolute(G90) or increment(G91) coordinate.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcGroup05.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcGroup05.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcGroup05", "Summary": "NcGroup enum.\nFor feedrate.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcGroup06.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcGroup06.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcGroup06", "Summary": "NcGroup enum.\nGroup of unit.\nIn mm or in inch.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcGroup07.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcGroup07.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcGroup07", "Summary": "NcGroup enum.\nLeft or right compensation for tool radius, etc..\nSee
NcGroup enum.\nTool length compensation, etc..\n
NcGroup enum.\nCanned cycle.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcGroup10.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcGroup10.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcGroup10", "Summary": "NcGroup enum.\nCanned cycle return point.\n
NC Group 13 for constant surface speed control.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcGroup14.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcGroup14.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcGroup14", "Summary": "NcGroup enum.\nCoordinate system. Such as
NcGroup enum.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcGroup16.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcGroup16.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcGroup16", "Summary": "NcGroup enum.\nRotation plane related.\nInterface of get transformation.\nHeidenhain equivalent group is
NcGroup enum.\nPolar coordinate interpolation mode.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcGroupAttribute.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcGroupAttribute.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcGroupAttribute", "Summary": "NC Group Attribute.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcGroupHeidenhainM107M108.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcGroupHeidenhainM107M108.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcGroupHeidenhainM107M108", "Summary": "NcGroup enum.\nHeidenhain group.\nEnable or disable Suppress error message for replacement tools with oversize.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcGroupHeidenhainPlane.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcGroupHeidenhainPlane.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcGroupHeidenhainPlane", "Summary": "Heidenhain Group Plane related.\nISO equivalent group is
NcGroup enum.\nHeidenhain group.\nshortest rotary state.\n
NcGroup enum.\nSpindle rotation control.\nSee
Attribute to specify the lifecycle mode of an NC flag.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcLifeCycleMode.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcLifeCycleMode.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcLifeCycleMode", "Summary": "Defines the lifecycle mode of NC commands.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcNameAttribute.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcNameAttribute.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcNameAttribute", "Summary": "Attribute used to define a name for NC flags and other enumeration fields.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcNoteCache.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcNoteCache.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcNoteCache", "Summary": "Cache for notes and warnings generated during NC line parsing.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcProc.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcProc.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcProc", "Summary": "Provides processing utilities for NC programming.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NcWarningSceneEnum.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NcWarningSceneEnum.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NcWarningSceneEnum", "Summary": "Defines scene types for NC warnings.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.NumericUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.NumericUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.NumericUtil", "Summary": "Utility class for numeric operations and unit conversions.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.PolarEntry.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.PolarEntry.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.PolarEntry", "Summary": "The class for G12.1 Polar mode.\nIn G12.1 Polar mode, NC code applies (X,C) as (linear axis, hypothetical axis).\nXC, YA, ZB are available.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.RadiusCompensationBuf.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.RadiusCompensationBuf.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.RadiusCompensationBuf", "Summary": "Buffer for radius compensation (G41/G42) operations in numerical control.
\n\nAt each line junction, the offset paths of adjacent lines may form an intersection\n(intersected rays) or align directly (parallel rays). For straight lines, the tool\ngoes to the intersection point. For arcs, the offset curve doesn't pass through the\nintersection, so transient points bridge the gap:\nArc → TransientEnd → (linear) → Intersection → (linear) → TransientBegin → NextArc.\n
\nTransient properties are null when rays are parallel (offset paths align, no corner needed)\nor when the adjacent line is not an arc.\n
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.SourcedActEntry.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.SourcedActEntry.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.SourcedActEntry", "Summary": "Represents an entry containing a source command and its associated act.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.SpindleDirection.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.SpindleDirection.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.SpindleDirection", "Summary": "Enumeration of spindle rotation directions.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.StepSelectionUtils.AnchorMode.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.StepSelectionUtils.AnchorMode.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.StepSelectionUtils.AnchorMode", "Summary": "Defines the mode for anchoring boundaries when selecting steps.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.StepSelectionUtils.BoundSelector.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.StepSelectionUtils.BoundSelector.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.StepSelectionUtils.BoundSelector", "Summary": "Mark on source command line for managing step.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.StepSelectionUtils.BoundSelectorHost.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.StepSelectionUtils.BoundSelectorHost.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.StepSelectionUtils.BoundSelectorHost", "Summary": "Hosts bound selectors and manages step sections within a CL strip.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.StepSelectionUtils.BoundSelectorPair.BoundLocale.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.StepSelectionUtils.BoundSelectorPair.BoundLocale.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.StepSelectionUtils.BoundSelectorPair.BoundLocale", "Summary": "Defines the location of a bound within the pair.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.StepSelectionUtils.BoundSelectorPair.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.StepSelectionUtils.BoundSelectorPair.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.StepSelectionUtils.BoundSelectorPair", "Summary": "Represents a pair of bound selectors defining the beginning and end of a step section.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.StepSelectionUtils.BoundSelectorStepSectionBundle", "Summary": "Represents a bundle containing a boundary selector pair and the corresponding step section range.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.StepSelectionUtils.BoundSelectorUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.StepSelectionUtils.BoundSelectorUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.StepSelectionUtils.BoundSelectorUtil", "Summary": "Utility class for selecting steps within boundaries in a CL strip.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.StepSelectionUtils.DistanceShift.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.StepSelectionUtils.DistanceShift.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.StepSelectionUtils.DistanceShift", "Summary": "A step shift implementation that shifts based on distance along the tool path.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.StepSelectionUtils.IStepShift.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.StepSelectionUtils.IStepShift.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.StepSelectionUtils.IStepShift", "Summary": "Interface for defining step shift behavior.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.StepSelectionUtils.TimeShift.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.StepSelectionUtils.TimeShift.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.StepSelectionUtils.TimeShift", "Summary": "Represents a time-based shift operation for machining steps.\nThis class provides functionality to shift step indices based on time offsets.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.StepSelectionUtils.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.StepSelectionUtils.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.StepSelectionUtils", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.SubStringKit.ActivationMode.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.SubStringKit.ActivationMode.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.SubStringKit.ActivationMode", "Summary": "Defines the mode of activation for substring extraction.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.SubStringKit.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.SubStringKit.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.SubStringKit", "Summary": "Utility class for extracting and manipulating substrings based on specific activation patterns.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.ToolConfigNotFoundException.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.ToolConfigNotFoundException.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.ToolConfigNotFoundException", "Summary": "Exception thrown when a tool configuration cannot be found.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Xyzabc.Abc.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Xyzabc.Abc.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Xyzabc.Abc", "Summary": "Represents a three-axis rotational configuration in ABC coordinates.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Xyzabc.CodeXyzabcChain.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Xyzabc.CodeXyzabcChain.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Xyzabc.CodeXyzabcChain", "Summary": "Represents a general XYZABC chain that can be constructed from a general mechanism.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Xyzabc.IGetMcXyzabc.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Xyzabc.IGetMcXyzabc.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Xyzabc.IGetMcXyzabc", "Summary": "Interface of
Interface of get
Device for UniNc controller.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Xyzabc.ISetMcXyzabc.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Xyzabc.ISetMcXyzabc.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Xyzabc.ISetMcXyzabc", "Summary": "Abstraction for components that accept a full machine-coordinate pose (XYZ linear + ABC rotary).
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Xyzabc.IXyzabcChain.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Xyzabc.IXyzabcChain.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Xyzabc.IXyzabcChain", "Summary": "A single chain contains subset transformers of {X,Y,Z,A,B,C} .
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Xyzabc.ReflectedXyzabcChain.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Xyzabc.ReflectedXyzabcChain.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Xyzabc.ReflectedXyzabcChain", "Summary": "Cloned
Support to two-way conversion between MC (machine coordinate) and NP (Normal and Point).
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Xyzabc.XyzabcUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Xyzabc.XyzabcUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Xyzabc.XyzabcUtil", "Summary": "Utility of XYZABC device.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.Xyzabc.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.Xyzabc.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical.Xyzabc", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Numerical.yml", "output": { ".html": { "relative_path": "api/Hi.Numerical.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Numerical", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.PanelModels.HiKey.yml", "output": { ".html": { "relative_path": "api/Hi.PanelModels.HiKey.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.PanelModels.HiKey", "Summary": "The definition is the same as WPF Key.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.PanelModels.HiKeyEvent.yml", "output": { ".html": { "relative_path": "api/Hi.PanelModels.HiKeyEvent.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.PanelModels.HiKeyEvent", "Summary": "Cross platform key event.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.PanelModels.HiModifierKeys.yml", "output": { ".html": { "relative_path": "api/Hi.PanelModels.HiModifierKeys.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.PanelModels.HiModifierKeys", "Summary": "The definition is the same as WPF ModifierKeys.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.PanelModels.HiMouseButton.yml", "output": { ".html": { "relative_path": "api/Hi.PanelModels.HiMouseButton.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.PanelModels.HiMouseButton", "Summary": "The definition is the same as WPF MouseButton
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.PanelModels.HiMouseButtonEvent.yml", "output": { ".html": { "relative_path": "api/Hi.PanelModels.HiMouseButtonEvent.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.PanelModels.HiMouseButtonEvent", "Summary": "Mouse button event for cross-platform.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.PanelModels.HiMouseButtonMask.yml", "output": { ".html": { "relative_path": "api/Hi.PanelModels.HiMouseButtonMask.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.PanelModels.HiMouseButtonMask", "Summary": "Bit Mask of
Utility of
Mouse event for cross-platform.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.PanelModels.HiMouseWheelEvent.yml", "output": { ".html": { "relative_path": "api/Hi.PanelModels.HiMouseWheelEvent.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.PanelModels.HiMouseWheelEvent", "Summary": "Mouse wheel event for cross-platform.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.PanelModels.PanelModel.yml", "output": { ".html": { "relative_path": "api/Hi.PanelModels.PanelModel.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.PanelModels.PanelModel", "Summary": "A panel model contains necessary data for manipulating a panel.\nIt is platform-neutral.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.PanelModels.yml", "output": { ".html": { "relative_path": "api/Hi.PanelModels.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.PanelModels", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Parallels.CurrentThreadTaskScheduler.yml", "output": { ".html": { "relative_path": "api/Hi.Parallels.CurrentThreadTaskScheduler.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Parallels.CurrentThreadTaskScheduler", "Summary": "A task scheduler that executes tasks on the current thread.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Parallels.DistributedQueueTaskScheduler.yml", "output": { ".html": { "relative_path": "api/Hi.Parallels.DistributedQueueTaskScheduler.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Parallels.DistributedQueueTaskScheduler", "Summary": "A task scheduler that distributes tasks across multiple threads or processes.\nAllows for controlled execution of tasks with a specified maximum concurrency level.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Parallels.DistributedQueueTaskStarter.yml", "output": { ".html": { "relative_path": "api/Hi.Parallels.DistributedQueueTaskStarter.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Parallels.DistributedQueueTaskStarter", "Summary": "A class that manages and starts a collection of actions in parallel.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Parallels.LockUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Parallels.LockUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Parallels.LockUtil", "Summary": "Utility class for object locking operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Parallels.PriorityTaskScheduler.yml", "output": { ".html": { "relative_path": "api/Hi.Parallels.PriorityTaskScheduler.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Parallels.PriorityTaskScheduler", "Summary": "A task scheduler that executes tasks with a specified thread priority.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Parallels.QueueTaskScheduler.yml", "output": { ".html": { "relative_path": "api/Hi.Parallels.QueueTaskScheduler.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Parallels.QueueTaskScheduler", "Summary": "A task scheduler that queues tasks and executes them in a controlled manner.\nLimits the number of concurrent tasks and provides mechanisms for waiting for all tasks to complete.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Parallels.ReaderWriterLockUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Parallels.ReaderWriterLockUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Parallels.ReaderWriterLockUtil", "Summary": "Utility class for reader-writer lock operations.\nProvides extension methods for
Utility class for semaphore operations.\nProvides extension methods for
A thread-safe implementation of a set data structure.\nUses a reader-writer lock to synchronize access to the underlying HashSet.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Parallels.yml", "output": { ".html": { "relative_path": "api/Hi.Parallels.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Parallels", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Physics.AmpPhase.yml", "output": { ".html": { "relative_path": "api/Hi.Physics.AmpPhase.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Physics.AmpPhase", "Summary": "Represents amplitude and phase information for wave-like phenomena.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Physics.CoatingMaterial.yml", "output": { ".html": { "relative_path": "api/Hi.Physics.CoatingMaterial.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Physics.CoatingMaterial", "Summary": "Represents a coating material used in cutting tools.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Physics.CoolantHeatCondition.yml", "output": { ".html": { "relative_path": "api/Hi.Physics.CoolantHeatCondition.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Physics.CoolantHeatCondition", "Summary": "Represents the heat condition parameters for coolant in machining operations.\nProvides effective convection-coefficient lookups keyed by\n
Represents a cutter material with physical and thermal properties.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Physics.IGetThermalLayerList.yml", "output": { ".html": { "relative_path": "api/Hi.Physics.IGetThermalLayerList.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Physics.IGetThermalLayerList", "Summary": "Interface for objects that can provide a list of thermal layers.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Physics.IStructureMaterial.yml", "output": { ".html": { "relative_path": "api/Hi.Physics.IStructureMaterial.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Physics.IStructureMaterial", "Summary": "Interface for structure materials with thermal properties.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Physics.ISuccessivePhysicsBriefAccessor.yml", "output": { ".html": { "relative_path": "api/Hi.Physics.ISuccessivePhysicsBriefAccessor.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Physics.ISuccessivePhysicsBriefAccessor", "Summary": "Interface for accessing sequential physics brief information.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Physics.ISurfaceMaterial.yml", "output": { ".html": { "relative_path": "api/Hi.Physics.ISurfaceMaterial.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Physics.ISurfaceMaterial", "Summary": "Interface for materials that can be used on surfaces.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Physics.ITimecoded.yml", "output": { ".html": { "relative_path": "api/Hi.Physics.ITimecoded.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Physics.ITimecoded", "Summary": "Interface for objects that provide time information.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Physics.MillingTemperatureUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Physics.MillingTemperatureUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Physics.MillingTemperatureUtil", "Summary": "Utility class for calculating and managing temperatures during milling operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Physics.SeqPhysicsBrief.yml", "output": { ".html": { "relative_path": "api/Hi.Physics.SeqPhysicsBrief.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Physics.SeqPhysicsBrief", "Summary": "Represents a brief summary of physical properties and measurements during a machining sequence.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Physics.StructureMaterial.yml", "output": { ".html": { "relative_path": "api/Hi.Physics.StructureMaterial.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Physics.StructureMaterial", "Summary": "Represents a material with physical and thermal properties used in structural analysis.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Physics.TemperatureUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Physics.TemperatureUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Physics.TemperatureUtil", "Summary": "Utility class for temperature conversions.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Physics.TemperatureVsHardness.yml", "output": { ".html": { "relative_path": "api/Hi.Physics.TemperatureVsHardness.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Physics.TemperatureVsHardness", "Summary": "Represents the relationship between temperature and hardness for materials.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Physics.ThermalLayer1D.yml", "output": { ".html": { "relative_path": "api/Hi.Physics.ThermalLayer1D.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Physics.ThermalLayer1D", "Summary": "Represents a one-dimensional thermal layer for heat transfer calculations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Physics.TimeSeriesUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Physics.TimeSeriesUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Physics.TimeSeriesUtil", "Summary": "Utility class for time series data operations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Physics.TimeValue.yml", "output": { ".html": { "relative_path": "api/Hi.Physics.TimeValue.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Physics.TimeValue", "Summary": "Represents a value associated with a specific point in time.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Physics.WorkpieceMaterial.yml", "output": { ".html": { "relative_path": "api/Hi.Physics.WorkpieceMaterial.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Physics.WorkpieceMaterial", "Summary": "Represents the physical and mechanical properties of a workpiece material.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Physics.yml", "output": { ".html": { "relative_path": "api/Hi.Physics.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Physics", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SessionCommands.CollisionDetectionCommand.yml", "output": { ".html": { "relative_path": "api/Hi.SessionCommands.CollisionDetectionCommand.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SessionCommands.CollisionDetectionCommand", "Summary": "Command that turns collision detection on or off for the session. One of\nthe single-setting successors of the legacy
Marks an Reg registration is unaffected) but is not\noffered for creation.
Category of a session command in user-facing command catalogs (the GUI\n“Add Command” listings). Declaration order is the display order.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SessionCommands.CommandFieldAttribute.yml", "output": { ".html": { "relative_path": "api/Hi.SessionCommands.CommandFieldAttribute.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SessionCommands.CommandFieldAttribute", "Summary": "Marks a session-command property as a directly editable scalar field, so\ngeneric editors (e.g. the web UI's fallback command panel) can render and\nupdate it without a hand-written per-command editor. Supported property\ntypes:
Wrapper for session commands that provides enable/disable functionality.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SessionCommands.ExportMeshedGeomToStlCommand.yml", "output": { ".html": { "relative_path": "api/Hi.SessionCommands.ExportMeshedGeomToStlCommand.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SessionCommands.ExportMeshedGeomToStlCommand", "Summary": "Command to call
Command for calculating geometric differences between workpieces.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SessionCommands.ISessionCommand.yml", "output": { ".html": { "relative_path": "api/Hi.SessionCommands.ISessionCommand.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SessionCommands.ISessionCommand", "Summary": "Interface for commands that can be executed in a machining session.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SessionCommands.ITitleCommand.yml", "output": { ".html": { "relative_path": "api/Hi.SessionCommands.ITitleCommand.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SessionCommands.ITitleCommand", "Summary": "Language package class for command flow.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SessionCommands.ListCommand.yml", "output": { ".html": { "relative_path": "api/Hi.SessionCommands.ListCommand.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SessionCommands.ListCommand", "Summary": "A command that contains and executes a list of other commands.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SessionCommands.MachiningMotionResolutionCommand.yml", "output": { ".html": { "relative_path": "api/Hi.SessionCommands.MachiningMotionResolutionCommand.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SessionCommands.MachiningMotionResolutionCommand", "Summary": "Command for setting machining motion resolution for the milling process.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SessionCommands.MachiningResolutionCommand.yml", "output": { ".html": { "relative_path": "api/Hi.SessionCommands.MachiningResolutionCommand.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SessionCommands.MachiningResolutionCommand", "Summary": "Command that sets the session's machining resolution — the meshing\nresolution of material removal. One of the single-setting successors of\nthe legacy
Command for executing NC code directly.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SessionCommands.NcFileCommand.yml", "output": { ".html": { "relative_path": "api/Hi.SessionCommands.NcFileCommand.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SessionCommands.NcFileCommand", "Summary": "Command for executing an NC program file (Nc is the umbrella term:\nbrand controller code, NX-CL or CSV). The runner is picked by\n.cl/.cls/.clsf\nplay as NX-CL, .csv as CSV, anything else as brand NC code.\nThe GUI labels it “Program File”.
Command for NC optimization options.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SessionCommands.OptimizeToFilesCommand.yml", "output": { ".html": { "relative_path": "api/Hi.SessionCommands.OptimizeToFilesCommand.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SessionCommands.OptimizeToFilesCommand", "Summary": "Command to call
Command that turns pause-on-failure on or off for the session. One of the\nsingle-setting successors of the legacy
Command that turns physics simulation on or off for the session. One of\nthe single-setting successors of the legacy
Command for post-execution actions after NC command running.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SessionCommands.PreSettingCommand.yml", "output": { ".html": { "relative_path": "api/Hi.SessionCommands.PreSettingCommand.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SessionCommands.PreSettingCommand", "Summary": "Legacy bundle of pre-settings applied before NC command running,\nsuperseded by the single-setting commands (machining resolution, motion\nresolution, collision detection, pause on failure, physics). Loading a\nproject expands a saved instance into those commands via\n
Action of the
Command for recording meshed geometry to/from file.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SessionCommands.ScriptCommand.yml", "output": { ".html": { "relative_path": "api/Hi.SessionCommands.ScriptCommand.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SessionCommands.ScriptCommand", "Summary": "Command for executing C# scripts in the milling process.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SessionCommands.WriteShotFilesCommand.yml", "output": { ".html": { "relative_path": "api/Hi.SessionCommands.WriteShotFilesCommand.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SessionCommands.WriteShotFilesCommand", "Summary": "Command to call
Command to call
Interface for C# scripting API functionality.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SessionShellUtils.JsAceAttribute.yml", "output": { ".html": { "relative_path": "api/Hi.SessionShellUtils.JsAceAttribute.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SessionShellUtils.JsAceAttribute", "Summary": "Attribute for JavaScript Ace editor integration.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SessionShellUtils.yml", "output": { ".html": { "relative_path": "api/Hi.SessionShellUtils.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SessionShellUtils", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SqliteUtils.SqliteIdentityRole.yml", "output": { ".html": { "relative_path": "api/Hi.SqliteUtils.SqliteIdentityRole.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SqliteUtils.SqliteIdentityRole", "Summary": "Base class for SQLite-based identity roles.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SqliteUtils.SqliteIdentityStorage.RoleRow.yml", "output": { ".html": { "relative_path": "api/Hi.SqliteUtils.SqliteIdentityStorage.RoleRow.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SqliteUtils.SqliteIdentityStorage.RoleRow", "Summary": "Represents a role row in the database.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SqliteUtils.SqliteIdentityStorage.UserRow.yml", "output": { ".html": { "relative_path": "api/Hi.SqliteUtils.SqliteIdentityStorage.UserRow.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SqliteUtils.SqliteIdentityStorage.UserRow", "Summary": "Represents a user row in the database.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SqliteUtils.SqliteIdentityStorage.yml", "output": { ".html": { "relative_path": "api/Hi.SqliteUtils.SqliteIdentityStorage.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SqliteUtils.SqliteIdentityStorage", "Summary": "SQLite-based storage for ASP.NET Core Identity.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SqliteUtils.SqliteIdentityUser.yml", "output": { ".html": { "relative_path": "api/Hi.SqliteUtils.SqliteIdentityUser.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SqliteUtils.SqliteIdentityUser", "Summary": "Base class for SQLite-based identity users.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SqliteUtils.SqliteRoleStore-1.yml", "output": { ".html": { "relative_path": "api/Hi.SqliteUtils.SqliteRoleStore-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SqliteUtils.SqliteRoleStoreSQLite-based role store for ASP.NET Core Identity.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SqliteUtils.SqliteStepStorage.MillingStepLuggageRow.yml", "output": { ".html": { "relative_path": "api/Hi.SqliteUtils.SqliteStepStorage.MillingStepLuggageRow.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SqliteUtils.SqliteStepStorage.MillingStepLuggageRow", "Summary": "Represents a milling step luggage row in the database.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SqliteUtils.SqliteStepStorage.yml", "output": { ".html": { "relative_path": "api/Hi.SqliteUtils.SqliteStepStorage.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SqliteUtils.SqliteStepStorage", "Summary": "SQLite-based storage for milling step data.\nMillingStepLuggage data.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SqliteUtils.SqliteUserStore-1.yml", "output": { ".html": { "relative_path": "api/Hi.SqliteUtils.SqliteUserStore-1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SqliteUtils.SqliteUserStoreSQLite-based user store for ASP.NET Core Identity.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.SqliteUtils.yml", "output": { ".html": { "relative_path": "api/Hi.SqliteUtils.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.SqliteUtils", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Test.TestCollision.yml", "output": { ".html": { "relative_path": "api/Hi.Test.TestCollision.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Test.TestCollision", "Summary": "For internal.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Test.yml", "output": { ".html": { "relative_path": "api/Hi.Test.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Test", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.UiExtensions.ChartBoundary.yml", "output": { ".html": { "relative_path": "api/Hi.UiExtensions.ChartBoundary.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.UiExtensions.ChartBoundary", "Summary": "Boundary of Chart
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.UiExtensions.ChartBoundaryEnum.yml", "output": { ".html": { "relative_path": "api/Hi.UiExtensions.ChartBoundaryEnum.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.UiExtensions.ChartBoundaryEnum", "Summary": "Enum control
Enumeration representing visibility states for UI elements.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.UiExtensions.UiUtil.InvokeFunc.yml", "output": { ".html": { "relative_path": "api/Hi.UiExtensions.UiUtil.InvokeFunc.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.UiExtensions.UiUtil.InvokeFunc", "Summary": "Delegate for invoking methods asynchronously or synchronously.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.UiExtensions.UiUtil.yml", "output": { ".html": { "relative_path": "api/Hi.UiExtensions.UiUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.UiExtensions.UiUtil", "Summary": "The member should be initial for application begin.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.UiExtensions.yml", "output": { ".html": { "relative_path": "api/Hi.UiExtensions.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.UiExtensions", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Vibrations.AngularVelocityUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Vibrations.AngularVelocityUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Vibrations.AngularVelocityUtil", "Summary": "Provides utility methods for working with angular velocity.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Vibrations.ForceAccelAmpPhase.yml", "output": { ".html": { "relative_path": "api/Hi.Vibrations.ForceAccelAmpPhase.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Vibrations.ForceAccelAmpPhase", "Summary": "Represents amplitude and phase information for force and acceleration in vibration analysis.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Vibrations.ForceAccelFourierSeries.yml", "output": { ".html": { "relative_path": "api/Hi.Vibrations.ForceAccelFourierSeries.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Vibrations.ForceAccelFourierSeries", "Summary": "Represents Fourier series data for force and acceleration measurements in three dimensions.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Vibrations.ForceAccelShot.yml", "output": { ".html": { "relative_path": "api/Hi.Vibrations.ForceAccelShot.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Vibrations.ForceAccelShot", "Summary": "Represents a data point containing force, acceleration, and moment measurements at a specific time.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Vibrations.ForceAccelUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Vibrations.ForceAccelUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Vibrations.ForceAccelUtil", "Summary": "Utility class for force and acceleration data processing.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Vibrations.IAngularVelocityOwner.yml", "output": { ".html": { "relative_path": "api/Hi.Vibrations.IAngularVelocityOwner.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Vibrations.IAngularVelocityOwner", "Summary": "Provides functionality for objects that have an angular velocity property.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Vibrations.VibrationUtil.yml", "output": { ".html": { "relative_path": "api/Hi.Vibrations.VibrationUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Vibrations.VibrationUtil", "Summary": "Utility class for vibration analysis and processing.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Vibrations.WAmpPhase.yml", "output": { ".html": { "relative_path": "api/Hi.Vibrations.WAmpPhase.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Vibrations.WAmpPhase", "Summary": "Represents amplitude and phase information with angular velocity.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Vibrations.WAmpPhaseXyzTransformation.yml", "output": { ".html": { "relative_path": "api/Hi.Vibrations.WAmpPhaseXyzTransformation.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Vibrations.WAmpPhaseXyzTransformation", "Summary": "Represents amplitude and phase information with angular velocity for XYZ transformations.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.Vibrations.yml", "output": { ".html": { "relative_path": "api/Hi.Vibrations.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.Vibrations", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "api/Hi.WinForm.Disp.RenderingCanvas.yml", "output": { ".html": { "relative_path": "api/Hi.WinForm.Disp.RenderingCanvas.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.WinForm.Disp.RenderingCanvas", "Summary": "Window Form Displayer.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.WinForm.Disp.RenderingForm.yml", "output": { ".html": { "relative_path": "api/Hi.WinForm.Disp.RenderingForm.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.WinForm.Disp.RenderingForm", "Summary": "A
Provides a WPF rendering canvas for 3D visualization of HiAPI components.\nHandles user interactions, rendering, and integration with the DispEngine system.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.WpfPlus.Disp.RenderingWindow.yml", "output": { ".html": { "relative_path": "api/Hi.WpfPlus.Disp.RenderingWindow.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.WpfPlus.Disp.RenderingWindow", "Summary": "Window for 3D rendering.
\n" }, { "type": "ManagedReference", "source_relative_path": "api/Hi.WpfPlus.Disp.WpfDispUtil.yml", "output": { ".html": { "relative_path": "api/Hi.WpfPlus.Disp.WpfDispUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Hi.WpfPlus.Disp.WpfDispUtil", "Summary": "Registers WPF as the display framework for
A milling device driven by CL(Cutter Location).
\n" }, { "type": "ManagedReference", "source_relative_path": "api/HiMachining.Milling.yml", "output": { ".html": { "relative_path": "api/HiMachining.Milling.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "HiMachining.Milling", "Summary": null }, { "type": "Toc", "source_relative_path": "api/toc.yml", "output": { ".html": { "relative_path": "api/toc.html" }, ".json": { "relative_path": "api/toc.json" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/common/dictionary-service-pattern.md", "output": { ".html": { "relative_path": "app-anatomy/common/dictionary-service-pattern.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/common/webapi-with-hub-cleanup-assistence-pattern.md", "output": { ".html": { "relative_path": "app-anatomy/common/webapi-with-hub-cleanup-assistence-pattern.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/controller/index.md", "output": { ".html": { "relative_path": "app-anatomy/controller/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/controller/web-implementation.md", "output": { ".html": { "relative_path": "app-anatomy/controller/web-implementation.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/general-rules.md", "output": { ".html": { "relative_path": "app-anatomy/general-rules.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/geom/box3d-control.md", "output": { ".html": { "relative_path": "app-anatomy/geom/box3d-control.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/geom/cylindroid-control.md", "output": { ".html": { "relative_path": "app-anatomy/geom/cylindroid-control.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/geom/extended-cylinder-panel.md", "output": { ".html": { "relative_path": "app-anatomy/geom/extended-cylinder-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/geom/geom-combination-control.md", "output": { ".html": { "relative_path": "app-anatomy/geom/geom-combination-control.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/geom/geom-manage-control.md", "output": { ".html": { "relative_path": "app-anatomy/geom/geom-manage-control.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/geom/index.md", "output": { ".html": { "relative_path": "app-anatomy/geom/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/geom/meshed-geom-panel.md", "output": { ".html": { "relative_path": "app-anatomy/geom/meshed-geom-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/geom/stlfile-control.md", "output": { ".html": { "relative_path": "app-anatomy/geom/stlfile-control.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/geom/transformation-geom-control.md", "output": { ".html": { "relative_path": "app-anatomy/geom/transformation-geom-control.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/hinc-web-service/disp-web-service.md", "output": { ".html": { "relative_path": "app-anatomy/hinc-web-service/disp-web-service.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/index.md", "output": { ".html": { "relative_path": "app-anatomy/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/initialize-hiapi.md", "output": { ".html": { "relative_path": "app-anatomy/initialize-hiapi.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/main-panel.md", "output": { ".html": { "relative_path": "app-anatomy/main-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mech/background-coolant-page.md", "output": { ".html": { "relative_path": "app-anatomy/mech/background-coolant-page.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mech/cutter/apt-profile-panel.md", "output": { ".html": { "relative_path": "app-anatomy/mech/cutter/apt-profile-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mech/cutter/freeform-remover-panel.md", "output": { ".html": { "relative_path": "app-anatomy/mech/cutter/freeform-remover-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mech/cutter/index.md", "output": { ".html": { "relative_path": "app-anatomy/mech/cutter/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mech/cutter/milling-cutter-panel.md", "output": { ".html": { "relative_path": "app-anatomy/mech/cutter/milling-cutter-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mech/fixture-page.md", "output": { ".html": { "relative_path": "app-anatomy/mech/fixture-page.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mech/holder/cylindroid-holder-panel.md", "output": { ".html": { "relative_path": "app-anatomy/mech/holder/cylindroid-holder-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mech/holder/freeform-holder-panel.md", "output": { ".html": { "relative_path": "app-anatomy/mech/holder/freeform-holder-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mech/holder/index.md", "output": { ".html": { "relative_path": "app-anatomy/mech/holder/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mech/machining-chain-page.md", "output": { ".html": { "relative_path": "app-anatomy/mech/machining-chain-page.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mech/mech-builder-page.md", "output": { ".html": { "relative_path": "app-anatomy/mech/mech-builder-page.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mech/spindle-capability-page.md", "output": { ".html": { "relative_path": "app-anatomy/mech/spindle-capability-page.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mech/stick-tool-panel/index.md", "output": { ".html": { "relative_path": "app-anatomy/mech/stick-tool-panel/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mech/tool-house-page.md", "output": { ".html": { "relative_path": "app-anatomy/mech/tool-house-page.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mech/topo/transformers.md", "output": { ".html": { "relative_path": "app-anatomy/mech/topo/transformers.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mech/workpiece-page.md", "output": { ".html": { "relative_path": "app-anatomy/mech/workpiece-page.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/message-section-on-main-panel.md", "output": { ".html": { "relative_path": "app-anatomy/message-section-on-main-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mission/ListCommand-panel.md", "output": { ".html": { "relative_path": "app-anatomy/mission/ListCommand-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mission/NcCodeCommand-panel.md", "output": { ".html": { "relative_path": "app-anatomy/mission/NcCodeCommand-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mission/NcFileCommand-panel.md", "output": { ".html": { "relative_path": "app-anatomy/mission/NcFileCommand-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mission/NcOptOption-panel.md", "output": { ".html": { "relative_path": "app-anatomy/mission/NcOptOption-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mission/PostExecutionCommand-panel.md", "output": { ".html": { "relative_path": "app-anatomy/mission/PostExecutionCommand-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mission/PreSettingCommand-panel.md", "output": { ".html": { "relative_path": "app-anatomy/mission/PreSettingCommand-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mission/index.md", "output": { ".html": { "relative_path": "app-anatomy/mission/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/mission/script-command-panel.md", "output": { ".html": { "relative_path": "app-anatomy/mission/script-command-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/player/cycle-line-charts.md", "output": { ".html": { "relative_path": "app-anatomy/player/cycle-line-charts.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/player/index.md", "output": { ".html": { "relative_path": "app-anatomy/player/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/player/player-extended-renderingcanvas-tool-bar.md", "output": { ".html": { "relative_path": "app-anatomy/player/player-extended-renderingcanvas-tool-bar.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/player/player-tool-bar.md", "output": { ".html": { "relative_path": "app-anatomy/player/player-tool-bar.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/player/selected-step-info-panel.md", "output": { ".html": { "relative_path": "app-anatomy/player/selected-step-info-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/player/strip-charts.md", "output": { ".html": { "relative_path": "app-anatomy/player/strip-charts.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/preference/graphic-cache-dropdown.md", "output": { ".html": { "relative_path": "app-anatomy/preference/graphic-cache-dropdown.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/preference/index.md", "output": { ".html": { "relative_path": "app-anatomy/preference/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/preference/language-selection-submenu.md", "output": { ".html": { "relative_path": "app-anatomy/preference/language-selection-submenu.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/preference/step-present-preference-page.md", "output": { ".html": { "relative_path": "app-anatomy/preference/step-present-preference-page.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/renderingcanvas-tool-bar.md", "output": { ".html": { "relative_path": "app-anatomy/renderingcanvas-tool-bar.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/session-message-panel/index.md", "output": { ".html": { "relative_path": "app-anatomy/session-message-panel/index.html" } }, "version": "" }, { "type": "Toc", "source_relative_path": "app-anatomy/toc.yml", "output": { ".html": { "relative_path": "app-anatomy/toc.html" }, ".json": { "relative_path": "app-anatomy/toc.json" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/translation-remarks.md", "output": { ".html": { "relative_path": "app-anatomy/translation-remarks.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/unused/machine-tool-panel.md", "output": { ".html": { "relative_path": "app-anatomy/unused/machine-tool-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/util/file-explorer.md", "output": { ".html": { "relative_path": "app-anatomy/util/file-explorer.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/util/index.md", "output": { ".html": { "relative_path": "app-anatomy/util/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/widget/gui-file-path-assignment.md", "output": { ".html": { "relative_path": "app-anatomy/widget/gui-file-path-assignment.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/widget/mat4d/index.md", "output": { ".html": { "relative_path": "app-anatomy/widget/mat4d/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/widget/numeric-io-utilities.md", "output": { ".html": { "relative_path": "app-anatomy/widget/numeric-io-utilities.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/widget/object-management-menu-button.md", "output": { ".html": { "relative_path": "app-anatomy/widget/object-management-menu-button.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/widget/polar-resolution-2d-panel.md", "output": { ".html": { "relative_path": "app-anatomy/widget/polar-resolution-2d-panel.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/widget/resizable-bar.md", "output": { ".html": { "relative_path": "app-anatomy/widget/resizable-bar.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "app-anatomy/widget/vec3d/index.md", "output": { ".html": { "relative_path": "app-anatomy/widget/vec3d/index.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "docfx-build.log.json", "output": { "resource": { "relative_path": "docfx-build.log.json" } }, "version": "" }, { "type": "Resource", "source_relative_path": "docfx.json", "output": { "resource": { "relative_path": "docfx.json" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "fundamentals/common/message-management.md", "output": { ".html": { "relative_path": "fundamentals/common/message-management.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "fundamentals/common/xml-io.md", "output": { ".html": { "relative_path": "fundamentals/common/xml-io.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "fundamentals/general-hinc-workflow/index.md", "output": { ".html": { "relative_path": "fundamentals/general-hinc-workflow/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "fundamentals/geom/basic-geometry.md", "output": { ".html": { "relative_path": "fundamentals/geom/basic-geometry.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "fundamentals/getting-started/index.md", "output": { ".html": { "relative_path": "fundamentals/getting-started/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "fundamentals/index.md", "output": { ".html": { "relative_path": "fundamentals/index.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "fundamentals/mechanism/Topo/chain.png", "output": { "resource": { "relative_path": "fundamentals/mechanism/Topo/chain.png" } }, "version": "" }, { "type": "Resource", "source_relative_path": "fundamentals/mechanism/Topo/chainLink.png", "output": { "resource": { "relative_path": "fundamentals/mechanism/Topo/chainLink.png" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "fundamentals/mechanism/Topo/index.md", "output": { ".html": { "relative_path": "fundamentals/mechanism/Topo/index.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "fundamentals/mechanism/Topo/vmt.png", "output": { "resource": { "relative_path": "fundamentals/mechanism/Topo/vmt.png" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "fundamentals/mechanism/index.md", "output": { ".html": { "relative_path": "fundamentals/mechanism/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "fundamentals/mechanism/render-topology/index.md", "output": { ".html": { "relative_path": "fundamentals/mechanism/render-topology/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "fundamentals/mechanism/transformers/index.md", "output": { ".html": { "relative_path": "fundamentals/mechanism/transformers/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "fundamentals/nc-parsing/index.md", "output": { ".html": { "relative_path": "fundamentals/nc-parsing/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "fundamentals/rendering/color-guide/index.md", "output": { ".html": { "relative_path": "fundamentals/rendering/color-guide/index.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "fundamentals/rendering/drawing/easydraw_lines.png", "output": { "resource": { "relative_path": "fundamentals/rendering/drawing/easydraw_lines.png" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "fundamentals/rendering/drawing/index.md", "output": { ".html": { "relative_path": "fundamentals/rendering/drawing/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "fundamentals/rendering/index.md", "output": { ".html": { "relative_path": "fundamentals/rendering/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "fundamentals/rendering/rendering-canvas/custom-implementation.md", "output": { ".html": { "relative_path": "fundamentals/rendering/rendering-canvas/custom-implementation.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "fundamentals/rendering/rendering-canvas/index.md", "output": { ".html": { "relative_path": "fundamentals/rendering/rendering-canvas/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "fundamentals/system-requirements.md", "output": { ".html": { "relative_path": "fundamentals/system-requirements.html" } }, "version": "" }, { "type": "Toc", "source_relative_path": "fundamentals/toc.yml", "output": { ".html": { "relative_path": "fundamentals/toc.html" }, ".json": { "relative_path": "fundamentals/toc.json" } }, "version": "" }, { "type": "Resource", "source_relative_path": "img/HiAPI.favicon.ico", "output": { "resource": { "relative_path": "img/HiAPI.favicon.ico" } }, "version": "" }, { "type": "Resource", "source_relative_path": "img/HiAPI.logo.png", "output": { "resource": { "relative_path": "img/HiAPI.logo.png" } }, "version": "" }, { "type": "Resource", "source_relative_path": "img/techcoordinate.favicon.ico", "output": { "resource": { "relative_path": "img/techcoordinate.favicon.ico" } }, "version": "" }, { "type": "Resource", "source_relative_path": "img/techcoordinate.logo.png", "output": { "resource": { "relative_path": "img/techcoordinate.logo.png" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "index.md", "output": { ".html": { "relative_path": "index.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/analysis/cam-floating-point-drift-img/layered-cut.png", "output": { "resource": { "relative_path": "manual/analysis/cam-floating-point-drift-img/layered-cut.png" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/analysis/cam-floating-point-drift-img/normal-per-rev-force.png", "output": { "resource": { "relative_path": "manual/analysis/cam-floating-point-drift-img/normal-per-rev-force.png" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/analysis/cam-floating-point-drift-img/spike-per-rev-force.png", "output": { "resource": { "relative_path": "manual/analysis/cam-floating-point-drift-img/spike-per-rev-force.png" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/analysis/cam-floating-point-drift.md", "output": { ".html": { "relative_path": "manual/analysis/cam-floating-point-drift.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/analysis/corner-behavior-img/StraightLine-path.png", "output": { "resource": { "relative_path": "manual/analysis/corner-behavior-img/StraightLine-path.png" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/analysis/corner-behavior-img/corner-force-overview.png", "output": { "resource": { "relative_path": "manual/analysis/corner-behavior-img/corner-force-overview.png" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/analysis/corner-behavior.md", "output": { ".html": { "relative_path": "manual/analysis/corner-behavior.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/analysis/cpu-usage-img/geom-quick.png", "output": { "resource": { "relative_path": "manual/analysis/cpu-usage-img/geom-quick.png" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/analysis/cpu-usage-img/geom-slow.png", "output": { "resource": { "relative_path": "manual/analysis/cpu-usage-img/geom-slow.png" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/analysis/cpu-usage.md", "output": { ".html": { "relative_path": "manual/analysis/cpu-usage.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/analysis/cutter-adjustment-levers.md", "output": { ".html": { "relative_path": "manual/analysis/cutter-adjustment-levers.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/analysis/index.md", "output": { ".html": { "relative_path": "manual/analysis/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/analysis/machinability.md", "output": { ".html": { "relative_path": "manual/analysis/machinability.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/analysis/milling-physics-coordinates-img/Machining-3-Coordinate.png", "output": { "resource": { "relative_path": "manual/analysis/milling-physics-coordinates-img/Machining-3-Coordinate.png" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/analysis/milling-physics-coordinates.md", "output": { ".html": { "relative_path": "manual/analysis/milling-physics-coordinates.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/analysis/nc-optimization-principles.md", "output": { ".html": { "relative_path": "manual/analysis/nc-optimization-principles.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/analysis/probabilistic-peak-crack-img/dartboard-engagement.png", "output": { "resource": { "relative_path": "manual/analysis/probabilistic-peak-crack-img/dartboard-engagement.png" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/analysis/probabilistic-peak-crack.md", "output": { ".html": { "relative_path": "manual/analysis/probabilistic-peak-crack.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/analysis/radial-angle-measurement-img/clip-cutter-angle-scheme.jpg", "output": { "resource": { "relative_path": "manual/analysis/radial-angle-measurement-img/clip-cutter-angle-scheme.jpg" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/analysis/radial-angle-measurement-img/clip-cutter-angle-scheme.png", "output": { "resource": { "relative_path": "manual/analysis/radial-angle-measurement-img/clip-cutter-angle-scheme.png" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/analysis/radial-angle-measurement.md", "output": { ".html": { "relative_path": "manual/analysis/radial-angle-measurement.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/analysis/relief-face-avoidance-img/relief-angle.png", "output": { "resource": { "relative_path": "manual/analysis/relief-face-avoidance-img/relief-angle.png" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/analysis/relief-face-avoidance.md", "output": { ".html": { "relative_path": "manual/analysis/relief-face-avoidance.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/analysis/smart-holder-training-img/tool-path.png", "output": { "resource": { "relative_path": "manual/analysis/smart-holder-training-img/tool-path.png" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/analysis/smart-holder-training-img/train.nc", "output": { "resource": { "relative_path": "manual/analysis/smart-holder-training-img/train.nc" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/analysis/smart-holder-training-img/training-path-diagram.png", "output": { "resource": { "relative_path": "manual/analysis/smart-holder-training-img/training-path-diagram.png" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/analysis/smart-holder-training.md", "output": { ".html": { "relative_path": "manual/analysis/smart-holder-training.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/analysis/spindle-capability-img/fanuc-at12-12000i.jpg", "output": { "resource": { "relative_path": "manual/analysis/spindle-capability-img/fanuc-at12-12000i.jpg" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/analysis/spindle-capability.md", "output": { ".html": { "relative_path": "manual/analysis/spindle-capability.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/analysis/spindle-power-evaluation-img/Fanuc_Spindle_Power.png", "output": { "resource": { "relative_path": "manual/analysis/spindle-power-evaluation-img/Fanuc_Spindle_Power.png" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/analysis/spindle-power-evaluation-img/HiNC_Spindle_Power.png", "output": { "resource": { "relative_path": "manual/analysis/spindle-power-evaluation-img/HiNC_Spindle_Power.png" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/analysis/spindle-power-evaluation.md", "output": { ".html": { "relative_path": "manual/analysis/spindle-power-evaluation.html" } }, "version": "" }, { "type": "Toc", "source_relative_path": "manual/analysis/toc.yml", "output": { ".html": { "relative_path": "manual/analysis/toc.html" }, ".json": { "relative_path": "manual/analysis/toc.json" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/analysis/wear.md", "output": { ".html": { "relative_path": "manual/analysis/wear.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/runtime/cutter-location-playback.md", "output": { ".html": { "relative_path": "manual/runtime/cutter-location-playback.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/runtime/index.md", "output": { ".html": { "relative_path": "manual/runtime/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/runtime/script-command.md", "output": { ".html": { "relative_path": "manual/runtime/script-command.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/runtime/session-shell.md", "output": { ".html": { "relative_path": "manual/runtime/session-shell.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/runtime/shell-progress.md", "output": { ".html": { "relative_path": "manual/runtime/shell-progress.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/runtime/step-fields.md", "output": { ".html": { "relative_path": "manual/runtime/step-fields.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/runtime/step.md", "output": { ".html": { "relative_path": "manual/runtime/step.html" } }, "version": "" }, { "type": "Toc", "source_relative_path": "manual/runtime/toc.yml", "output": { ".html": { "relative_path": "manual/runtime/toc.html" }, ".json": { "relative_path": "manual/runtime/toc.json" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/setup/anchor-img/Anchor for contact workpiece and fixture.png", "output": { "resource": { "relative_path": "manual/setup/anchor-img/Anchor for contact workpiece and fixture.png" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/setup/anchor-img/Anchor for contact.png", "output": { "resource": { "relative_path": "manual/setup/anchor-img/Anchor for contact.png" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/setup/anchor.md", "output": { ".html": { "relative_path": "manual/setup/anchor.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/setup/apt-img/APT-white-bg.svg", "output": { "resource": { "relative_path": "manual/setup/apt-img/APT-white-bg.svg" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/setup/apt-img/APT.svg", "output": { "resource": { "relative_path": "manual/setup/apt-img/APT.svg" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/setup/apt.md", "output": { ".html": { "relative_path": "manual/setup/apt.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/setup/controller-heidenhain.md", "output": { ".html": { "relative_path": "manual/setup/controller-heidenhain.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/setup/controller-iso.md", "output": { ".html": { "relative_path": "manual/setup/controller-iso.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/setup/coolant.md", "output": { ".html": { "relative_path": "manual/setup/coolant.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/setup/cutter.md", "output": { ".html": { "relative_path": "manual/setup/cutter.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/setup/index.md", "output": { ".html": { "relative_path": "manual/setup/index.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/setup/insert-cutter-img/demo-real-insert-cutter-origin.png", "output": { "resource": { "relative_path": "manual/setup/insert-cutter-img/demo-real-insert-cutter-origin.png" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/setup/insert-cutter-img/demo-real-insert-cutter.png", "output": { "resource": { "relative_path": "manual/setup/insert-cutter-img/demo-real-insert-cutter.png" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/setup/insert-cutter-img/demo-virtual-insert-cutter.png", "output": { "resource": { "relative_path": "manual/setup/insert-cutter-img/demo-virtual-insert-cutter.png" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/setup/insert-cutter-img/insert-cut-mark.png", "output": { "resource": { "relative_path": "manual/setup/insert-cutter-img/insert-cut-mark.png" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/setup/insert-cutter.md", "output": { ".html": { "relative_path": "manual/setup/insert-cutter.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/setup/machine-tool-img/B1-topo.en.png", "output": { "resource": { "relative_path": "manual/setup/machine-tool-img/B1-topo.en.png" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/setup/machine-tool-img/B1-topo.zh-Hant.png", "output": { "resource": { "relative_path": "manual/setup/machine-tool-img/B1-topo.zh-Hant.png" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/setup/machine-tool-img/B1.zip", "output": { "resource": { "relative_path": "manual/setup/machine-tool-img/B1.zip" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/setup/machine-tool-img/B1_anchors.png", "output": { "resource": { "relative_path": "manual/setup/machine-tool-img/B1_anchors.png" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/setup/machine-tool.md", "output": { ".html": { "relative_path": "manual/setup/machine-tool.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/setup/program-zero-alignment.md", "output": { ".html": { "relative_path": "manual/setup/program-zero-alignment.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "manual/setup/project-data-checklist-img/spindle-motor-label.svg", "output": { "resource": { "relative_path": "manual/setup/project-data-checklist-img/spindle-motor-label.svg" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/setup/project-data-checklist.md", "output": { ".html": { "relative_path": "manual/setup/project-data-checklist.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "manual/setup/smart-tool-holder.md", "output": { ".html": { "relative_path": "manual/setup/smart-tool-holder.html" } }, "version": "" }, { "type": "Toc", "source_relative_path": "manual/setup/toc.yml", "output": { ".html": { "relative_path": "manual/setup/toc.html" }, ".json": { "relative_path": "manual/setup/toc.json" } }, "version": "" }, { "type": "Toc", "source_relative_path": "manual/toc.yml", "output": { ".html": { "relative_path": "manual/toc.html" }, ".json": { "relative_path": "manual/toc.json" } }, "version": "" }, { "type": "Resource", "source_relative_path": "product/about-img/card.jpg", "output": { "resource": { "relative_path": "product/about-img/card.jpg" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "product/about.md", "output": { ".html": { "relative_path": "product/about.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "product/index.md", "output": { ".html": { "relative_path": "product/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "product/license/index.md", "output": { ".html": { "relative_path": "product/license/index.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "product/startup/delegate-auth-img/sentinel-firewall.jpg", "output": { "resource": { "relative_path": "product/startup/delegate-auth-img/sentinel-firewall.jpg" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "product/startup/delegate-auth.md", "output": { ".html": { "relative_path": "product/startup/delegate-auth.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "product/startup/multi-station-img/appsettings.Sub-1.json", "output": { "resource": { "relative_path": "product/startup/multi-station-img/appsettings.Sub-1.json" } }, "version": "" }, { "type": "Resource", "source_relative_path": "product/startup/multi-station-img/appsettings.Sub-2.json", "output": { "resource": { "relative_path": "product/startup/multi-station-img/appsettings.Sub-2.json" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "product/startup/multi-station.md", "output": { ".html": { "relative_path": "product/startup/multi-station.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "product/startup/tutorial.md", "output": { ".html": { "relative_path": "product/startup/tutorial.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "product/startup/windows-img/startup.mp4", "output": { "resource": { "relative_path": "product/startup/windows-img/startup.mp4" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "product/startup/windows.md", "output": { ".html": { "relative_path": "product/startup/windows.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "product/system/file-explorer.md", "output": { ".html": { "relative_path": "product/system/file-explorer.html" } }, "version": "" }, { "type": "Toc", "source_relative_path": "product/toc.yml", "output": { ".html": { "relative_path": "product/toc.html" }, ".json": { "relative_path": "product/toc.json" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "release-note/index.md", "output": { ".html": { "relative_path": "release-note/index.html" } }, "version": "" }, { "type": "Toc", "source_relative_path": "release-note/toc.yml", "output": { ".html": { "relative_path": "release-note/toc.html" }, ".json": { "relative_path": "release-note/toc.json" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "release-note/upgrading-to-3.2.md", "output": { ".html": { "relative_path": "release-note/upgrading-to-3.2.html" } }, "version": "" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Common.DemoSessionMessage.yml", "output": { ".html": { "relative_path": "sample/Sample.Common.DemoSessionMessage.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Common.DemoSessionMessage", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Common.PlayerDivConfig.yml", "output": { ".html": { "relative_path": "sample/Sample.Common.PlayerDivConfig.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Common.PlayerDivConfig", "Summary": "Per-user visibility flags for the Player page's divisions (charts and\ninfo panels), flattened into a single all-boolean config persisted through\n
User Configuration.
\n" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Common.UserService.yml", "output": { ".html": { "relative_path": "sample/Sample.Common.UserService.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Common.UserService", "Summary": "User Service.
\n" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Common.yml", "output": { ".html": { "relative_path": "sample/Sample.Common.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Common", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Disp.DemoCylindroid.yml", "output": { ".html": { "relative_path": "sample/Sample.Disp.DemoCylindroid.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Disp.DemoCylindroid", "Summary": "Demonstrates the creation and visualization of
Demonstrates the use of discrete RGB colors for rendering multiple objects.\nShows how to apply different colors to similar geometric shapes using the\n
Demonstrates various drawing techniques using the HiAPI graphics system.\nProvides examples of primitive drawing, attribute specification, and rendering options.\nIncludes methods for drawing lines, points, triangles, and other geometric primitives.
\n" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Disp.DemoPick1.yml", "output": { ".html": { "relative_path": "sample/Sample.Disp.DemoPick1.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Disp.DemoPick1", "Summary": "Demonstrates basic object picking with mouse interaction in the HiAPI system.\nShows how to create a pickable 3D object that responds to mouse events by changing its appearance.\nImplements the Pickable base class to enable mouse event handling.
\n" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Disp.DemoPick2.yml", "output": { ".html": { "relative_path": "sample/Sample.Disp.DemoPick2.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Disp.DemoPick2", "Summary": "Demonstrates advanced object picking with multiple pickable objects.\nShows how to create and manage multiple pickable objects with different visual appearances.\nImplements proper resource cleanup through the IDisposable interface.
\n" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Disp.DemoPickable.yml", "output": { ".html": { "relative_path": "sample/Sample.Disp.DemoPickable.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Disp.DemoPickable", "Summary": "Demonstrates creation of pickable 3D geometry at the primitive level.\nShows how to assign picking IDs directly to geometry vertices and create interactive triangles.\nUses a lower-level approach than the Pickable base class for more precise control.
\n" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Disp.DemoSatellite.yml", "output": { ".html": { "relative_path": "sample/Sample.Disp.DemoSatellite.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Disp.DemoSatellite", "Summary": "Demonstrates a simple solar system animation using
Demonstrates the loading, manipulation, and display of STL (stereolithography) files in HiAPI.\nShows operations like loading STL data, transforming geometries, and basic visualization.
\n" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Disp.DemoUtil.yml", "output": { ".html": { "relative_path": "sample/Sample.Disp.DemoUtil.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Disp.DemoUtil", "Summary": "Provides utility functions for running HiAPI display examples in a WPF environment.\nContains helper methods that simplify the setup and execution of WPF applications with HiAPI rendering.\nHandles common initialization and cleanup tasks for visualization examples.
\n" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Disp.HeidenhainCoordinateEntryDisplayee.yml", "output": { ".html": { "relative_path": "sample/Sample.Disp.HeidenhainCoordinateEntryDisplayee.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Disp.HeidenhainCoordinateEntryDisplayee", "Summary": "Displayee for Heidenhain coordinate entry visualization.
\n" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Disp.IsoCoordinateEntryDisplayee.yml", "output": { ".html": { "relative_path": "sample/Sample.Disp.IsoCoordinateEntryDisplayee.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Disp.IsoCoordinateEntryDisplayee", "Summary": "Displayee for ISO coordinate entry visualization.
\n" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Disp.MachiningProjectDisplayee.yml", "output": { ".html": { "relative_path": "sample/Sample.Disp.MachiningProjectDisplayee.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Disp.MachiningProjectDisplayee", "Summary": "Represents a displayable wrapper for a machining project.
\n" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Disp.yml", "output": { ".html": { "relative_path": "sample/Sample.Disp.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Disp", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Geom.DemoBuildGeom.yml", "output": { ".html": { "relative_path": "sample/Sample.Geom.DemoBuildGeom.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Geom.DemoBuildGeom", "Summary": "Demonstrates the creation and manipulation of geometric objects in HiAPI.\nShows how to create and transform various geometry types including boxes, cylindroids, and STL files.
\n" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Geom.DemoIExpandToBox3d.yml", "output": { ".html": { "relative_path": "sample/Sample.Geom.DemoIExpandToBox3d.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Geom.DemoIExpandToBox3d", "Summary": "Demonstrates how to create and calculate bounding boxes for different geometric objects.\nShows the use of Box3d to encompass multiple geometric elements with a single boundary.
\n" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Geom.yml", "output": { ".html": { "relative_path": "sample/Sample.Geom.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Geom", "Summary": "The Sample.Geom namespace provides examples for using the
A sample class demonstrating initialization and usage of the HiAPI framework.\nShows the basic setup of display engine, MongoDB server, licensing, and other core functionality.
\n" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.MachineTool.DemoBuildMachineTool.yml", "output": { ".html": { "relative_path": "sample/Sample.MachineTool.DemoBuildMachineTool.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.MachineTool.DemoBuildMachineTool", "Summary": "Provides access to the Table-B1 machine tool model.
\n" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.MachineTool.DemoBuildMachineToolWithoutGeometrys.yml", "output": { ".html": { "relative_path": "sample/Sample.MachineTool.DemoBuildMachineToolWithoutGeometrys.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.MachineTool.DemoBuildMachineToolWithoutGeometrys", "Summary": "Demo Build Machine Tool without gemetries setting.
\n" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.MachineTool.yml", "output": { ".html": { "relative_path": "sample/Sample.MachineTool.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.MachineTool", "Summary": "The Sample.MachineTool namespace provides examples for creating and configuring machine tool models using the
Demonstrates how to create and configure a
Demonstrates integration of machining process visualization with interactive strip position selection.\nShows how to load a machining project, configure rendering options, and implement user interaction.\nProvides a complete example of a 3D visualization application with HiAPI and WPF.
\n" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Machining.DemoUseMachiningProject.yml", "output": { ".html": { "relative_path": "sample/Sample.Machining.DemoUseMachiningProject.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Machining.DemoUseMachiningProject", "Summary": "Demonstrates how to load and use an existing
The Sample.Machining namespace contains comprehensive examples for creating and managing machining verification and optimization projects using the
Demonstrates the creation and visualization of mechanical assemblies with kinematic linkages.\nShows how to build coordinate systems, establish kinematic relationships, and capture visual output.
\n" }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.Mech.yml", "output": { ".html": { "relative_path": "sample/Sample.Mech.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample.Mech", "Summary": null }, { "type": "ManagedReference", "source_relative_path": "sample/Sample.yml", "output": { ".html": { "relative_path": "sample/Sample.html" } }, "version": "", "Uid": null, "IsMRef": true, "Title": "Sample", "Summary": null }, { "type": "Toc", "source_relative_path": "sample/toc.yml", "output": { ".html": { "relative_path": "sample/toc.html" }, ".json": { "relative_path": "sample/toc.json" } }, "version": "" }, { "type": "Resource", "source_relative_path": "temp-Doc-archived/About/card.jpg", "output": { "resource": { "relative_path": "temp-Doc-archived/About/card.jpg" } }, "version": "" }, { "type": "Resource", "source_relative_path": "temp-Doc-archived/MillingTool/APT/img/APT.svg", "output": { "resource": { "relative_path": "temp-Doc-archived/MillingTool/APT/img/APT.svg" } }, "version": "" }, { "type": "Resource", "source_relative_path": "temp-Doc-archived/theory-and-technique/Int-holder-para-training/train.nc", "output": { "resource": { "relative_path": "temp-Doc-archived/theory-and-technique/Int-holder-para-training/train.nc" } }, "version": "" }, { "type": "Resource", "source_relative_path": "temp-Doc-archived/toc.json", "output": { "resource": { "relative_path": "temp-Doc-archived/toc.json" } }, "version": "" }, { "type": "Resource", "source_relative_path": "templates/chinese-search/public/main.js", "output": { "resource": { "relative_path": "templates/chinese-search/public/main.js" } }, "version": "" }, { "type": "Resource", "source_relative_path": "templates/material/docs/docfx.json", "output": { "resource": { "relative_path": "templates/material/docs/docfx.json" } }, "version": "" }, { "type": "Resource", "source_relative_path": "templates/material/docs/images/classic/docfx-filter.gif", "output": { "resource": { "relative_path": "templates/material/docs/images/classic/docfx-filter.gif" } }, "version": "" }, { "type": "Resource", "source_relative_path": "templates/material/docs/images/classic/docfx-search.gif", "output": { "resource": { "relative_path": "templates/material/docs/images/classic/docfx-search.gif" } }, "version": "" }, { "type": "Resource", "source_relative_path": "templates/material/docs/images/code.svg", "output": { "resource": { "relative_path": "templates/material/docs/images/code.svg" } }, "version": "" }, { "type": "Toc", "source_relative_path": "toc.yml", "output": { ".html": { "relative_path": "toc.html" }, ".json": { "relative_path": "toc.json" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "workflows/basic-simulation.md", "output": { ".html": { "relative_path": "workflows/basic-simulation.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "workflows/dynamometer-experiment-sop-img/StraightLineTraining-path.png", "output": { "resource": { "relative_path": "workflows/dynamometer-experiment-sop-img/StraightLineTraining-path.png" } }, "version": "" }, { "type": "Resource", "source_relative_path": "workflows/dynamometer-experiment-sop-img/fixWorkpiece.jpg", "output": { "resource": { "relative_path": "workflows/dynamometer-experiment-sop-img/fixWorkpiece.jpg" } }, "version": "" }, { "type": "Resource", "source_relative_path": "workflows/dynamometer-experiment-sop-img/training-path.png", "output": { "resource": { "relative_path": "workflows/dynamometer-experiment-sop-img/training-path.png" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "workflows/dynamometer-experiment-sop.md", "output": { ".html": { "relative_path": "workflows/dynamometer-experiment-sop.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "workflows/examples/index.md", "output": { ".html": { "relative_path": "workflows/examples/index.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "workflows/examples/mapping-demo.md", "output": { ".html": { "relative_path": "workflows/examples/mapping-demo.html" } }, "version": "" }, { "type": "Resource", "source_relative_path": "workflows/examples/milling-training-dynamometer-img/demo-training-S50C.png", "output": { "resource": { "relative_path": "workflows/examples/milling-training-dynamometer-img/demo-training-S50C.png" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "workflows/examples/milling-training-dynamometer.md", "output": { ".html": { "relative_path": "workflows/examples/milling-training-dynamometer.html" } }, "version": "" }, { "type": "Toc", "source_relative_path": "workflows/examples/toc.yml", "output": { ".html": { "relative_path": "workflows/examples/toc.html" }, ".json": { "relative_path": "workflows/examples/toc.json" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "workflows/force-training.md", "output": { ".html": { "relative_path": "workflows/force-training.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "workflows/geometry-validation.md", "output": { ".html": { "relative_path": "workflows/geometry-validation.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "workflows/nc-optimization.md", "output": { ".html": { "relative_path": "workflows/nc-optimization.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "workflows/project-construction.md", "output": { ".html": { "relative_path": "workflows/project-construction.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "workflows/sensor-mapping.md", "output": { ".html": { "relative_path": "workflows/sensor-mapping.html" } }, "version": "" }, { "type": "Conceptual", "source_relative_path": "workflows/simulation-report.md", "output": { ".html": { "relative_path": "workflows/simulation-report.html" } }, "version": "" }, { "type": "Toc", "source_relative_path": "workflows/toc.yml", "output": { ".html": { "relative_path": "workflows/toc.html" }, ".json": { "relative_path": "workflows/toc.json" } }, "version": "" } ], "groups": [ { "xrefmap": "xrefmap.yml" } ] }