Exemple #1
0
 public StruTemplateLibGeneralViewModel()
 {
     doSearch();
     SearchCommand = new DelegateCommand(doSearch);
     globalInfo    = GlobalInfo.GetInstance();
     proUtils      = ProjectUtils.GetInstance();
 }
Exemple #2
0
 GlobalInfo globalInfo;//获取文件保存地址
 public EarthWire_InternetViewModel()
 {
     doSearch();
     SearchCommand = new DelegateCommand(doSearch);
     ExportCommand = new DelegateCommand(doExportData);
     globalInfo    = GlobalInfo.GetInstance();
 }
        /// <summary>
        /// 删除命令
        /// </summary>
        /// <param name="menu"></param>
        public override void Command4(SubMenuBase menu)
        {
            var struCalsList = GlobalInfo.GetInstance().StruCalsParas;

            if (struCalsList == null)
            {
                return;
            }

            int index = struCalsList.FindIndex(item => item.TowerName == menu.Title.Trim());

            if (index == -1)
            {
                return;
            }

            struCalsList.RemoveAt(index);

            if (parentVm == null)
            {
                return;
            }

            parentVm.SelectedModuleInfo.MenuItems.Add(menu);

            parentVm.MenuItems = new ObservableCollection <SubMenuBase>(parentVm.SelectedModuleInfo.MenuItems);
        }
Exemple #4
0
        GlobalInfo globalInfo;//获取文件保存地址
        public StruCalsLibBaseDataViewModel()
        {
            OverhangingTower = new Tower();
            TensionTower     = new Tower();

            ExportCommand = new DelegateCommand(doExportData);
            globalInfo    = GlobalInfo.GetInstance();


            IList <StruCalsLibBaseData>        baseList   = baseService.GetList();   //基本信息列表
            IList <StruCalsLibBaseData_Detail> detailList = detailService.GetList(); //明细信息列表

            //页面返回结果
            StruCalsLibBaseData Overhangingbase = baseList.Where(item => item.BaseCategory == "悬垂塔基础参数").SingleOrDefault();
            StruCalsLibBaseData Tensionbase     = baseList.Where(item => item.BaseCategory == "耐张塔基础参数").SingleOrDefault();

            //悬垂塔
            OverhangingTower.BaseData    = Overhangingbase;
            OverhangingTower.GB50545Data = detailList.Where(item => item.ParentId == Overhangingbase.Id && item.Category == "GB50545-2010").SingleOrDefault();
            OverhangingTower.DLT5551Data = detailList.Where(item => item.ParentId == Overhangingbase.Id && item.Category == "DLT5551-2018").SingleOrDefault();
            //耐张塔
            TensionTower.BaseData    = Tensionbase;
            TensionTower.GB50545Data = detailList.Where(item => item.ParentId == Tensionbase.Id && item.Category == "GB50545-2010").SingleOrDefault();
            TensionTower.DLT5551Data = detailList.Where(item => item.ParentId == Tensionbase.Id && item.Category == "DLT5551-2018").SingleOrDefault();
        }
 GlobalInfo globalInfo;//获取文件保存地址
 public SpacerViewModel()
 {
     doSearch();
     SearchCommand = new DelegateCommand(doSearch);
     ExportCommand = new DelegateCommand(doExportData);
     globalInfo    = GlobalInfo.GetInstance();
 }
Exemple #6
0
 GlobalInfo globalInfo;//获取文件保存地址
 public GeneralInsulatorViewModule()
 {
     doSearch();
     SearchCommand = new DelegateCommand(doSearch);
     ExportCommand = new DelegateCommand(doExportData);
     globalInfo    = GlobalInfo.GetInstance();
 }
        GlobalInfo globalInfo;//获取文件保存地址
        public StruCalsLibExtralLoadViewModel()
        {
            this.DataSource = new ObservableCollection <StruCalsLibExtralLoad>(struCalsLibExtralLoadDataService.GetList());

            ExportCommand = new DelegateCommand(doExportData);
            globalInfo    = GlobalInfo.GetInstance();
        }
Exemple #8
0
 GlobalInfo globalInfo;//获取文件保存地址
 public RigidJumperInsulatorViewModel()
 {
     doSearch();
     SearchCommand = new DelegateCommand(doSearch);
     ExportCommand = new DelegateCommand(doExportData);
     globalInfo    = GlobalInfo.GetInstance();
 }
        public override void Command2(SubMenuBase menu)
        {
            var saveFileDialog = new Microsoft.Win32.SaveFileDialog()
            {
                Filter = "Result Files (*.calc)|*.calc",
            };

            if (saveFileDialog.ShowDialog() != true)
            {
                return;
            }

            GlobalInfo globalInfo = GlobalInfo.GetInstance();

            //StruCalsParas中塔位数据,是在点击这个塔位的页面后才加载的GlobalInfo中,
            //下面代码针对的是,没有打开这个塔位的页面而直接进行计算的情况
            if (globalInfo.StruCalsParas.Where(item => item.TowerName == ((SubMenuBase)menu).Title && item.SequenceName == ((StrCalsModuleSubMenu)menu).Sequence).Count() <= 0)
            {
                if (((StrCalsModuleSubMenu)menu).Sequence == "")
                {
                    ProjectUtils.GetInstance().ReadStruCalsTowerParas(((SubMenuBase)menu).Title);
                }
                else
                {
                    ProjectUtils.GetInstance().ReadStruCalsTowerParas(((SubMenuBase)menu).Title, ((StrCalsModuleSubMenu)menu).Sequence);
                }
            }

            StruCalsParasCompose paras = globalInfo.StruCalsParas.Where(para => para.TowerName == ((SubMenuBase)menu).Title && para.SequenceName == ((StrCalsModuleSubMenu)menu).Sequence).FirstOrDefault();

            if (paras == null)
            {
                return;
            }

            ConvertSpecToWorkCondition(paras.Template, paras.WorkConditions, true);
            string path = saveFileDialog.FileName.Substring(0, saveFileDialog.FileName.Length - 5);

            for (int i = 0; i < paras.HPSettingsParas.Count(); i++)
            {
                LoadComposeBase loadCompose;

                if (paras.BaseParas.Type == TowerTypeEnum.LineTower)
                {
                    loadCompose = new LoadComposeLineTower(paras.BaseParas, paras.LineParas.ToArray(), paras.HPSettingsParas[i], paras.Template, paras.ElectricalLoadFilePath);
                }
                else if (paras.BaseParas.Type == TowerTypeEnum.LineCornerTower)
                {
                    loadCompose = new LoadComposeLineCornerTower(paras.BaseParas, paras.LineParas.ToArray(), paras.HPSettingsParas[i], paras.Template, paras.ElectricalLoadFilePath);
                }
                //剩下的都属于耐张塔
                else
                {
                    loadCompose = new LoadComposeTensionTower(paras.BaseParas, paras.LineParas.ToArray(), paras.HPSettingsParas[i], paras.Template, paras.ElectricalLoadFilePath);
                }

                paras.ResultPointLoad.AddRange(loadCompose.LoadCaculate(path));
            }
        }
 GlobalInfo globalInfo;//获取文件保存地址
 public WeatherCondition_InternetViewModel()
 {
     doSearch();
     SearchCommand = new DelegateCommand(doSearch);
     ExportCommand = new DelegateCommand(doExportData);
     //ExportCommand = new DelegateCommand(doCheckData);
     globalInfo = GlobalInfo.GetInstance();
 }
Exemple #11
0
        protected override void InitializeData()
        {
            SaveXmlCommand   = new DelegateCommand(SaveXml);
            DBFImportCommand = new DelegateCommand(DBFImport);

            //this.SelectedItems = new ObservableCollection<TowerStrData>(TowerStrDataReader.ReadLoadFile(filePath));//获取本地已保存信息
            this.SelectedItems = new ObservableCollection <TowerStrData>(GlobalInfo.GetInstance().GetLocalTowerStrs());
        }
Exemple #12
0
 private void OnClickECTowerParaMenu(SubMenuBase vm)
 {
     if (GlobalInfo.GetInstance().GetElecCalsTowerParasList().Count == 0)
     {
         System.Windows.MessageBox.Show("本地没有保存任何铁塔配置参数!");
         return;
     }
     OnSelectedMenuChanged(vm);
 }
        public StruCalsLibIceCoverModuleVodel()
        {
            var libParas = GlobalInfo.GetInstance().GetStruCalsLibParas();

            if (libParas == null)
            {
                return;
            }

            IceCoverParas = new ObservableCollection <StruCalsLibIceCoverParas>(libParas.IceCoverParas);
        }
Exemple #14
0
        public StruCalsLibExtralLoadViewModel()
        {
            var libParas = GlobalInfo.GetInstance().GetStruCalsLibParas();

            if (libParas == null)
            {
                return;
            }

            WireExtraLoadParas = new ObservableCollection <StruCalsLibWireExtraLoadParas>(libParas.WireExtraLoadParas);
        }
Exemple #15
0
        public StruCalsLibBaseDataViewModel()
        {
            var libParas = GlobalInfo.GetInstance().GetStruCalsLibParas();

            if (libParas == null)
            {
                return;
            }

            OverhangingTowerParas = libParas.OverhangingTowerBaseParas;
            TensionTowerParas     = libParas.TensionTowerBaseParas;
        }
Exemple #16
0
        public void onConfirm()
        {
            if (Mode != oldMode)
            {
                var mod = SmartTowerModeStringConvertBack(Mode);

                ProjectUtils.GetInstance().SaveSmartTowerMode(mod);
                GlobalInfo.GetInstance().SmartTowerMode = mod;
            }

            close("");
        }
Exemple #17
0
        public void AddUnevenIceGKHang(bool bAdd5mm, double dia, double iceCover1, double iceCover2)
        {
            ElecCalsWorkCondition iceWkCdt;

            var elecCalsSpec = GlobalInfo.GetInstance().GetElecCalsSpecParas();

            if (elecCalsSpec == null)
            {
                return;
            }

            if (bAdd5mm)
            {
                //增加5mm要地线覆冰工况
                iceWkCdt = WeathComm.Where(item => item.Name == "地线覆冰").FirstOrDefault();
            }
            else
            {
                //不增加5mm要最大覆冰工况
                iceWkCdt = WeathComm.Where(item => item.Name == "最大覆冰").FirstOrDefault();
            }


            double thickness  = iceWkCdt == null ? 0 : iceWkCdt.IceThickness;
            double thickness1 = ElecCalsToolBox.IceThicknessExChange(dia, iceCover1, thickness);
            double thickness2 = ElecCalsToolBox.IceThicknessExChange(dia, iceCover2, thickness);

            WeathComm.AddRange(new List <ElecCalsWorkCondition>()
            {
                new ElecCalsWorkCondition()
                {
                    Name         = bAdd5mm ? "不均匀冰满冰(导线+5mm)" : "不均匀冰满冰",
                    IceThickness = thickness,
                    Temperature  = elecCalsSpec.UnevenIceTemp,
                    WindSpeed    = elecCalsSpec.UnevenIceWind,
                },
                new ElecCalsWorkCondition()
                {
                    Name         = bAdd5mm ? "不均匀冰20%(导线+5mm)" : "不均匀冰20%",
                    IceThickness = thickness1,
                    Temperature  = elecCalsSpec.UnevenIceTemp,
                    WindSpeed    = elecCalsSpec.UnevenIceWind,
                },
                new ElecCalsWorkCondition()
                {
                    Name         = bAdd5mm ? "不均匀冰开断(导线+5mm)" : "不均匀冰开断",
                    IceThickness = thickness2,
                    Temperature  = elecCalsSpec.UnevenIceTemp,
                    WindSpeed    = elecCalsSpec.UnevenIceWind,
                },
            });
        }
Exemple #18
0
        /// <summary>
        /// 断线覆冰率
        /// </summary>
        /// <param name="towerType"></param>
        /// <param name="iceThickness"></param>
        /// <param name="category"></param>
        /// <returns></returns>
        public static double UBlanceR(string towerType, double iceThickness, string category)
        {
            var elecCalsSpec = GlobalInfo.GetInstance().GetElecCalsSpecParas();

            if (elecCalsSpec == null)
            {
                return(1);
            }

            var entity = elecCalsSpec.BreakIceRate.Where(item => item.TowerType == towerType && item.IceThickness == iceThickness && item.Category == category).FirstOrDefault();

            return(entity == null ? 1 : (double)entity.Percent / 100);
        }
Exemple #19
0
        /// <summary>
        /// 不均匀冰重冰覆冰率-另一侧
        /// </summary>
        /// <param name="towerType"></param>
        /// <param name="category"></param>
        /// <returns></returns>
        public static double IBlanceR2(string towerType, string category)
        {
            var elecCalsSpec = GlobalInfo.GetInstance().GetElecCalsSpecParas();

            if (elecCalsSpec == null)
            {
                return(0);
            }

            var entity = elecCalsSpec.UnevenIceRate.Where(item => item.TowerType == towerType && item.Category == category && item.Side == "另一侧").FirstOrDefault();

            return(entity == null ? 0 :(double)entity.Percent / 100);
        }
        protected override void InitializeData()
        {
            //BaseData = TowerStrDataReader.Read(filePath);

            //工程文件和通用文件模板
            IList <string> projectList  = ProjectUtils.GetInstance().GetProjectTowerTemplate().Select(item => "[工程模板]" + item.Name).ToList();
            IList <string> templateList = ProjectUtils.GetInstance().GetGeneralTowerTemplate().Select(item => "[通用模板]" + item.Name).ToList();

            this.templetDataSource = projectList.Concat(templateList).ToList();

            //this.dataSource = new ObservableCollection<TowerStrData>(TowerStrDataReader.ReadLoadFile(filePath));//获取本地已保存信息
            this.dataSource = new ObservableCollection <TowerStrData>(GlobalInfo.GetInstance().GetLocalTowerStrs());
        }
Exemple #21
0
        public static string GetCatogory(string volt)
        {
            var elecCalsSpec = GlobalInfo.GetInstance().GetElecCalsSpecParas();

            if (elecCalsSpec == null)
            {
                return("一类");
            }

            var entity = elecCalsSpec.Category.Where(item => item.Voltage.Contains(volt)).FirstOrDefault();

            return(entity == null ? "一类" : entity.Category);
        }
        /// <summary>
        /// 保存方法
        /// </summary>
        public void doSave()
        {
            try
            {
                //保存计算后的杆塔序列文件
                TowerSerialReader.SaveXmlBySequenceNameAndTowerType(GlobalInfo.GetInstance().ProjectPath, SequenceName, this.dataSource.ToList());

                MessageBox.Show("保存成功!");
            }
            catch (Exception ex)
            {
                MessageBox.Show("保存异常!异常信息:" + ex.Message);
            }
        }
Exemple #23
0
        public double[] Generate()
        {
            double amplitude = (double)numericUpDown_amplitude.Value;
            double frequency = (double)numericUpDown_freq.Value;
            double duration  = (double)numericUpDown_duration.Value / 1000;

            GlobalInfo globalInfo = GlobalInfo.GetInstance();

            double updateRate = globalInfo.AOTask.GetUpdateRate();

            double[] outData = AudioGenerator.SingleToneWaveform(updateRate, (uint)(updateRate * duration),
                                                                 amplitude, frequency, 0);
            return(outData);
        }
        protected CommSideParaSettingViewModel()
        {
            var globalInfo = GlobalInfo.GetInstance();

            CommParaNameList = globalInfo.GetElecCalsCommParaNames();
            SideParaNameList = globalInfo.GetElecCalsSideParaNames();

            dataSource = new ObservableCollection <CommSideParaSetting>(new List <CommSideParaSetting> {
                new CommSideParaSetting()
                {
                    Index = 1, StartTowerName = "", EndTowerName = "", CommPara = "", SidePara = ""
                }
            });
        }
Exemple #25
0
        /// <summary>
        /// 不均匀冰不平衡张力
        /// </summary>
        /// <param name="towerType"></param>
        /// <param name="iceType"></param>
        /// <param name="iceThickness"></param>
        /// <param name="wireType"></param>
        /// <returns></returns>
        public static double IBlanceK(string towerType, string iceType, double iceThickness, string wireType)
        {
            var elecCalsSpec = GlobalInfo.GetInstance().GetElecCalsSpecParas();

            if (elecCalsSpec == null)
            {
                return(0);
            }

            var entity = elecCalsSpec.UnevenIceStress.Where(item => item.IceArea == iceType && item.IceThickness == iceThickness && item.WireType == wireType &&
                                                            item.TowerType == towerType).FirstOrDefault();

            return(entity == null ? 0 : (double)entity.Stress / 100);
        }
Exemple #26
0
        public double[] Generate()
        {
            double amplitude    = (double)numericUpDown_amplitude1.Value;
            double frequencyMin = (double)numericUpDown_freq1.Value;
            ushort points       = (ushort)numericUpDown_points.Value;
            double frequencyMax = (double)numericUpDown_freq2.Value;
            double duration     = (double)numericUpDown_duration.Value / 1000;

            GlobalInfo globalInfo = GlobalInfo.GetInstance();

            double updateRate = globalInfo.AOTask.GetUpdateRate();

            double[] outData = AudioGenerator.MultiToneWaveform(updateRate, (uint)(updateRate * duration), amplitude, frequencyMin, frequencyMax, points);
            return(outData);
        }
        public WaveformBase GetRefWaveform()
        {
            ushort steps        = (ushort)numericUpDown_steps.Value;
            double amplitudeMax = (double)numericUpDown_amplitudeMax.Value;
            double amplitudeMin = (double)numericUpDown_amplitudeMin.Value;
            double frequency    = (double)numericUpDown_freq.Value;
            ushort minCycle     = (ushort)numericUpDown_minCycle.Value;
            double minDuration  = (double)numericUpDown_duration.Value / 1000;

            GlobalInfo globalInfo = GlobalInfo.GetInstance();
            double     updateRate = globalInfo.AITask.GetSampleRate();

            return(new SeeSharpTools.JY.Audio.Waveform.SteppedLevelSineWaveform(updateRate,
                                                                                amplitudeMin, amplitudeMax, frequency, steps, minCycle, minDuration));
        }
Exemple #28
0
        public WaveformBase GetRefWaveform()
        {
            double amplitude    = (double)numericUpDown_amplitude1.Value;
            double frequencyMin = (double)numericUpDown_freq1.Value;
            ushort points       = (ushort)numericUpDown_points.Value;
            double frequencyMax = (double)numericUpDown_freq2.Value;
            double duration     = (double)numericUpDown_duration.Value / 1000;

            GlobalInfo globalInfo = GlobalInfo.GetInstance();

            double sampleRate = globalInfo.AITask.GetSampleRate();

            return(new MultiToneWaveform(frequencyMin, frequencyMax, amplitude,
                                         points, sampleRate, (uint)(sampleRate * duration)));
        }
Exemple #29
0
        /// <summary>
        /// 增加断线工况-悬垂塔
        /// </summary>
        /// <param name="bGrd">是否是地线:1 地线; 0 导线</param>
        /// <param name="grdIceUnbaPara">地线不平衡张力取值,1:轻冰区不考虑增加5mm,2:重冰区增加5mm</param>
        /// <param name="dia">直径</param>
        /// <param name="breakIceCover">断线覆冰率</param>
        public void AddBreakGKHang(bool bAdd5mm, double dia, double breakIceCover1, double breakIceCover2)
        {
            var elecCalsSpec = GlobalInfo.GetInstance().GetElecCalsSpecParas();

            if (elecCalsSpec == null)
            {
                return;
            }

            ElecCalsWorkCondition iceWkCdt;

            if (bAdd5mm)
            {
                iceWkCdt = WeathComm.Where(item => item.Name == "地线覆冰").FirstOrDefault();
            }
            else
            {
                iceWkCdt = WeathComm.Where(item => item.Name == "最大覆冰").FirstOrDefault();
            }
            double iceThickness = iceWkCdt == null ? 0 : iceWkCdt.IceThickness;

            double thickness1 = ElecCalsToolBox.IceThicknessExChange(dia, breakIceCover1, iceThickness);
            double thickness2 = ElecCalsToolBox.IceThicknessExChange(dia, breakIceCover2, iceThickness);

            WeathComm.Add(new ElecCalsWorkCondition()
            {
                Name         = bAdd5mm ? "断线(导线+5mm)" : "断线",
                IceThickness = thickness1,
                Temperature  = elecCalsSpec.BreakTemp,
                WindSpeed    = elecCalsSpec.BreakWind,
            });

            WeathComm.Add(new ElecCalsWorkCondition()
            {
                Name         = bAdd5mm ? "断线开断(导线+5mm)" : "断线开断",
                IceThickness = thickness2,
                Temperature  = elecCalsSpec.BreakTemp,
                WindSpeed    = elecCalsSpec.BreakWind,
            });

            WeathComm.Add(new ElecCalsWorkCondition()
            {
                Name         = bAdd5mm ? "断线满冰(导线+5mm)" : "断线满冰",
                IceThickness = iceThickness,
                Temperature  = iceWkCdt == null ? 0 : iceWkCdt.Temperature,
                WindSpeed    = 0,
            });
        }
Exemple #30
0
        public WaveformBase GetRefWaveform()
        {
            double amplitude      = (double)numericUpDown_amplitude1.Value;
            double frequencyMin   = (double)numericUpDown_freqMin.Value;
            double frequencyMax   = (double)numericUpDown_freqMax.Value;
            double preSweepRatio  = (double)numericUpDown_preSweepRatio.Value;
            double postSweepRatio = (double)numericUpDown_postSweepRatio.Value;
            double duration       = (double)numericUpDown_duration.Value / 1000;

            GlobalInfo globalInfo = GlobalInfo.GetInstance();

            double updateRate = globalInfo.AITask.GetSampleRate();

            return(new LogChirpWaveform(frequencyMin, frequencyMax, amplitude, preSweepRatio, postSweepRatio, updateRate,
                                        (uint)(duration * updateRate)));
        }