Class ClMachiningValve
Optimize the sequential transformation matrixes step by step for machining. Filtering the unnecessary transformation matrixes. Accept milling mode by IsSpinMachining.
public class ClMachiningValve : IMotionValve
- Inheritance
-
ClMachiningValve
- Implements
- Inherited Members
- Extension Methods
Remarks
A shell over the native mechmotioncl_machining_valve_t (core.dll,
cl_machining_valve__* in Hi.Motion.NativeMotion), which holds its own
StepMotionValve window, the previous input matrix and the remembered
direction-orthogonal rotation. The constructor creates the native valve and the finalizer
releases it; the shell keeps itself alive across every native call. One instance is
single-threaded, as it always was.
Constructors
ClMachiningValve()
Ctor.
public ClMachiningValve()
Exceptions
- OutOfMemoryException
The native valve could not be allocated.
Properties
IsSpinMachining
Gets or sets a value indicating whether the machining is in spin mode. When true, the valve optimizes for milling operations with tool rotation. A change clears the state, as ClearState() does.
public bool IsSpinMachining { get; set; }
Property Value
Methods
ClearState()
Clear state.
public void ClearState()
~ClMachiningValve()
Releases the native valve.
protected ~ClMachiningValve()
Step(dvec3d_t)
Output optimized sequence transformation matrixes.
public SeqPair<mat4d_t> Step(dvec3d_t cl)
Parameters
cldvec3d_tcutter location
Returns
- SeqPair<mat4d_t>
optimized sequence transformation matrixes. return pair.first: one of the previous mat; pair.second: current mat. Null when the pose has been returned before, and when
clis not finite: such a location is dropped without being remembered (the next finite one pairs with the last finite one before it).
Step(mat4d_t)
Output optimized sequence transformation matrixes.
public SeqPair<mat4d_t> Step(mat4d_t at)
Parameters
atmat4d_tInput matrix
Returns
- SeqPair<mat4d_t>
optimized sequence transformation matrixes. return pair.first: one of the previous mat; pair.second: current mat.
Remarks
return null if the transformation has been returned before, and for a matrix that is not finite, which is dropped without being remembered.