public void CreateAndSaveItem(string strItem, string strVisionType, string strCamName, double dExposure, double dGain) { VisionSetpBase visionSetpBase = VisionMgr.GetInstance().GetItem(strItem); StepVisionInfo stepVisionInfo = new StepVisionInfo(); if (visionSetpBase == null) { visionSetpBase = CreatVisonObjByType(strVisionType, strItem); } else { string strTypeName = ""; //string strTypeName= GetChinseNameByVisionType(strItem); if (strVisionType != visionSetpBase.PrTyppeItem.ToString()) { visionSetpBase = CreatVisonObjByType(strVisionType, strItem); } } visionSetpBase.m_camparam.m_dGain = dGain; visionSetpBase.m_camparam.m_dExposureTime = dExposure; visionSetpBase.m_camparam.m_strCamName = strCamName; stepVisionInfo.CamParam = visionSetpBase.m_camparam; stepVisionInfo.VisionType = visionSetpBase.GetType().ToString(); VisionMgr.GetInstance().Add(strItem, visionSetpBase, stepVisionInfo); string strVisonItems = VisionMgr.GetInstance().CurrentVisionProcessDir + "VisionMgr.xml"; if (File.Exists(strVisonItems)) { File.Delete(strVisonItems); } VisionMgr.GetInstance().Save(); }
private void roundButton_Add_Click(object sender, EventArgs e) { VisionProcssName = comboBox_SelVisionProcessType.Text; CamName = comboBox_camSel.Text; Exposure = textBox_ExposureTime.Text.ToDouble(); Gain = textBox_Gain.Text.ToDouble(); ItemName = textBox_ItemName.Text; nLightVal = txtLightVal.Text.ToInt(); if (Gain == 0 || Exposure == 0 || VisionProcssName == "" || ItemName == "") { MessageBox.Show("参数设置错误", "Err", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else { Close(); Dispose(); if (VisionMgr.GetInstance().GetItemNamesAndTypes().ContainsKey(ItemName)) { MessageBox.Show($"{ItemName} 已经存在此项,重名了", "Err", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } Type ty = AssemblyOperate.GetTypeFromAssemblyByDescrition(VisionProcssName, typeof(VisionSetpBase)); visionSetpBase = Activator.CreateInstance(ty, ItemName) as VisionSetpBase; visionSetpBase.m_camparam.m_dExposureTime = Exposure; visionSetpBase.m_camparam.m_dGain = Gain; visionSetpBase.m_camparam.m_strCamName = CamName; StepVisionInfo stepVisionInfo = new StepVisionInfo(); stepVisionInfo.CamParam = visionSetpBase.m_camparam; stepVisionInfo.VisionType = ty.ToString(); stepVisionInfo.nLightVal = nLightVal; VisionMgr.GetInstance().Add(ItemName, visionSetpBase, stepVisionInfo); VisionMgr.GetInstance().Save(); this.DialogResult = DialogResult.Yes; } }