示例#1
0
        //Event Handlers
        public int OnDestroy()
        {
            GlobalCache.Instance.OperId    = string.Empty;
            ProcessLine.CurrentProcessLine = null;
            if (frm != null)
            {
                frm.Dispose();
                frm = null;
            }

            DetachEventHandlers();
            return(0);
        }
示例#2
0
        /// <summary>
        /// Add form to taskpanel
        /// </summary>
        public void Routing(IModelDoc2 doc, ISldWorks swApp, List <string> routingIds)
        {
            ITaskpaneView pTaskPanView = null;

            if (GlobalCache.Instance.PTaskPanView == null)
            {
                pTaskPanView = iSwApp.CreateTaskpaneView2("", "关联工艺路线");
                GlobalCache.Instance.PTaskPanView = pTaskPanView;
            }
            else
            {
                pTaskPanView = GlobalCache.Instance.PTaskPanView;
            }



            frm = new ProcessLine(doc, swApp, routingIds);
            pTaskPanView.DisplayWindowFromHandle(frm.Handle.ToInt32());
        }
示例#3
0
        private void btnConfirm_Click(object sender, EventArgs e)
        {
            List <string> itemList = new List <string>();

            for (int i = 0; i < cklProcessList.Items.Count; i++)
            {
                if (cklProcessList.GetItemChecked(i))
                {
                    //LItem li = (LItem)cklProcessList.Items[i];
                    itemList.Add(cklProcessList.Items[i].ToString());
                }
            }

            ///save relation

            try
            {
                foreach (var sketchName in itemList)
                {
                    CSketchFileProcess sp = new CSketchFileProcess();
                    sp.SketchProcessId = Guid.NewGuid().ToString();
                    sp.OperId          = _operId;
                    sp.RoutingId       = _routingId;
                    sp.SketchName      = sketchName;
                    sp.ComponentName   = _componentName;
                    sp.ComponentPath   = _componentName;

                    spContent.SketchFileProcesses.InsertOnSubmit(sp);
                }
                spContent.SubmitChanges();

                MessageBox.Show("关联草图到工序成功!");

                ProcessLine processline = ProcessLine.CurrentProcessLine;
                processline.SetTreeNodeBackColor(_operId);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            this.Close();
        }
示例#4
0
        private void btnComfirm_Click(object sender, EventArgs e)
        {
            var routings = from p in rcontext.ProcessFileRoutinges
                           where p.ProcessFileName == GlobalCache.Instance.ComponetName &&
                           p.RoutingId == cbxProcessLine.SelectedValue.ToString()
                           select p;

            if (routings.Count() > 0)
            {
                MessageBox.Show("该零件已和选中的工艺路线进行了关联!");
                return;
            }

            ProcessFileRouting processFileRouting = new ProcessFileRouting();

            processFileRouting.RoutingId            = cbxProcessLine.SelectedValue.ToString();
            processFileRouting.ProcessFileRoutingId = Guid.NewGuid().ToString();
            processFileRouting.ProcessFileName      = _processFilePath;
            processFileRouting.ProcessFilePath      = _processFilePath;
            processFileRouting.OperId = "";



            try
            {
                rcontext.ProcessFileRoutinges.InsertOnSubmit(processFileRouting);
                rcontext.SubmitChanges();
                MessageBox.Show("关联零件到工艺路线成功!");

                ITaskpaneView pTaskPanView = null;
                if (GlobalCache.Instance.PTaskPanView == null)
                {
                    pTaskPanView = _swApp.CreateTaskpaneView2("", "关联工艺路线");

                    GlobalCache.Instance.PTaskPanView = pTaskPanView;
                }
                else
                {
                    pTaskPanView = GlobalCache.Instance.PTaskPanView;
                }

                ProcessLine frm = null;
                if (ProcessLine.CurrentProcessLine == null)
                {
                    frm = new ProcessLine(
                        _doc,
                        _swApp,
                        new List <string>()
                    {
                        processFileRouting.RoutingId
                    });
                    pTaskPanView.DisplayWindowFromHandle(frm.Handle.ToInt32());
                }
                else
                {
                    ///show in task plane
                    ProcessLine.CurrentProcessLine.AddProcessLine(
                        null,
                        new RoutingEventArgs()
                    {
                        RoutingId   = processFileRouting.RoutingId,
                        RoutingName = ((Routing)cbxProcessLine.SelectedItem).Name
                    });
                }
            }
            catch
            {
                MessageBox.Show("关联零件到工艺路线出错!");
            }



            this.Dispose();
            GC.Collect();
        }