1.方法一:
引用:
using Cognex.VisionPro;
using Cognex.VisionPro.ToolBlock;
using Cognex.VisionPro.Exceptions;
using Cognex.VisionPro.PMAlign;
using Cognex.VisionPro.Display;
using System.Drawing;
using Cognex.VisionPro.CalibFix;
//新增工具
public void VisionPro_Add()
{
//实例化工具
CogToolBlock CogToolBlock1 = new CogToolBlock();
CogPMAlignTool CogPMAlignTool1 = new CogPMAlignTool();
CogFixtureTool CogFixtureTool1 = new CogFixtureTool();
CogPMAlignTool CogPMAlignTool2 = new CogPMAlignTool();
//将工具单独保存在加载
CogPMAlignTool CogPMAlignTool3 = new CogPMAlignTool();
CogPMAlignTool3 = CogSerializer.LoadObjectFromFile(@"E:\CogPMAlignTool1.vtt") as CogPMAlignTool;
//给工具命名
CogToolBlock1.Name = "CogToolBlock1";
CogPMAlignTool1.Name = "CogPMAlignTool1";
CogFixtureTool1.Name = "CogFixtureTool1";
CogPMAlignTool2.Name = "CogPMAlignTool2";
//将工具添加到CogToolBlock工具中再保存CogToolBlock工具
CogToolBlock1.Tools.Add(CogPMAlignTool1);
CogToolBlock1.Tools.Add(CogFixtureTool1);
CogToolBlock1.Tools.Add(CogPMAlignTool2);
CogSerializer.SaveObjectToFile(CogToolBlock1, @"E:\ToolBlock2.vpp");
MessageBox.Show("保存成功");
}
结果:
方法二:添加工具输出项
//新增工具
public void VisionPro_Add()
{
//实例化工具
CogToolBlock CogToolBlock1 = new CogToolBlock();
CogPMAlignTool CogPMAlignTool1 = new CogPMAlignTool();
CogFixtureTool CogFixtureTool1 = new CogFixtureTool();
CogPMAlignTool CogPMAlignTool2 = new CogPMAlignTool();
//将工具单独保存在加载
CogPMAlignTool CogPMAlignTool3 = new CogPMAlignTool();
CogPMAlignTool3 = CogSerializer.LoadObjectFromFile(@"E:\CogPMAlignTool1.vtt") as CogPMAlignTool;
//给工具命名
CogToolBlock1.Name = "CogToolBlock1";
CogPMAlignTool1.Name = "CogPMAlignTool1";
CogFixtureTool1.Name = "CogFixtureTool1";
CogPMAlignTool2.Name = "CogPMAlignTool2";
string[] s1 = new string[1];
string[] s2 = new string[5];
s1[0] = "|InputImage|InputImage";
s2[0] = "| Results.Item[0].GetPose() | Results.Item[0].GetPose()";
s2[1] = "|Results.Item[0].GetPose().TranslationX|Results.Item[0].GetPose().TranslationX";
s2[2] = "|Results.Item[0].GetPose().TranslationX|Results.Item[0].GetPose().TranslationY";
s2[3] = "|Results.Item[0].GetPose().Rotation|Results.Item[0].GetPose().Rotation";
s2[4] = "|Results.Item[0].Score|Results.Item[0].Score";
CogPMAlignTool1.UserData.Add("_ToolInputTerminals", s1);//添加终端-InputImage
CogPMAlignTool1.UserData.Add("_ToolOutputTerminals", s2);
//将工具添加到CogToolBlock工具中再保存CogToolBlock工具
CogToolBlock1.Tools.Add(CogPMAlignTool1);
CogToolBlock1.Tools.Add(CogFixtureTool1);
CogToolBlock1.Tools.Add(CogPMAlignTool2);
CogSerializer.SaveObjectToFile(CogToolBlock1, @"E:\ToolBlock2.vpp");
MessageBox.Show("保存成功");
}
方法三:单独保存工具再去加载
系统工具默认地址:
保存工具模板
点击右键保存工具模板(.vtt)文件
//加载系统初始工具
CogPMAlignTool CogPMAlignTool1 = CogSerializer.LoadObjectFromFile(@"C:\Program Files\Cognex\VisionPro\bin\Templates\Tools\C#\CogPMAlignTool.vtt") as CogPMAlignTool;
CogPMAlignTool CogPMAlignTool2 = CogSerializer.LoadObjectFromFile(@"C:\Program Files\Cognex\VisionPro\bin\Templates\Tools\C#\CogPMAlignTool.vtt") as CogPMAlignTool;
CogFixtureTool CogFixtureTool1 = CogSerializer.LoadObjectFromFile(@"C:\Program Files\Cognex\VisionPro\bin\Templates\Tools\C#\CogFixtureTool.vtt") as CogFixtureTool;
CogToolBlock CogToolBlock1 = CogSerializer.LoadObjectFromFile(@"C:\Program Files\Cognex\VisionPro\bin\Templates\Tools\C#\CogToolBlock.vtt") as CogToolBlock;
来源:oschina
链接:https://my.oschina.net/u/4286781/blog/4531355