让代码更简单

VisionPro脚本合成图形显示在同一张图像

重要:本文最后更新于2025-10-12 10:28:33,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

VisionPro怎么将不同工具的图形记录图形显示在同一张图像上?使用过VisionPro的视觉工程师应该都遇到过这样的问题,由于程序在运行时不可能随时切换显示图像,所以想要将工具找到的图形显示在一张图形上。本文将通过脚本的方式实现此功能,同理使用C#也能实现,且更加灵活。

VisionPro脚本合成图形

代码如下

复制
Cognex.VisionPro.ICogRecord myInputRecord = lastRecord.SubRecords["CogPMAlignTool1.InputImage"];
    if (myInputRecord == null)
    {
      return;
    }
    Cognex.VisionPro.ICogRecord myRecord = lastRecord.SubRecords["CogToolBlock1.CogFixtureTool1.OutputImage"];
    if (myRecord == null)
    {
      return;
    }
   
   
    foreach (Cognex.VisionPro.ICogRecord subrecord in myRecord.SubRecords)
    {
     // myInputRecord.SubRecords.Add(subrecord);
    }

在工具块或者工具组的ModifyLastRunRecord方法中,写入上述代码即可看到效果。

简单说明一下代码的运行过程。

首先从最后运行图像结果集合中获取CogPMAlignTool模板工具的输入图像作为最终显示图像层。

然后继续从最后运行图像集合中获取CogToolBlock1.CogFixtureTool1.OutputImage图像的图形集合。(本文所示图形集合包含坐标系、找到的圆周以及圆心。这里是复合图形CogCompositeResult

最后,遍历第二步得到的图形集合,将所有的图形加入到第一步得到的显示图像层。

感觉很棒!可以赞赏支持我哟~

0 打赏

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐