//------------------------------------------------------------------------------ //This method shows the dialog on the screen //------------------------------------------------------------------------------ public NXOpen.UIStyler.DialogResponse Show() { try { string partType = AttributeUtils.GetAttrForString(workPart, "PartType"); if (!partType.Equals("Work")) { theUI.NXMessageBox.Show("错误!", NXMessageBox.DialogType.Error, "请切换到Work档下!"); return(0); } work.GetModelForPart(workPart); string asm = work.MoldInfo.MoldNumber + "-" + work.MoldInfo.WorkpieceNumber + "-ASM"; string name = work.MoldInfo.MoldNumber + "-" + work.MoldInfo.WorkpieceNumber; foreach (Part part in theSession.Parts) { if (part.Name.Equals(asm)) { assemble = AssembleSingleton.Instance().GetAssemble(name); } } if (assemble == null) { theUI.NXMessageBox.Show("错误!", NXMessageBox.DialogType.Error, "无法找到ASM档!"); return(0); } theDialog.Show(); } catch (Exception ex) { //---- Enter your exception handling code here ----- theUI.NXMessageBox.Show("Block Styler", NXMessageBox.DialogType.Error, ex.ToString()); } return(0); }
public ElectrodeBomBuilder(ElectrodeInfo info, AssembleModel assemble) { this.info = info; foreach (ElectrodeModel model in assemble.Electrodes) { if (model.EleInfo.EleName == info.EleName) { Model.Add(model); } } foreach (WorkModel wk in assemble.Works) { if (wk.WorkNumber == Model[0].WorkNumber) { work = wk; } } EletrodePreparation pre; if (info.Material.Equals("紫铜")) { pre = new EletrodePreparation("CuLength", "CuWidth"); } else { pre = new EletrodePreparation("WuLength", "WuWidth"); } int[] temp = new int[2] { info.Preparation[0], info.Preparation[1] }; info.IsPreparation = pre.IsPreCriterion(temp); }
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); } }
public ReplaceAssmblies(AssembleModel assm, MoldInfoModel info, bool isBorrow) { this.assm = assm; this.isBorrow = isBorrow; this.info = info; GetWorkpiece(); }
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 InterferenceBuilder(Part part) { work = new WorkModel(); theUFSession = UFSession.GetUFSession(); work.GetModelForPart(part); string asm = work.MoldInfo.MoldNumber + "-" + work.MoldInfo.WorkpieceNumber; assemble = AssembleSingleton.Instance().GetAssemble(asm); eles = assemble.Electrodes.Where(a => a.WorkNumber == work.WorkNumber).ToList(); }
public WorkForWorkpieceDrawing(AssembleModel assemble, int workNumber) { this.assemble = assemble; foreach (WorkModel wm in this.assemble.Works) { if (wm.WorkNumber == workNumber) { this.work = wm; } } this.GetTemplate(); }
public WorkpieceDrawingForm(AssembleModel assemble) { InitializeComponent(); this.assemble = assemble; assemble.Works.Sort(); foreach (WorkModel work in assemble.Works) { ListViewItem lv = new ListViewItem(); lv.SubItems.Add("WORK" + work.WorkNumber.ToString()); lv.SubItems.Add(work.WorkNumber.ToString()); lv.Checked = true; listView.Items.Add(lv); } }
/// <summary> /// 获取装配 /// </summary> /// <param name="moldAndWorkpieceNum">模具号加件号</param> /// <returns></returns> public AssembleModel GetAssemble(string moldAndWorkpieceNum) { string asm = moldAndWorkpieceNum + "-ASM"; if (AssembleSingleton.Assembles.ContainsKey(asm)) { return(AssembleSingleton.Assembles[asm]); } else { AssembleModel model = new AssembleModel(moldAndWorkpieceNum); Assembles.Add(asm, model); return(model); } }
/// <summary> /// 获取装配 /// </summary> /// <returns></returns> public AssembleModel GetAssemble(Part asmPart) { string asm = asmPart.Name; if (AssembleSingleton.Assembles.ContainsKey(asm)) { return(AssembleSingleton.Assembles[asm]); } else { AssembleModel model = new AssembleModel(asmPart); Assembles.Add(asm, model); return(model); } }
public ElectrodeDrawingInfo(AssembleModel assemble, string eleName) { theSession = Session.GetSession(); this.Assemble = assemble; List <ElectrodeModel> eles = this.Assemble.Electrodes.Where(a => (a.EleInfo.EleName == eleName)).ToList(); WorkModel work = null; foreach (WorkModel wm in this.Assemble.Works) { if (eles[0].WorkNumber == wm.WorkNumber) { work = wm; break; } } DraModel = new ElectrodeDrawingModel(work, eles); EleModel = GetEleModel(); }
//------------------------------------------------------------------------------ //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); }
/// <summary> /// 设置当前安装模式 /// </summary> /// <param name="assembleModel"></param> public static void SetAssembleModel(AssembleModel assembleModel) { _AssembleModel = assembleModel; }
public BomForm(AssembleModel assemble) { InitializeComponent(); this.assemble = assemble; Initialize(); }
public ElectrodeDrawingForm(AssembleModel assemble) { InitializeComponent(); this.assemble = assemble; SetListView(); }
public AddWorkBuilder(Part asmPart) { this.asmPart = asmPart; singleton = AssembleSingleton.Instance(); this.Model = singleton.GetAssemble(asmPart); }
public ElectrodeDrawing(AssembleModel assemble, string eleName) { draInfo = new ElectrodeDrawingInfo(assemble, eleName); GetTemplate(); }