• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#获取VisionPro的CogToolGroup下的所有层次的ICogTool生成工具树

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1、加载模板

1 tplpath = Application.StartupPath + "\\xxx.vpp";
2             public Cognex.VisionPro.ToolGroup.CogToolGroup toolGroup= (Cognex.VisionPro.ToolGroup.CogToolGroup)Cognex.VisionPro.CogSerializer.LoadObjectFromFile(tplpath);
View Code

2、创建根目录

 1 /// <summary>
 2 /// 加载相机模板
 3 /// </summary>
 4  private void LoadCogToolGroup(CogToolGroup tg)
 5  {
 6    toolGroup = tg;
 7    if (toolGroup.Tools.Count > 0)
 8     {
 9         TreeNode node=new TreeNode("相机模板");
10         trvTpl.Nodes.Add(node);
11         trvTpl.ExpandAll();
12 
13         foreach (ICogTool icCogTool in toolGroup.Tools)
14         {
15             GetToolBlockTools(icCogTool, node);
16         }
17      }
18  }
View Code

3、递归查找

 1  private void GetToolBlockTools(ICogTool icCogTool,TreeNode tnode)
 2         {
 3             if (icCogTool.GetType().Name == "CogToolBlock")
 4             {
 5                 CogToolBlock c = (CogToolBlock)icCogTool;
 6                 if (icCogTool.Name==tnode.Text)
 7                 {
 8                     TreeNode[] tds = trvTpl.Nodes.Find(icCogTool.Name, true);
 9                     if(tds.Length>0)
10                         GetToolBlockTools(icCogTool, tds[0]);
11                 }
12                 else
13                 {
14                     TreeNode node = new TreeNode(icCogTool.Name);
15                     node.Tag = icCogTool;
16                     tnode.Nodes.Add(node);
17                     foreach (ICogTool ict in c.Tools)
18                     {
19                         GetToolBlockTools(ict, node);
20                     }
21                 }
22             }
23             else
24             {
25                 TreeNode node = new TreeNode(icCogTool.Name);
26                 node.Tag = icCogTool;
27                 tnode.Nodes.Add(node);
28             }
29         }
View Code

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
使用new关键字创建对象数组(C#,C++,Java)发布时间:2022-07-13
下一篇:
C#正则表达式替换分组内的内容发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap