public void AlterDrawing() { string dwgName = Model[0].EleInfo.EleName + "_dwg"; string path = Model[0].WorkpieceDirectoryPath + Model[0].EleInfo.EleName + "_dwg.prt"; Part dwg = null; foreach (Part part in Session.GetSession().Parts) { if (part.Name.ToUpper().Equals(dwgName.ToUpper())) { dwg = part; break; } } if (dwg == null) { if (File.Exists(path)) { dwg = PartUtils.OpenPartFile(path); } } if (dwg != null) { info.SetAttribute(dwg); string temp = info.Preparation[0].ToString() + "*" + info.Preparation[1].ToString() + "*" + info.Preparation[2].ToString(); AttributeUtils.AttributeOperation("StrPre", temp, dwg); PartUtils.SetPartDisplay(dwg); foreach (NXOpen.Drawings.DrawingSheet sh in dwg.DrawingSheets) { Basic.DrawingUtils.UpdateViews(sh); } } }
//------------------------------------------------------------------------------ //Callback Name: apply_cb //------------------------------------------------------------------------------ public int apply_cb() { int errorCode = 0; try { //---- Enter your callback code here bool anyPartsModified1; NXOpen.PartSaveStatus partSaveStatus1; Session.GetSession().Parts.SaveAll(out anyPartsModified1, out partSaveStatus1); NXOpen.Assemblies.Component eleComp = this.SeleElePart.GetSelectedObjects()[0] as NXOpen.Assemblies.Component; string name = eleComp.Name + "-" + this.StrName.Value.ToUpper(); if (!this.EleDuplicationOfName(name)) { this.StrName.Value = ""; return(0); } ElectrodeModel eleModel = new ElectrodeModel(); eleModel.GetModelForPart(eleComp.Prototype as Part); name = work.WorkpieceDirectoryPath + name + ".prt"; Vector3d movePt = new Vector3d(double_x.Value, double_y.Value, double_z.Value); NXOpen.Assemblies.Component copyComp = AssmbliesUtils.MoveCompCopyPart(eleComp, movePt, work.WorkMatr); AssmbliesUtils.MakeUnique(copyComp, name); ElectrodeInfo newInfo = this.SetEleInfo(eleModel.EleInfo); newInfo.SetAttribute(copyComp.Prototype as Part); } catch (Exception ex) { //---- Enter your exception handling code here ----- errorCode = 1; theUI.NXMessageBox.Show("Block Styler", NXMessageBox.DialogType.Error, ex.ToString()); } return(errorCode); }
private void AlterElectrode(ElectrodeInfo newEleInfo, ElectrodeModel model) { // Part workPart = Session.GetSession().Parts.Work; PartUtils.SetPartDisplay(work.PartTag); double[] temp = new double[3]; for (int i = 0; i < 3; i++) { temp[i] = AttributeUtils.GetAttrForDouble(model.PartTag, "EleSetValue", i); } Point3d oldPt = new Point3d(temp[0], temp[1], temp[2]); Point3d newPt = new Point3d(newEleInfo.EleSetValue[0], newEleInfo.EleSetValue[1], newEleInfo.EleSetValue[2]); Point3d dis = GetSingleToothDis(newEleInfo, model.EleInfo, oldPt); // newEleInfo.Positioning = model.EleInfo.Positioning; string pos = model.EleInfo.Positioning; model.EleInfo = newEleInfo; newEleInfo.SetAttribute(model.PartTag); AttributeUtils.AttributeOperation("Positioning", pos, model.PartTag); if (!UMathUtils.IsEqual(oldPt, newPt)) { NXOpen.Assemblies.Component ct = AssmbliesUtils.GetPartComp(work.PartTag, model.PartTag); PartUtils.SetPartWork(ct); Vector3d move = new Vector3d(0, 0, 0); move.X = newPt.X - oldPt.X - dis.X; move.Y = newPt.Y - oldPt.Y - dis.Y; Body[] bodys = model.PartTag.Bodies.ToArray(); if (bodys.Length > 1) { AlterMove(model); DeleteObject.UpdateObject(); CreateUnite(bodys); } PartUtils.SetPartWork(null); AssmbliesUtils.MoveCompPart(ct, move, this.work.WorkMatr); } DeleteObject.UpdateObject(); }
public List <string> Replace() { List <string> err = new List <string>(); Part part; bool anyPartsModified; PartSaveStatus saveStatus; Session theSession = Session.GetSession(); if (oldCt != null && newCt != null && oldCt.Equals(newCt)) { return(err); } // AllUpdeteDrawing(); if ((part = ReplacePart.Replace(assm.Edm, info)) != null) { info.SetAttribute(part); theSession.Parts.SaveAll(out anyPartsModified, out saveStatus); err.Add("修改" + assm.Edm.AssembleName + "成功!"); } foreach (ElectrodeModel em in assm.Electrodes) { if ((part = ReplacePart.Replace(em, info)) != null) { info.SetAttribute(part); ElectrodeInfo eleInfo = new ElectrodeInfo(); eleInfo.GetAttribute(part); string oldEleName = eleInfo.EleName; string olddrwPath = em.WorkpieceDirectoryPath + oldEleName + "_dwg.prt"; string newEleName = oldEleName.Replace(em.MoldInfo.MoldNumber + "-" + em.MoldInfo.WorkpieceNumber, info.MoldNumber + "-" + info.WorkpieceNumber); eleInfo.EleName = newEleName; if (isBorrow) { eleInfo.BorrowName = oldEleName; } eleInfo.SetAttribute(part); theSession.Parts.SaveAll(out anyPartsModified, out saveStatus); err.Add("修改" + em.AssembleName + "成功!"); } } foreach (WorkModel wm in assm.Works) { if ((part = ReplacePart.Replace(wm, info)) != null) { info.SetAttribute(part); theSession.Parts.SaveAll(out anyPartsModified, out saveStatus); err.Add("修改" + wm.AssembleName + "成功!"); } } foreach (ElectrodeModel em in assm.Electrodes) { Part workPart = Session.GetSession().Parts.Work; ElectrodeInfo eleInfo = em.EleInfo; string oldEleName = eleInfo.EleName; string olddrwPath = em.WorkpieceDirectoryPath + oldEleName + "_dwg.prt"; if (File.Exists(olddrwPath)) { string newEleName = oldEleName.Replace(em.MoldInfo.MoldNumber + "-" + em.MoldInfo.WorkpieceNumber, info.MoldNumber + "-" + info.WorkpieceNumber); eleInfo.EleName = newEleName; if (isBorrow) { eleInfo.BorrowName = oldEleName; } if (File.Exists(olddrwPath.Replace(oldEleName, newEleName))) { File.Delete(olddrwPath.Replace(oldEleName, newEleName)); } File.Move(olddrwPath, olddrwPath.Replace(oldEleName, newEleName)); NXOpen.PartLoadStatus partLoadStatus1; BasePart part1 = Session.GetSession().Parts.OpenBase(olddrwPath.Replace(oldEleName, newEleName), out partLoadStatus1); PartUtils.SetPartDisplay(part1 as Part); eleInfo.SetAttribute(part1 as Part); NXOpen.Assemblies.Component comp = part1.ComponentAssembly.RootComponent.GetChildren()[0]; string workName = comp.Name.Replace(em.MoldInfo.MoldNumber + "-" + em.MoldInfo.WorkpieceNumber, info.MoldNumber + "-" + info.WorkpieceNumber); Basic.AssmbliesUtils.ReplaceComp(comp, em.WorkpieceDirectoryPath + workName + ".prt", workName); theSession.Parts.SaveAll(out anyPartsModified, out saveStatus); PartUtils.SetPartDisplay(workPart); err.Add("修改" + em.AssembleName + "_dwg" + "成功!"); } } return(err); }