当前位置: 首页 > article >正文

C#Halcon视觉流程框架个人封装流程心得

一,实现效果

1,初始界面

2,加载流程

3,点击流程列表“加载2D图像"

4,设置图像预处理参数与画线找线

5,执行流程

6,折叠工具箱

7,折叠操作区域

二,实现流程

1,确定开发框架,小编选用的C#Windows窗体应用,并添加依赖包

(SunnyUI,可以提供一个好看的页面布局,包括折叠等功能)


 2--设计布局器


 3--设置MainForm_Load事件

 1)更换UI主题
 2)创建窗体
 3)布局方式并将窗体添加到指定的容器中
 4)添加处理工具节点的方法

4--创建接口MyPort


 5--创建工具类


6--创建tv1处理工具节点(初始化工具箱)


 7--双击创建数据处理节点事件(将工具箱的工具添加到流程列表中)


 8--创建处理对象(上图)
 9--创建一个用于进行绑定的类(下图)用于绑定(上图)


 10--定义工具流程列表(对应的是接口)(用于接收选择的流程)
 private List<MyPort> toollist = new List<MyPort>();
 11--执行流程按钮事件  (依托于7 8 9 10 )

  foreach (var node in toollist)
  {
      //优于列表中存放的都是工具类 因此调用类中的Run进行执行
      node.Run();

  }


 12--创建弹窗窗口


 13----窗口路径传参(字典,XmlSerializer,ini等多种方式)


 14--流程列表中双击打个流程时触发的弹窗事件


15显示选择
16--运行时间显示
 17--执行流程自动显示
18--保存Log日志

三,小结

此种方式对比小编前面案例Demo案例优缺点

流程列表:技术难度略高,开发周期长,但是流程交付后可自由变更

传统Form式:开发简单,周期快,定制开发,变更需改动源码,

 

 


http://www.kler.cn/a/504695.html

相关文章:

  • java导出pdf文件
  • what?ngify 比 axios 更好用,更强大?
  • [Flutter] 使用ScrollController配合EasyRefresh实现列表预加载:在还未滑动到底部时加载下一页数据
  • 面向对象分析与设计Python版 分析与设计概述
  • Bash语言的多线程编程
  • 深入探讨 Vue.js 的动态组件渲染与性能优化
  • MySQL程序之:简要概述
  • 基于 Python 和 Django 的课程管理系统设计与实现
  • rtthread学习笔记系列--29 SPI驱动
  • 基于微信小程序的智能停车场管理系统设计与实现(LW+源码+讲解)
  • Android - 仓库镜像记录
  • 【Unity踩坑】Unity中提示缺少Visual Studio组件
  • 分布式 IO 模块:引领立体车库迈向智能化新时代
  • 一文了解汽车嵌入式软件开发Franca IDL 知识
  • java根据模板导出word,并在word中插入echarts相关统计图片
  • vite功能之---TypeScript
  • Grails应用http.server.requests指标数据采集问题排查及解决
  • 分类问题常用评估指标
  • 小程序如何引入腾讯位置服务
  • 思科—网络安全笔记
  • 异常:o.s.web.servlet.PageNotFound : No mapping for GET
  • 蓝桥杯第二天学习笔记
  • 使用PWM生成模式驱动BLDC三相无刷直流电机
  • LabVIEW滤波器功能
  • Multi-Agent如何设计
  • 【0x003A】HCI_Write_Current_IAC_LAP命令详解