示例#1
0
        public Ship(Data.MvProject mvProject)
        {
            this.MvProject = mvProject;
            this.Project   = MvProject.Project;

            this.PageMargin = new PointD(this.MvProject.ShipInfo.MarginRight, this.MvProject.ShipInfo.MarginBottom);
            _macroFolder    = Data.Location.Front(true, this.MvProject.ModelName, "");

            foreach (DataRow row in this.MvProject.GroupTable.Rows)
            {
                Data.MvGroup group      = new Data.MvGroup(this.MvProject, row);
                DataRow[]    feederRows = MvProject.FeederTable.Select("GroupID = '" + group.GroupID + "'", "PanelX ASC");

                List <Data.MvFeeder> feederList = new List <Data.MvFeeder>();
                foreach (DataRow feederRow in feederRows)
                {
                    Data.MvFeeder feeder = new Data.MvFeeder(feederRow);
                    if (feeder.PanelName2.Trim().Length > 0)
                    {
                        _panelName2Exists = true;
                    }

                    feeder.Width = (int)Util.eplan.GetWidth(Project, this._macroFolder + feeder.FeederType + ".ema");
                    _totalWidth += feeder.Width;
                    feederList.Add(feeder);
                }

                if (!group.LeftToRight)
                {
                    feederList.Reverse();
                }

                this.Create(feederList);
            }
        }
示例#2
0
        public Land(Data.MvProject mvProject)
        {
            this.MvProject = mvProject;

            this.PageMargin = new PointD(this.MvProject.LandInfo.MarginRight, this.MvProject.LandInfo.MarginBottom);

            foreach (DataRow row in this.MvProject.GroupTable.Rows)
            {
                Data.MvGroup group      = new Data.MvGroup(this.MvProject, row);
                DataRow[]    feederRows = this.MvProject.FeederTable.Select("GroupID = '" + group.GroupID + "'", "PanelX ASC");
                this._macroFolder = Data.Location.Front(false, this.MvProject.ModelName, group.Rating);

                List <Data.MvFeeder> feederList = new List <Data.MvFeeder>();
                foreach (DataRow feederRow in feederRows)
                {
                    Data.MvFeeder feeder    = new Data.MvFeeder(feederRow);
                    string        macroPath = this._macroFolder + feeder.FeederType + ".ema";
                    feeder.Width = (int)Util.eplan.GetWidth(this.MvProject.Project, macroPath);
                    feederList.Add(feeder);
                }

                if (!group.LeftToRight)
                {
                    feederList.Reverse();
                }

                this.SetSplit(group.IncomingType, feederList);

                this.pageDescription = "PANEL DIMENSIONS(FRONT)";
                this.Create("FRONT", group.GroupNo, group.Rating, feederList, group.BusDuctExists);
                this.pageDescription = "PANEL DIMENSIONS(BOTTOM)";
                this.Create("BOTTOM", group.GroupNo, group.Rating, feederList, group.BusDuctExists);
            }
        }
示例#3
0
        public DrawingFactory(Data.MvProject mvProject)
        {
            this.MvProject = mvProject;

            foreach (DataRow groupRow in this.MvProject.GroupTable.Rows)
            {
                Data.MvGroup group = new Data.MvGroup(this.MvProject, groupRow);

                this.SingleMacroFolder = Data.Location.Single(this.MvProject.IsShip, this.MvProject.ModelName, group.Rating);
                this.FolderList        = Util.CSharp.GetDirectoryList(this.SingleMacroFolder);

                DataRow[] feederRows = this.MvProject.FeederTable.Select("GroupID = '" + group.GroupID.ToString() + "'", "PanelX ASC");

                List <Data.MvFeeder> feederList = new List <Data.MvFeeder>();
                foreach (DataRow feederRow in feederRows)
                {
                    Data.MvFeeder feeder = new Data.MvFeeder(feederRow);
                    feederList.Add(feeder);
                }

                if (this.MvProject.IsShip)
                {
                    this.CreateShipSingleLine(feederList);
                }
                else
                {
                    this.CreateLandSingleLine(group.GroupNo, group.Rating, feederList);
                }
            }
        }
示例#4
0
        public Finder(Data.MvProject mvProject, DataGridViewRow row)
        {
            this.Project = mvProject.Project;
            this.IsShip  = mvProject.IsShip;

            DataRowView rowView = row.DataBoundItem as DataRowView;

            this.Feeder = new Data.MvFeeder(rowView.Row);
        }
示例#5
0
        public void Create()
        {
            string macroFolder = Data.Location.Door(true, this.MvProject.ModelName, "");

            Data.MvGroup group = new Data.MvGroup(this.MvProject, this.MvProject.GroupTable.Rows[0]);
            DataRow[]    rows  = MvProject.FeederTable.Select("GroupID = '" + group.GroupID + "'", "PanelX ASC");

            foreach (DataRow row in rows)
            {
                Data.MvFeeder feeder    = new Data.MvFeeder(row);
                string        macroPath = macroFolder + feeder.FeederType + ".emp";
                Page          page      = Util.eplan.AddShipPanellayoutPage(this.MvProject.Project, macroPath, "VOL.2", feeder.FeederNo, "LAYOUT", "OUTLINE VIEW(" + feeder.PanelName1 + ")");

                if (page == null)
                {
                    MessageBox.Show("ERROR: Inserting PageMacro: " + macroPath);
                    continue;
                }
                else
                {
                    page.Properties.PAGE_SCALE = 12.0;

                    foreach (Placement p in page.Functions)
                    {
                        Function f = p as Function;
                        if (f == null)
                        {
                            continue;
                        }

                        int index = f.Name.IndexOf('-');
                        if (index >= 0)
                        {
                            f.Name = f.VisibleName = "=VOL.5+" + feeder.FeederNo + f.Name.Substring(f.Name.IndexOf('-'));
                        }
                        else
                        {
                            f.Name = f.VisibleName = "=VOL.5+" + feeder.FeederNo;
                        }
                        //f.VisibleName = "+" + feeder.FeederNo;
                        Util.eplan.RemoveArticleReferences(f);
                    }

                    new NameService().EvaluateAndSetAllNames(page);
                }
            }
        }
示例#6
0
        private void CreateShipFeeders()
        {
            DataRow[] groupRows   = this.MvProject.GroupTable.Select("GroupID = '" + this.GroupID.ToString() + "'");
            object    groupNumber = groupRows[0]["GroupNo"];

            DataRow[] feederRows = this.MvProject.FeederTable.Select("GroupID = '" + this.GroupID.ToString() + "'");
            if (feederRows.Length >= this.FeederQty)
            {
                return;
            }

            for (int i = feederRows.Length; i < this.FeederQty; i++)
            {
                DataRow row = new Data.MvFeeder(this, "GENERATOR").DataRow();
                row["PanelX"] = i;
                this.MvProject.FeederTable.Rows.Add(row);
            }
        }
示例#7
0
        private void AddLandPanel(Page page, string macroPath, int nVariant, double x, double y, Data.MvFeeder feeder)
        {
            StorableObject[] sos = Util.eplan.AddGraphicMacro(page, macroPath, nVariant, x, _origin.Y);
            foreach (StorableObject so in sos)
            {
                BoxedDevice bd = so as BoxedDevice;
                if (bd == null)
                {
                    continue;
                }

                bd.Name = bd.Name.Substring(0, bd.Name.IndexOf("=") + 1) + feeder.FeederNo + bd.Name.Substring(bd.Name.IndexOf("+"));
                break;
            }
        }