787 lines
30 KiB
C#
787 lines
30 KiB
C#
using AuroraLaser.Trupulse.DataTables;
|
|
using CoreUnit.Common;
|
|
using CoreUnit.Control.UserControl.Canvas;
|
|
using CoreUnit.Scanner.UserControl.ScannerCanvas;
|
|
using GUI.Dialog.Extender;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.IO;
|
|
using System.Reflection;
|
|
using System.Windows.Forms;
|
|
using System.Xml;
|
|
|
|
namespace CoreUnit.Scanner.UserControl.Canvas.Dialog
|
|
{
|
|
public partial class WeldingParamDlg : FormBase
|
|
{
|
|
private readonly HintProvider _hintProvider = new HintProvider();
|
|
private readonly WaveFormTable waveFormTable = new WaveFormTable();
|
|
public WeldingParamDlg(int scannergParamNo, bool editMode = true)
|
|
{
|
|
InitializeComponent();
|
|
|
|
LoadDataTables();
|
|
|
|
InitializeHint();
|
|
|
|
if (scannergParamNo <= 0) {
|
|
m_selectedIndex = 1;
|
|
} else {
|
|
m_selectedIndex = scannergParamNo;
|
|
}
|
|
|
|
|
|
m_scannerParams.Clear();
|
|
|
|
foreach (ScannerParam originalParam in ScannerCanvasUserCtrl.ScannerParams) {
|
|
ScannerParam copyParam = originalParam.Clone();
|
|
m_scannerParams.Add(copyParam);
|
|
}
|
|
|
|
cbWobbelShape.Items.Clear();
|
|
cbWobbelShape.DataSource = Enum.GetValues(typeof(ScannerParam.eWobbelShape));
|
|
|
|
cbLaserProgramNo.Items.Clear();
|
|
cbLaserProgramNo.DataSource = Enum.GetValues(typeof(ScannerParam.eProgramNo));
|
|
|
|
ScannerParamToDialog(m_selectedIndex);
|
|
|
|
InitializeDialog(m_selectedIndex, editMode);
|
|
|
|
}
|
|
|
|
private void LoadDataTables()
|
|
{
|
|
try {
|
|
var filePath = Path.Combine(ConfigurationManager.AppSettings.Get("DATA_PATH"), "External", "Tables", "waveFormTable.csv");
|
|
waveFormTable.LoadFromFile(filePath);
|
|
} catch (Exception ex) {
|
|
return;
|
|
}
|
|
|
|
}
|
|
|
|
private void InitializeHint()
|
|
{
|
|
// 생성자에서 옵션 한번에
|
|
_hintProvider.Title = "RMS Param ";
|
|
_hintProvider.Icon = ToolTipIcon.Info;
|
|
_hintProvider.MaxWidth = 360;
|
|
_hintProvider.ShowAlways = true;
|
|
_hintProvider.AutoPopDelay = 6000;
|
|
_hintProvider.InitialDelay = 200;
|
|
_hintProvider.ReshowDelay = 100;
|
|
|
|
// 각 TextBox에 힌트 주입
|
|
_hintProvider.SetHint(label15/*tbDrawSpeed*/, "용접레이저 가공 속도");
|
|
_hintProvider.SetHint(label14/*tbJumpSpeed*/, "용접레이저 이동 속도");
|
|
_hintProvider.SetHint(label57/*tbLaserPower1*/, "용접 레이저 메인 출력 Core");
|
|
_hintProvider.SetHint(label22/*tbLaserPower2*/, "용접 레이저 메인 출력 Ring");
|
|
_hintProvider.SetHint(label46/*nudRampingStartPower*/, "용접 레이저 램핑 출력(Start)");
|
|
_hintProvider.SetHint(label45/*nudRampingStartDist*/, "용접 레이저 램핑 길이(Start)");
|
|
_hintProvider.SetHint(label36/*nudRampingEndPower*/, "용접 레이저 램핑 출력(End)");
|
|
_hintProvider.SetHint(label34/*nudRampingEndDist*/, "용접 레이저 램핑 길이(End)");
|
|
}
|
|
|
|
private void InitializeDialog(int selectedIndex, bool editMode)
|
|
{
|
|
|
|
btnPasteParam.Enabled = false;
|
|
|
|
//Welding Parameter 콤보 박스 초기화
|
|
cbParamExt.Enabled = false;
|
|
cbParamExt.Items.Clear();
|
|
|
|
//Paramter 17~128개
|
|
for (int i = 17; i <= 128; i++) {
|
|
cbParamExt.Items.Add(i);
|
|
}
|
|
|
|
//if (editMode) {
|
|
// gbLaser.Enabled = true;
|
|
// gbRamping.Enabled = true;
|
|
// gbScanner.Enabled = true;
|
|
// gbWobbel.Enabled = true;
|
|
|
|
// btnCopyParam.Enabled = true;
|
|
// btnImport.Enabled = true;
|
|
// btnImportAll.Enabled = true;
|
|
// btnExport.Enabled = true;
|
|
// btnExportAll.Enabled = true;
|
|
// btnOk.Enabled = true;
|
|
// btnCancel.Enabled = true;
|
|
//} else {
|
|
// gbLaser.Enabled = false;
|
|
// gbRamping.Enabled = false;
|
|
// gbScanner.Enabled = false;
|
|
// gbWobbel.Enabled = false;
|
|
|
|
// btnCopyParam.Enabled = false;
|
|
// btnImport.Enabled = false;
|
|
// btnImportAll.Enabled = false;
|
|
// btnExport.Enabled = false;
|
|
// btnExportAll.Enabled = false;
|
|
// btnOk.Enabled = false;
|
|
// btnCancel.Enabled = true;
|
|
//}
|
|
|
|
//Welding Paramter 색 지정
|
|
//rbParam1.ForeColor = Color.FromName(((WeldingParameterIDEditor.eWeldingColor)1).ToString());
|
|
//rbParam2.ForeColor = Color.FromName(((WeldingParameterIDEditor.eWeldingColor)2).ToString());
|
|
//rbParam3.ForeColor = Color.FromName(((WeldingParameterIDEditor.eWeldingColor)3).ToString());
|
|
|
|
foreach (System.Windows.Forms.Control rb in this.gbParameterSet.Controls) {
|
|
if (rb is RadioButton) {
|
|
string sIndex = rb.Name.Substring(7);
|
|
int index = 0;
|
|
if (int.TryParse(sIndex, out index)) {
|
|
|
|
rb.ForeColor = WeldingParameterIDEditor.weldingColorList[index - 1];
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
|
|
switch (selectedIndex) {
|
|
case 1:
|
|
rbParam1.Checked = true;
|
|
break;
|
|
case 2:
|
|
rbParam2.Checked = true;
|
|
break;
|
|
case 3:
|
|
rbParam3.Checked = true;
|
|
break;
|
|
case 4:
|
|
rbParam4.Checked = true;
|
|
break;
|
|
case 5:
|
|
rbParam5.Checked = true;
|
|
break;
|
|
case 6:
|
|
rbParam6.Checked = true;
|
|
break;
|
|
case 7:
|
|
rbParam7.Checked = true;
|
|
break;
|
|
case 8:
|
|
rbParam8.Checked = true;
|
|
break;
|
|
case 9:
|
|
rbParam9.Checked = true;
|
|
break;
|
|
case 10:
|
|
rbParam10.Checked = true;
|
|
break;
|
|
case 11:
|
|
rbParam11.Checked = true;
|
|
break;
|
|
case 12:
|
|
rbParam12.Checked = true;
|
|
break;
|
|
case 13:
|
|
rbParam13.Checked = true;
|
|
break;
|
|
case 14:
|
|
rbParam14.Checked = true;
|
|
break;
|
|
case 15:
|
|
rbParam15.Checked = true;
|
|
break;
|
|
case 16:
|
|
rbParam16.Checked = true;
|
|
break;
|
|
default:
|
|
rbParamExt.Checked = true;
|
|
cbParamExt.Select(selectedIndex - 16, 1);
|
|
break;
|
|
}
|
|
}
|
|
|
|
List<ScannerParam> m_scannerParams = new List<ScannerParam>();
|
|
ScannerParam m_copyParam = new ScannerParam();
|
|
int m_selectedIndex = 0;
|
|
|
|
private void ScannerParamToDialog(int selectedScannerParamID)
|
|
{
|
|
ScannerParam selectedParam = m_scannerParams[selectedScannerParamID - 1];
|
|
|
|
tbDrawSpeed.Text = selectedParam.MarkSpeed.ToString("F3");
|
|
tbJumpSpeed.Text = selectedParam.JumpSpeed.ToString("F3");
|
|
tbLaserOnDelay.Text = selectedParam.LaserOnDelay.ToString();
|
|
tbLaserOffDelay.Text = selectedParam.LaserOffDelay.ToString();
|
|
tbJumpDelay.Text = selectedParam.JumpDelay.ToString();
|
|
tbMarkDelay.Text = selectedParam.MarkDelay.ToString();
|
|
tbPolygonDelay.Text = selectedParam.PolygonDelay.ToString();
|
|
tbNumberOfCount.Text = selectedParam.NumberOfCount.ToString();
|
|
tbLaserPower1.Text = selectedParam.LaserPower1.ToString();
|
|
tbLaserPower2.Text = selectedParam.LaserPower2.ToString();
|
|
tbLaserFrequency.Text = selectedParam.LaserFrequency.ToString("F3");
|
|
tbLaserPulseDuration.Text = selectedParam.LaserPulseDuration.ToString("F3");
|
|
ckbWobbelEnabled.Checked = selectedParam.WobbelEnable;
|
|
tbWobbelTransversal.Text = selectedParam.WobbelTransversal.ToString("F3");
|
|
tbWobbelLongitudinal.Text = selectedParam.WobbelLongditudinal.ToString("F3");
|
|
tbWobbelFrequency.Text = selectedParam.WobbelFrequency.ToString("F3");
|
|
|
|
if (nudRampingStartPower.Maximum < Convert.ToDecimal(selectedParam.RampingStartPower))
|
|
nudRampingStartPower.Value = nudRampingStartPower.Maximum;
|
|
else if (nudRampingStartPower.Minimum > Convert.ToDecimal(selectedParam.RampingStartPower))
|
|
nudRampingStartPower.Value = nudRampingStartPower.Minimum;
|
|
else
|
|
nudRampingStartPower.Value = Convert.ToDecimal(selectedParam.RampingStartPower);
|
|
|
|
if (nudRampingStartDist.Maximum < Convert.ToDecimal(selectedParam.RampingStartDist))
|
|
nudRampingStartDist.Value = nudRampingStartDist.Maximum;
|
|
else if (nudRampingStartDist.Minimum > Convert.ToDecimal(selectedParam.RampingStartDist))
|
|
nudRampingStartDist.Value = nudRampingStartDist.Minimum;
|
|
else
|
|
nudRampingStartDist.Value = Convert.ToDecimal(selectedParam.RampingStartDist);
|
|
|
|
if (nudRampingEndPower.Maximum < Convert.ToDecimal(selectedParam.RampingEndPower))
|
|
nudRampingEndPower.Value = nudRampingEndPower.Maximum;
|
|
else if (nudRampingEndPower.Minimum > Convert.ToDecimal(selectedParam.RampingEndPower))
|
|
nudRampingEndPower.Value = nudRampingEndPower.Minimum;
|
|
else
|
|
nudRampingEndPower.Value = Convert.ToDecimal(selectedParam.RampingEndPower);
|
|
|
|
if (nudRampingEndDist.Maximum < Convert.ToDecimal(selectedParam.RampingEndDist))
|
|
nudRampingEndDist.Value = nudRampingEndDist.Maximum;
|
|
else if (nudRampingEndDist.Minimum > Convert.ToDecimal(selectedParam.RampingEndDist))
|
|
nudRampingEndDist.Value = nudRampingEndDist.Minimum;
|
|
else
|
|
nudRampingEndDist.Value = Convert.ToDecimal(selectedParam.RampingEndDist);
|
|
|
|
tbSpotShotTime.Text = selectedParam.SpotShotTime.ToString("F3");
|
|
|
|
if (nudArcRampingInterval.Maximum < Convert.ToDecimal(selectedParam.ArcRampingInterval))
|
|
nudArcRampingInterval.Value = nudArcRampingInterval.Maximum;
|
|
else if (nudArcRampingInterval.Minimum > Convert.ToDecimal(selectedParam.ArcRampingInterval))
|
|
nudArcRampingInterval.Value = nudArcRampingInterval.Minimum;
|
|
else
|
|
nudArcRampingInterval.Value = Convert.ToDecimal(selectedParam.ArcRampingInterval);
|
|
|
|
ckbSnowManEnabled.Checked = selectedParam.SnowManEnable;
|
|
cbWobbelShape.SelectedItem = selectedParam.WobbelShape;
|
|
labelColor.BackColor = selectedParam.Color;
|
|
ckbZigZagEnabled.Checked = selectedParam.ZigzagWobbelEnable;
|
|
checkBoxStartRampingSlopeMode.Checked = selectedParam.RampingStartSlopeMode;
|
|
checkBoxEndRampingSlopeMode.Checked = selectedParam.RampingEndSlopeMode;
|
|
cbLaserProgramNo.SelectedItem = selectedParam.LaserProgramNo;
|
|
checkBoxUsePowerProfile.Checked = selectedParam.UsePowerProfile;
|
|
textBoxPowerProfileID.Text = selectedParam.PowerProfileID.ToString();
|
|
}
|
|
|
|
private void DialogToScannerParam(int selectedScannerParamID)
|
|
{
|
|
try {
|
|
ScannerParam selectedParam = m_scannerParams[selectedScannerParamID - 1];
|
|
|
|
selectedParam.MarkSpeed = Convert.ToDouble(tbDrawSpeed.Text);
|
|
selectedParam.JumpSpeed = Convert.ToDouble(tbJumpSpeed.Text);
|
|
selectedParam.LaserOnDelay = Convert.ToInt32(tbLaserOnDelay.Text);
|
|
selectedParam.LaserOffDelay = Convert.ToUInt32(tbLaserOffDelay.Text);
|
|
selectedParam.JumpDelay = Convert.ToUInt32(tbJumpDelay.Text);
|
|
selectedParam.MarkDelay = Convert.ToUInt32(tbMarkDelay.Text);
|
|
selectedParam.PolygonDelay = Convert.ToUInt32(tbPolygonDelay.Text);
|
|
selectedParam.NumberOfCount = Convert.ToUInt32(tbNumberOfCount.Text);
|
|
selectedParam.LaserPower1 = Convert.ToUInt32(tbLaserPower1.Text);
|
|
selectedParam.LaserPower2 = Convert.ToUInt32(tbLaserPower2.Text);
|
|
selectedParam.SpotShotTime = Convert.ToDouble(tbSpotShotTime.Text);
|
|
|
|
selectedParam.LaserFrequency = Convert.ToDouble(tbLaserFrequency.Text);
|
|
selectedParam.LaserProgramNo = (ScannerParam.eProgramNo)cbLaserProgramNo.SelectedItem;
|
|
m_scannerParams[selectedScannerParamID - 1].LaserProgramNo = (ScannerParam.eProgramNo)cbLaserProgramNo.SelectedItem;
|
|
selectedParam.LaserPulseDuration = Convert.ToDouble(tbLaserPulseDuration.Text);
|
|
selectedParam.WobbelEnable = ckbWobbelEnabled.Checked;
|
|
selectedParam.WobbelFrequency = Convert.ToDouble(tbWobbelFrequency.Text);
|
|
selectedParam.WobbelTransversal = Convert.ToDouble(tbWobbelTransversal.Text);
|
|
selectedParam.WobbelLongditudinal = Convert.ToDouble(tbWobbelLongitudinal.Text);
|
|
|
|
selectedParam.RampingStartPower = Convert.ToUInt32(nudRampingStartPower.Value);
|
|
selectedParam.RampingStartDist = (double)nudRampingStartDist.Value;
|
|
selectedParam.RampingEndPower = Convert.ToUInt32(nudRampingEndPower.Value);
|
|
selectedParam.RampingEndDist = (double)nudRampingEndDist.Value;
|
|
selectedParam.ArcRampingInterval = (double)nudArcRampingInterval.Value;
|
|
|
|
selectedParam.SnowManEnable = ckbSnowManEnabled.Checked;
|
|
selectedParam.WobbelShape = (ScannerParam.eWobbelShape)cbWobbelShape.SelectedItem;
|
|
selectedParam.ZigzagWobbelEnable = ckbZigZagEnabled.Checked;
|
|
selectedParam.RampingEndSlopeMode = checkBoxEndRampingSlopeMode.Checked;
|
|
selectedParam.RampingStartSlopeMode = checkBoxStartRampingSlopeMode.Checked;
|
|
|
|
selectedParam.UsePowerProfile = checkBoxUsePowerProfile.Checked;
|
|
selectedParam.PowerProfileID = Convert.ToInt32(textBoxPowerProfileID.Text);
|
|
|
|
selectedParam.Color = labelColor.BackColor;
|
|
} catch {
|
|
UtilUnit.logUnit.SetLog(LogUnit.eLogType.ALARM, MethodBase.GetCurrentMethod().Name, "Please Check Value");
|
|
}
|
|
}
|
|
|
|
private void rbParam_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
RadioButton radioButton = (RadioButton)sender;
|
|
|
|
if (radioButton.Checked) {
|
|
m_selectedIndex = Convert.ToInt16(radioButton.Text.Split(' ')[1]);
|
|
|
|
ScannerParamToDialog(m_selectedIndex);
|
|
}
|
|
|
|
}
|
|
|
|
private void rbParamExt_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
RadioButton radioButton = (RadioButton)sender;
|
|
|
|
if (radioButton.Checked) {
|
|
cbParamExt.Enabled = true;
|
|
} else {
|
|
cbParamExt.Enabled = false;
|
|
}
|
|
}
|
|
|
|
private void cbParamExt_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
m_selectedIndex = cbParamExt.SelectedIndex + 17;
|
|
|
|
ScannerParamToDialog(m_selectedIndex);
|
|
}
|
|
|
|
private void btnCopyParam_Click(object sender, EventArgs e)
|
|
{
|
|
btnPasteParam.Enabled = true;
|
|
|
|
m_copyParam = m_scannerParams[m_selectedIndex - 1].Clone();
|
|
|
|
}
|
|
|
|
private void btnPasteParam_Click(object sender, EventArgs e)
|
|
{
|
|
m_scannerParams[m_selectedIndex - 1] = m_copyParam.Clone();
|
|
ScannerParamToDialog(m_selectedIndex);
|
|
}
|
|
|
|
private void btnImport_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void btnExport_Click(object sender, EventArgs e)
|
|
{
|
|
try {
|
|
SaveFileDialog dlg = new SaveFileDialog();
|
|
dlg.DefaultExt = "lsp";
|
|
dlg.Filter = "LASA Param 파일 (*.lsp)|*.lsp";
|
|
dlg.Title = "LASA Param 파일 저장";
|
|
|
|
if (dlg.ShowDialog() == DialogResult.OK) {
|
|
if (string.Equals(dlg.FileName.Substring(dlg.FileName.LastIndexOf(".")), ".lsp") == false) {
|
|
throw new Exception("ERR_MAIN_PAGE_NOT_LASA_TYPE_FILE");
|
|
}
|
|
|
|
SaveParam(dlg.FileName, m_selectedIndex);
|
|
}
|
|
} catch (Exception ex) {
|
|
UtilUnit.logUnit.SetLog(LogUnit.eLogType.ALARM, MethodBase.GetCurrentMethod().Name, ex.Message);
|
|
}
|
|
}
|
|
|
|
private void btnImportAll_Click(object sender, EventArgs e)
|
|
{
|
|
try {
|
|
OpenFileDialog dlg = new OpenFileDialog();
|
|
dlg.DefaultExt = "lsp";
|
|
dlg.Filter = "LASA Param 파일 (*.lsp)|*.lsp";
|
|
dlg.Title = "LASA Param 파일 열기";
|
|
|
|
if (dlg.ShowDialog() == DialogResult.OK) {
|
|
if (string.Equals(dlg.FileName.Substring(dlg.FileName.LastIndexOf(".")), ".lsp") == false) {
|
|
throw new Exception("ERR_MAIN_PAGE_NOT_LASA_TYPE_FILE");
|
|
}
|
|
|
|
LoadAllParam(dlg.FileName);
|
|
}
|
|
} catch (Exception ex) {
|
|
UtilUnit.logUnit.SetLog(LogUnit.eLogType.ALARM, MethodBase.GetCurrentMethod().Name, ex.Message);
|
|
}
|
|
}
|
|
|
|
private void btnExportAll_Click(object sender, EventArgs e)
|
|
{
|
|
try {
|
|
SaveFileDialog dlg = new SaveFileDialog();
|
|
dlg.DefaultExt = "lsp";
|
|
dlg.Filter = "LASA Param 파일 (*.lsp)|*.lsp";
|
|
dlg.Title = "LASA Param 파일 저장";
|
|
|
|
if (dlg.ShowDialog() == DialogResult.OK) {
|
|
if (string.Equals(dlg.FileName.Substring(dlg.FileName.LastIndexOf(".")), ".lsp") == false) {
|
|
throw new Exception("ERR_MAIN_PAGE_NOT_LASA_TYPE_FILE");
|
|
}
|
|
|
|
SaveAllParam(dlg.FileName);
|
|
}
|
|
} catch (Exception ex) {
|
|
UtilUnit.logUnit.SetLog(LogUnit.eLogType.ALARM, MethodBase.GetCurrentMethod().Name, ex.Message);
|
|
}
|
|
|
|
}
|
|
private void SaveParam(string fileName, int selectedIndex)
|
|
{
|
|
try {
|
|
XmlTextWriter wr = new XmlTextWriter(fileName, null);
|
|
wr.Formatting = Formatting.Indented;
|
|
|
|
wr.WriteStartElement("WeldingParameter");
|
|
|
|
wr.WriteStartElement("items");
|
|
|
|
wr.WriteStartElement("Param");
|
|
CoreUnit.Common.XmlUtil.WriteProperties(m_scannerParams[selectedIndex - 1], wr);
|
|
wr.WriteEndElement();
|
|
|
|
wr.WriteEndElement();
|
|
wr.WriteEndElement();
|
|
|
|
wr.Close();
|
|
} catch (Exception ex) {
|
|
throw ex;
|
|
}
|
|
}
|
|
public void SaveAllParam(string fileName)
|
|
{
|
|
try {
|
|
XmlTextWriter wr = new XmlTextWriter(fileName, null);
|
|
wr.Formatting = Formatting.Indented;
|
|
|
|
wr.WriteStartElement("WeldingParameter");
|
|
|
|
wr.WriteStartElement("items");
|
|
foreach (ScannerParam param in m_scannerParams) {
|
|
wr.WriteStartElement("Param");
|
|
CoreUnit.Common.XmlUtil.WriteProperties(param, wr);
|
|
wr.WriteEndElement();
|
|
}
|
|
wr.WriteEndElement();
|
|
wr.WriteEndElement();
|
|
|
|
wr.Close();
|
|
} catch (Exception ex) {
|
|
throw ex;
|
|
}
|
|
}
|
|
public void LoadAllParam(string fileName)
|
|
{
|
|
try {
|
|
FileInfo fi = new FileInfo(fileName);
|
|
|
|
StreamReader sr = new StreamReader(fileName);
|
|
XmlDocument doc = new XmlDocument();
|
|
doc.Load(sr);
|
|
sr.Dispose();
|
|
|
|
XmlElement root = doc.DocumentElement;
|
|
|
|
foreach (XmlElement node in root.ChildNodes) {
|
|
if (node.Name == "items") {
|
|
m_scannerParams.Clear();
|
|
|
|
foreach (XmlElement childnode in node.ChildNodes) {
|
|
Object param = new ScannerParam();
|
|
CoreUnit.Common.XmlUtil.ParseProperties(childnode, param);
|
|
m_scannerParams.Add((ScannerParam)param);
|
|
}
|
|
}
|
|
}
|
|
} catch (Exception ex) {
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
private void btnOk_Click(object sender, EventArgs e)
|
|
{
|
|
DialogToScannerParam(m_selectedIndex);
|
|
ScannerCanvasUserCtrl.ScannerParams.Clear();
|
|
|
|
foreach (ScannerParam param in m_scannerParams) {
|
|
ScannerParam copyParam = param;
|
|
ScannerParam orignalParam = copyParam.Clone();
|
|
WeldingParameterIDEditor.UpdateColorList(param.No, param.Color);
|
|
ScannerCanvasUserCtrl.ScannerParams.Add(orignalParam);
|
|
}
|
|
|
|
this.DialogResult = DialogResult.OK;
|
|
this.Close();
|
|
}
|
|
|
|
private void btnCancel_Click(object sender, EventArgs e)
|
|
{
|
|
this.DialogResult = DialogResult.Cancel;
|
|
this.Close();
|
|
}
|
|
|
|
private void textBoxScannerParam_Leave(object sender, EventArgs e)
|
|
{
|
|
try {
|
|
DialogToScannerParam(m_selectedIndex);
|
|
} catch {
|
|
MessageBox.Show("숫자 형식이 맞지 않습니다.");
|
|
}
|
|
|
|
}
|
|
|
|
private void btnOpenSnowManEditor_Click(object sender, EventArgs e)
|
|
{
|
|
SnowmanEditorDlg snowManEditorDlg = new SnowmanEditorDlg(m_selectedIndex);
|
|
|
|
if (DialogResult.OK == snowManEditorDlg.ShowDialog()) {
|
|
m_scannerParams[m_selectedIndex - 1] = ScannerCanvasUserCtrl.ScannerParams[m_selectedIndex - 1].Clone();
|
|
} else {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
private void buttonSelectColor_Click(object sender, EventArgs e)
|
|
{
|
|
ColorDialog colorDlg = new ColorDialog();
|
|
|
|
if (colorDlg.ShowDialog() == DialogResult.OK) {
|
|
labelColor.BackColor = colorDlg.Color;
|
|
|
|
WeldingParameterIDEditor.UpdateColorList(m_selectedIndex - 1, colorDlg.Color);
|
|
|
|
DialogToScannerParam(m_selectedIndex);
|
|
|
|
switch (m_selectedIndex) {
|
|
case 1:
|
|
rbParam1.ForeColor = colorDlg.Color;
|
|
break;
|
|
case 2:
|
|
rbParam2.ForeColor = colorDlg.Color;
|
|
break;
|
|
case 3:
|
|
rbParam3.ForeColor = colorDlg.Color;
|
|
break;
|
|
case 4:
|
|
rbParam4.ForeColor = colorDlg.Color;
|
|
break;
|
|
case 5:
|
|
rbParam5.ForeColor = colorDlg.Color;
|
|
break;
|
|
case 6:
|
|
rbParam6.ForeColor = colorDlg.Color;
|
|
break;
|
|
case 7:
|
|
rbParam7.ForeColor = colorDlg.Color;
|
|
break;
|
|
case 8:
|
|
rbParam8.ForeColor = colorDlg.Color;
|
|
break;
|
|
case 9:
|
|
rbParam9.ForeColor = colorDlg.Color;
|
|
break;
|
|
case 10:
|
|
rbParam10.ForeColor = colorDlg.Color;
|
|
break;
|
|
case 11:
|
|
rbParam11.ForeColor = colorDlg.Color;
|
|
break;
|
|
case 12:
|
|
rbParam12.ForeColor = colorDlg.Color;
|
|
break;
|
|
case 13:
|
|
rbParam13.ForeColor = colorDlg.Color;
|
|
break;
|
|
case 14:
|
|
rbParam14.ForeColor = colorDlg.Color;
|
|
break;
|
|
case 15:
|
|
rbParam15.ForeColor = colorDlg.Color;
|
|
break;
|
|
case 16:
|
|
rbParam16.ForeColor = colorDlg.Color;
|
|
break;
|
|
default:
|
|
break;
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
private void btnOpenZigzagEditor_Click(object sender, EventArgs e)
|
|
{
|
|
ZigzagEditorDlg zigzagEditorDlg = new ZigzagEditorDlg(m_selectedIndex);
|
|
|
|
if (DialogResult.OK == zigzagEditorDlg.ShowDialog()) {
|
|
m_scannerParams[m_selectedIndex - 1] = ScannerCanvasUserCtrl.ScannerParams[m_selectedIndex - 1].Clone();
|
|
} else {
|
|
|
|
}
|
|
}
|
|
|
|
private void checkBoxStartRampingSlopeMode_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void checkBoxStartRampingSlopeMode_Click(object sender, EventArgs e)
|
|
{
|
|
try {
|
|
DialogToScannerParam(m_selectedIndex);
|
|
} catch {
|
|
MessageBox.Show("숫자 형식이 맞지 않습니다.");
|
|
}
|
|
}
|
|
|
|
private void checkBoxEndRampingSlopeMode_Click(object sender, EventArgs e)
|
|
{
|
|
try {
|
|
DialogToScannerParam(m_selectedIndex);
|
|
} catch {
|
|
MessageBox.Show("숫자 형식이 맞지 않습니다.");
|
|
}
|
|
}
|
|
|
|
private void ckbWobbelEnabled_Click(object sender, EventArgs e)
|
|
{
|
|
try {
|
|
DialogToScannerParam(m_selectedIndex);
|
|
|
|
|
|
} catch {
|
|
MessageBox.Show("숫자 형식이 맞지 않습니다.");
|
|
}
|
|
}
|
|
|
|
private void ckbSnowManEnabled_Click(object sender, EventArgs e)
|
|
{
|
|
try {
|
|
DialogToScannerParam(m_selectedIndex);
|
|
|
|
|
|
|
|
} catch {
|
|
MessageBox.Show("숫자 형식이 맞지 않습니다.");
|
|
}
|
|
}
|
|
|
|
private void ckbZigZagEnabled_Click(object sender, EventArgs e)
|
|
{
|
|
try {
|
|
DialogToScannerParam(m_selectedIndex);
|
|
|
|
|
|
} catch {
|
|
MessageBox.Show("숫자 형식이 맞지 않습니다.");
|
|
}
|
|
}
|
|
|
|
private void ckbWobbelEnabled_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
if (ckbWobbelEnabled.Checked) {
|
|
cbWobbelShape.Enabled = true;
|
|
tbWobbelFrequency.Enabled = true;
|
|
tbWobbelLongitudinal.Enabled = true;
|
|
tbWobbelTransversal.Enabled = true;
|
|
} else {
|
|
cbWobbelShape.Enabled = false;
|
|
tbWobbelFrequency.Enabled = false;
|
|
tbWobbelLongitudinal.Enabled = false;
|
|
tbWobbelTransversal.Enabled = false;
|
|
}
|
|
}
|
|
|
|
private void ckbSnowManEnabled_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
if (ckbSnowManEnabled.Checked) {
|
|
|
|
btnOpenSnowManEditor.Enabled = true;
|
|
} else {
|
|
|
|
btnOpenSnowManEditor.Enabled = false;
|
|
}
|
|
|
|
if (ckbSnowManEnabled.Checked || ckbZigZagEnabled.Checked) {
|
|
tbDrawSpeed.Enabled = false;
|
|
} else {
|
|
tbDrawSpeed.Enabled = true;
|
|
}
|
|
}
|
|
|
|
private void ckbZigZagEnabled_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
if (ckbZigZagEnabled.Checked) {
|
|
btnOpenZigzagEditor.Enabled = true;
|
|
|
|
} else {
|
|
btnOpenZigzagEditor.Enabled = false;
|
|
}
|
|
|
|
if (ckbSnowManEnabled.Checked || ckbZigZagEnabled.Checked) {
|
|
tbDrawSpeed.Enabled = false;
|
|
} else {
|
|
tbDrawSpeed.Enabled = true;
|
|
}
|
|
}
|
|
|
|
private void checkBoxUsePowerProfile_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
if (checkBoxUsePowerProfile.Checked) {
|
|
//nudRampingStartDist.Enabled = false;
|
|
//nudRampingStartPower.Enabled = false;
|
|
//nudRampingEndDist.Enabled = false;
|
|
//nudRampingEndPower.Enabled = false;
|
|
nudArcRampingInterval.Enabled = false;
|
|
checkBoxStartRampingSlopeMode.Enabled = false;
|
|
checkBoxEndRampingSlopeMode.Enabled = false;
|
|
textBoxPowerProfileID.Enabled = true;
|
|
} else {
|
|
//nudRampingStartDist.Enabled = true;
|
|
//nudRampingStartPower.Enabled = true;
|
|
//nudRampingEndDist.Enabled = true;
|
|
//nudRampingEndPower.Enabled = true;
|
|
nudArcRampingInterval.Enabled = true;
|
|
checkBoxStartRampingSlopeMode.Enabled = true;
|
|
checkBoxEndRampingSlopeMode.Enabled = true;
|
|
textBoxPowerProfileID.Enabled = false;
|
|
}
|
|
}
|
|
|
|
private void checkBoxUsePowerProfile_Click(object sender, EventArgs e)
|
|
{
|
|
try {
|
|
DialogToScannerParam(m_selectedIndex);
|
|
} catch {
|
|
MessageBox.Show("숫자 형식이 맞지 않습니다.");
|
|
}
|
|
}
|
|
|
|
private void textBoxPowerProfileID_Leave(object sender, EventArgs e)
|
|
{
|
|
try {
|
|
DialogToScannerParam(m_selectedIndex);
|
|
} catch {
|
|
MessageBox.Show("숫자 형식이 맞지 않습니다.");
|
|
}
|
|
}
|
|
|
|
private void cbLaserProgramNo_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
try {
|
|
var selected = waveFormTable.GetWaveForm(cbLaserProgramNo.SelectedIndex);
|
|
if(selected != null) {
|
|
tbPRF0.Text = selected.PRF0;
|
|
tbPRFmax.Text = selected.PRFmax;
|
|
}
|
|
} catch {
|
|
MessageBox.Show("숫자 형식이 맞지 않습니다.");
|
|
}
|
|
}
|
|
}
|
|
}
|