Exemplo n.º 1
0
    public override void Update(NXOpen.BlockStyler.UIBlock block)
    {
        if (block == selection0)
        {
            Snap.NX.Component component = selection0.GetSelectedObjects().FirstOrDefault() as NXOpen.Assemblies.Component;
            var com = component.Parent.Children.FirstOrDefault(u => u.Name == component.Name && u.GetAttributeInfo().Where(m => m.Title == SnapEx.ConstString.EACT_POSITIONING_DATE).Count() <= 0);
            if (com != null)
            {
                selection0.SetSelectedObjects(new TaggedObject[] { com.NXOpenComponent });
                UpdateTreeControl();
            }
        }
        else if (block == button0) //删除按钮
        {
            var node = tree_control0.GetSelectedNodes().FirstOrDefault();
            if (node != null)
            {
                var index = int.Parse(node.DisplayText) - 1;

                if (coms.Count > index)
                {
                    var com = coms[index];
                    coms.Remove(com);
                    com.Delete();
                    UpdateTreeControl();
                }
            }
        }
    }
Exemplo n.º 2
0
    public override void Update(NXOpen.BlockStyler.UIBlock block)
    {
        if (block == btnNew) //新建
        {
            InitUI();
            tree_control0.SelectNodes(tree_control0.GetSelectedNodes(), false, true);
        }
        else if (block == btnSave) //保存
        {
            var data = GetProbeData();
            if (tree_control0.GetSelectedNodes().Count() > 0) //保存
            {
                tree_control0.GetSelectedNodes().ToList().ForEach(u => {
                    if (CreateProbe(data))
                    {
                        u.GetNodeData().SetString(_propertyName, Newtonsoft.Json.JsonConvert.SerializeObject(data));
                    }
                });
            }
            else //新建
            {
                //检测名称是否重复
                foreach (var node in GetNodes())
                {
                    if (node.DisplayText == data.ProbeName)
                    {
                        System.Windows.Forms.MessageBox.Show("名字不能重复");
                        return;
                    }
                }

                if (CreateProbe(data))
                {
                    tree_control0.SelectNode(AddNode(data), true, true);
                }
            }
        }
        else if (block == btnDelete) //删除
        {
            tree_control0.GetSelectedNodes().ToList().ForEach(u =>
            {
                DeleteProbe(GetProbeData(u));
                tree_control0.DeleteNode(u);
            });

            InitUI();
        }

        var probeDatas = new List <ProbeData>();

        GetNodes().ForEach(u =>
        {
            probeDatas.Add(GetProbeData(u));
        });

        File.WriteAllText(_probeDataPath, Newtonsoft.Json.JsonConvert.SerializeObject(probeDatas));
    }
Exemplo n.º 3
0
    public override void Update(NXOpen.BlockStyler.UIBlock block)
    {
        if (block.Name == selection0.Name)
        {
            Snap.NX.Body body = selection0.SelectedObjects.FirstOrDefault() as Snap.NX.Body;
            if (!SnapEx.Helper.IsEactElecBody(body) || body.GetAttributeInfo().Where(u => u.Title == EACT_POSITIONING_DATE).Count() > 0)
            {
                selection0.SelectedObjects = new List <Snap.NX.NXObject>().ToArray();
            }
        }

        RefreshUI();

        Perform(true);
    }
Exemplo n.º 4
0
    public override void Update(NXOpen.BlockStyler.UIBlock block)
    {
        if (block == bodySelect0.NXOpenBlock)
        {
            var selectedObjs = bodySelect0.SelectedObjects.ToList();
            var bodies       = new List <Snap.NX.NXObject>();

            selectedObjs.ForEach(u =>
            {
                var body = Snap.NX.Body.Wrap(u.NXOpenTag);
                if (SnapEx.Helper.IsEactElecBody(body))
                {
                    bodies.Add(body);
                }
            });

            if (selectedObjs.Count != bodies.Count)
            {
                bodySelect0.SelectedObjects = bodies.ToArray();
            }

            stringElecName.Show = bodies.Count <= 1;


            if (bodies.Count == 1)
            {
                SetElecName();
            }
        }
        else if (block == stringElecName.NXOpenBlock)
        {
            var body = bodySelect0.SelectedObjects.FirstOrDefault();
            if (body != null)
            {
                if (GetElecNames().Contains(stringElecName.Value))
                {
                    SetElecName();
                }
            }
        }


        RefreshUI();
        Perform(true);
    }
Exemplo n.º 5
0
    public override void Update(NXOpen.BlockStyler.UIBlock block)
    {
        RereshUI();
        if (block == selectSteel.NXOpenBlock)
        {
            var steel = GetSteel();
            if (steel != null)
            {
                var info = EactBom.EactBomBusiness.Instance.GetMouldInfo(steel);

                sMODELNUMBER.Value = info.MODEL_NUMBER;
                sMRNUMBER.Value    = info.MR_NUMBER;
                if (_items.Contains(info.MR_MATERAL))
                {
                    _items.Remove(info.MR_MATERAL);
                    _items.Insert(0, info.MR_MATERAL);
                    eMATERAL.Items = _items.ToArray();
                    //eMATERAL.SelectedIndex = _items.ToList().IndexOf(info.MR_MATERAL);
                }

                //默认值
                if (string.IsNullOrEmpty(info.MODEL_NUMBER) || string.IsNullOrEmpty(info.MR_NUMBER))
                {
                    var tempStrs = System.IO.Path.GetFileNameWithoutExtension(Snap.Globals.WorkPart.FullPath).Split('-').ToList();
                    if (tempStrs.Count >= 2)
                    {
                        if (string.IsNullOrEmpty(info.MODEL_NUMBER))
                        {
                            sMODELNUMBER.Value = tempStrs[0];
                        }

                        if (string.IsNullOrEmpty(info.MR_NUMBER))
                        {
                            sMRNUMBER.Value = tempStrs[1];
                        }
                    }
                }
            }
        }
    }
Exemplo n.º 6
0
    public override void Update(NXOpen.BlockStyler.UIBlock block)
    {
        RereshUI();
        if (block == selectSteel.NXOpenBlock)
        {
            var steel = GetSteel();
            if (steel != null)
            {
                var info = EactBom.EactBomBusiness.Instance.GetMouldInfo(steel);

                sMODELNUMBER.Value = info.MODEL_NUMBER;
                sMRNUMBER.Value    = info.MR_NUMBER;
                if (_items.Contains(info.MR_MATERAL))
                {
                    _items.Remove(info.MR_MATERAL);
                    _items.Insert(0, info.MR_MATERAL);
                    eMATERAL.Items = _items.ToArray();
                    //eMATERAL.SelectedIndex = _items.ToList().IndexOf(info.MR_MATERAL);
                }
            }
        }
    }
Exemplo n.º 7
0
 public override void Update(NXOpen.BlockStyler.UIBlock block)
 {
 }
Exemplo n.º 8
0
 public virtual void Update(NXOpen.BlockStyler.UIBlock block)
 {
 }
Exemplo n.º 9
0
    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));
            }
        }
    }
Exemplo n.º 10
0
    public override void Update(NXOpen.BlockStyler.UIBlock block)
    {
        RefreshUI();
        var body = selectCuprum.GetSelectedObjects().FirstOrDefault() as NXOpen.Body;

        if (block == btnAutoSelectPoint)
        {
            AutoSelectPoint();
            RefreshUI();
        }
        else if (block == toggle0)
        {
            UFDisp();
            DeleteNodes();
        }
        else if (block == btnDown)
        {
            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)
        {
            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)
        {
            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)
        {
            if (body != null && selectionPoint.GetSelectedObjects().Count() > 0)
            {
                PointData data = null;
                ComponentHelper((probeData) =>
                {
                    data = new Electrode(body).IsIntervene(selectionPoint.PickPoint, probeData);
                }, enumSelectTool.ValueAsString);

                if (data != null && data.PointType == PointType.HeadFace)
                {
                    var points = GetPointDatasFromTree();
                    points.Add(data);
                    UFDisp(points);
                }
                else
                {
                    theUI.NXMessageBox.Show("提示", NXOpen.NXMessageBox.DialogType.Information, "无法取该点,请重新选点!");
                }
            }

            selectionPoint.SetSelectedObjects(new NXOpen.TaggedObject[] { });
        }
        else if (block == btnExport)
        {
            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)
                {
                    //导出
                    var info    = new Electrode(body).GetPointInfo(list);
                    var infoStr = Newtonsoft.Json.JsonConvert.SerializeObject(info);
                    File.WriteAllText(@"D:\GetPointInfo.txt", infoStr);
                }
            }
            else
            {
                ImportPart(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "CMM_INSPECTION", enumSelectTool.ValueAsString));
            }
        }
    }
Exemplo n.º 11
0
    public override void Update(NXOpen.BlockStyler.UIBlock block)
    {
        if (block == selectCuprum.NXOpenBlock)
        {
            var cuprums = Enumerable.Select(selectCuprum.SelectedObjects, u => Snap.NX.Body.Wrap(u.NXOpenTag)).ToList();
            var unNameC = cuprums.Where(u => string.IsNullOrEmpty(u.Name)).ToList();
            var nameC   = cuprums.Where(u => !string.IsNullOrEmpty(u.Name)).ToList();

            groupSElec.Show = false;
            var groupSElecShow = false;
            if (nameC.Count == 1)
            {
                var body = nameC.First();
                var info = GetElecInfo(body);
                groupSElecShow = info == null || info.IsSpecialShapeElec == "1";
                if (info == null)
                {
                    info = new ElecManage.EactElectrodeInfo(body);
                }

                if (_configData.Edition == 1)
                {
                    if ((info.KL_SIZE_HEIGHT == 0 || info.KL_SIZE_LEN == 0 || info.KL_SIZE_WIDTH == 0))
                    {
                        theUI.NXMessageBox.Show("提示", NXOpen.NXMessageBox.DialogType.Error, "该电极未设置开料尺寸!");
                        selectCuprum.SelectedObjects = new Snap.NX.NXObject[] { };
                        return;
                    }

                    if (string.IsNullOrEmpty(info.ELEC_CLAMP_GENERAL_TYPE))
                    {
                        theUI.NXMessageBox.Show("提示", NXOpen.NXMessageBox.DialogType.Error, "该电极未设置夹具!");
                        selectCuprum.SelectedObjects = new Snap.NX.NXObject[] { };
                        return;
                    }
                }

                SetDefaultValue(info);
                Action <bool> action = (b) =>
                {
                    groupSElec.Show = b;
                    if (b)
                    {
                        theUI.NXMessageBox.Show("提示", NXOpen.NXMessageBox.DialogType.Information, "异形电极,请设置相关参数!");
                        SetEactElec(body);
                    }
                };

                if (SpecialshapedElec)
                {
                    action(groupSElecShow);
                }
            }
            else if (SpecialshapedElec && unNameC.Count > 0)
            {
                theUI.NXMessageBox.Show("提示", NXOpen.NXMessageBox.DialogType.Information, "电极名称不能为空");
                selectCuprum.SelectedObjects = cuprums.Where(u => !string.IsNullOrEmpty(u.Name)).ToArray();
            }
            else if (SpecialshapedElec && nameC.Count > 1)
            {
                var lstMsg    = new List <string>();
                var tempNameC = nameC.Where(u => !_elecNameLst.Contains(u.Name));
                foreach (var item in tempNameC.GroupBy(u => u.Name))
                {
                    var body = item.First();
                    var info = GetElecInfo(body);
                    if (info == null)
                    {
                        lstMsg.Add(string.Format("{0}:{1}", body.Name, "异形电极"));
                        selectCuprum.SelectedObjects = cuprums.Where(u => u.Name != body.Name).ToArray();
                    }
                }
                if (lstMsg.Count > 0)
                {
                    Snap.InfoWindow.Clear();
                    lstMsg.ForEach(u => { Snap.InfoWindow.WriteLine(u); });
                }
            }

            if (_isAllowMultiple)
            {
                if (nameC.Count > 1)
                {
                    strElecName.Show = false;
                }
                else
                {
                    strElecName.Show = true;
                }

                if (cuprums.Count != 1)
                {
                    selectCuprum.AllowMultiple = true;

                    if (unNameC.Count > 0)
                    {
                        theUI.NXMessageBox.Show("提示", NXOpen.NXMessageBox.DialogType.Information, "电极名称不能为空");
                        selectCuprum.SelectedObjects = cuprums.Where(u => !string.IsNullOrEmpty(u.Name)).ToArray();
                    }
                }
                else
                {
                    if (string.IsNullOrEmpty(cuprums.First().Name))
                    {
                        selectCuprum.AllowMultiple = false;
                    }
                    else if (groupSElecShow)
                    {
                        selectCuprum.AllowMultiple = false;
                    }
                    else
                    {
                        selectCuprum.AllowMultiple = true;
                    }
                }
            }

            strElecSize.Show        = strElecName.Show;
            strElecCuttingSize.Show = strElecName.Show;
        }
        else if (block == cbbChuckType.NXOpenBlock ||
                 block == selectBaseFace.NXOpenBlock
                 //|| block == selectBaseFacePointEx.NXOpenBlock
                 || block == selectTopFace.NXOpenBlock
                 )
        {
            var cuprums = Enumerable.Select(selectCuprum.SelectedObjects, u => Snap.NX.Body.Wrap(u.NXOpenTag)).ToList();
            if (cuprums.Count == 1)
            {
                var info = GetElecInfo(cuprums.First());
                if (info != null)
                {
                    strElecSize.Value        = info.ElecSize;
                    strElecCuttingSize.Value = info.ElecCuttingSize(_configData, EactConfig.MatchJiaju.GetMatchJiajuValue(_configData, cbbChuckType.SelectedIndex));
                }
                else if (groupSElec.Show) //异形电极
                {
                    var tempInfo    = new ElecManage.ElectrodeInfo(cuprums.First());
                    var tempFaceDir = -Snap.Orientation.Identity.AxisZ;
                    var baseFace    = selectBaseFace.SelectedObjects.FirstOrDefault() as Snap.NX.Face;
                    if (baseFace != null)
                    {
                        tempFaceDir = -baseFace.GetFaceDirection();
                    }
                    var tempOri = new Snap.Orientation(tempFaceDir);
                    strElecSize.Value        = tempInfo.GetElecSize(tempOri);
                    strElecCuttingSize.Value = tempInfo.ElecCuttingSize(_configData, EactConfig.MatchJiaju.GetMatchJiajuValue(_configData, cbbChuckType.SelectedIndex), tempOri);
                }
                else
                {
                    strElecSize.Value        = string.Empty;
                    strElecCuttingSize.Value = string.Empty;
                }
            }
        }
        else if (block == selectBaseFace.NXOpenBlock ||
                 block == selectBaseFacePointEx.NXOpenBlock ||
                 block == selectTopFace.NXOpenBlock
                 )
        {
            //var cuprums = Enumerable.Select(selectCuprum.SelectedObjects, u => Snap.NX.Body.Wrap(u.NXOpenTag)).ToList();
            //if (cuprums.Count == 1)
            //{
            //    var basePoint = Enumerable.Select(selectBaseFacePoint.SelectedObjects, u => Snap.NX.Point.Wrap(u.NXOpenTag)).FirstOrDefault();
            //    var baseFace = Enumerable.Select(selectBaseFace.SelectedObjects, u => Snap.NX.Face.Wrap(u.NXOpenTag)).FirstOrDefault();
            //    var topFace = Enumerable.Select(selectTopFace.SelectedObjects, u => Snap.NX.Face.Wrap(u.NXOpenTag)).FirstOrDefault();
            //    SetEactElec(cuprums.FirstOrDefault(),baseFace,topFace, basePoint);
            //}
        }
    }
Exemplo n.º 12
0
 public override void Update(NXOpen.BlockStyler.UIBlock block)
 {
     DialogShown();
 }