Exemple #1
0
        public static SearchAndItems SAIsearch(SavedItem item)
        {
            ModelItemCollection mod_col      = ((SelectionSet)item).GetSelectedItems();
            SearchAndItems      SAI          = new SearchAndItems();
            List <Guid>         output_guids = new List <Guid>();
            HashSet <string>    unic_cats    = new HashSet <string>();
            string cat = null;

            if (mod_col != null)
            {
                foreach (ModelItem mditem in mod_col)
                {
                    Guid item_guid = FindGuid(mditem);
                    if (item_guid.ToString() != "00000000-0000-0000-0000-000000000000")
                    {
                        PropertyCategoryCollection mitem_property = mditem.GetUserFilteredPropertyCategories();                                   //свойства объекта для получения его категории, и поиска в категории окон и дверей, следующий номер за количеством папок в Q
                        DataProperty mitem_dataprop = mitem_property.FindPropertyByName("LcRevitData_Element", "LcRevitPropertyElementCategory"); //
                        if (mitem_dataprop != null)
                        {
                            unic_cats.Add(mitem_dataprop.Value.ToDisplayString());
                        }
                    }
                    output_guids.Add(item_guid);
                }
                if (unic_cats.Count == 1 && (unic_cats.Contains("Окна") || unic_cats.Contains("Двери")))
                {
                    cat = "ОкнаДвери";
                }
                //#endregion

                SAI.WriteData(item.DisplayName, output_guids, cat);
            }
            return(SAI);
        }
Exemple #2
0
 public void WriteSearchItems(SearchAndItems _search_and_items)
 {
     SAIList.Add(_search_and_items);
 }