Beispiel #1
0
        //------------------------------------------------------------------------------
        //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);
        }
Beispiel #3
0
        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();
 }
Beispiel #5
0
        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();
        }
Beispiel #7
0
 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);
            }
        }
Beispiel #11
0
        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();
        }
Beispiel #12
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 != "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);
 }
Beispiel #13
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);
        }
Beispiel #14
0
 /// <summary>
 /// 设置当前安装模式
 /// </summary>
 /// <param name="assembleModel"></param>
 public static void SetAssembleModel(AssembleModel assembleModel)
 {
     _AssembleModel = assembleModel;
 }
Beispiel #15
0
 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();
 }