using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using Mach4;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
//define variable connect Mach3
private IMach4 _mach;
private IMyScriptObject _mInst;
public Form1()
{
InitializeComponent();
}
private void GetMachInstance()
{
try
{
_mach = (IMach4)Marshal.GetActiveObject("Mach4.Document");
_mInst = (IMyScriptObject)_mach.GetScriptDispatch();
}
catch
{
_mach = null;
_mInst = null;
}
}
private void UpdateDro()
{
GetMachInstance();
//ref: http://www.machsupport.com/mach3wiki/index.php?title=OEM_DROS
txtDroX.Text = _mInst.GetOEMDRO(800).ToString();
txtDroY.Text = _mInst.GetOEMDRO(801).ToString();
txtDroZ.Text = _mInst.GetOEMDRO(802).ToString();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void tmrUpdateDRO_Tick(object sender, EventArgs e)
{
UpdateDro();
}
private void Form_load(object sender, System.EventArgs e)
{
tmrUpdateDRO.Enabled = true;
}
private void btnStart_Click(object sender, EventArgs e)
{
//ref: http://www.machsupport.com/mach3wiki/index.php?title=OEM_Buttons
GetMachInstance();
if (_mInst != null)
{
_mInst.DoOEMButton(1000);
}
}
private void btnFeedhold_Click(object sender, EventArgs e)
{
//ref: http://www.machsupport.com/mach3wiki/index.php?title=OEM_Buttons
GetMachInstance();
if (_mInst != null)
{
_mInst.DoOEMButton(1001);
}
}
private void btnStop_Click(object sender, EventArgs e)
{
//ref: http://www.machsupport.com/mach3wiki/index.php?title=OEM_Buttons
GetMachInstance();
if (_mInst != null)
{
_mInst.DoOEMButton(1003);
}
}
private void btnSentMDI_Click(object sender, EventArgs e)
{
GetMachInstance();
if (_mInst != null)
{
_mInst.Code(txtMDI.Text.Trim());
}
}
}
}