流程图连接图效果图
细节部分
要点
主要时用到了高级脚本工具,用脚本画框图
代码解析
public class CogToolBlockAdvancedScript : CogToolBlockAdvancedScriptBase
{
#region Private Member Variables
private Cognex.VisionPro.ToolBlock.CogToolBlock mToolBlock;
//1代码:添加两个仿射矩形框
private CogRectangleAffine rect1 = new CogRectangleAffine();
private CogRectangleAffine rect2 = new CogRectangleAffine();
#endregion
foreach(ICogTool tool in mToolBlock.Tools)
mToolBlock.RunTool(tool, ref message, ref result);
//2代码:获取工具,运行结果
//创建blob对象,从toolblock工具中的blobtool对象赋给blob1,
private CogBlobTool blob1 = new CogBlobTool();
blob1 = (CogBlobTool) mToolBlock.Tools["CogBlobTool1"];
//设置矩形长宽高线宽质心
rect1.Color = CogColorConstants.Red;
rect1.LineWidthInScreenPixels = 2;//线宽为2个像素
rect1.CenterX = blob1.Results.GetBlobs()[0].CenterOfMassX;//用了blob中的质心
rect1.CenterY = blob1.Results.GetBlobs()[0].CenterOfMassY;
rect1.SideXLength = 50;
rect1.SideYLength = 70;//矩形框的长度和宽度
rect2.Color = CogColorConstants.Green;
rect2.LineWidthInScreenPixels = 2;//线宽为2个像素
rect2.CenterX = blob1.Results.GetBlobs()[1].CenterOfMassX;
rect2.CenterY = blob1.Results.GetBlobs()[1].CenterOfMassY;
rect2.SideXLength = 50;
rect2.SideYLength = 70;//矩形框的长度和宽度
return false;
}
public override void ModifyLastRunRecord(Cognex.VisionPro.ICogRecord lastRecord)
{
//3代码:显示在图像上
//在toolblock工具中添加图像rect到最后一次的运行结果上,添加到CogFixtureTool的OutputImage上去,"script"是文本注释信息,可有可无。
mToolBlock.AddGraphicToRunRecord(rect1, lastRecord, "CogFixtureTool1.OutputImage", "script");
mToolBlock.AddGraphicToRunRecord(rect2, lastRecord, "CogFixtureTool1.OutputImage", "script");
}
#endregion
#region When the Script is Initialized
}
其他
需要画圆等一些图时,可以选用Creation中对应的工具