/// <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()); }
//------------------------------------------------------------------------------ //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); }
//------------------------------------------------------------------------------ //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); }
/// <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 = "" }); } }