Table of Contents

Interface IMachiningMotionResolution

Namespace
Hi.Numerical.MachiningMotionResolutionUtils
Assembly
HiMech.dll

Interface of Machining Cycle Resolution.

public interface IMachiningMotionResolution : IMakeXmlSource
Inherited Members
Extension Methods

Properties

LinearResolution_mm

Linear axis resolution in millimeter.

double LinearResolution_mm { get; }

Property Value

double

RotaryAxisResolution_rad

Resolution in radian for a rotary-axis (A/B/C) swing — the posture change of the tool. Always finite: a swing is bounded by this angle whether or not the spindle turns, so a rapid 90° table swing is never left to a single step.

double RotaryAxisResolution_rad { get; }

Property Value

double

RotaryResolution_deg

double RotaryResolution_deg { get; }

Property Value

double

RotaryResolution_rad

Angular resolution in radian for an arc's swept angle (and, on a fixed resolution, for rotary-axis swings as well — see RotaryAxisResolution_rad). A feed-derived resolution reports infinity here while the spindle turns: an arc is then split by its length per spindle cycle alone.

double RotaryResolution_rad { get; }

Property Value

double

Methods

GetStepNumByDuration(TimeSpan, double)

Step count the time criterion assigns to an act of the given duration, or null when this resolution has no time criterion — a fixed geometric resolution, or a feed-derived one while the spindle is not turning. Feed per cycle means one step per spindle revolution, feed per tooth one per tooth pass; the value is the revolutions (or tooth passes) the act spans, scaled by the resolution's own knobs.

This is the criterion a rotary-bearing act uses instead of "tool-tip travel ÷ LinearResolution_mm". The linear resolution is derived from the controller's commanded CL feedrate, but the real tool tip (the equipped tool, possibly not the length the controller's H describes) travels with the posture change while that CL point may stand still; dividing the one by the other mixes two motions, and for a pure RTCP rapid swing it saturated the step count to MaxValue (a customer program, 2026-09-08). Counting spindle cycles over the act's duration is the same number whenever tip and CL point coincide, and the honest one when they do not.

int? GetStepNumByDuration(TimeSpan duration, double travel_mm)

Parameters

duration TimeSpan

The act's duration.

travel_mm double

The real tool-tip travel of the act in mm, or NaN when unknown; a resolution with a user floor on per-step travel caps the count so a step never covers less than that floor.

Returns

int?