Table of Contents

Class MachineMotionStep

Namespace
Hi.MillingSteps
Assembly
HiMech.dll

MachiningStep has spindle information. Note that the spindle information is only for milling behavior.

public class MachineMotionStep : IGetFeedrate, IGetSpindleSpeed
Inheritance
MachineMotionStep
Implements
Inherited Members
Extension Methods

Constructors

MachineMotionStep(MachineMotionStep)

Initializes a new instance of the MachineMotionStep class by copying from another instance.

public MachineMotionStep(MachineMotionStep src)

Parameters

src MachineMotionStep

The source machining step to copy from.

MachineMotionStep(TimeSpan, TimeSpan, double, double[], double, double, SpindleDirection, int, Mat4d, Mat4d, SeqPair<Mat4d>)

Initializes a new instance of the MachineMotionStep class with specified parameters.

public MachineMotionStep(TimeSpan stepDuration, TimeSpan accumulatedTime, double beginSpindleAngle_rad, double[] mcValues, double feedrate_mmds, double spindleSpeed_radds, SpindleDirection spindleDirection, int toolId, Mat4d programZeroToWorkpieceGeomToMat4d, Mat4d workpieceGeomToProgramZeroMat4d, SeqPair<Mat4d> seqOnWorkpieceGeomCoordinate)

Parameters

stepDuration TimeSpan

The duration of this step.

accumulatedTime TimeSpan

The accumulated time up to this step.

beginSpindleAngle_rad double

The initial spindle angle in radians.

mcValues double[]

The machine coordinate values.

feedrate_mmds double

The feed rate in millimeters per second.

spindleSpeed_radds double

The spindle speed in radians per second.

spindleDirection SpindleDirection

The direction of spindle rotation.

toolId int

The ID of the tool being used.

programZeroToWorkpieceGeomToMat4d Mat4d

The transformation matrix from program zero to workpiece geometry.

workpieceGeomToProgramZeroMat4d Mat4d

The transformation matrix from workpiece geometry to program zero.

seqOnWorkpieceGeomCoordinate SeqPair<Mat4d>

The sequence of transformations on workpiece geometry coordinate.

Properties

AccumulatedTime

The work time at the end of the step.

public TimeSpan AccumulatedTime { get; set; }

Property Value

TimeSpan

BeginSpindleAngle_deg

Begin spindle rotation angle. in deg;

public double BeginSpindleAngle_deg { get; set; }

Property Value

double

BeginSpindleAngle_rad

Begin spindle rotation angle. in rad;

public double BeginSpindleAngle_rad { get; set; }

Property Value

double

CdnTransformProgramToToolRunning

Gets the transformation matrix from program to tool running coordinate.

public Mat4d CdnTransformProgramToToolRunning { get; }

Property Value

Mat4d

CdnTransformProgramToWorkpieceGeom

Gets the transformation matrix from program zero to workpiece geometry.

public Mat4d CdnTransformProgramToWorkpieceGeom { get; }

Property Value

Mat4d

CdnTransformToolRunningToProgram

Gets the transformation matrix from tool running to program coordinate.

public Mat4d CdnTransformToolRunningToProgram { get; }

Property Value

Mat4d

CdnTransformToolRunningToWorkpieceGeom

Tool running coordinate to workpiece geom coordinate.

public Mat4d CdnTransformToolRunningToWorkpieceGeom { get; }

Property Value

Mat4d

CdnTransformWorkpieceGeomToProgram

Gets the transformation matrix from workpiece geometry to program zero.

public Mat4d CdnTransformWorkpieceGeomToProgram { get; }

Property Value

Mat4d

CdnTransformWorkpieceGeomToToolRunning

Gets the transformation matrix from workpiece geometry to tool running coordinate.

public Mat4d CdnTransformWorkpieceGeomToToolRunning { get; }

Property Value

Mat4d

CyclePeriod

Gets the cycle period as a TimeSpan.

public TimeSpan CyclePeriod { get; }

Property Value

TimeSpan

CyclePeriod_s

Gets the cycle period in seconds.

public double CyclePeriod_s { get; }

Property Value

double

EndSpindleAngle_deg

Gets the end spindle angle in degrees.

public double EndSpindleAngle_deg { get; }

Property Value

double

EndSpindleAngle_rad

Gets the end spindle angle in radians.

public double EndSpindleAngle_rad { get; }

Property Value

double

FeedPerCycle_mm

Gets the feed per cycle in millimeters.

public double FeedPerCycle_mm { get; }

Property Value

double

Feedrate_mmds

Gets or sets the feed rate in millimeters per second.

public double Feedrate_mmds { get; set; }

Property Value

double

GeomCl

Gets the current position in workpiece geometry coordinate.

public DVec3d GeomCl { get; }

Property Value

DVec3d

McValues

Machine coordinate values.

public double[] McValues { get; set; }

Property Value

double[]

MoveOnProgramCoordinate_mm

Gets the movement vector in program coordinate in millimeters.

public Vec3d MoveOnProgramCoordinate_mm { get; }

Property Value

Vec3d

MoveOnWorkpieceGeomCoordinate_mm

Gets the movement vector in workpiece geometry coordinate in millimeters.

public Vec3d MoveOnWorkpieceGeomCoordinate_mm { get; }

Property Value

Vec3d

MovingDirectionOnWorkpieceGeomCoordinate

Gets the movement direction vector in workpiece geometry coordinate.

public Vec3d MovingDirectionOnWorkpieceGeomCoordinate { get; }

Property Value

Vec3d

MovingLength_mm

Gets the length of movement in millimeters.

public double MovingLength_mm { get; }

Property Value

double

PassedSpindleAngle_deg

For milling behavior only.

public double PassedSpindleAngle_deg { get; }

Property Value

double

PassedSpindleAngle_rad

For milling behavior only.

public double PassedSpindleAngle_rad { get; }

Property Value

double

ProgramCl

Gets the current position in program coordinate.

public DVec3d ProgramCl { get; }

Property Value

DVec3d

ProgramToWorkpieceGeomMat4d

Gets or sets the transformation matrix from program zero to workpiece geometry.

public Mat4d ProgramToWorkpieceGeomMat4d { get; set; }

Property Value

Mat4d

SeqOnToolRunningCoordinate

Gets the sequence of transformations on tool running coordinate.

public SeqPair<Mat4d> SeqOnToolRunningCoordinate { get; }

Property Value

SeqPair<Mat4d>

SeqOnWorkpieceGeomCoordinate

Gets or sets the sequence of transformations on workpiece geometry coordinate.

public SeqPair<Mat4d> SeqOnWorkpieceGeomCoordinate { get; set; }

Property Value

SeqPair<Mat4d>

SpindleDirection

Gets or sets the direction of spindle rotation.

public SpindleDirection SpindleDirection { get; set; }

Property Value

SpindleDirection

SpindleSpeed_cycleds

Gets the spindle speed in cycles per second.

public double SpindleSpeed_cycleds { get; }

Property Value

double

SpindleSpeed_radds

For milling behavior only.

public double SpindleSpeed_radds { get; set; }

Property Value

double

SpindleSpeed_rpm

Gets the spindle speed in revolutions per minute.

public double SpindleSpeed_rpm { get; }

Property Value

double

StepBeginTime

The work time at the begin of the step.

public TimeSpan StepBeginTime { get; }

Property Value

TimeSpan

StepDuration

Gets or sets the duration of this step.

public TimeSpan StepDuration { get; set; }

Property Value

TimeSpan

ToolId

Gets or sets the ID of the tool being used.

public int ToolId { get; set; }

Property Value

int

WorkpieceGeomToProgramMat4d

Gets or sets the transformation matrix from workpiece geometry to program zero.

public Mat4d WorkpieceGeomToProgramMat4d { get; set; }

Property Value

Mat4d

Methods

GetFeedPerTooth_mm(IMachiningTool)

Gets the feed per tooth in millimeters.

public double GetFeedPerTooth_mm(IMachiningTool millingTool)

Parameters

millingTool IMachiningTool

The milling tool.

Returns

double

The feed per tooth in millimeters.

GetFeedrate_mmds()

Gets the program feedrate in millimeters per second.

public double GetFeedrate_mmds()

Returns

double

Feedrate in mm/s

GetMachiningTool(MachiningToolHouse)

Gets the machining tool from the tool house.

public IMachiningTool GetMachiningTool(MachiningToolHouse toolHouse)

Parameters

toolHouse MachiningToolHouse

The machining tool house.

Returns

IMachiningTool

The machining tool.

GetProgramSideCuspHeight_mm(IMachiningTool)

Gets the program side cusp height in millimeters.

public double GetProgramSideCuspHeight_mm(IMachiningTool millingTool)

Parameters

millingTool IMachiningTool

The milling tool.

Returns

double

The program side cusp height in millimeters.

GetSideCuspList_mm(IMachiningTool)

Gets the list of side cusp heights in millimeters.

public List<double> GetSideCuspList_mm(IMachiningTool millingTool)

Parameters

millingTool IMachiningTool

The milling tool.

Returns

List<double>

The list of side cusp heights in millimeters.

GetSideCuspPhaseInterval_rad(IMachiningTool)

Gets the side cusp phase interval in radians.

public double GetSideCuspPhaseInterval_rad(IMachiningTool millingTool)

Parameters

millingTool IMachiningTool

The milling tool.

Returns

double

The side cusp phase interval in radians.

GetSpindleDirection()

Gets the spindle rotation direction.

public SpindleDirection GetSpindleDirection()

Returns

SpindleDirection

The spindle direction (clockwise, counterclockwise, or stopped)

GetSpindleSpeed_radds()

Gets the spindle speed in radians per second.

public double GetSpindleSpeed_radds()

Returns

double

Spindle speed in rad/s

GetToothArcDuration_s(IMachiningTool)

Gets the duration of a single tooth arc in seconds.

public double GetToothArcDuration_s(IMachiningTool millingTool)

Parameters

millingTool IMachiningTool

The milling tool.

Returns

double

The duration of a single tooth arc in seconds.

GetToothSeqOnToolRunningCoordinate(IMachiningTool)

Gets the sequence of transformations for a single tooth on tool running coordinate.

public SeqPair<Mat4d> GetToothSeqOnToolRunningCoordinate(IMachiningTool millingTool)

Parameters

millingTool IMachiningTool

The milling tool.

Returns

SeqPair<Mat4d>

The sequence of transformations for a single tooth.

ToString()

Returns a string representation of this machining step.

public override string ToString()

Returns

string

A string representation of this machining step.