private bool PartIsAsm() { Part workPart = Session.GetSession().Parts.Work; MoldInfoModel mold = new MoldInfoModel(workPart); string type = AttributeUtils.GetAttrForString(workPart, "PartType"); if (type.Equals("ASM")) { assemble = AssembleSingleton.Instance().GetAssemble(mold.MoldNumber + "-" + mold.WorkpieceNumber); foreach (WorkModel work in assemble.Works) { if (!AttributeUtils.GetAttrForBool(work.PartTag, "Interference")) { UI.GetUI().NXMessageBox.Show("提示", NXMessageBox.DialogType.Error, "WORK" + work.WorkNumber.ToString() + "没有检查电极"); return(false); } } if (assemble.IsAssmbleOk()) { return(true); } else { return(false); } } else { UI.GetUI().NXMessageBox.Show("提示", NXMessageBox.DialogType.Error, "请切换到ASM下"); return(false); } }
/// <summary> /// 替换模号件号 /// </summary> /// <param name="model"></param> /// <param name="info"></param> /// <returns></returns> public static Part Replace(AbstractModel model, MoldInfoModel info) { Session theSession = Session.GetSession(); UFSession theUFSession = UFSession.GetUFSession(); Part workPart = theSession.Parts.Work; Component ct = model.GetPartComp(workPart); string OldName = model.MoldInfo.MoldNumber + "-" + model.MoldInfo.WorkpieceNumber; string newName = info.MoldNumber + "-" + info.WorkpieceNumber; string newPartPath = model.WorkpiecePath.Replace(OldName, newName); if (File.Exists(newPartPath)) { File.Delete(newPartPath); } File.Move(model.WorkpiecePath, newPartPath); if (ct != null) { model.PartTag.Close(NXOpen.BasePart.CloseWholeTree.False, NXOpen.BasePart.CloseModified.UseResponses, null); if (Basic.AssmbliesUtils.ReplaceComp(ct, newPartPath, ct.Name.Replace(OldName, newName))) { return(ct.Prototype as Part); } return(null); } else { model.PartTag.Close(NXOpen.BasePart.CloseWholeTree.False, NXOpen.BasePart.CloseModified.UseResponses, null); //NXOpen.PartLoadStatus partLoadStatus1; //BasePart part = theSession.Parts.OpenBaseDisplay(newPartPath, out partLoadStatus1); Tag partTag; UFPart.LoadStatus error_status; theUFSession.Part.Open(newPartPath, out partTag, out error_status); return(NXObjectManager.Get(partTag) as Part); } }
public ReplaceAssmblies(AssembleModel assm, MoldInfoModel info, bool isBorrow) { this.assm = assm; this.isBorrow = isBorrow; this.info = info; GetWorkpiece(); }
//------------------------------------------------------------------------------ //Callback Name: apply_cb //------------------------------------------------------------------------------ public int apply_cb() { int errorCode = 0; try { //---- Enter your callback code here ----- //ElectrodeASMBuider buider = new ElectrodeASMBuider(this.MoldNumber.WideValue.ToUpper(), this.PartNumber.WideValue.ToUpper(), // this.EditionNumber.WideValue.ToUpper(), this.MoldType.WideValue.ToUpper(), this.ClientNumber.WideValue.ToUpper()); //buider.CreateAsm(); UserInfoSingleton user = UserInfoSingleton.GetInstance(); if (user.UserInfo == null) { return(1); } MoldInfoModel moldInfo = new MoldInfoModel() { MoldNumber = this.MoldNumber.WideValue.ToUpper(), WorkpieceNumber = this.PartNumber.WideValue.ToUpper(), EditionNumber = this.EditionNumber.WideValue.ToUpper(), MoldType = this.MoldType.WideValue.ToUpper(), ClientName = this.ClientNumber.WideValue.ToUpper(), CreatedDate = DateTime.Now.ToString("yyyy-MM-dd"), CreatorName = user.UserInfo.UserName, }; AddEdmAsmBuilder.CreateBuilder(moldInfo); } catch (Exception ex) { //---- Enter your exception handling code here ----- errorCode = 1; theUI.NXMessageBox.Show("Block Styler", NXMessageBox.DialogType.Error, ex.ToString()); } return(errorCode); }
public ElectrodePart(ElectrodeInfo eleInfo, MoldInfoModel moldInfo, ElectrodeHeadInfo head, Matrix4 mat) { this.eleMatr = mat; this.eleInfo = eleInfo; this.moldInfo = moldInfo; this.head = head; elePart = new CreateElectrodePart(head.ConditionModel.Work.WorkpieceDirectoryPath, this.head.ConditionModel.Work.WorkNumber , eleInfo, moldInfo, mat); }
public static void CreateBomExecl(AssembleModel assemble) { Session theSession = Session.GetSession(); Part workPart = theSession.Parts.Work; MoldInfoModel mold = assemble.Asm.MoldInfo; string workpieceName = mold.MoldNumber + "-" + mold.WorkpieceNumber + mold.EditionNumber; string bomPath = assemble.Asm.WorkpieceDirectoryPath + workpieceName + "-Bom.xlsx"; if (File.Exists(bomPath)) { File.Delete(bomPath); } string dllPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase; string excelTemplatePath = dllPath.Replace("application\\", "Cofigure\\ElectrodeBom_Template.xlsx"); //string excelTemplatePath = @"C:\Users\ycchen10\OneDrive - kochind.com\Desktop\MolexPlugIn\Cofigure\ElectrodeBom_Template.xlsx"; IWorkbook workbook = ExcelUtils.CreateExeclFile(excelTemplatePath); if (workbook == null) { return; } IFont font = workbook.CreateFont(); font.FontName = "微软雅黑"; font.FontHeightInPoints = 10; ICellStyle style = ExcelUtils.SetCellStyle(workbook, font); ISheet sheet = workbook.GetSheetAt(0); ExcelUtils.SetValue(sheet, style, 1, 1, mold.MoldNumber); ExcelUtils.SetValue(sheet, style, 2, 1, mold.WorkpieceNumber); ExcelUtils.SetValue(sheet, style, 3, 1, mold.EditionNumber); ExcelUtils.SetValue(sheet, style, 4, 1, mold.MoldType); ExcelUtils.SetValue(sheet, style, 5, 1, mold.CreatedDate); ExcelUtils.SetValue(sheet, style, 6, 1, mold.CreatorName); string workName = ""; int row = 9; foreach (WorkModel wk in assemble.Works) { ExcelUtils.SetValue(sheet, style, row, 0, "WORK" + wk.WorkNumber); row++; List <ElectrodeModel> eles = assemble.Electrodes.Where(a => a.WorkNumber == wk.WorkNumber).ToList(); eles.Sort(); foreach (ElectrodeModel model in eles) { SetRowData(sheet, style, row, model.EleInfo); row++; } } FileStream fs = File.Create(bomPath); workbook.Write(fs); fs.Close(); workbook.Close(); NXOpen.UI.GetUI().NXMessageBox.Show("信息", NXMessageBox.DialogType.Information, "导出成功"); }
public EleStandardSeatCreateForm(string vec) { theUFSession = UFSession.GetUFSession(); workPart = Session.GetSession().Parts.Work; MoldInfoModel moldInfo = new MoldInfoModel(workPart); string name = moldInfo.MoldNumber + "-" + moldInfo.WorkpieceNumber; model = new CreateConditionModel(); model.Assemble = AssembleSingleton.Instance().GetAssemble(name); model.VecName = vec.ToUpper(); }
public static void CreateBuilder(MoldInfoModel moldInfo) { Part workPart = Session.GetSession().Parts.Work; NXOpen.Assemblies.Component ct = workPart.ComponentAssembly.RootComponent; if (ct != null) { UI.GetUI().NXMessageBox.Show("错误!", NXMessageBox.DialogType.Error, "工件是装配关系"); return; } CsysUtils.SetWcsToAbs(); Matrix4 mat = new Matrix4(); mat.Identity(); string name = moldInfo.MoldNumber + "-" + moldInfo.WorkpieceNumber + moldInfo.EditionNumber; string partfull = workPart.FullPath; string path; if (workPart.Name.Equals(name)) { path = Path.GetDirectoryName(partfull) + "\\"; } else { path = Path.GetDirectoryName(partfull) + "\\" + moldInfo.WorkpieceNumber + "-" + moldInfo.EditionNumber + "\\"; } CreateAsmPart asm = new CreateAsmPart(path, moldInfo); CreateEdmPart edm = new CreateEdmPart(path, moldInfo); CreateWorkPart work = new CreateWorkPart(path, moldInfo, 1, mat); CreateWorkpiecePart workpiece = new CreateWorkpiecePart(path, workPart, moldInfo); workpiece.CreatePart(); asm.CreatePart(); edm.CreatePart(); work.CreatePart(); workpiece.Load(edm.Model.PartTag); edm.Load(work.Model.PartTag); work.Load(asm.Model.PartTag); work.Model.WaveBodys(); PartUtils.SetPartDisplay(asm.Model.PartTag); bool anyPartsModified1; NXOpen.PartSaveStatus partSaveStatus1; Session.GetSession().Parts.SaveAll(out anyPartsModified1, out partSaveStatus1); }
/// <summary> /// 获取电极名 /// </summary> /// <returns></returns> public string GetEleName() { string name; List <ElectrodeModel> eles = this.model.Assemble.Electrodes; eles.Sort(); MoldInfoModel moldInfo = this.model.Assemble.Asm.MoldInfo; if (eles == null || eles.Count == 0) { name = moldInfo.MoldNumber + "-" + moldInfo.WorkpieceNumber + "E1"; } else { name = moldInfo.MoldNumber + "-" + moldInfo.WorkpieceNumber + "E" + (eles[eles.Count - 1].EleInfo.EleNumber + 1).ToString(); } return(name); }
//------------------------------------------------------------------------------ //Callback Name: ok_cb //------------------------------------------------------------------------------ public int ok_cb() { int errorCode = 0; try { bool isBorrow; UserInfoSingleton user = UserInfoSingleton.GetInstance(); if (user.UserInfo == null) { return(1); } moldInfo = new MoldInfoModel() { MoldNumber = this.MoldNumber.WideValue.ToUpper(), WorkpieceNumber = this.PartNumber.WideValue.ToUpper(), EditionNumber = this.EditionNumber.WideValue.ToUpper(), ClientName = this.ClientNumber.WideValue.ToUpper(), CreatedDate = DateTime.Now.ToString("yyyy-MM-dd"), CreatorName = user.UserInfo.UserName, }; if (this.enum0.ValueAsString == "借用电极") { isBorrow = true; } else { isBorrow = false; } ReplaceAssmblies ra = new ReplaceAssmblies(assemble, moldInfo, isBorrow); err.AddRange(ra.Replace()); //---- Enter your callback code here ----- } catch (Exception ex) { //---- Enter your exception handling code here ----- errorCode = 1; theUI.NXMessageBox.Show("Block Styler", NXMessageBox.DialogType.Error, ex.ToString()); } return(errorCode); }
//------------------------------------------------------------------------------ //This method shows the dialog on the screen //------------------------------------------------------------------------------ public NXOpen.UIStyler.DialogResponse Show() { try { Part workPart = theSession.Parts.Work; string type = AttributeUtils.GetAttrForString(workPart, "PartType"); if (type != "ASM") { theUI.NXMessageBox.Show("错误", NXMessageBox.DialogType.Error, "请切换ASM档为工作部件!"); return(0); } MoldInfoModel mold = new MoldInfoModel(workPart); assemble = AssembleSingleton.Instance().GetAssemble(mold.MoldNumber + "-" + mold.WorkpieceNumber); theDialog.Show(); if (err.Count != 0) { bool anyPartsModified; PartSaveStatus saveStatus; Part part = null; if ((part = ReplacePart.Replace(assemble.Asm, moldInfo)) != null) { moldInfo.SetAttribute(part); theSession.Parts.SaveAll(out anyPartsModified, out saveStatus); err.Add("修改" + assemble.Asm.AssembleName + "成功!"); } foreach (string st in err) { ClassItem.Print(st); } } } catch (Exception ex) { //---- Enter your exception handling code here ----- theUI.NXMessageBox.Show("Block Styler", NXMessageBox.DialogType.Error, ex.ToString()); } return(0); }
//------------------------------------------------------------------------------ //This method shows the dialog on the screen //------------------------------------------------------------------------------ public NXOpen.UIStyler.DialogResponse Show() { try { Part workPart = theSession.Parts.Work; string type = AttributeUtils.GetAttrForString(workPart, "PartType"); if (!type.Equals("ASM", StringComparison.CurrentCultureIgnoreCase)) { theUI.NXMessageBox.Show("错误", NXMessageBox.DialogType.Error, "请切换到ASM档"); return(0); } MoldInfoModel moldInfo = new MoldInfoModel(workPart); string name = moldInfo.MoldNumber + "-" + moldInfo.WorkpieceNumber; assemble = AssembleSingleton.Instance().GetAssemble(name); theDialog.Show(); } catch (Exception ex) { //---- Enter your exception handling code here ----- theUI.NXMessageBox.Show("Block Styler", NXMessageBox.DialogType.Error, ex.ToString()); } return(0); }
public CreateWorkPart(string filePath, MoldInfoModel moldInfo, int workNumber, Matrix4 math) { Model = new WorkModel(filePath, moldInfo, workNumber, math); }
public CreateElectrodePart(string filePath, int workNum, ElectrodeInfo info, MoldInfoModel moldInfo, Matrix4 mat, Point3d center) { Model = new ElectrodeModel(filePath, workNum, info, moldInfo, mat, center); }
public CreateEdmPart(string filePath, MoldInfoModel moldInfo) { Model = new EDMModel(filePath, moldInfo); }
/// <summary> /// 设置模具 /// </summary> /// <param name="model"></param> /// <param name="sheet"></param> /// <param name="style"></param> private void SetMoldInfoToExcel(MoldInfoModel model, ISheet sheet, ICellStyle style) { ExcelUtils.SetValue(sheet, style, 3, 0, model.MoldNumber); ExcelUtils.SetValue(sheet, style, 3, 2, model.WorkpieceNumber); ExcelUtils.SetValue(sheet, style, 3, 5, model.EditionNumber); }
public CreateAsmPart(string filePath, MoldInfoModel moldInfo) { Model = new ASMModel(filePath, moldInfo); }
public CreateWorkpiecePart(string filePath, Part part, MoldInfoModel moldInfo) { Model = new WorkpieceModel(filePath, part, moldInfo); }