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); } } }
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); }
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; //刷新表格 }