![image]()
using System;
using System.Drawing;
using Cognex.VisionPro;
using Cognex.VisionPro3D;
using Cognex.VisionPro.ToolGroup;
using Cognex.VisionPro.Display;
using Cognex.VisionPro.PMAlign;
using Cognex.VisionPro.Dimensioning;
using Cognex.VisionPro.CalibFix;
public class UserScript : CogToolGroupBaseScript
{
public override bool GroupRun(ref string message, ref CogToolResultConstants result)
{
CogCreateGraphicLabelTool labelTool =
(CogCreateGraphicLabelTool) toolGroup.Tools["CogCreateGraphicLabelTool1"];
// 先运行除标签工具以外的所有工具
for (Int32 toolIdx = 0; toolIdx < toolGroup.Tools.Count; toolIdx++)
{
if (toolGroup.Tools[toolIdx].Name == "CogCreateGraphicLabelTool1")
continue;
toolGroup.RunTool(toolGroup.Tools[toolIdx], ref message, ref result);
}
// 取两个测距工具的结果
CogDistanceSegmentSegmentTool disTool1 =
(CogDistanceSegmentSegmentTool) toolGroup.Tools["CogDistanceSegmentSegmentTool2"];
CogDistanceSegmentSegmentTool disTool2 =
(CogDistanceSegmentSegmentTool) toolGroup.Tools["CogDistanceSegmentSegmentTool1左右"];
double distance1 = disTool1.Distance;
double distance2 = disTool2.Distance;
// 给标签工具赋值
if (labelTool.InputGraphicLabel == null)
labelTool.InputGraphicLabel = new CogGraphicLabel();
labelTool.InputImage = ((CogFixtureTool) toolGroup.Tools["CogFixtureTool1"]).OutputImage;
labelTool.InputGraphicLabel.X = 50;
labelTool.InputGraphicLabel.Y = 50;
labelTool.InputGraphicLabel.Text =
string.Format("距离上下: {0:F3} \n\r 距离左右: {1:F3}", distance1, distance2);
// 字体
labelTool.InputGraphicLabel.Font = new Font("Arial", 18, FontStyle.Bold);
// 字体颜色
labelTool.InputGraphicLabel.Color = CogColorConstants.Yellow;
// 背景色
labelTool.InputGraphicLabel.BackgroundColor = CogColorConstants.Black;
// 最后再运行标签工具
toolGroup.RunTool(labelTool, ref message, ref result);
return false;
}
#region "When the Current Run Record is Created"
public override void ModifyCurrentRunRecord(Cognex.VisionPro.ICogRecord currentRecord)
{
}
#endregion
#region "When the Last Run Record is Created"
public override void ModifyLastRunRecord(Cognex.VisionPro.ICogRecord lastRecord)
{
}
#endregion
#region "When the Script is Initialized"
public override void Initialize(CogToolGroup host)
{
base.Initialize(host);
}
#endregion
}
![image]()