Example #1
0
        /// <summary>
        /// 替换工件
        /// </summary>
        /// <param name="ct"></param>
        private void AlterWorkpiece(NXOpen.Assemblies.Component ct, UserModel user)
        {
            MoldInfo mold;

            if (!ParentAssmblieInfo.IsParent(ct))
            {
                mold = new MoldInfo()
                {
                    MoldNumber      = this.strMoldNumber.Value.ToUpper(),
                    WorkpieceNumber = this.strWorkpieceNumber.Value.ToUpper(),
                    EditionNumber   = this.strEditionNumber.Value.ToUpper()
                };
            }
            else
            {
                mold                 = MoldInfo.GetAttribute(ct);
                mold.MoldNumber      = this.strMoldNumber.Value;
                mold.WorkpieceNumber = this.strWorkpieceNumber.Value;
                mold.EditionNumber   = this.strEditionNumber.Value;
            }
            WorkPieceInfo wk      = new WorkPieceInfo(mold, user);
            string        newName = mold.MoldNumber + "-" + mold.WorkpieceNumber + "-" + mold.EditionNumber;
            Part          pt      = ct.Prototype as Part;
            ReplaceOther  ot      = new ReplaceOther(pt, wk);
            List <string> err     = ot.Alter(newName);

            if (err.Count > 0)
            {
                ClassItem.Print(err.ToArray());
            }
        }
        private string GetEleNameForCMM(Part ele)
        {
            ElectrodeNameInfo nameInfo = ElectrodeNameInfo.GetAttribute(ele);
            MoldInfo          moldInfo = MoldInfo.GetAttribute(ele);

            return(moldInfo.MoldNumber + "-" + moldInfo.WorkpieceNumber + "-E" + nameInfo.EleNumber.ToString());
        }
Example #3
0
        //------------------------------------------------------------------------------
        //Callback Name: apply_cb
        //------------------------------------------------------------------------------
        public int apply_cb()
        {
            int errorCode = 0;

            try
            {
                //---- Enter your callback code here -----
                NXOpen.Assemblies.Component ct = seleComp.GetSelectedObjects()[0] as NXOpen.Assemblies.Component;
                Part workPart = theSession.Parts.Work;
                if (ct != null)
                {
                    List <string> err = new List <string>();
                    bool          isBorrow;
                    if (this.enum0.ValueAsString == "借用电极")
                    {
                        isBorrow = true;
                    }
                    else
                    {
                        isBorrow = false;
                    }
                    MoldInfo old  = MoldInfo.GetAttribute(ct);
                    MoldInfo mold = new MoldInfo()
                    {
                        MoldNumber      = this.MoldNumber.WideValue.ToUpper(),
                        WorkpieceNumber = this.PartNumber.WideValue.ToUpper(),
                        ClientName      = this.ClientNumber.WideValue.ToUpper(),
                        EditionNumber   = this.EditionNumber.WideValue.ToUpper(),
                        MoldType        = old.MoldType
                    };
                    ParentAssmblieInfo info   = new ParentAssmblieInfo(mold, user.CreatorUser);
                    WorkCollection     wkColl = asmColl.GetWorkCollection(old);
                    err.AddRange(AlterWork(wkColl.Work, info));
                    err.AddRange(AlterEdm(wkColl.EdmModel, info));
                    err.AddRange(AlterElectrode(wkColl.Electrodes, info, isBorrow));
                    PartUtils.SetPartDisplay(workPart);
                    ASMModel asm = new ASMModel(workPart);
                    if (asm.Info.MoldInfo.Equals(old))
                    {
                        err.AddRange(AlterAsm(asm, info));
                    }
                    if (err.Count > 0)
                    {
                        ClassItem.Print(err.ToArray());
                    }
                }
            }
            catch (Exception ex)
            {
                //---- Enter your exception handling code here -----
                errorCode = 1;
                theUI.NXMessageBox.Show("Block Styler", NXMessageBox.DialogType.Error, ex.ToString());
            }
            return(errorCode);
        }
Example #4
0
 //------------------------------------------------------------------------------
 //Callback Name: update_cb
 //------------------------------------------------------------------------------
 public int update_cb(NXOpen.BlockStyler.UIBlock block)
 {
     try
     {
         if (block == seleComp)
         {
             //---------Enter your code here-----------
             TaggedObject[] objs = seleComp.GetSelectedObjects();
             if (objs.Length > 0)
             {
                 NXOpen.Assemblies.Component ct = objs[0] as NXOpen.Assemblies.Component;
                 if (ct != null)
                 {
                     if (ParentAssmblieInfo.IsParent(ct))
                     {
                         MoldInfo mold = MoldInfo.GetAttribute(ct);
                         this.ClientNumber.Value = mold.ClientName;
                     }
                 }
             }
         }
         else if (block == MoldNumber)
         {
             //---------Enter your code here-----------
         }
         else if (block == PartNumber)
         {
             //---------Enter your code here-----------
         }
         else if (block == EditionNumber)
         {
             //---------Enter your code here-----------
         }
         else if (block == ClientNumber)
         {
             //---------Enter your code here-----------
         }
         else if (block == enum0)
         {
             //---------Enter your code here-----------
         }
     }
     catch (Exception ex)
     {
         //---- Enter your exception handling code here -----
         theUI.NXMessageBox.Show("Block Styler", NXMessageBox.DialogType.Error, ex.ToString());
     }
     return(0);
 }
 /// <summary>
 /// 获取电极的Work档
 /// </summary>
 /// <param name="coms"></param>
 /// <returns></returns>
 private Part GetEleWorkPart(List <NXOpen.Assemblies.Component> coms)
 {
     foreach (NXOpen.Assemblies.Component ct in coms)
     {
         NXOpen.Assemblies.Component parentCt = ct.Parent;
         if (parentCt != null)
         {
             MoldInfo parentMold = MoldInfo.GetAttribute(parentCt.Prototype as Part);
             MoldInfo eleMold    = MoldInfo.GetAttribute(elePart);
             if (eleMold.Equals(parentMold))
             {
                 return(parentCt.Prototype as Part);
             }
         }
     }
     return(null);
 }
Example #6
0
 /// <summary>
 /// 获取模具号
 /// </summary>
 /// <returns></returns>
 public MoldInfo GetMoldInfo()
 {
     if (ParentAssmblieInfo.IsParent(this.pt))
     {
         return(MoldInfo.GetAttribute(this.pt));
     }
     else
     {
         return(new MoldInfo()
         {
             ClientName = "",
             EditionNumber = "",
             MachineType = "",
             MoldNumber = "",
             MoldType = "",
             WorkpieceNumber = ""
         });
     }
 }