void AutoSelectPoint() { DeleteNodes(); var body = selectCuprum.SelectedObjects.FirstOrDefault() as Snap.NX.Body; var pointDatas = new List <PointData>(); var mark = Snap.Globals.SetUndoMark(Snap.Globals.MarkVisibility.Invisible, "ComponentHelperAutoSelectPoint"); try { pointDatas = CMMBusiness.AutoSelPoint(_electrode, _config, false); } catch (Exception ex) { pointDatas = new List <PointData>(); selectCuprum.SelectedObjects = new Snap.NX.NXObject[] { }; _electrode = null; NXOpen.UF.UFSession.GetUFSession().Ui.DisplayMessage(ex.Message, 1); } Snap.Globals.UndoToMark(mark, "ComponentHelperAutoSelectPoint"); UFDisp(pointDatas); }
public override void Update(NXOpen.BlockStyler.UIBlock block) { RefreshUI(); var body = selectCuprum.SelectedObjects.FirstOrDefault() as Snap.NX.Body; if (block == btnAutoSelectPoint.NXOpenBlock) { if (body != null) { AutoSelectPoint(); RefreshUI(); } } else if (block == selectCuprum.NXOpenBlock) { _electrode = null; if (body != null) { var elec = ElecManage.Electrode.GetElectrode(body); if (elec != null) { elec.InitAllFace(); _electrode = elec; } else { selectCuprum.SelectedObjects = new Snap.NX.NXObject[] { }; NXOpen.UF.UFSession.GetUFSession().Ui.DisplayMessage("该电极无法识别", 1); } } } else if (block == toggle0.NXOpenBlock) { UFDisp(); DeleteNodes(); } else if (block == btnDown.NXOpenBlock) { var node = GetSelectNode(); if (node != null) { var list = GetNodes(); var index = list.IndexOf(node) + 1; index = index > list.Count - 1 ? list.Count - 1 : index; list.Remove(node); list.Insert(index, node); UFDisp(GetPointDatasFromTree(list)); } } else if (block == btnUP.NXOpenBlock) { var node = GetSelectNode(); if (node != null) { var list = GetNodes(); var index = list.IndexOf(node) - 1; index = index < 0 ? 0 : index; list.Remove(node); list.Insert(index, node); UFDisp(GetPointDatasFromTree(list)); } } else if (block == btnRemove.NXOpenBlock) { var node = GetSelectNode(); if (node != null) { var pd = GetPointData(node); if (pd != null && pd.PointType == PointType.HeadFace) { var list = GetNodes(); list.Remove(node); UFDisp(GetPointDatasFromTree(list)); theUI.NXMessageBox.Show("提示", NXOpen.NXMessageBox.DialogType.Information, "删除成功!"); } else { theUI.NXMessageBox.Show("提示", NXOpen.NXMessageBox.DialogType.Information, "无法删除该点!"); } } } else if (block == selectionPoint.NXOpenBlock) { if (body != null && selectionPoint.SelectedObjects.Count() > 0) { PointData data = null; ComponentHelper(() => { data = CMMBusiness.IsInterveneBySelPoint(_electrode, selectionPoint.PickPoint, _config); }); if (data != null) { var points = GetPointDatasFromTree(); points.Add(data); UFDisp(points); } else { theUI.NXMessageBox.Show("提示", NXOpen.NXMessageBox.DialogType.Information, "无法取该点,请重新选点!"); } } selectionPoint.SelectedObjects = new Snap.NX.NXObject[] { }; } else if (block == btnExport.NXOpenBlock) { if (body != null) { var list = new List <PointData>(); GetNodes().ForEach(u => { list.Add(Newtonsoft.Json.JsonConvert.DeserializeObject <PointData>(u.GetNodeData().GetString(_propertyName))); }); if (list.Count > 0) { //导出 CMMBusiness.WriteCMMFileByPointData(_electrode, list, _config); NXOpen.UF.UFSession.GetUFSession().Ui.DisplayMessage("导出成功", 1); } } else { //ImportPart( Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "CMM_INSPECTION", enumSelectTool.ValueAsString)); } } }