(C#-VisionPro)用代碼方式新建VisionPro視覺文件(.vpp)


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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM