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

博客介绍了C#相关操作,包括加载模板、创建根目录以及递归查找,内容转载自https://www.cnblogs.com/BennyHua/p/11170005.html 。

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

 

转载于:https://www.cnblogs.com/BennyHua/p/11170005.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值