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); }
public void WriteSearchItems(SearchAndItems _search_and_items) { SAIList.Add(_search_and_items); }