public SubPromptWindow(Logger logger, App app, string subCutxFilePath, IWorkbookSet books, SubassemblyItem item) : this(logger, app) { this.Manager = new PromptsViewModel(subCutxFilePath, item.Width.PropertyValue, item.Height.PropertyValue, item.Depth.PropertyValue, books, logger); Init(); }
private void LoadBookSubassemblies() { logger.Debug("开始读取当前产品中的组件清单:"); Subassemblies.Clear(); IRange cells = book.Worksheets["Subassemblies"].Cells; for (int i = 0; i < cells.Rows.RowCount; i++) { var row = cells.Rows[i, 0].EntireRow; string name = cells.Rows[i, 16].Text; if (string.IsNullOrEmpty(name)) break; SubassemblyItem item = new SubassemblyItem(); item.Handle = new PropertyElement(row[0, 1]); item.Name = new PropertyElement(row[0, 16]); item.Qty = new PropertyElement(row[0, 17]); item.Width = new PropertyElement(row[0, 18]); item.Height = new PropertyElement(row[0, 19]); item.Depth = new PropertyElement(row[0, 20]); item.XOrigin = new PropertyElement(row[0, 29]); item.YOrigin = new PropertyElement(row[0, 30]); item.ZOrigin = new PropertyElement(row[0, 31]); item.ZRotation = new PropertyElement(row[0, 34]); item.RowIndex = i; string file = string.Format("{3}\\Subassemblies\\{0}_({1}){2}.cutx", productHandle, item.Name.PropertyValue, i + 1, project.JobPath); if (File.Exists(file)) { item.IsUnique = true; } else item.IsUnique = false; this.Subassemblies.Add(item); logger.Debug(string.Format("读取组件:{0}/{1}/{2}/{3}/{4}/{5}/{6}/{7}/{8}/{9}", item.Name, item.Qty, item.Width, item.Height, item.Depth, item.XOrigin, item.YOrigin, item.ZOrigin, item.ZRotation, item.Handle)); } logger.Debug("结束读取当前产品中的组件清单。"); }
private void AddNewSub(Object obj) { if (obj is SubassemblyViewModel) { var sub = obj as SubassemblyViewModel; IRange cells = book.Worksheets["Subassemblies"].Cells; for (int i = 0; i < cells.Rows.RowCount; i++) { string name = cells.Rows[i, 16].Text; var row = cells.Rows[i, 0].EntireRow; //与读取相反,这里是新加入行,所以直到空行才开始写数据 if (!string.IsNullOrEmpty(name)) continue; row[0, 16].Value = sub.Name; row[0, 17].Value = 1; row[0, 18].Value = 0; row[0, 19].Value = 0; row[0, 20].Value = 0; row[0, 29].Value = 0; row[0, 30].Value = 0; row[0, 31].Value = 0; row[0, 34].Value = 0; SubassemblyItem item = new SubassemblyItem(); item.Name = new PropertyElement(row[0, 16]); item.Qty = new PropertyElement(row[0, 17]); item.Width = new PropertyElement(row[0, 18]); item.Height = new PropertyElement(row[0, 19]); item.Depth = new PropertyElement(row[0, 20]); item.XOrigin = new PropertyElement(row[0, 29]); item.YOrigin = new PropertyElement(row[0, 30]); item.ZOrigin = new PropertyElement(row[0, 31]); item.ZRotation = new PropertyElement(row[0, 34]); item.RowIndex = row.Row; item.IsUnique = true; this.Subassemblies.Add(item); CopySubAssemblyFile(sub, row.Row); break; } } }