Example #1
0
        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;
                }
            }
        }
Example #2
0
        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();
        }
Example #3
0
        private void DataGridTextColumn_MouseClick(object sender, MouseEventArgs e)
        {
            var ds = sender as System.Windows.Controls.DataGridCell;

            if (ds != null)
            {
                SubassemblyItem si = ds.DataContext as SubassemblyItem;

                int index = ds.Column.DisplayIndex;
                switch (index)
                {
                case 1:
                    Messenger.Default.Send <ToModifyCellFormulaEvent>(new ToModifyCellFormulaEvent()
                    {
                        Element = si.Name
                    });
                    break;

                case 2:
                    Messenger.Default.Send <ToModifyCellFormulaEvent>(new ToModifyCellFormulaEvent()
                    {
                        Element = si.Qty
                    });
                    break;

                case 3:
                    Messenger.Default.Send <ToModifyCellFormulaEvent>(new ToModifyCellFormulaEvent()
                    {
                        Element = si.Width
                    });
                    break;

                case 4:
                    Messenger.Default.Send <ToModifyCellFormulaEvent>(new ToModifyCellFormulaEvent()
                    {
                        Element = si.Height
                    });
                    break;

                case 5:
                    Messenger.Default.Send <ToModifyCellFormulaEvent>(new ToModifyCellFormulaEvent()
                    {
                        Element = si.Depth
                    });
                    break;

                case 6:
                    Messenger.Default.Send <ToModifyCellFormulaEvent>(new ToModifyCellFormulaEvent()
                    {
                        Element = si.XOrigin
                    });
                    break;

                case 7:
                    Messenger.Default.Send <ToModifyCellFormulaEvent>(new ToModifyCellFormulaEvent()
                    {
                        Element = si.YOrigin
                    });
                    break;

                case 8:
                    Messenger.Default.Send <ToModifyCellFormulaEvent>(new ToModifyCellFormulaEvent()
                    {
                        Element = si.ZOrigin
                    });
                    break;

                case 9:
                    Messenger.Default.Send <ToModifyCellFormulaEvent>(new ToModifyCellFormulaEvent()
                    {
                        Element = si.ZRotation
                    });
                    break;

                default:
                    break;
                }
            }
        }
Example #4
0
        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("结束读取当前产品中的组件清单。");
        }