示例#1
0
        private void AddActionCommandImpl()
        {
            BaseAction action = null;

            switch (ActionType)
            {
            case ActionType.AddPanel:
                action = new AddPanelAction();
                break;

            case ActionType.LinearPositionLink:
                action = new LinearPositionLinkAction();
                break;

            case ActionType.TwoPositionLink:
                action = new TwoPositionLinkAction();
                break;

            case ActionType.LoadTool:
                action = new LoadToolAction();
                break;

            case ActionType.UnloadTool:
                action = new UnloadToolAction();
                break;

            case ActionType.LinearPositionLinkGantryOn:
                action = new LinearPositionLinkGantryOnAction();
                break;

            case ActionType.LinearPositionLinkGantryOff:
                action = new LinearPositionLinkGantryOffAction();
                break;

            case ActionType.LinearInterpolatedPositionLink:
                action = new LinearInterpolatedPositionLinkAction();
                break;

            case ActionType.ArcInterpolatedPositionLink:
                action = new ArcInterpolatedPositionLinkAction();
                break;

            default:
                break;
            }

            if (action != null)
            {
                action.Id   = _index++;
                action.Name = $"Action {action.Id}";
                Actions.Add(action);
                MachineStep.Actions.Add(action);
            }
            else
            {
                throw new InvalidOperationException("Action type not supported!");
            }
        }
示例#2
0
 public static BaseAction CreateBackStepAction(this AddPanelAction a)
 {
     return(new RemovePanelAction()
     {
         CornerReference = a.CornerReference,
         PanelHolder = a.PanelHolder,
         PanelId = a.PanelId
     });
 }
示例#3
0
 private BaseAction CreateBackStepAction(AddPanelAction action)
 {
     return(new RemovePanelAction()
     {
         CornerReference = action.CornerReference,
         PanelHolder = action.PanelHolder,
         PanelId = action.PanelId
     });
 }
示例#4
0
 public static void ExecuteAction(this AddPanelAction a, int actionId = 0)
 {
     Messenger.Default.Send(new LoadPanelMessage()
     {
         PanelHolderId = a.PanelHolder,
         Length        = a.XDimension,
         Width         = a.YDimension,
         Height        = a.ZDimension,
         BackNotifyId  = actionId
     });
 }
示例#5
0
        private void Execute(AddPanelAction action, int notifyId)
        {
            Messenger.Send(new LoadPanelMessage()
            {
                PanelHolderId = action.PanelHolder,
                Length        = action.XDimension,
                Width         = action.YDimension,
                Height        = action.ZDimension
            });

            NotifyExecuted(notifyId);
        }