HalconToolRun.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * ==============================================================================
  3. *
  4. * Filename: HalconToolRun
  5. * Description:
  6. *
  7. * Version: 1.0
  8. * Created: 2021/2/25 16:03:59
  9. *
  10. * Author: liu.wenjie
  11. *
  12. * ==============================================================================
  13. */
  14. using CommonMethods.Interface;
  15. using System;
  16. using System.Collections.Generic;
  17. using System.Linq;
  18. using System.Text;
  19. using System.Threading.Tasks;
  20. using CommonMethods;
  21. using System.Windows.Forms;
  22. using System.Drawing;
  23. using FormLib;
  24. using ToolLib.VisionJob;
  25. namespace HalconTool
  26. {
  27. public class HalconToolRun : IToolRun
  28. {
  29. public void ToolRun(string jobName, int toolIndex, int inputItemNum, TreeNode selectNode, List<IToolInfo> L_toolList, IVisionJob runJob, Form myHalconWindowForm)
  30. {
  31. Type a = this.GetType();
  32. HalconTool myHalconTool = (HalconTool)L_toolList[toolIndex].tool;
  33. VisionJob myJob = (VisionJob)runJob;
  34. myHalconTool.Run(SoftwareRunState.Release);
  35. if (myHalconTool.toolRunStatu != ToolRunStatu.Succeed)
  36. {
  37. myJob.FormLogDisp($"{L_toolList[toolIndex].toolName} 运行失败,失败原因:{myHalconTool.runMessage}", Color.Red, selectNode, Logger.MsgLevel.Exception);
  38. }
  39. else
  40. {
  41. myJob.FormLogDisp($"{L_toolList[toolIndex].toolName} 运行成功,{myHalconTool.runTime}", Color.Green, selectNode);
  42. ((FormImageWindow)myHalconWindowForm).myHWindow.DispImage(myHalconTool.outputImage);
  43. L_toolList[toolIndex].toolOutput[0] = new ToolIO("OutputImage", myHalconTool.outputImage, DataType.Image);
  44. }
  45. L_toolList[toolIndex].toolRunStatu = myHalconTool.toolRunStatu;
  46. }
  47. }
  48. }