public SpcoRepresentation(DbElement scom, DbElement equipment, Text text)
        {
            Scom       = scom;
            _equipment = equipment;

            Sdte             = text.Sdte;
            MatxtTextElement = text.MatxtElement(equipment);
            Stype            = text.Stype(equipment);
            FirstSeleTans    = text.TypeTans(equipment);


            DBElementCollection ptcas = new DBElementCollection(Scom.Owner, new TypeFilter(DbElementTypeInstance.PTCAR));

            foreach (DbElement ptca in ptcas)
            {
                if (ptca.GetAsString(DbAttributeInstance.NUMB) == "1")
                {
                    var t = ptca.GetAsString(DbAttributeInstance.PBOR);
                    t      = t.Replace("(", string.Empty);
                    t      = t.Replace("'", string.Empty);
                    t      = t.Replace(")", string.Empty);
                    PBore1 = double.Parse(t);
                }
                else if (ptca.GetAsString(DbAttributeInstance.NUMB) == "2")
                {
                    var t = ptca.GetAsString(DbAttributeInstance.PBOR);
                    t      = t.Replace("(", string.Empty);
                    t      = t.Replace("'", string.Empty);
                    t      = t.Replace(")", string.Empty);
                    PBore2 = double.Parse(t);
                }
            }
        }
Beispiel #2
0
        private List <DbElement> CollectStructuralItems()
        {
            List <DbElement> dbElementList = new List <DbElement>();
            DbElement        element       = CurrentElement.get_Element();

            DbElementType[] dbElementTypeArray = new DbElementType[7]
            {
                (DbElementType)DbElementTypeInstance.SCTN,
                (DbElementType)DbElementTypeInstance.PANEL,
                (DbElementType)DbElementTypeInstance.GENSEC,
                (DbElementType)DbElementTypeInstance.FLOOR,
                (DbElementType)DbElementTypeInstance.GWALL,
                (DbElementType)DbElementTypeInstance.STWALL,
                (DbElementType)DbElementTypeInstance.WALL
            };
            DBElementCollection elementCollection = new DBElementCollection(element);

            elementCollection.set_IncludeRoot(true);
            elementCollection.set_Filter((BaseFilter) new TypeFilter(dbElementTypeArray));
            DBElementEnumerator enumerator = (DBElementEnumerator)elementCollection.GetEnumerator();

            while (enumerator.MoveNext())
            {
                dbElementList.Add((DbElement)enumerator.get_Current());
            }
            return(dbElementList);
        }
Beispiel #3
0
        public double ExecuteCmd()
        {
            try
            {
                
                //System.Diagnostics.Debugger.Launch();
                DateTime date=CurrentElement.Element.GetDateTime(DbAttributeInstance.LASTM);
                System.Windows.Forms.MessageBox.Show(date.ToShortTimeString());
                Command cmd = Command.CreateCommand("");
                cmd.CommandString = "$p parkmaker2";
                cmd.RunInPdms();
                //Collection문
                DBElementCollection collection = new DBElementCollection(CurrentElement.Element);
                collection.IncludeRoot = true;
                Kcs_ui.MessageNoConfirm("멍멍1");
                Kcs_ui.MessageNoConfirm(CurrentElement.Element.Owner.GetAsString(DbAttributeInstance.NAME));
                //collection.Filter = new TypeFilter(DbElementTypeInstance.DEPT);
                foreach (DbElement entry in collection)
                {
                    
                    Kcs_ui.MessageNoConfirm(entry.GetAsString(DbAttributeInstance.NAME));


                }

                //PML Command실행.
                
            }
            catch (Exception ee)
            {
                Console.WriteLine("오류발생");
            }
            return 10.0;
        }
Beispiel #4
0
 public static DbElement First(this DBElementCollection collection)
 {
     foreach (DbElement item in collection)
     {
         return(item);
     }
     return(default(DbElement));
 }
Beispiel #5
0
        public DbElement MatxtElement(DbElement equipment)
        {
            var possbileMatxts = new DBElementCollection(equipment.Owner,
                                                         new AndFilter(new TypeFilter(DbElementTypeInstance.TEXT),
                                                                       new AttributeStringFilter(DbAttributeInstance.PURP, FilterOperator.Equals, "MTXT")));

            return(possbileMatxts.First());
        }
Beispiel #6
0
        public IEnumerable <DbElement> GetEquipmentsInZone(DbElement zone)
        {
            TypeFilter          equipment = new TypeFilter(DbElementTypeInstance.EQUIPMENT);
            DBElementCollection elements  = new DBElementCollection(zone, equipment);

            foreach (DbElement element in elements)
            {
                yield return(element);
            }
        }
Beispiel #7
0
        public static int Count(this DBElementCollection collection)
        {
            int i = 0;

            foreach (var item in collection)
            {
                i++;
            }
            return(i);
        }
Beispiel #8
0
 private void button1_Click(object sender, EventArgs e)
 {
     if (_toogleValue)
     {
         var elements = DesignProxy.GetHashtable("MEMBERS");
         //
         foreach (DictionaryEntry i in elements)
         {
             //string tt = "$p" + i.Key.ToString() + i.Value.ToString();
             string tt = "$p" + i.Value.ToString();
             Aveva.Pdms.Utilities.CommandLine.Command.CreateCommand(tt).RunInPdms();
         }
     }
     textBox1.Text = CurrentElement.Element.ToString();
     //заполнить лист
     listBox1.Items.Clear();
     //если се бран
     if (CurrentElement.Element.GetElementType().Equals(DbElementTypeInstance.BRANCH))
     {
         //AttributeRefFilter ownerfilter = new AttributeRefFilter(DbAttributeInstance.OWNER, DbElement.GetElement("/" + branmembers.ToString()));
         AttributeRefFilter ownerfilter = new AttributeRefFilter(DbAttributeInstance.OWNER, DbElement.GetElement(CurrentElement.Element.RefNo()));
         var collection = new DBElementCollection(CurrentElement.Element, ownerfilter);
         foreach (DbElement element in collection)
         {
             //if (element.GetElementType().Equals(DbElementTypeInstance.TUBING))
             //{
             //    listBox1.Items.Add(element);
             //}
             listBox1.Items.Add(element);
         }
     }
     else
     {
         //филтр по имени владельца
         TypeFilter BranFilt = new TypeFilter(DbElementTypeInstance.BRANCH);
         var        BraColl  = new DBElementCollection(CurrentElement.Element, BranFilt);
         foreach (DbElement branmembers in BraColl)
         {
             listBox1.Items.Add("BRAN: " + branmembers);
             //AttributeRefFilter ownerfilter = new AttributeRefFilter(DbAttributeInstance.OWNER, DbElement.GetElement("/" + branmembers.ToString()));
             AttributeRefFilter ownerfilter = new AttributeRefFilter(DbAttributeInstance.OWNER, DbElement.GetElement(branmembers.RefNo()));
             var collection = new DBElementCollection(branmembers, ownerfilter);
             foreach (DbElement element in collection)
             {
                 //if (element.GetElementType().Equals(DbElementTypeInstance.TUBING))
                 //{
                 //    listBox1.Items.Add(element);
                 //}
                 listBox1.Items.Add(element);
             }
         }
     }
     //////////////////
 }
Beispiel #9
0
        public void run()
        {
            DbElement Outfit_Elements = MDB.CurrentMDB.GetFirstWorld(Aveva.Pdms.Database.DbType.Design);

            DbElementType[]       dbtype      = new DbElementType[] { DbElementTypeInstance.PIPE };
            TypeFilter            filter      = new TypeFilter(dbtype);
            AndFilter             finalfilter = new AndFilter();
            AttributeStringFilter filter2     = new AttributeStringFilter(DbAttribute.GetDbAttribute("Name"), FilterOperator.Equals, "/babo");

            finalfilter.Add(filter);
            finalfilter.Add(filter2);


            DBElementCollection spwl_collects = new DBElementCollection(Outfit_Elements, finalfilter);

            Console.WriteLine("스펙월드갯수:" + spwl_collects.Cast <DbElement>().Count());

            int speccnt = 0;
            List <DbElement> working_dbelement = new List <DbElement>();


            foreach (DbElement element in spwl_collects)
            {
                //element.Delete();
                DbCopyOption dd = new DbCopyOption();

                //dd.ToName="/bbboa";
                //DbElement de= element.CreateCopyHierarchyAfter(CurrentElement.Element, dd);
                //de.InsertBefore(CurrentElement.Element);
                DbElement xx = DbElement.GetElement("/xx1");

                CurrentElement.Element.InsertAfterLast(xx);
                //de.InsertAfterLast(element.Owner);
                ////Console.WriteLine("스펙월드]" + spwl.GetAsString(DbAttributeInstance.NAME));
                //foreach (DbElement spec in spwl.Members())
                //{


                //    //spec.CreateLast(DbElementType.GetElementType("Sele"));


                //    string specname = spec.GetAsString(DbAttributeInstance.NAME);
                //    if (specname.Substring(1, 2) == "/*")
                //        continue;

                //    working_dbelement.Add(spec);
                //    speccnt++;
                //    //Console.WriteLine("   -->스펙]"+spec.GetAsString(DbAttributeInstance.NAME));
                //}
            }
            //MDB.CurrentMDB.GetWork();
        }
        private DBElementCollection Get_Element_Collection(DbElement Outfit_Elements, DbElementType [] dbtypes, string search_txt, string modulename)
        {
            DBElementCollection result_collection = null;

            try
            {
                TypeFilter filter      = new TypeFilter(dbtypes);
                AndFilter  finalfilter = new AndFilter();

                AttributeStringFilter filter2 = null;
                AttributeRefFilter    filter3 = null;

                if (search_txt.StartsWith("*") && search_txt.EndsWith("*"))
                {
                    filter2 = new AttributeStringFilter(DbAttribute.GetDbAttribute("NamN"), FilterOperator.EndsWith, search_txt.Replace("*", ""));
                }
                else if (search_txt.EndsWith("*") && !search_txt.StartsWith("*"))
                {
                    filter2 = new AttributeStringFilter(DbAttribute.GetDbAttribute("NamN"), FilterOperator.StartsWith, search_txt.Replace("*", ""));
                }
                else if (search_txt.StartsWith("*") && search_txt.EndsWith("*"))
                {
                    filter2 = new AttributeStringFilter(DbAttribute.GetDbAttribute("NamN"), FilterOperator.Contains, search_txt.Replace("*", ""));
                }
                else
                {
                    filter2 = new AttributeStringFilter(DbAttribute.GetDbAttribute("NamN"), FilterOperator.Equals, search_txt.Replace("*", ""));
                }
                if (modulename.Trim() != "")
                {
                    filter3 = new AttributeRefFilter(DbAttributeInstance.OWNER, FilterOperator.Equals, DbElement.GetElement("/" + modulename));
                    finalfilter.Add(filter3);
                }

                finalfilter.Add(filter);
                finalfilter.Add(filter2);


                result_collection = new DBElementCollection(Outfit_Elements, finalfilter);
            }

            catch (Exception ee)
            {
                Console.WriteLine("오류");
            }

            return(result_collection);
        }
Beispiel #11
0
        public IEnumerable <DbElement> BuildableElementsInEquipment(DbElement equipment)
        {
            TypeFilter box      = new TypeFilter(DbElementTypeInstance.BOX);
            TypeFilter cone     = new TypeFilter(DbElementTypeInstance.CONE);
            TypeFilter cylinder = new TypeFilter(DbElementTypeInstance.CYLINDER);
            TypeFilter dish     = new TypeFilter(DbElementTypeInstance.DISH);
            TypeFilter extr     = new TypeFilter(DbElementTypeInstance.EXTRUSION);

            OrFilter            orFilter = new OrFilter(new BaseFilter[] { box, cone, cylinder, dish, extr });
            DBElementCollection elements = new DBElementCollection(equipment, orFilter);

            foreach (DbElement element in elements)
            {
                yield return(element);
            }
        }
Beispiel #12
0
        public DBElementCollection ElementCollectionOfZones()
        {
            TypeFilter            zoneFilter  = new TypeFilter(DbElementTypeInstance.ZONE);
            AttributeStringFilter valueFilter = new AttributeStringFilter(DbAttributeInstance.FUNC, FilterOperator.Equals, "modelcatalogue");

            AndFilter af = new AndFilter(zoneFilter, valueFilter);

            DBElementCollection zones = new DBElementCollection(DbType.Design, af);

            foreach (DbElement item in zones)
            {
                Console.WriteLine(item.GetAsString(DbAttributeInstance.FUNC));
            }
            Console.WriteLine(zones.Count());
            return(zones);
        }
Beispiel #13
0
        public void AddSpco(SpcoRepresentation spcoRepre)
        {
            // TODO: implement better SPCO naming strategy
            Console.WriteLine("SpecManager.AddSpco");

            if (spcoRepre.Stype == string.Empty || spcoRepre.PBore1 == 0)
            {
                Console.WriteLine($"## Invalid input for:{spcoRepre.Sdte.GetString(DbAttributeInstance.DTXR)}");
                Console.WriteLine($"Stype cannot be empty and is: {spcoRepre.Stype}");
                Console.WriteLine($"Bore cannot be 0 and is : {spcoRepre.PBore1}");
                return;
            }
            var spcoName = Spec.Name() + spcoRepre.Name;

            if (spcoName.Length > 50)
            {
                spcoName = Spec.Name() + spcoRepre.Name.Substring(Spec.Name().Length);
            }
            DBElementCollection spcos = new DBElementCollection(Spec, new AttributeRefFilter(DbAttributeInstance.CATR, spcoRepre.Scom));
            DbElement           spco;

            if (spcos.Count() > 0)
            {
                spco = spcos.First();
            }
            else
            {
                spco = BoreSele(spcoRepre.PBore1).CreateLast(DbElementTypeInstance.SPCOMPONENT);
            }

            // TODO: do something much better. with the spco name. maybe stype + size + dtxr???
            try {
                spco.SetAttribute(DbAttributeInstance.NAME, spcoName);
            } catch {
                for (int i = 0; i < 100; i++)
                {
                    try {
                        spco.SetAttribute(DbAttributeInstance.NAME, spcoName + i.ToString());
                    } catch { }
                }
            }
            spco.SetAttribute(DbAttributeInstance.TANS, spcoRepre.Stype);
            spco.SetAttribute(DbAttributeInstance.CATR, spcoRepre.Scom);

            PMLCommander.RunPMLCommand(spco, "DETR", spcoRepre.Sdte.FullName(), out string error);
            PMLCommander.RunPMLCommand(spco, "MATXT", spcoRepre.Smte.FullName(), out error);
        }
Beispiel #14
0
        public string TypeTans(DbElement equipment)
        {
            var possbileTypes = new DBElementCollection(equipment.Owner,
                                                        new AndFilter(new TypeFilter(DbElementTypeInstance.TEXT),
                                                                      new AttributeStringFilter(DbAttributeInstance.PURP, FilterOperator.Equals, "TYPE")));

            var text = possbileTypes.First();

            if (text.IsValid)
            {
                return(text.GetAsString(DbAttributeInstance.STEX));
            }
            else
            {
                return("VALV");
            }
        }
Beispiel #15
0
        private List <DbElement> CollectPrimitiveItems()
        {
            List <DbElement> dbElementList = new List <DbElement>();

            try
            {
                DbElement       element            = CurrentElement.get_Element();
                DbElementType[] dbElementTypeArray = new DbElementType[17]
                {
                    (DbElementType)DbElementTypeInstance.BOX,
                    (DbElementType)DbElementTypeInstance.CYLINDER,
                    (DbElementType)DbElementTypeInstance.SLCYLINDER,
                    (DbElementType)DbElementTypeInstance.RTORUS,
                    (DbElementType)DbElementTypeInstance.CTORUS,
                    (DbElementType)DbElementTypeInstance.POHEDRON,
                    (DbElementType)DbElementTypeInstance.SNOUT,
                    (DbElementType)DbElementTypeInstance.PYRAMID,
                    (DbElementType)DbElementTypeInstance.POLYHEDRON,
                    (DbElementType)DbElementTypeInstance.DISH,
                    (DbElementType)DbElementTypeInstance.CONE,
                    (DbElementType)DbElementTypeInstance.PCLAMP,
                    (DbElementType)DbElementTypeInstance.HELEMENT,
                    (DbElementType)DbElementTypeInstance.EXTRUSION,
                    (DbElementType)DbElementTypeInstance.NOZZLE,
                    (DbElementType)DbElementTypeInstance.SCLAMP,
                    (DbElementType)DbElementTypeInstance.REVOLUTION
                };
                DBElementCollection elementCollection = new DBElementCollection(element);
                elementCollection.set_IncludeRoot(true);
                elementCollection.set_Filter((BaseFilter) new TypeFilter(dbElementTypeArray));
                DBElementEnumerator enumerator = (DBElementEnumerator)elementCollection.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    DbElement current = (DbElement)enumerator.get_Current();
                    if (Tools.CheckLevel(current, 6))
                    {
                        dbElementList.Add(current);
                    }
                }
            }
            catch (Exception ex)
            {
                HierarchyItem.Log.Error((object)("Error collecting primitives :" + ex.Message));
            }
            return(dbElementList);
        }
Beispiel #16
0
        private void initialiseGrid()
        {
            //Add a default set if there are no user defined columns
            Hashtable atts = new Hashtable();

            atts[1.0] = "Name";
            atts[2.0] = "Type";
            atts[3.0] = "Owner";

            //Add a default set if there are no user defined columns
            Hashtable titles = new Hashtable();

            titles[1.0] = "Name of Item";
            titles[2.0] = "Type of Item";
            titles[3.0] = "Owner of Item";

            //Get Design World
            DbElement worldElement = MDB.CurrentMDB.GetFirstWorld(Aveva.Pdms.Database.DbType.Design);

            //Find all Equipment elements
            TypeFilter          filter = new TypeFilter(DbElementTypeInstance.EQUIPMENT);
            DBElementCollection coll   = new DBElementCollection(worldElement, filter);

            //Collect the items
            Hashtable items = new Hashtable();
            int       i     = 1;

            foreach (DbElement ele in coll)
            {
                items.Add((double)i, ele);
                i++;
            }

            //Set Grid Name
            string tableName = "Example Grid";

            //Create a data source and bind it to the Grid Control
            NetDataSource dataSource;

            dataSource = new NetDataSource(tableName, atts, titles, items);
            this.netGridControl1.BindToDataSource(dataSource);

            //Display the default PDMS graphical icons in the grid with the equipment item names
            this.netGridControl1.setNameColumnImage();
        }
Beispiel #17
0
        public IEnumerable <DbElement> GetAllCylinders()
        {
            DBElementCollection zones      = ElementCollectionOfZones();
            TypeFilter          equiFilter = new TypeFilter(DbElementTypeInstance.EQUIPMENT);

            foreach (DbElement zone in zones)
            {
                DBElementCollection equipments = new DBElementCollection(zone, equiFilter);
                foreach (DbElement equi in equipments)
                {
                    DBElementCollection cylinders = new DBElementCollection(equi, new TypeFilter(DbElementTypeInstance.CYLINDER));
                    foreach (DbElement cyli in cylinders)
                    {
                        yield return(cyli);
                    }
                }
            }
        }
Beispiel #18
0
        private List <DbElement> GetElements(DbElement root, AndFilter filter)
        {
            List <DbElement> dbElementList = new List <DbElement>();
            IEnumerator      enumerator    = new DBElementCollection(root, (BaseFilter)filter).GetEnumerator();

            try
            {
                while (enumerator.MoveNext())
                {
                    DbElement current = (DbElement)enumerator.Current;
                    dbElementList.Add(current);
                }
            }
            finally
            {
                (enumerator as IDisposable)?.Dispose();
            }
            return(dbElementList);
        }
        private void btnModelInsert_Click(object sender, EventArgs e)
        {
            //Drawlist 정의하고 추가하는 부분
            var drawListManager = DrawListManager.Instance;

            var currentCursor = Cursor.Current;

            Cursor.Current = Cursors.WaitCursor;

            drawListManager.BeginUpdate();
            var currentDrawList = drawListManager.CurrentDrawList;

            DbElement Outfit_Elements = MDB.CurrentMDB.GetFirstWorld(Aveva.Pdms.Database.DbType.Design);

            DbElementType[] dbtypes = new DbElementType[] { DbElementTypeInstance.PIPE };
            if (checkPipe.Checked)
            {
                dbtypes = new DbElementType[] { DbElementTypeInstance.PIPE };
                DBElementCollection pipe_collection = Get_Element_Collection(Outfit_Elements, dbtypes, txt_pipe_name.Text, txt_pipe_module.Text);
                currentDrawList.Add(pipe_collection.Cast <DbElement>().ToArray());
            }
            if (checkStru.Checked)
            {
                dbtypes = new DbElementType[] { DbElementTypeInstance.STRUCTURE };
                DBElementCollection stru_collection = Get_Element_Collection(Outfit_Elements, dbtypes, txt_stru_name.Text, txt_stru_module.Text);
                currentDrawList.Add(stru_collection.Cast <DbElement>().ToArray());
            }
            if (checkEquip.Checked)
            {
                dbtypes = new DbElementType[] { DbElementTypeInstance.EQUIPMENT };
                DBElementCollection equip_collection = Get_Element_Collection(Outfit_Elements, dbtypes, txt_equip_name.Text, txt_equip_module.Text);
                currentDrawList.Add(equip_collection.Cast <DbElement>().ToArray());
            }



            drawListManager.EndUpdate();
            currentDrawList.VisibleAll();



            Cursor.Current = currentCursor;
        }
Beispiel #20
0
        internal DbElement Update(DbElement scom, DbElement equipment)
        {
            var cate = scom.Owner;

            foreach (var member in cate.Members())
            {
                if (member.ElementType == DbElementTypeInstance.PTSET ||
                    member.ElementType == DbElementTypeInstance.GMSET ||
                    member.ElementType == DbElementTypeInstance.DTSET)
                {
                    member.Delete();
                }
            }


            DbElement ptse = cate.Create(1, DbElementTypeInstance.PTSET);
            DbElement gmse = cate.Create(1, DbElementTypeInstance.GMSET);
            DbElement dtse = cate.Create(1, DbElementTypeInstance.DTSET);

            scom.SetAttribute(DbAttributeInstance.PTRE, ptse);
            scom.SetAttribute(DbAttributeInstance.GMRE, gmse);
            scom.SetAttribute(DbAttributeInstance.DTRE, dtse);

            scom.SetAttribute(DbAttributeInstance.DESC, equipment.Name());

            var possbileTypes = new DBElementCollection(equipment,
                                                        new AndFilter(new TypeFilter(DbElementTypeInstance.TEXT),
                                                                      new AttributeStringFilter(DbAttributeInstance.PURP, FilterOperator.Equals, "TYPE")));

            var text = possbileTypes.First();

            if (text != null && text.IsValid)
            {
                scom.SetAttribute(DbAttributeInstance.GTYP, text.GetAsString(DbAttributeInstance.STEX));
            }
            else
            {
                scom.SetAttribute(DbAttributeInstance.GTYP, "VALV");
            }

            Element = cate;
            return(scom);
        }
Beispiel #21
0
        public Hashtable GetVolumeWithinElement(string elementname, Hashtable dbtypeArray, Boolean completelycover)
        {
            
            //DbElementType[] dbtypes = new DbElementType[] { DbElementTypeInstance.PSPOOL };
            string samplerow = ((string)dbtypeArray[1.0]);

            List<DbElementType> dbtypeslist = new List<DbElementType>();
            foreach (var item in dbtypeArray.Keys)
	        {
		        dbtypeslist.Add(DbElementType.GetElementType(dbtypeArray[item].ToString()));
	        }
            DbElementType[] dbtypes = dbtypeslist.ToArray();
            
                
            

            
            DbElement Outfit_Elements = MDB.CurrentMDB.GetFirstWorld(Aveva.Pdms.Database.DbType.Design);                        
            DBElementCollection result_collection = null;
            TypeFilter filter = new TypeFilter(dbtypes);
            AndFilter finalfilter = new AndFilter();

            InVolumeFilter volfilter = new InVolumeFilter(CurrentElement.Element,dbtypes, true);
            
            
            finalfilter.Add(filter);
            finalfilter.Add(volfilter);
            result_collection = new DBElementCollection(Outfit_Elements, finalfilter);
            
            Hashtable resultHs = new Hashtable();

            double idx = 1.0;
            foreach (DbElement item in result_collection)
            {
                resultHs.Add(idx, item.GetAsString(DbAttributeInstance.NAME));
                idx = idx + 1.0;
            }
          
          
            return resultHs;
        }
        //Create and iterate through collections
        public static void Run()
        {
            //Scan Nozzles below equi
            TypeFilter filt = new TypeFilter(DbElementTypeInstance.NOZZLE);
            DBElementCollection collection = new DBElementCollection(Example.Instance.mEqui, filt);
            DbAttribute att = DbAttributeInstance.FLNN;
            foreach (DbElement ele in collection)
            {
                Console.WriteLine(ele.GetAsString(att));
            }

            //Scan branches below site
            DBElementCollection coll = new DBElementCollection(Example.Instance.mSite);
            coll.IncludeRoot = true;
            coll.Filter = new TypeFilter(DbElementTypeInstance.BRANCH);
            DBElementEnumerator iter = (DBElementEnumerator)coll.GetEnumerator();
            while (iter.MoveNext())
            {
                Console.WriteLine(iter.Current.ToString());
            }
        }
        public void DefineMatxt(DbElement cata)
        {
            DbElement sect = cata.Members().SingleOrDefault(s => s.GetString(DbAttributeInstance.DESC) == "MaterialContainer");

            if (sect == null || sect.IsValid == false)
            {
                sect = cata.CreateLast(DbElementTypeInstance.SECTION);
                sect.SetAttributeValue(DbAttributeInstance.DESC, "MaterialContainer");
            }
            var smtes = new DBElementCollection(sect,
                                                new AndFilter(new TypeFilter(DbElementTypeInstance.SMTEXT),
                                                              new AttributeStringFilter(DbAttributeInstance.MTXX, FilterOperator.Equals, Matxt)));
            var smte = smtes.First();

            if (smte == null || !smte.IsValid)
            {
                smte = sect.CreateFirst(DbElementTypeInstance.SMTEXT);
                smte.SetAttribute(DbAttributeInstance.XTEX, Matxt);
            }
            Smte = smte;
        }
Beispiel #24
0
        private List <DbElement> CollectPjoiItems()
        {
            List <DbElement> dbElementList = new List <DbElement>();
            DbElement        element       = CurrentElement.get_Element();

            DbElementType[] dbElementTypeArray = new DbElementType[1]
            {
                (DbElementType)DbElementTypeInstance.PJOINT
            };
            DBElementCollection elementCollection = new DBElementCollection(element);

            elementCollection.set_IncludeRoot(true);
            elementCollection.set_Filter((BaseFilter) new TypeFilter(dbElementTypeArray));
            DBElementEnumerator enumerator = (DBElementEnumerator)elementCollection.GetEnumerator();

            while (enumerator.MoveNext())
            {
                dbElementList.Add((DbElement)enumerator.get_Current());
            }
            return(dbElementList);
        }
Beispiel #25
0
        public IEnumerable <Buildable> GetBuildables(DbElement owner)
        {
            TypeFilter box      = new TypeFilter(DbElementTypeInstance.BOX);
            TypeFilter cone     = new TypeFilter(DbElementTypeInstance.CONE);
            TypeFilter cylinder = new TypeFilter(DbElementTypeInstance.CYLINDER);
            TypeFilter dish     = new TypeFilter(DbElementTypeInstance.DISH);
            TypeFilter extr     = new TypeFilter(DbElementTypeInstance.EXTRUSION);
            TypeFilter nozz     = new TypeFilter(DbElementTypeInstance.NOZZLE);
            TypeFilter ctorus   = new TypeFilter(DbElementTypeInstance.CTORUS);
            TypeFilter pyramid  = new TypeFilter(DbElementTypeInstance.PYRAMID);

            OrFilter orFilter = new OrFilter(new BaseFilter[] { box, cone, cylinder,
                                                                dish, extr, nozz, ctorus, pyramid });

            DBElementCollection elements = new DBElementCollection(owner, orFilter);

            foreach (DbElement element in elements)
            {
                yield return(Converter.ElementToBuildable(element));
            }
        }
Beispiel #26
0
        private void btn_CE_Click(object sender, EventArgs e)
        {
            DbElement           CE     = CurrentElement.Element;
            TypeFilter          filter = new TypeFilter(DbElementTypeInstance.ATTACHMENT);
            DBElementCollection coll   = new DBElementCollection(CE, filter);
            List <NameRef>      listNR = new List <NameRef>();

            foreach (DbElement de in coll)
            {
                NameRef nr = new NameRef(de.ToString(), de.RefNo());
                //nr.Name = de.ToString();
                //int[] rn = de.RefNo();
                //foreach (int r in rn)
                //{
                //    nr.Ref+=r.ToString()+"/";
                //}
                //nr.Ref.TrimEnd('/');
                listNR.Add(nr);
            }
            ComBox_ATTA.DataSource    = listNR;
            ComBox_ATTA.DisplayMember = "Name";
            //ComBox_ATTA.ValueMember = "Ref";
            BindHS();
        }
Beispiel #27
0
        //Create and iterate through collections
        public static void Run()
        {
            //Scan Nozzles below equi
            TypeFilter          filt       = new TypeFilter(DbElementTypeInstance.NOZZLE);
            DBElementCollection collection = new DBElementCollection(Example.Instance.mEqui, filt);
            DbAttribute         att        = DbAttributeInstance.FLNN;

            foreach (DbElement ele in collection)
            {
                Console.WriteLine(ele.GetAsString(att));
            }

            //Scan branches below site
            DBElementCollection coll = new DBElementCollection(Example.Instance.mSite);

            coll.IncludeRoot = true;
            coll.Filter      = new TypeFilter(DbElementTypeInstance.BRANCH);
            DBElementEnumerator iter = (DBElementEnumerator)coll.GetEnumerator();

            while (iter.MoveNext())
            {
                Console.WriteLine(iter.Current.ToString());
            }
        }
        private void initialiseGrid()
        {
            //Add a default set if there are no user defined columns
            Hashtable atts = new Hashtable();
            atts[1.0] = "Name";
            atts[2.0] = "Type";
            atts[3.0] = "Owner";

            //Add a default set if there are no user defined columns
            Hashtable titles = new Hashtable();
            titles[1.0] = "Name of Item";
            titles[2.0] = "Type of Item";
            titles[3.0] = "Owner of Item";

            //Get Design World
            DbElement worldElement = MDB.CurrentMDB.GetFirstWorld(Aveva.Pdms.Database.DbType.Design);

            //Find all Equipment elements
            TypeFilter filter = new TypeFilter(DbElementTypeInstance.EQUIPMENT);
            DBElementCollection coll = new DBElementCollection(worldElement, filter);

            //Collect the items
            Hashtable items = new Hashtable();
            int i = 1;
            foreach (DbElement ele in coll)
            {
                items.Add((double)i, ele);
                i++;
            }

            //Set Grid Name
            string tableName = "Example Grid";

            //Create a data source and bind it to the Grid Control
            NetDataSource dataSource;
            dataSource = new NetDataSource(tableName, atts, titles, items);
            this.netGridControl1.BindToDataSource(dataSource);

            //Display the default PDMS graphical icons in the grid with the equipment item names
            this.netGridControl1.setNameColumnImage();
        }
Beispiel #29
0
        private void CreateSpecification(string connstr, string query, string dept)
        {
            OdbcConnection  conn = new OdbcConnection(connstr);
            OdbcCommand     cmd  = new OdbcCommand(query, conn);
            DataTable       dt   = new DataTable();
            OdbcDataAdapter da   = new OdbcDataAdapter(cmd);

            da.Fill(dt);

            string comp_ref_query = "select * from STD_PDST_COMP_REF_AM";

            cmd.CommandText = comp_ref_query;
            DataTable comp_ref_dt = new DataTable();

            da.SelectCommand = cmd;
            da.Fill(comp_ref_dt);



            DbElement Outfit_Elements = MDB.CurrentMDB.GetFirstWorld(Aveva.Pdms.Database.DbType.Catalogue);

            DbElementType[] dbtype      = new DbElementType[] { DbElementTypeInstance.SPWLD };
            TypeFilter      filter      = new TypeFilter(dbtype);
            AndFilter       finalfilter = new AndFilter();

            AttributeStringFilter filter2 = new AttributeStringFilter(DbAttribute.GetDbAttribute("Description"), FilterOperator.Equals, "HMD_PIPE_SPEC");


            finalfilter.Add(filter);
            finalfilter.Add(filter2);



            DBElementCollection spwl_collects = new DBElementCollection(Outfit_Elements, finalfilter);


            Console.WriteLine("스펙갯수:" + spwl_collects.Cast <DbElement>().Count());

            //dt.Rows.OfType<DataRow>().Where(x => x[1].ToString() == "WB").Count();
            //dt.Rows.OfType<DataRow>().GroupBy(x=>x[11].ToString())
            //var xx =spwl_collects.Cast<DbElement>().Where(x => x.GetAsString(DbAttributeInstance.NAME).Substring(0, 2) == "AA");
            int speccnt = 0;
            List <DbElement> working_dbelement = new List <DbElement>();


            var system_analysis = dt.Rows.OfType <DataRow>().GroupBy(x => x["LINE_NO"], x => x["NOM_DIA"], (lineno, nomdia) => new { lineno, nomdia }).OrderBy(x => x.lineno.ToString());
            int cnt             = 0;

            foreach (var lineno in system_analysis)
            {
                cnt++;
                //if (cnt == 3)
                //    break;
                //스펙생성부분
                //DbElement spec_element = DbElement.GetElement("/PROJ_SPWL").CreateAfter(DbElementTypeInstance.SPECIFICATION);
                string    specname     = dept + "." + lineno.lineno.ToString().Replace(' ', '.');
                DbElement spec_element = null;

                if (DbElement.GetElement("/" + specname).IsNull)
                {
                    spec_element = DbElement.GetElement("/PROJ_SPWL").CreateLast(DbElementTypeInstance.SPECIFICATION);
                    spec_element.SetAttribute(DbAttributeInstance.NAME, "/" + specname);
                    spec_element.SetAttribute(DbAttributeInstance.QUES, "TYPE");
                    spec_element.SetAttribute(DbAttributeInstance.PURP, "PIPE");
                    spec_element.SetAttribute(DbAttributeInstance.DESC, "PROJ.SPEC");
                }

                try
                {
                    //SPEC TEXT 추가
                    DbElement spectext_element = spec_element.CreateLast(DbElementTypeInstance.TEXT);
                    spectext_element.SetAttribute(DbAttributeInstance.NAME, "/" + specname + "." + "PIPINGTEXT");
                    spectext_element.SetAttribute(DbAttributeInstance.STEX, "PIPING");
                    spectext_element.SetAttribute(DbAttributeInstance.RTEX, "PIPING");
                }
                catch (Exception ee) { }

                try
                {
                    foreach (var nomdia in lineno.nomdia)
                    {
                        //Aveva.Pdms.Utilities.Messaging.PdmsException.


                        Aveva.Pdms.Utilities.CommandLine.Command.CreateCommand(string.Format("$p |size: {0} |", nomdia.ToString())).RunInPdms();
                        DataRow[] targetrow = dt.Rows.OfType <DataRow>().Where(row => row["LINE_NO"].ToString() == lineno.lineno.ToString() && row["NOM_DIA"].ToString() == nomdia.ToString()).ToArray();

                        string press = targetrow[0]["PRESS"].ToString();
                        string temp  = targetrow[0]["TEMP"].ToString();

                        string matlspec = targetrow[0]["MATL_SPEC"].ToString();
                        string connspec = targetrow[0]["PIPE_C_TYPE"].ToString() + "/" + targetrow[0]["PIPE_C_STD"].ToString() + "/" + targetrow[0]["PIPE_C_MATL"].ToString();
                        connspec = connspec.Replace("\n", "");
                        string valvespec = targetrow[0]["VALVE_C_TYPE"].ToString();

                        DataRow[] matl_datarow  = comp_ref_dt.Rows.Cast <DataRow>().Where(row => row[0].ToString() == matlspec).ToArray();
                        DataRow[] conn_datarow  = comp_ref_dt.Rows.Cast <DataRow>().Where(row => row[0].ToString() == connspec).ToArray();
                        DataRow[] valve_datarow = comp_ref_dt.Rows.Cast <DataRow>().Where(row => row[0].ToString() == valvespec).ToArray();


                        List <int> diameters = get_dias(nomdia.ToString());

                        //Material Spec생성
                        if (matl_datarow.Count() == 0)
                        {
                            //Aveva.Pdms.Utilities.CommandLine.Command.OutputAndClearError();
                            Aveva.Pdms.Utilities.CommandLine.Command.CreateCommand(string.Format("$p |{0} material ref 없음|", matlspec)).RunInPdms();
                        }
                        else
                        {
                            //Aveva.Pdms.Utilities.CommandLine.Command.OutputAndClearError();
                            DbElement material_spec = DbElement.GetElement(matl_datarow[0][1].ToString());
                            string[]  allowtype     = new string[] { "ELBO" };//
                            foreach (DbElement element in material_spec.Members())
                            {
                                if (element.GetElementType().ToString() != "TEXT")
                                {
                                    //if (!allowtype.Contains(element.GetAsString(DbAttributeInstance.TANS)))
                                    //    continue;
                                    //Aveva.Pdms.Utilities.CommandLine.Command.OutputAndClearError();
                                    reculsive_copy_spec(spec_element, element, specname, diameters);
                                }
                            }
                        }
                        //Conn spec 생성
                        if (conn_datarow.Count() == 0)
                        {
                            Aveva.Pdms.Utilities.CommandLine.Command.CreateCommand(string.Format("$p |{0} conn ref 없음|", connspec)).RunInPdms();
                        }
                        else
                        {
                            //Gasket 생성
                            DbElement gask_spec = null;
                            if (connspec.Contains("5K"))
                            {
                                gask_spec = DbElement.GetElement("/POGASASF05/HMDP_SPEC");
                            }
                            else if (connspec.Contains("10K"))
                            {
                                gask_spec = DbElement.GetElement("/POGASASF10/HMDP_SPEC");
                            }
                            else if (connspec.Contains("16K"))
                            {
                                gask_spec = DbElement.GetElement("/POGASASF16/HMDP_SPEC");
                            }
                            else if (connspec.Contains("20K"))
                            {
                                gask_spec = DbElement.GetElement("/POGASASF20/HMDP_SPEC");
                            }
                            else if (connspec.Contains("30K"))
                            {
                                gask_spec = DbElement.GetElement("/POGASASF30/HMDP_SPEC");
                            }
                            foreach (DbElement element in gask_spec.Members())
                            {
                                reculsive_copy_spec(spec_element, element, specname, diameters);
                            }
                            //Flange Spec
                            DbElement conn_spec = DbElement.GetElement(conn_datarow[0][1].ToString());
                            foreach (DbElement element in conn_spec.Members())
                            {
                                reculsive_copy_spec(spec_element, element, specname, diameters);
                            }
                        }
                        //Valve Spec생성
                        if (valve_datarow.Count() == 0)
                        {
                            Aveva.Pdms.Utilities.CommandLine.Command.CreateCommand(string.Format("$p |{0} valve ref 없음|", valvespec).Replace("\n", "")).RunInPdms();
                        }
                        else
                        {
                            DbElement valve_spec = DbElement.GetElement(valve_datarow[0][1].ToString());
                            foreach (DbElement element in valve_spec.Members())
                            {
                                reculsive_copy_spec(spec_element, element, specname, diameters);
                            }
                        }

                        //DbElement conn_spec = DbElement.GetElement("/PFSF30/HMDP_SPEC");
                        //DbElement valve_spec = DbElement.GetElement("/PVVVV10/HMDP_SPEC");


                        //Select 생성
                    }
                }
                catch (Exception ee)
                {
                    Aveva.Pdms.Utilities.CommandLine.Command.CreateCommand(string.Format("$p |{0} 오륭", "11")).RunInPdms();
                    Console.WriteLine("오류:" + ee.Message);
                }
                //break;
            }
            Aveva.Pdms.Utilities.CommandLine.Command.CreateCommand(string.Format("$p |뻥뻥2|")).RunInPdms();
            //MDB.CurrentMDB.SaveWork("스펙생성");

            //CurrentElement.Element.Copy(DbElement.GetElement("/ACCOM.(DF)"));
            //DbElement de = CurrentElement.Element.Clone();

            //지정된 Element 뒤에 object생성하는 부분
            //DbElement xx= CurrentElement.Element.CreateAfter(DbElementTypeInstance.SPECIFICATION);
            //xx.SetAttribute(DbAttributeInstance.NAME, "/바보야4");



            //새로운 Element를 만들고 다른object의 하위구조를 모두 복사하는 부분.

            //DbElement xx = CurrentElement.Element.CreateAfter(DbElementTypeInstance.SPECIFICATION);
            //DbCopyOption op=new DbCopyOption();
            //op.ToName="vvd";

            ////DbElement yy= DbElement.GetElement("/ALDJSAFKL");
            //xx.CopyHierarchy(DbElement.GetElement("/ALDJSAFKL"),op);

            //DbCopyOption op = new DbCopyOption();


            // ALDJSAFKL을 복사하는데 /xxx 다음에 만들어서 복사한다.
            //DbElement yy= DbElement.GetElement("/ALDJSAFKL").CreateCopyHierarchyAfter(DbElement.GetElement("/xxx"), op);
            //테스트가 필요하네요

            //삭제
            //DbElement.GetElement("/xxx").Delete();

            //Rename
            //DbElement.GetElement("/보바").SetAttribute(DbAttributeInstance.NAME, "/보바1");

            //CurrentElement.Element.Copy(DbElement.GetElement("/보바1"));
            //MDB.CurrentMDB.SaveWork("여기는 테스트1");
            //



            //foreach (DbElement element in spwl_collects)
            //{
            //    //element.Delete();
            //    DbCopyOption dd= new DbCopyOption();

            //    //dd.ToName="/bbboa";
            //    //DbElement de= element.CreateCopyHierarchyAfter(CurrentElement.Element, dd);
            //    //de.InsertBefore(CurrentElement.Element);
            //    //DbElement xx=DbElement.GetElement("/ACCOM.(DF)");

            //    CurrentElement.Element.InsertAfterLast(xx);
            //    //de.InsertAfterLast(element.Owner);
            //    ////Console.WriteLine("스펙월드]" + spwl.GetAsString(DbAttributeInstance.NAME));
            //    //foreach (DbElement spec in spwl.Members())
            //    //{


            //    //    //spec.CreateLast(DbElementType.GetElementType("Sele"));


            //    //    string specname = spec.GetAsString(DbAttributeInstance.NAME);
            //    //    if (specname.Substring(1, 2) == "/*")
            //    //        continue;

            //    //    working_dbelement.Add(spec);
            //    //    speccnt++;
            //    //    //Console.WriteLine("   -->스펙]"+spec.GetAsString(DbAttributeInstance.NAME));
            //    //}
            //}
            //MDB.CurrentMDB.GetWork();
        }
Beispiel #30
0
        private void Search_Element(string findstr, bool replace_mode)
        {
            findindex = 0;
            string searchname = "*" + findstr + "*";
            string replacestr = txtreplace.Text;

            //트리에서 Element Type을 선택할수 있게 함.
            List <DbElementType> dbtype_list = new List <DbElementType>();

            foreach (TreeNode firstnode in tree_type.Nodes)
            {
                if (firstnode.Checked)
                {
                    dbtype_list.Add((DbElementType)firstnode.Tag);
                }

                foreach (TreeNode secondnode in firstnode.Nodes)
                {
                    if (secondnode.Checked)
                    {
                        dbtype_list.Add((DbElementType)secondnode.Tag);
                    }
                    foreach (TreeNode thirdnode in secondnode.Nodes)
                    {
                        if (thirdnode.Checked)
                        {
                            dbtype_list.Add((DbElementType)thirdnode.Tag);
                        }
                        foreach (TreeNode forthnode in thirdnode.Nodes)
                        {
                            if (forthnode.Checked)
                            {
                                dbtype_list.Add((DbElementType)forthnode.Tag);
                            }
                        }
                    }
                }
            }
            dbtypes = dbtype_list.ToArray();

            if (radio_3dview.Checked)
            {
                DrawList          drawlist         = DrawListManager.Instance.CurrentDrawList;
                DrawListMember[]  drawlistmems     = drawlist.Members();
                DrawListMember [] FindDrawElements = drawlistmems.Cast <DrawListMember>()
                                                     .Where(item => item.DbElement.GetAsString(DbAttributeInstance.NAMN).Contains(txt_search.Text) && dbtypes.Contains(item.DbElement.GetElementType()))
                                                     .ToArray();


                FindElements = FindDrawElements.Select(x => x.DbElement).ToArray();

                //Highlight시 색은 General Colours에서 Visible의 색을 따라감.
                drawlist.Highlight(FindElements);

                foreach (DbElement item in FindElements)
                {
                    string type = item.GetAsString(DbAttributeInstance.TYPE);
                    string pos  = "";
                    if (type == "BRAN")
                    {
                        pos = item.GetAsString(DbAttributeInstance.HPOS);
                    }
                    else
                    {
                        pos = item.GetAsString(DbAttributeInstance.POS);
                    }

                    string name = item.GetAsString(DbAttributeInstance.NAMN);
                    Aveva.Pdms.Utilities.CommandLine.Command.CreateCommand(string.Format("AID TEXT number 9898   |{0}| at {1}", name, pos)).RunInPdms();
                }
            }
            else
            {
                //Root가 CE일때
                if (radio_ce.Checked)
                {
                    root = CurrentElement.Element;
                }
                else if (radio_entire.Checked)
                {
                    if (ServiceManager.Instance.ApplicationName == "Outfitting")
                    {
                        root = MDB.CurrentMDB.GetFirstWorld(Aveva.Pdms.Database.DbType.Design);
                    }
                    if (ServiceManager.Instance.ApplicationName == "Paragon")
                    {
                        root = MDB.CurrentMDB.GetFirstWorld(Aveva.Pdms.Database.DbType.Catalogue);
                    }
                    if (ServiceManager.Instance.ApplicationName == "MarineDrafting")
                    {
                        root = MDB.CurrentMDB.GetFirstWorld(Aveva.Pdms.Database.DbType.Draft);
                    }
                }
                TypeFilter typefilter  = new TypeFilter(dbtypes);
                AndFilter  finalfilter = new AndFilter();

                AttributeLikeFilter xfilter = new AttributeLikeFilter(DbAttributeInstance.NAMN, searchname);

                finalfilter.Add(typefilter);
                finalfilter.Add(xfilter);
                result       = new DBElementCollection(root, finalfilter);
                FindElements = result.Cast <DbElement>().ToArray();
            }


            //Item 들이 가지고 속해있는 DB리스트생성
            List <Db> dblist = new List <Db>();

            foreach (DbElement item in FindElements)
            {
                if (!dblist.Contains(item.Db))
                {
                    dblist.Add(item.Db);
                }
            }
            //Partial Getwork수행
            MDB.CurrentMDB.GetWork(dblist.ToArray());



            int replace_count = 0;

            if (replace_mode == true)
            {
                foreach (DbElement item in FindElements)
                {
                    try
                    {
                        //listView_searchresult.Items.Add(new ListViewItem(new string[]{"1","2","3","4"}));

                        string element_name = item.GetAsString(DbAttributeInstance.NAME);

                        string    name      = element_name.Replace(findstr, replacestr);
                        DbElement exsititem = DbElement.GetElement(name);
                        if (!exsititem.IsNull)
                        {
                            MessageBox.Show(string.Format("바꿀려는 이름 {0}은 존재하므로 바꿀수 없습니다.", name));
                            return;

                            continue;
                        }

                        item.SetAttribute(DbAttributeInstance.NAME, name);
                        replace_count++;
                        mDesExpCtrl.RefreshNodes(item);
                    }
                    catch (Exception ee)
                    {
                        Console.WriteLine(item.ToString());
                        Console.WriteLine("오류발생");
                    }
                }
                //Tree View 업데이트 부분 아래 구문이 없으면 화면이 업데이트 안됨.
                try
                {
                    var windows = Aveva.ApplicationFramework.Presentation.WindowManager.Instance.Windows.OfType <Presentation.DockedWindow>().Where(x => x.Key == "DesignExplorer").ToArray();
                    if (windows.Count() > 0)
                    {
                        MessageBox.Show(replace_count + "개 항목의 이름 바꾸기 완료!");
                    }
                }
                catch (Exception ee)
                {
                }
            }
            else
            {
                if (!radio_3dview.Checked)
                {
                    if (FindElements.Count() != 0)
                    {
                        string refno = FindElements[0].GetAsString(DbAttributeInstance.REF);
                        Aveva.Pdms.Utilities.CommandLine.Command.CreateCommand(refno).RunInPdms();
                    }
                }
                int idx = 1;
                //listView_searchresult.ColumnClick -= listView_searchresult_ColumnClick;
                listView_searchresult.Items.Clear();
                foreach (DbElement item in FindElements)
                {
                    string elementname = item.GetAsString(DbAttributeInstance.FLNN);
                    string elementtype = item.GetAsString(DbAttributeInstance.TYPE);
                    string marptype    = "0";
                    if (elementtype == "SHEE")
                    {
                        marptype = item.GetAsString(DbAttributeInstance.MARPTY);
                    }
                    bool   lclm      = item.GetBool(DbAttributeInstance.LCLM);
                    string userclaim = item.GetAsString(DbAttributeInstance.USERC);
                    string islock    = "X";
                    if (lclm == true)
                    {
                        islock = "X";
                    }
                    else
                    {
                        if (userclaim == "unset")
                        {
                            islock = "X";
                        }
                        else
                        {
                            islock = "O";
                        }
                    }

                    listView_searchresult.Items.Add(new ListViewItem(new string[] { idx.ToString(), elementname, elementtype, islock, marptype }));

                    idx++;
                }
                //listView_searchresult.ColumnClick += listView_searchresult_ColumnClick;
                lbl_result.Text = "검색결과 : " + FindElements.Count().ToString() + " 건";
            }
        }