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

摘要:
1.加载模板1tplpath=应用程序。启动路径+“xxx.vpp”;2publicCognex.VisionP.ToolGroup.CogToolGrouptoolGroup=(Cognex.IVisionP.ToolGroup.CogToolGroup)Cognex.visionP.CogSerializer.LoadObjectFromFile(tpl

1、加载模板

C# 获取VisionPro的CogToolGroup下的所有层次的ICogTool生成工具树第1张C# 获取VisionPro的CogToolGroup下的所有层次的ICogTool生成工具树第2张
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、创建根目录

C# 获取VisionPro的CogToolGroup下的所有层次的ICogTool生成工具树第3张C# 获取VisionPro的CogToolGroup下的所有层次的ICogTool生成工具树第4张
 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、递归查找

C# 获取VisionPro的CogToolGroup下的所有层次的ICogTool生成工具树第5张C# 获取VisionPro的CogToolGroup下的所有层次的ICogTool生成工具树第6张
 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

免责声明:文章转载自《C# 获取VisionPro的CogToolGroup下的所有层次的ICogTool生成工具树》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇WebForm(一)——IIS服务器、开发方式和简单基础mysql18-Show Profile和全局日志下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

require标识符分析

require('./a') // 优先从缓存加载 // 由于 在 a 中已经加载过 b 了 // 所以这里不会重复加载 // 可以拿到其中的接口对象,但是不会重复执行里面的代码 // 这样做的目的是为了避免重复加载,提高模块加载效率 var fn = require('./b') console.log(fn)     如果是非路径形式的模块标识 路...

Windows 7下安装部署NodeJs

第一步  安装NodeJs http://nodejs.org/download/   下载windows版本的msi文件,双击进行安装即可。安装完毕,默认安装路径为C:Program Files odejs目录下,虽然官方说利用此方法可以自动添加环境变量, 但是如果可能没有进行自动添加node的环境变量的话可以右键”计算机“》”属性“》”高级系统设置“》...

node.js安装环境的检查和配置

第一步到https://nodejs.org/download/   下载对应开发环境的安装包。 第二步安装下载的node-v0.12.5-x64.msi安装包 第三步检查是否安装成功 cmd 进入后输入命令 node -v  回车能得到nodejs版本号 输入node 回车再输入console.log('aaaaa') 回车能正常显示输出 写一个js文件...

Linux驱动学习 —— 在/sys下面创建目录示例

有时我们需要在/sys下面创建一些目录, 下面给出了一个示例。 在加载驱动模块后, 在/sys下面会创建一个名为sysfs_demo的目录,并在其中在创建几个文件和目录。 [root@tiny4412 mnt]# ls -R /sys/sysfs_demo/ /sys/sysfs_demo/: node_one node_two s...

master + worker模式的node多核解决框架——nodecluster

master + worker模式的node多核解决框架——node-cluster - CNode master + worker模式的node多核解决框架——node-cluster 还在为node运行于单进程而苦恼么?即便是node本身提供了cluster功能,或者在github和npm上有很多优秀的模块帮你做封装,但你仍然逃避不掉这些问题:...

Nodejs介绍、安装及简单使用

打开Nodejs英文网:https://nodejs.org/en/ 中文网:http://nodejs.cn/ 我们会发现这样一句话: 翻译成中文如下: Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 Node.js 的包管理器...