internal void AddLinearMove(MoveType moveType, AxisAbilited axisAbilited, double?x, double?y, double?z, double?feed = null, CncCompensationState cncCompensationState = CncCompensationState.NoChange) { var moveAction = new LinearMoveAction(axisAbilited, moveType) { Feed = feed, CncCompensationState = cncCompensationState }; switch (axisAbilited) { case AxisAbilited.Z: { moveAction.Z = z; } break; case AxisAbilited.Xy: { _x = moveAction.X = x; _y = moveAction.Y = y; } break; default: { _x = moveAction.X = x; _y = moveAction.Y = y; moveAction.Z = z; } break; } this.Add(moveAction); }
internal void AddLinearMove(MoveType moveType, AxisAbilited axisAbilited, double x, double y, double?z, Matrix3D rotationMatrix, double?feed = null, CncCompensationState cncCompensationState = CncCompensationState.NoChange) { var rotatedPnt = Geometry.GeometryHelper.MultiplyPoint(new Geometry.Point3D(x, y, 0), rotationMatrix); var moveAction = new LinearMoveAction(axisAbilited, moveType) { Feed = feed, CncCompensationState = cncCompensationState }; switch (axisAbilited) { case AxisAbilited.Z: { moveAction.Z = z; } break; case AxisAbilited.Xy: { _x = moveAction.X = rotatedPnt.X; _y = moveAction.Y = rotatedPnt.Y; } break; default: { throw new NotImplementedException(); } break; } this.Add(moveAction); }
public void AddArcMove(AxisAbilited axisAbilited, double?x, double?y, double?z, double radius, bool clockWise, Point2D center, double?feed = null, CncCompensationState cncCompensationState = CncCompensationState.NoChange) { var moveType = clockWise ? MoveType.Cw : MoveType.Ccw; var moveAction = new ArcMoveAction(axisAbilited, moveType) { Radius = radius, ClockWise = clockWise, Center = center, CncCompensationState = cncCompensationState }; moveAction.Z = z; _x = moveAction.X = x; _y = moveAction.Y = y; this.Add(moveAction); }
public void AddArcMove(AxisAbilited axisAbilited, double x, double y, double?z, double radius, bool clockWise, Point2D center, Matrix3D rotationMatrix, double?feed = null, CncCompensationState cncCompensationState = CncCompensationState.NoChange) { var moveType = clockWise ? MoveType.Cw : MoveType.Ccw; var rotatedEndPnt = Geometry.GeometryHelper.MultiplyPoint(new Geometry.Point3D(x, y, 0), rotationMatrix); var rotatedCenterArc = Geometry.GeometryHelper.MultiplyPoint(new Geometry.Point3D(center.X, center.Y, 0), rotationMatrix); var moveAction = new ArcMoveAction(axisAbilited, moveType) { Radius = radius, ClockWise = clockWise, Center = new Point2D(rotatedCenterArc.X, rotatedCenterArc.Y), CncCompensationState = cncCompensationState }; moveAction.Z = z; _x = moveAction.X = rotatedEndPnt.X; _y = moveAction.Y = rotatedEndPnt.Y; this.Add(moveAction); }
public ArcMoveAction(AxisAbilited abilited, MoveType moveType) : base(abilited, moveType) { }
public LinearMoveAction(AxisAbilited abilited, MoveType moveType) : base(null) { AxisAbilited = abilited; MoveType = moveType; }