mirror of
https://github.com/eggplantlwj/VisionEdit.git
synced 2026-03-29 11:56:34 +08:00
1、添加手眼标定工具,可选择4点或者9点标定,输出标定矩阵
2、修正Halcon引擎运行工具 3、添加相机SDK工具,但需完善 4、HalconTool取图工具增加选择文件夹功能 5、实现Job窗体可添加多个流程
This commit is contained in:
128
HDevEngineTool/FormHDevEngineTool.cs
Normal file
128
HDevEngineTool/FormHDevEngineTool.cs
Normal file
@@ -0,0 +1,128 @@
|
||||
using CommonMethods;
|
||||
using FormLib;
|
||||
using HalconDotNet;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using ViewROI;
|
||||
|
||||
namespace HDevEngineTool
|
||||
{
|
||||
public partial class FormHDevEngineTool : Form
|
||||
{
|
||||
private HDevEngineCode myHDevEngine = new HDevEngineCode();
|
||||
public IToolInfo myToolInfo = new IToolInfo();
|
||||
public HWindowTool_Smart myHwindow = new HWindowTool_Smart();
|
||||
|
||||
public FormHDevEngineTool(ref object hdevEngine)
|
||||
{
|
||||
InitializeComponent();
|
||||
_instance = this;
|
||||
if (hdevEngine.GetType().FullName != "System.Object")
|
||||
{
|
||||
myToolInfo = (IToolInfo)hdevEngine;
|
||||
myHDevEngine = (HDevEngineCode)myToolInfo.tool;
|
||||
myHDevEngine.toolName = myToolInfo.FormToolName;
|
||||
myHDevEngine.DispImage();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 窗体对象实例
|
||||
/// </summary>
|
||||
private static FormHDevEngineTool _instance;
|
||||
public static FormHDevEngineTool Instance
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_instance != null)
|
||||
{
|
||||
lock (_instance)
|
||||
{
|
||||
if (_instance == null)
|
||||
{
|
||||
object hdevEngine = new object();
|
||||
_instance = new FormHDevEngineTool(ref hdevEngine);
|
||||
}
|
||||
return _instance;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
object hdevEngine = new object();
|
||||
_instance = new FormHDevEngineTool(ref hdevEngine);
|
||||
return _instance;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void FormHDevEngineTool_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.panelHImageWindow.Controls.Add(myHwindow);
|
||||
myHwindow.Dock = DockStyle.Fill;
|
||||
}
|
||||
|
||||
public void InitTool()
|
||||
{
|
||||
txbCodeText.Text = myHDevEngine.CodeText;
|
||||
}
|
||||
|
||||
private void tsbReadHdev_Click(object sender, EventArgs e)
|
||||
{
|
||||
OpenFileDialog myDia = new OpenFileDialog();
|
||||
myDia.Filter = "Halcon程序(*.hdev)|*.hdev";
|
||||
myDia.Title = "打开Halcon程序";
|
||||
if (myDia.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
string filePath = myDia.FileName;
|
||||
myHDevEngine.CodeFilePath = filePath;
|
||||
string hdevText = FileOperate.ReadFile(filePath);
|
||||
txbCodeText.Text = hdevText;
|
||||
}
|
||||
}
|
||||
|
||||
private void tsbSaveHdev_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveFileDialog myDia = new SaveFileDialog();
|
||||
myDia.Filter = "Halcon程序(*.hdev)|*.hdev";
|
||||
if (myDia.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
string path = myDia.FileName;
|
||||
myHDevEngine.CodeFilePath = path;
|
||||
FileOperate.WriteFile(path, txbCodeText.Text);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void tsbReLoad_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (File.Exists(myHDevEngine.CodeFilePath))
|
||||
{
|
||||
FileInfo myFileInfo = new FileInfo(myHDevEngine.CodeFilePath);
|
||||
myHDevEngine.MyEngine.SetProcedurePath(myFileInfo.DirectoryName);
|
||||
|
||||
myHDevEngine.MyProgram.LoadProgram(myHDevEngine.CodeFilePath);
|
||||
myHDevEngine.ProgramCall = new HDevProgramCall(myHDevEngine.MyProgram);
|
||||
myHDevEngine.MyEngine.SetHDevOperators(new HDevOpMultiWindowImpl(myHwindow.SmartWindow.HalconWindow));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void tsbtRunTool_Click(object sender, EventArgs e)
|
||||
{
|
||||
if(myHDevEngine.ProgramCall != null)
|
||||
{
|
||||
myHDevEngine.ProgramCall.Execute();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user