예제 #1
0
        public void DealPacket_ChainInfo(object pack)
        {
            RD_ChainInfo rd = (RD_ChainInfo)pack;

            if (rd.StartOrEnd == "s")
            {
                chain_path temp = new chain_path(this);
                temp.sensor_name = rd.id;
                temp.path        = rd.PathNodes;
                foreach (var o in rd.PathNodes)
                {
                    temp.path_Objs.Add(Scenemana.stkObjs.Find(c => c.ObjName == o));
                }
                Scenemana.setupchain(temp);
                Scenemana.all_path.Add(temp);
            }
            else if (rd.StartOrEnd == "e")
            {
                //清楚掉链路
                chain_path temp;
                temp = Scenemana.all_path.Find(c => c.sensor_name == rd.id);
                if (temp != null)
                {
                    Scenemana.RemoveAllSensorOnPath(temp);
                    Scenemana.all_path.Remove(temp);
                }
                else
                {
                    MessageBox.Show("读取链路记录异常");
                }
            }
        }
예제 #2
0
파일: packet.cs 프로젝트: Anyhowhow/STKDEMO
        public void DealPacket_ChainInfo(object pack)
        {
            RD_ChainInfo rd = (RD_ChainInfo)pack;
            //建立链路
            chain_path temp = new chain_path(this);

            temp.sensor_name = rd.id;
            temp.path        = rd.PathNodes;
            foreach (var o in rd.PathNodes)
            {
                temp.path_Objs.Add(Scenemana.stkObjs.Find(c => c.ObjName == o));
            }
            //beamdiameter = 103;
            Scenemana.setupchain(temp, beamdiameter);
            Scenemana.all_path.Add(temp);
        }
예제 #3
0
파일: packet.cs 프로젝트: Anyhowhow/STKDEMO
        public void DealPacket_InterSatellitePath(object pack)
        {
            RD_InterSatellitePath rd = (RD_InterSatellitePath)pack;

            //判断是否为之前已存在的相同链路,如不同,则清除之前的链路
            if (rd_update.ISLPath != null && !rd.ISLPath.Equals(rd_update.ISLPath))
            {
                //清除链路
                chain_path temp;
                temp = Scenemana.all_path.Find(c => c.sensor_name == rd_update.ISLid.ToString());
                if (temp != null)
                {
                    Scenemana.RemoveAllSensorOnPath(temp);
                    Scenemana.all_path.Remove(temp);
                }
                //else MessageBox.Show("读取链路记录异常");
            }
            //判断是否需要建立新的链路(第一次建立或者链路改变)
            if (rd_update.ISLPath == null || !rd.ISLPath.Equals(rd_update.ISLPath))
            {
                chain_path   pathinfo = new chain_path(this);
                RD_ChainInfo temp1;
                int          index    = 0;
                string       Nodes    = rd.ISLPath.ToString();
                string[]     nodelist = Nodes.Split(new string[] { "->" }, StringSplitOptions.None);
                foreach (var str in nodelist)
                {
                    pathinfo.path.Add(str);
                    //将系统物件表中的物体添加到链路的小表中
                    pathinfo.path_Objs.Add(Scenemana.stkObjs.Find(c => c.ObjName == str));
                }
                //pathinfo.sensor_name = pathinfo.path[0] + "-" + pathinfo.path[pathinfo.path.Count - 1];
                pathinfo.sensor_name = rd.ISLid.ToString();
                Scenemana.msglist.Clear();
                Scenemana.msglist.Add(new Msg {
                    PathNodes = pathinfo.path, id = pathinfo.sensor_name
                });
                temp1 = Scenemana.MakePacket(Scenemana.msglist[index]);
                if (temp1 != null)
                {
                    //立即执行
                    DealPacket_ChainInfo(temp1);
                    index++;
                }
            }
            rd_update = rd;//记录最新的链路信息,为下次判断做准备
        }
예제 #4
0
        public void RemoveAllSensorOnPath(chain_path trafficPath)
        {
            String        cmdSensorRemove_beg = "Unload / */";
            StringBuilder cmdSensorRemove     = new StringBuilder();

            for (int i = 0; i < trafficPath.path_Objs.Count - 1; i++)    //20151014
            {
                if (trafficPath.path_Objs[i].SensorName.Contains(trafficPath.sensor_name))
                {
                    trafficPath.path_Objs[i].SensorName.Remove(trafficPath.sensor_name);
                    cmdSensorRemove.Append(cmdSensorRemove_beg).Append(trafficPath.path_Objs[i].ClassName).Append("/").Append(trafficPath.path_Objs[i].ObjName)
                    .Append("/Sensor/").Append(trafficPath.sensor_name);
                    try
                    {
                        this.view.root.ExecuteCommand(cmdSensorRemove.ToString());
                    }
                    catch
                    {
                        MessageBox.Show("STK Command命令出错:" + "无法删除传感器");
                    }
                    cmdSensorRemove.Clear();
                }
                else if (trafficPath.path_Objs[i].ClassName.Equals("Facility") && trafficPath.path_Objs[i + 1].ClassName.Equals("Facility"))
                {
                    try
                    {
                        string namestr = trafficPath.path_Objs[i].ObjName + trafficPath.sensor_name;
                        string str     = "Unload / */LineTarget/" + namestr;
                        this.view.root.ExecuteCommand(str);
                    }
                    catch (Exception e)
                    {
                        MessageBox.Show("Unload / */LineTarget: \r\n" + e.Message);
                    }
                }
                //gez20170406删除波束
                if ((trafficPath.path_Objs[i].ClassName.Equals("Satellite") && trafficPath.path_Objs[i + 1].ClassName.Equals("Facility")) || (i > 0) && (trafficPath.path_Objs[i].ClassName.Equals("Satellite") && trafficPath.path_Objs[i - 1].ClassName.Equals("Facility")))
                {
                    STKObject seled = trafficPath.path_Objs[i];
                    if (seled.LinkIndex == 1)
                    {
                        string cmd, cmd2;
                        cmd  = string.Format("Unload / */Satellite/{0}/Sensor/cov1", seled.ObjName);
                        cmd2 = string.Format("Unload / */Satellite/{0}/Sensor/cov2", seled.ObjName);
                        view.root.ExecuteCommand(cmd);
                        view.root.ExecuteCommand(cmd2);
                    }
                    seled.LinkIndex--;
                }
                //gez20171116删除中继站类型的地面站的放大
                if (trafficPath.path_Objs[i].ClassName.Equals("Facility"))
                {
                    try
                    {
                        hlFaci(trafficPath.path_Objs[i].ObjName, false);
                    }
                    catch { }
                }
                if (trafficPath.path_Objs[i].ClassName.Equals("Satellite"))
                {
                    hlSatSets(trafficPath.path_Objs[i].ObjName, false);
                }
                //移除遥感卫星的传感器
                if (trafficPath.path_Objs[i].ObjName.IndexOf("RS") != -1)
                {
                    string    cmd;
                    STKObject seled = trafficPath.path_Objs[i];
                    cmd = string.Format("Unload / */Satellite/{0}/Sensor/rscov1 ", seled.ObjName);

                    view.root.ExecuteCommand(cmd);
                }
            }
            //最后一个如果是facility的话才会有特殊效果
            if (trafficPath.path_Objs[trafficPath.path_Objs.Count - 1].ClassName.Equals("Facility"))
            {
                try
                {
                    hlFaci(trafficPath.path_Objs[trafficPath.path_Objs.Count - 1].ObjName, false);
                }
                catch { }
            }
        }
예제 #5
0
        //链路通断定时处理
        public void setupchain(chain_path trafficPath, int diameter)
        {
            StringBuilder cmdCreate         = new StringBuilder();
            StringBuilder cmdSensorRename   = new StringBuilder();
            StringBuilder cmdSensorGraphics = new StringBuilder();
            StringBuilder cmdCommon         = new StringBuilder();

            //在树视图上增加节点
            try
            {
                TreeNode node = new TreeNode(trafficPath.sensor_name);
                trafficPath.path_node = node;
                node.Tag      = trafficPath;
                node.NodeFont = new System.Drawing.Font("宋体", 9, System.Drawing.FontStyle.Bold); //默认是显示该链路,用粗体
                view.trafficView.AddTreeNodeOnLev1(node);
                if (this.LJ_sensorcolor_index == this.LJ_sensorcolor.Length)
                {
                    this.LJ_sensorcolor_index = 0;
                }
                trafficPath.colorIndex = this.LJ_sensorcolor_index++;

                for (int i = 0; i < trafficPath.path.Count; i++)
                {
                    TreeNode node2 = new TreeNode(trafficPath.path[i]);
                    trafficPath.path_node.Nodes.Add(node2);
                }
            }
            catch
            {
            }
            //一个一个的增加传感器
            for (int i = 0; i < trafficPath.path_Objs.Count - 1; i++)
            {
                cmdCreate.Clear();
                cmdSensorRename.Clear();
                cmdSensorRename.Append("Rename */");
                cmdSensorGraphics.Clear();
                cmdCommon.Clear();
                if (trafficPath.path_Objs[i].ClassName.Equals("Facility") && trafficPath.path_Objs[i + 1].ClassName.Equals("Facility"))
                {
                    string namestr = trafficPath.path_Objs[i].ObjName + trafficPath.sensor_name;
                    cmdCreate.Append("New / */LineTarget " + namestr);
                    view.root.ExecuteCommand(cmdCreate.ToString());
                    LineTargets.Add(namestr);
                    string str = (2).ToString() + " " + trafficPath.path_Objs[i].ypos.ToString() + " " + trafficPath.path_Objs[i].xpos.ToString()
                                 + " " + trafficPath.path_Objs[i + 1].ypos.ToString() + " " + trafficPath.path_Objs[i + 1].xpos.ToString();
                    view.root.ExecuteCommand("SetLine */LineTarget/" + namestr + " LatLon " + str);
                    // this.root.ExecuteCommand("Graphics */LineTarget/" + namestr + " LineStyle dashed");
                    view.root.ExecuteCommand("Graphics */LineTarget/" + namestr + " LineWidth 8");
                    view.root.ExecuteCommand("Graphics */LineTarget/" + namestr + " SetColor " + LJ_sensorcolor[trafficPath.colorIndex]);
                    view.root.ExecuteCommand("Graphics */LineTarget/" + namestr + " Label Show Off");
                }
                else
                {
                    //星地的接口,这里显示波束
                    if ((trafficPath.path_Objs[i].ClassName.Equals("Satellite") && trafficPath.path_Objs[i + 1].ClassName.Equals("Facility")) || (i > 0) && (trafficPath.path_Objs[i].ClassName.Equals("Satellite") && trafficPath.path_Objs[i - 1].ClassName.Equals("Facility")))
                    {
                        STKObject seled = trafficPath.path_Objs[i];
                        if (seled.LinkIndex == 0)
                        {
                            string cmd, cmd2;
                            double temp_diameter     = diameter / 2.0;
                            int    halfdiameter      = (int)Math.Round(temp_diameter);
                            int    smallhalfdiameter = (int)Math.Round(halfdiameter * 0.93);
                            cmd  = string.Format("New / */Satellite/{0}/Sensor cov1", seled.ObjName);
                            cmd2 = string.Format("New / */Satellite/{0}/Sensor cov2", seled.ObjName);
                            view.root.ExecuteCommand(cmd);
                            view.root.ExecuteCommand(cmd2);
                            cmd  = string.Format("Define */Satellite/{0}/Sensor/cov1 SimpleCone {1}", seled.ObjName, halfdiameter);
                            cmd2 = string.Format("Define */Satellite/{0}/Sensor/cov2 SimpleCone {1}", seled.ObjName, smallhalfdiameter);
                            view.root.ExecuteCommand(cmd);
                            view.root.ExecuteCommand(cmd2);
                            cmd  = string.Format("Define */Satellite/{0}/Sensor/cov1 SimpleCone {1}", seled.ObjName, halfdiameter);
                            cmd2 = string.Format("Define */Satellite/{0}/Sensor/cov2 SimpleCone {1}", seled.ObjName, smallhalfdiameter);
                            view.root.ExecuteCommand(cmd);
                            view.root.ExecuteCommand(cmd2);
                            //设置传感器的颜色
                            cmd  = string.Format("Graphics */Satellite/{0}/Sensor/cov1 SetColor white", seled.ObjName);
                            cmd2 = string.Format("Graphics */Satellite/{0}/Sensor/cov2 SetColor red", seled.ObjName);
                            view.root.ExecuteCommand(cmd);
                            view.root.ExecuteCommand(cmd2);
                        }
                        seled.LinkIndex++;
                    }
                    //用来高亮显示地面的信关站
                    if (trafficPath.path_Objs[i].ClassName.Equals("Facility"))
                    {
                        try
                        {
                            hlFaci(trafficPath.path_Objs[i].ObjName, true);
                        }
                        catch { }
                    }
                    //用来显示星间的波束链路
                    cmdCreate.Append("Load / */").Append(trafficPath.path_Objs[i].ClassName).Append("/").Append(trafficPath.path_Objs[i].ObjName).Append("/Sensor ").Append(LJ_sensorFilePath);
                    cmdSensorRename.Append(trafficPath.path_Objs[i].ClassName).Append("/").Append(trafficPath.path_Objs[i].ObjName).Append("/Sensor/Sensor0 ").Append(trafficPath.sensor_name);
                    cmdCommon.Append(trafficPath.path_Objs[i].ClassName).Append("/").Append(trafficPath.path_Objs[i].ObjName).Append("/Sensor/").Append(trafficPath.sensor_name);
                    view.root.ExecuteCommand(cmdCreate.ToString());
                    view.root.ExecuteCommand(cmdSensorRename.ToString());
                    trafficPath.path_Objs[i].SensorName.Add(trafficPath.sensor_name.ToString());
                    cmdSensorGraphics.Clear();
                    cmdSensorGraphics.Append("Point */").Append(cmdCommon).Append(" Targeted Tracking ").Append(trafficPath.path_Objs[i + 1].ClassName)
                    .Append("/").Append(trafficPath.path_Objs[i + 1].ObjName).Append(" Hold ");
                    view.root.ExecuteCommand(cmdSensorGraphics.ToString());
                    cmdSensorGraphics.Clear();
                    cmdSensorGraphics.Append("VO */").Append(cmdCommon).Append(" Pulse Show On Amplitude 1 Smooth Off");
                    view.root.ExecuteCommand(cmdSensorGraphics.ToString());
                    cmdSensorGraphics.Clear();
                    cmdSensorGraphics.Append("VO */").Append(cmdCommon).Append(" Pulse PulseLength 300 Frequency 0.1 Style Box");
                    view.root.ExecuteCommand(cmdSensorGraphics.ToString());
                    cmdSensorGraphics.Clear();
                    cmdSensorGraphics.Append("Graphics */").Append(cmdCommon).Append(" SetColor ").Append(LJ_sensorcolor[trafficPath.colorIndex]);
                    view.root.ExecuteCommand(cmdSensorGraphics.ToString());
                    //cmdSensorGraphics.Clear();
                    //cmdSensorGraphics.Append("Graphics */").Append(cmdCommon_temp).Append(" LineWidth 10");//这只是设置投射到地面的边缘线的宽度
                    //this.root.ExecuteCommand(cmdSensorGraphics.ToString());
                    cmdSensorGraphics.Clear();
                    cmdSensorGraphics.Append("Graphics */").Append(cmdCommon).Append(" Show On");
                    view.root.ExecuteCommand(cmdSensorGraphics.ToString());
                    //用来显示链路上的卫星
                    if (trafficPath.path_Objs[i].ClassName == "Satellite")
                    {
                        hlSatSets(trafficPath.path_Objs[i].ObjName, true);
                    }
                    //给遥感卫星添加传感器
                    if (trafficPath.path_Objs[i].ObjName.IndexOf("RS") != -1)
                    {
                        string    cmd;
                        STKObject seled = trafficPath.path_Objs[i];
                        //安装传感器
                        cmd = string.Format("New / */Satellite/{0}/Sensor rscov1", seled.ObjName);

                        view.root.ExecuteCommand(cmd);

                        //设置波束形状
                        cmd = string.Format("Define */Satellite/{0}/Sensor/rscov1 Rectangular 45 1", seled.ObjName);

                        view.root.ExecuteCommand(cmd);

                        cmd = string.Format("Define */Satellite/{0}/Sensor/rscov1 Rectangular 45 1", seled.ObjName);

                        view.root.ExecuteCommand(cmd);

                        //设置传感器的颜色
                        cmd = string.Format("Graphics */Satellite/{0}/Sensor/rscov1 SetColor white", seled.ObjName);

                        view.root.ExecuteCommand(cmd);

                        //显示传感器
                        cmd = string.Format("Graphics */Satellite/{0}/Sensor/rscov1 Show On", seled.ObjName);

                        view.root.ExecuteCommand(cmd);
                    }
                }
            }
            //如果是最后一个目标的话
            if (trafficPath.path_Objs[trafficPath.path_Objs.Count - 1].ClassName.Equals("Facility"))
            {
                try
                {
                    hlFaci(trafficPath.path_Objs[trafficPath.path_Objs.Count - 1].ObjName, true);
                }
                catch { }
            }
        }
예제 #6
0
        //链路通断定时处理
        public void setupchain(chain_path trafficPath)
        {
            StringBuilder cmdCreate         = new StringBuilder();
            StringBuilder cmdSensorRename   = new StringBuilder();
            StringBuilder cmdSensorGraphics = new StringBuilder();
            StringBuilder cmdCommon         = new StringBuilder();

            //在树视图上增加节点
            try
            {
                TreeNode node = new TreeNode(trafficPath.sensor_name);
                trafficPath.path_node = node;
                node.Tag      = trafficPath;
                node.NodeFont = new System.Drawing.Font("宋体", 9, System.Drawing.FontStyle.Bold); //默认是显示该链路,用粗体
                view.trafficView.AddTreeNodeOnLev1(node);
                if (this.LJ_sensorcolor_index == this.LJ_sensorcolor.Length)
                {
                    this.LJ_sensorcolor_index = 0;
                }
                trafficPath.colorIndex = this.LJ_sensorcolor_index++;

                for (int i = 0; i < trafficPath.path.Count; i++)
                {
                    TreeNode node2 = new TreeNode(trafficPath.path[i]);
                    trafficPath.path_node.Nodes.Add(node2);
                }
            }
            catch
            {
            }
            //一个一个的增加传感器
            for (int i = 0; i < trafficPath.path_Objs.Count - 1; i++)
            {
                cmdCreate.Clear();
                cmdSensorRename.Clear();
                cmdSensorRename.Append("Rename */");
                cmdSensorGraphics.Clear();
                cmdCommon.Clear();
                if (trafficPath.path_Objs[i].ClassName.Equals("Facility") && trafficPath.path_Objs[i + 1].ClassName.Equals("Facility"))
                {
                    string namestr = trafficPath.path_Objs[i].ObjName + trafficPath.sensor_name;
                    cmdCreate.Append("New / */LineTarget " + namestr);
                    view.root.ExecuteCommand(cmdCreate.ToString());
                    LineTargets.Add(namestr);
                    string str = (2).ToString() + " " + trafficPath.path_Objs[i].ypos.ToString() + " " + trafficPath.path_Objs[i].xpos.ToString()
                                 + " " + trafficPath.path_Objs[i + 1].ypos.ToString() + " " + trafficPath.path_Objs[i + 1].xpos.ToString();
                    view.root.ExecuteCommand("SetLine */LineTarget/" + namestr + " LatLon " + str);
                    // this.root.ExecuteCommand("Graphics */LineTarget/" + namestr + " LineStyle dashed");
                    view.root.ExecuteCommand("Graphics */LineTarget/" + namestr + " LineWidth 8");
                    view.root.ExecuteCommand("Graphics */LineTarget/" + namestr + " SetColor " + LJ_sensorcolor[trafficPath.colorIndex]);
                    view.root.ExecuteCommand("Graphics */LineTarget/" + namestr + " Label Show Off");
                }
                else
                {
                    //星地的接口,这里显示波束
                    if ((trafficPath.path_Objs[i].ClassName.Equals("Satellite") && trafficPath.path_Objs[i + 1].ClassName.Equals("Facility")) || (i > 0) && (trafficPath.path_Objs[i].ClassName.Equals("Satellite") && trafficPath.path_Objs[i - 1].ClassName.Equals("Facility")))
                    {
                        STKObject seled = trafficPath.path_Objs[i];
                        if (seled.LinkIndex == 0)
                        {
                            string cmd, cmd2;
                            cmd  = string.Format("New / */Satellite/{0}/Sensor cov1", seled.ObjName);
                            cmd2 = string.Format("New / */Satellite/{0}/Sensor cov2", seled.ObjName);
                            view.root.ExecuteCommand(cmd);
                            view.root.ExecuteCommand(cmd2);
                            cmd  = string.Format("Define */Satellite/{0}/Sensor/cov1 SimpleCone 57", seled.ObjName);
                            cmd2 = string.Format("Define */Satellite/{0}/Sensor/cov2 SimpleCone 53", seled.ObjName);
                            view.root.ExecuteCommand(cmd);
                            view.root.ExecuteCommand(cmd2);
                            cmd  = string.Format("Define */Satellite/{0}/Sensor/cov1 SimpleCone 57", seled.ObjName);
                            cmd2 = string.Format("Define */Satellite/{0}/Sensor/cov2 SimpleCone 53", seled.ObjName);
                            view.root.ExecuteCommand(cmd);
                            view.root.ExecuteCommand(cmd2);
                            //设置传感器的颜色
                            cmd  = string.Format("Graphics */Satellite/{0}/Sensor/cov1 SetColor white", seled.ObjName);
                            cmd2 = string.Format("Graphics */Satellite/{0}/Sensor/cov2 SetColor red", seled.ObjName);
                            view.root.ExecuteCommand(cmd);
                            view.root.ExecuteCommand(cmd2);
                        }
                        seled.LinkIndex++;
                    }
                    if (trafficPath.path_Objs[i].ClassName.Equals("Facility"))
                    {
                        try
                        {
                            hlFaci(trafficPath.path_Objs[i].ObjName, true);
                        }
                        catch { }
                    }
                    cmdCreate.Append("Load / */").Append(trafficPath.path_Objs[i].ClassName).Append("/").Append(trafficPath.path_Objs[i].ObjName).Append("/Sensor ").Append(LJ_sensorFilePath);
                    cmdSensorRename.Append(trafficPath.path_Objs[i].ClassName).Append("/").Append(trafficPath.path_Objs[i].ObjName).Append("/Sensor/Sensor0 ").Append(trafficPath.sensor_name);
                    cmdCommon.Append(trafficPath.path_Objs[i].ClassName).Append("/").Append(trafficPath.path_Objs[i].ObjName).Append("/Sensor/").Append(trafficPath.sensor_name);
                    view.root.ExecuteCommand(cmdCreate.ToString());
                    view.root.ExecuteCommand(cmdSensorRename.ToString());
                    trafficPath.path_Objs[i].SensorName.Add(trafficPath.sensor_name.ToString());
                    cmdSensorGraphics.Clear();
                    cmdSensorGraphics.Append("Point */").Append(cmdCommon).Append(" Targeted Tracking ").Append(trafficPath.path_Objs[i + 1].ClassName)
                    .Append("/").Append(trafficPath.path_Objs[i + 1].ObjName).Append(" Hold ");
                    view.root.ExecuteCommand(cmdSensorGraphics.ToString());
                    cmdSensorGraphics.Clear();
                    cmdSensorGraphics.Append("VO */").Append(cmdCommon).Append(" Pulse Show On Amplitude 0.67 Smooth On");
                    view.root.ExecuteCommand(cmdSensorGraphics.ToString());
                    cmdSensorGraphics.Clear();
                    cmdSensorGraphics.Append("VO */").Append(cmdCommon).Append(" Pulse PulseLength 2000 Frequency 0.083 Style Box");
                    view.root.ExecuteCommand(cmdSensorGraphics.ToString());
                    cmdSensorGraphics.Clear();
                    cmdSensorGraphics.Append("Graphics */").Append(cmdCommon).Append(" SetColor ").Append(LJ_sensorcolor[trafficPath.colorIndex]);
                    view.root.ExecuteCommand(cmdSensorGraphics.ToString());
                    //cmdSensorGraphics.Clear();
                    //cmdSensorGraphics.Append("Graphics */").Append(cmdCommon_temp).Append(" LineWidth 10");//这只是设置投射到地面的边缘线的宽度
                    //this.root.ExecuteCommand(cmdSensorGraphics.ToString());
                    cmdSensorGraphics.Clear();
                    cmdSensorGraphics.Append("Graphics */").Append(cmdCommon).Append(" Show On");
                    view.root.ExecuteCommand(cmdSensorGraphics.ToString());
                }
            }
            if (trafficPath.path_Objs[trafficPath.path_Objs.Count - 1].ClassName.Equals("Facility"))
            {
                try
                {
                    hlFaci(trafficPath.path_Objs[trafficPath.path_Objs.Count - 1].ObjName, true);
                }
                catch { }
            }
        }