Table of Contents

Class ClMachiningValve

Namespace
Hi.Motion.MatValves
Assembly
HiMech.dll

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

bool

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

cl dvec3d_t

cutter 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 cl is 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

at mat4d_t

Input 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.