Example #1
0
        /// <summary>
        /// 显示模块
        /// </summary>
        /// <param name="type">模块型号</param>
        private void ShowModule(string type)
        {

            try
            {
                VisioPanel visioPanel = new VisioPanel(this.Document);
                visioPanel.Location = this.Instance.BoundingRect.Location;
                visioPanel.EqOid = type;
                visioPanel.ScalePanel(this.Instance.BoundingRect.Width / visioPanel.Size.Width, this.Instance.BoundingRect.Height / visioPanel.Size.Height);

                this.ModuleInfo = visioPanel.EqInfo;
                this.Boxes = visioPanel.Boxes;
                this.Ports = visioPanel.Ports;
                this.Lamps = visioPanel.Lamps;
                /*foreach(Box box in this.Boxes)
                {
                    this.Parent.Boxes.Add(box);
                }*/
                foreach (Port port in this.Ports)
                {
                    port.Module = this.Index;
                    this.Parent.Ports.Add(port);
                }
                foreach (Lamp lamp in this.Lamps)
                {
                    lamp.Module = this.Index;
                    this.Parent.Lamps.Add(lamp);
                }
            }
            catch (Exception ex)
            {
                Log.WriteLog("显示模块失败!错误: " + ex.ToString());
                //MessageBox.Show("显示模块失败!");
            }

        }
Example #2
0
        /// <summary>
        /// 显示Visio面板图
        /// </summary>
        /// <param name="VdxFile">面板图Vdx文件</param>
        private void ShowVisioPanel(string VdxFile)
        {

            try
            {
                this.Ports.Clear();
                this.Modules.Clear();
                this.Lamps.Clear();

                VisioImporter VisioImporter = new VisioImporter();
                VisioImporter.pFlowChartBox.Clear();
                //Scale = 1.0f;
                Log.WriteLog("开始装载面板图...");
                this._document.SuspendLayout();                
                VisioImporter.ImportPage(VdxFile, _document, 0, Convert.ToInt32(_panel_location.X), Convert.ToInt32(_panel_location.Y));
                this._document.ResumeLayout(false);
                this._document.PerformLayout();
                _panel_size = new SizeF(Convert.ToSingle(VisioImporter.pEquipmentInfo.Width), Convert.ToSingle(VisioImporter.pEquipmentInfo.Height));
                _eqinfo = VisioImporter.pEquipmentInfo;
                //模块清单 this.GetType().Name.ToString() +
                Log.WriteLog("开始初始化模块清单...");
                foreach (SiteView.VisioImport.VisioImporter.EquipmentContainer i in VisioImporter.pEquipmentContainer) //遍历
                {
                    foreach (Box box in _document.Boxes)
                    {
                        if (box.Tag == (object)i.Alias)
                        {
                            Module module = new Module();
                            module.Document = this.Document;
                            module.Index = i.ContainerIndex;
                            //module.Name = i.Alias;
                            module.Name = "module" + i.ContainerIndex.ToString();
                            module.Instance = box;
                            module.Rect = i.rect;
                            module.Location = i.rect.Location;
                            module.Parent = this;
                            _modules.Add(module);
                        }
                    }
                }
                Log.WriteLog("初始化模块清单成功!");
                Log.WriteLog("开始初始化端口清单...");
                //端口清单
                foreach (SiteView.VisioImport.VisioImporter.EquipmentPort i in VisioImporter.pEquipmentPort) //遍历
                {
                    foreach (Box box in _document.Boxes)
                    {
                        if (box.Tag == (object)i.Alias)
                        {
                            Port port = new Port();
                            port.Index = i.PhysicsPortIndex;
                            //port.Name = i.Alias;
                            port.Name = "port" + i.PhysicsPortIndex;
                            port.Instance = box;
                            _ports.Add(port);
                        }
                    }
                }
                Log.WriteLog("初始化端口清单成功!");
                Log.WriteLog("开始初始化指示灯清单...");
                //指示灯清单
                foreach (SiteView.VisioImport.VisioImporter.EquipmentLamp i in VisioImporter.pEquipmentLamp) //遍历
                {
                    foreach (Box box in _document.Boxes)
                    {
                        if (box.Tag == (object)i.Alias)
                        {
                            Lamp lamp = new Lamp();
                            lamp.Index = i.PhysicsPortLampIndex;
                            //lamp.Name = i.Alias;
                            lamp.Name = "lamp" + i.PhysicsPortLampIndex;
                            lamp.Instance = box;
                            _lamps.Add(lamp);
                        }
                    }
                }
                Log.WriteLog("初始化指示灯清单成功!");
                Log.WriteLog("开始初始化box清单...");
                //面板图box清单
                foreach (SiteView.VisioImport.VisioImporter.FlowChartBox i in VisioImporter.pFlowChartBox)
                {
                    foreach (Box box in _document.Boxes)
                    {
                        if (box.Tag == (object)i.Alias)
                        {
                            box.Locked = true;
                            _boxes.Add(box);
                        }
                    }
                }
                Log.WriteLog("初始化box清单成功!");
                //设备清单
                /*foreach(SiteView.VisioImport.VisioImporter.EquipmentPort i in VisioImporter.pEquipmentPort)
                {
                    foreach(Box box in _document.Boxes)
                    {
                        if(box.Tag == (object)i.Alias)
                        {
                            Device device = new Device();
                            device.Index = i.PhysicsPortIndex;
                            device.Name = "device" + i.PhysicsPortIndex;
                            device.Instance = box;
                            _devices.Add(device);
                        }
                    }
                }*/
                System.Threading.Thread.Sleep(2000);
                Log.WriteLog("装载面板图成功!");
                this._isnull = false;

            }
            catch (Exception ex)
            {
                this._isnull = true;
                Log.WriteLog("装载面板图失败!原因:" + ex.ToString());
            }

        }