流程图连接图效果图
细节部分
细节一
本案例是用PMA的中心传给找圆工具作为圆形,然后在圆心里设置参数找出圆的,下面两张图是配置参数的细节,通过卡尺数量,投影长度,对比度阈值、边缘模式等设置,在调试时可以开启实时模式进行调试,最后勾上最佳拟合圆。
细节二
向找圆工具中传入坐标信息时,需要先在找圆工具中添加输入终端
代码部分
//代码1
CogGraphicCollection gc = new CogGraphicCollection();
//代码2
CogPMAlignTool pmaTool = mToolBlock.Tools["CogPMAlignTool1"] as CogPMAlignTool;
CogFindCircleTool circleTool = mToolBlock.Tools["CogFindCircleTool1"] as CogFindCircleTool;
gc.Clear();
foreach(CogPMAlignResult item in pmaTool.Results)
{
circleTool.RunParams.ExpectedCircularArc.CenterX = item.GetPose().TranslationX;
circleTool.RunParams.ExpectedCircularArc.CenterY = item.GetPose().TranslationY;circleTool.Run();
CogGraphicLabel x = new CogGraphicLabel();
x.SetXYText(item.GetPose().TranslationX, item.GetPose().TranslationY, circleTool.Results.GetCircle().Radius.ToString("F4"));
x.Color = CogColorConstants.Red;
x.Font = new Font("楷体",12);
gc.Add(x);//添加标签信息
CogCircle c = circleTool.Results.GetCircle();c.Color = CogColorConstants.Red;
gc.Add(c);//添加圆
}
代码3 显示标签和圆
foreach(ICogGraphic item in gc ) // item图形集合中的任意一个元素{
mToolBlock.AddGraphicToRunRecord(item, lastRecord, "CogPMAlignTool1.InputImage", "");
}