using NLog.Fluent; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics.Contracts; using System.Drawing; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace OTSMeasureApp._4_OTSSamplespaceGraphicsPanel { public partial class SetSEMDATAMParameterWindows : Form { SEMControlService _SEMDATAService; NLog.Logger log; public SetSEMDATAMParameterWindows(SEMControlService a_SEMDATAService) { InitializeComponent(); _SEMDATAService = a_SEMDATAService; log = NLog.LogManager.GetCurrentClassLogger(); } private void SetSEMDATAMParameter_Load(object sender, EventArgs e) { //获取Field操作类对象 if (_SEMDATAService == null) { _SEMDATAService = new SEMControlService(); } //判断是否连接电镜 if (_SEMDATAService.InitAndConnection()) { List semParameters = _SEMDATAService.GetSEMMagAndWDParameter(); double mag = semParameters[0]; double wd = semParameters[1]; double bri = semParameters[2]; double contra = semParameters[3]; double kv = semParameters[4]; tB_AcceleratingVoltage.Text=kv.ToString(); tB_Brightness.Text= bri.ToString(); tB_Contrast.Text= contra.ToString(); tB_Magnification.Text= mag.ToString(); tB_distance.Text= wd.ToString(); semParameters=new List(); _SEMDATAService.GetSemLocation(ref semParameters); tB_X.Text= semParameters[0].ToString(); tB_Y.Text= semParameters[1].ToString(); tB_R.Text= semParameters[2].ToString(); } } private void btn_distance_Click(object sender, EventArgs e) { double obj = 0; if(double.TryParse(tB_distance.Text,out obj)&& obj>0) { try { _SEMDATAService.SetSemWorkingDistance(obj); log.Warn("Set WD:" + tB_distance.Text); } catch(Exception ex) { log.Error(ex); } } else { log.Error("parameter error!"); } } private void btn_setbrightness_Click(object sender, EventArgs e) { double obj = 0; if (double.TryParse(tB_Brightness.Text, out obj) && obj > 0) { try { _SEMDATAService.SetSembrightness(obj); log.Warn("Set Brightness:" + tB_Brightness.Text); } catch (Exception ex) { log.Error(ex); } } else { log.Error("parameter error!"); } } private void btn_setContrast_Click(object sender, EventArgs e) { double obj = 0; if (double.TryParse(tB_Contrast.Text, out obj) && obj > 0) { try { _SEMDATAService.SetSemContrast(obj); log.Warn("Set Contrast:" + tB_Contrast.Text); } catch (Exception ex) { log.Error(ex); } } else { log.Error("parameter error!"); } } private void btn_setAcceleratingVoltage_Click(object sender, EventArgs e) { double obj = 0; if (double.TryParse(tB_AcceleratingVoltage.Text, out obj) && obj > 0) { try { _SEMDATAService.SetSemHT(obj); log.Warn("Set AcceleratingVoltage:" + tB_AcceleratingVoltage.Text); } catch (Exception ex) { log.Error(ex); } } else { log.Error("parameter error!"); } } private void btn_setMagnification_Click(object sender, EventArgs e) { double obj = 0; if (double.TryParse(tB_Magnification.Text, out obj) && obj > 0) { try { _SEMDATAService.SetGMagnification(obj); log.Warn("Set Magnification:" + tB_Magnification.Text); } catch (Exception ex) { log.Error(ex); } } else { log.Error("parameter error!"); } } private void btn_setXYR_Click(object sender, EventArgs e) { double objx = 0,objy=0,objr=0; if (double.TryParse(tB_X.Text, out objx)&& double.TryParse(tB_Y.Text, out objy) && double.TryParse(tB_R.Text, out objr)) { try { _SEMDATAService.MoveSEMToPoint(objx, objy, objr); log.Warn("MoveSEMToPoint:" + tB_X.Text+","+ tB_Y.Text+","+ tB_R.Text); } catch (Exception ex) { log.Error(ex); } } else { log.Error("parameter error!"); } } } }