コード例 #1
0
ファイル: PostShopdoc.cs プロジェクト: ycchen10/MolexPlugIn
        private void Initialize()
        {
            Part workPart = Session.GetSession().Parts.Work;

            if (PostPartInfo.IsPartElectrode(workPart))
            {
                this.listBoxPostName.SelectedIndex = 4;
            }
            parent = (NXOpen.CAM.NCGroup)workPart.CAMSetup.CAMGroupCollection.FindObject("AAA");
            model  = new ProgramNcGroupModel(parent);
            foreach (NCGroup np in model.GetProgram())
            {
                if (np.GetMembers().Length > 0)
                {
                    groups.Add(np);
                    ListViewItem lv = new ListViewItem();
                    lv.SubItems.Add(np.Name);
                    lv.Checked = true;
                    listViewProgram.Items.Add(lv);
                }
            }
        }
コード例 #2
0
        private static bool PartIsAsm()
        {
            Session theSession = Session.GetSession();
            UI      theUI      = UI.GetUI();

            if (!theSession.ApplicationName.Equals("UG_APP_MANUFACTURING", StringComparison.CurrentCultureIgnoreCase))
            {
                theUI.NXMessageBox.Show("错误", NXMessageBox.DialogType.Error, "请切换到加工模块");
                return(false);
            }
            NCGroup group = GetNCGroup();

            if (group == null)
            {
                theUI.NXMessageBox.Show("错误", NXMessageBox.DialogType.Error, "没法找到AAA程序组");
                return(false);
            }
            ProgramNcGroupModel model = new ProgramNcGroupModel(group);

            if (!model.IsProgram())
            {
                theUI.NXMessageBox.Show("错误", NXMessageBox.DialogType.Error, "程序组错误");
                return(false);
            }
            foreach (NCGroup np in model.GetProgram())
            {
                ProgramNcGroupModel nc = new ProgramNcGroupModel(np);
                if (!nc.IsOperation() || !nc.IsOperationEqualTool())
                {
                    theUI.NXMessageBox.Show("错误", NXMessageBox.DialogType.Error, np.Name + "错误");
                    return(false);
                }
            }

            return(true);
        }
コード例 #3
0
        private void SetRowData(ISheet sheet, ICellStyle style, ICellStyle styleDate)
        {
            int row = 6;

            foreach (NCGroup np in groups)
            {
                int oldRow = row;
                ProgramNcGroupModel  model = new ProgramNcGroupModel(np);
                List <OperationData> datas = model.GetOperationData();
                List <OperationData> other = model.GetOperationFiltrationOrher(datas);
                if (row > 20)
                {
                    IRow iRow = sheet.GetRow(row);
                    ExcelUtils.InsertRow(sheet, row, other.Count, iRow);
                }
                foreach (OperationData data in other)
                {
                    ExcelUtils.SetValue(sheet, style, row, 2, data.OperName);//程序名
                    if (!datas[0].CutterCompenstation.Equals(""))
                    {
                        ExcelUtils.SetValue(sheet, style, row, 5, datas[0].CutterCompenstation); //刀半径补偿号
                    }
                    ExcelUtils.SetValue(sheet, style, row, 6, data.Stepover);                    //部距
                    ExcelUtils.SetValue(sheet, style, row, 7, data.Depth);                       //下刀量

                    ExcelUtils.SetValue(sheet, style, row, 8, data.Feed);                        //转速
                    ExcelUtils.SetValue(sheet, style, row, 9, data.Speed);                       //进给
                    string stock = data.SideStock.ToString("f3") + "/" + data.FloorStock.ToString("f3");
                    ExcelUtils.SetValue(sheet, style, row, 10, stock);                           //余量
                    row++;
                }
                if (oldRow + 1 < row)
                {
                    sheet.AddMergedRegion(new CellRangeAddress(oldRow, row - 1, 0, 0));
                    sheet.AddMergedRegion(new CellRangeAddress(oldRow, row - 1, 1, 1));
                    sheet.AddMergedRegion(new CellRangeAddress(oldRow, row - 1, 3, 3));
                    sheet.AddMergedRegion(new CellRangeAddress(oldRow, row - 1, 4, 4));
                    sheet.AddMergedRegion(new CellRangeAddress(oldRow, row - 1, 11, 11));
                    sheet.AddMergedRegion(new CellRangeAddress(oldRow, row - 1, 12, 12));
                    sheet.AddMergedRegion(new CellRangeAddress(oldRow, row - 1, 13, 13));
                    sheet.AddMergedRegion(new CellRangeAddress(oldRow, row - 1, 14, 14));
                    sheet.AddMergedRegion(new CellRangeAddress(oldRow, row - 1, 15, 15));
                }

                ExcelUtils.SetValue(sheet, style, oldRow, 0, np.Name);
                ExcelUtils.SetValue(sheet, style, oldRow, 1, datas[0].Tool.ToolName);
                if (other[0].Tool.ToolNumber != 0)
                {
                    ExcelUtils.SetValue(sheet, style, oldRow, 3, "T" + other[0].Tool.ToolNumber.ToString()); //刀号
                    ExcelUtils.SetValue(sheet, style, oldRow, 4, "H" + other[0].Tool.ToolNumber.ToString()); //刀长号
                }
                double zMin, zMax;
                model.GetOperationZMinAndZMax(other, out zMin, out zMax);
                ExcelUtils.SetValue(sheet, style, oldRow, 11, Math.Ceiling(Math.Abs(zMin)));    //伸出长
                ExcelUtils.SetValue(sheet, style, oldRow, 12, Math.Ceiling(Math.Abs(zMin)));    //首下长
                ExcelUtils.SetValue(sheet, style, oldRow, 13, zMax.ToString("f3"));             //最小值
                ExcelUtils.SetValue(sheet, style, oldRow, 14, zMin.ToString("f3"));             //最大值
                ExcelUtils.SetValue(sheet, styleDate, oldRow, 15, model.GetProgramTime(datas)); //时间
            }

            sheet.ForceFormulaRecalculation = true; //刷新表格
        }