Table of Contents

Class XyzabcSolver

Namespace
Hi.Numerical.Xyzabc
Assembly
HiMech.dll

Support to two-way conversion between MC (machine coordinate) and NP (Normal and Point).

public class XyzabcSolver : ICoordinateConverter
Inheritance
XyzabcSolver
Implements
Inherited Members
Extension Methods

Remarks

Call Rebuild() if the kinematic chain of Device is changed.

Constructors

XyzabcSolver(IXyzabcChain)

Ctor.

public XyzabcSolver(IXyzabcChain device)

Parameters

device IXyzabcChain

target device

Properties

Device

Deivce.

public IXyzabcChain Device { get; }

Property Value

IXyzabcChain

Methods

AttacherPnToMc(DVec3d, out bool)

tool attacher NP (Normal and Point) to machine coordinate. The NP is from table buckle to tool attacher.

public DVec3d AttacherPnToMc(DVec3d np, out bool isConverted)

Parameters

np DVec3d
isConverted bool

is conversion succeed

Returns

DVec3d

machine coordinate

IsAxisAExisted()

Is rotary A existed.

public bool IsAxisAExisted()

Returns

bool

Is rotary A existed.

IsAxisBExisted()

Is rotary B existed.

public bool IsAxisBExisted()

Returns

bool

Is rotary B existed.

IsAxisCExisted()

Is rotary C existed.

public bool IsAxisCExisted()

Returns

bool

Is rotary C existed.

McAbcToTiltMat(Vec3d)

Converts machine ABC coordinates to a tilt matrix.

public Mat4d McAbcToTiltMat(Vec3d mcAbc_rad)

Parameters

mcAbc_rad Vec3d

The machine ABC coordinates in radians

Returns

Mat4d

The tilt matrix

McToAttacherMat(DVec3d)

Converts machine coordinates to an attacher matrix.

public Mat4d McToAttacherMat(DVec3d mc)

Parameters

mc DVec3d

Returns

Mat4d

The attacher matrix

McToAttacherPn(DVec3d)

Machine coordinate to tool attacher NP (Normal and Point). The NP is from table buckle to tool attacher.

public DVec3d McToAttacherPn(DVec3d mc)

Parameters

mc DVec3d

Returns

DVec3d

tool attacher Pn (Point and Normal)

Rebuild()

Rebuild the solver. It should be called after the kinematic chain of Device is changed.

public void Rebuild()

SetNp(DVec3d)

Cutter location to machine coordinate.

public bool SetNp(DVec3d np)

Parameters

np DVec3d

normal and point

Returns

bool

true if solved

TiltMatToMcAbc(Mat4d, out Vec3d)

Converts a tilt matrix to machine ABC coordinates.

public bool TiltMatToMcAbc(Mat4d tiltMat, out Vec3d mcAbc_rad)

Parameters

tiltMat Mat4d

The tilt matrix to convert

mcAbc_rad Vec3d

Output parameter that will contain the machine ABC coordinates in radians

Returns

bool

Whether the conversion was successful