У меня есть функция, в которой я хотел бы получить все элементы, принадлежащие к определенной категории, типу и семейству. У меня есть их имена в виде строк, и я хотел бы получить фактические элементы, соответствующие критериям.
Я пробовал немного со следующим:
internal static void getElemetWithId(Document doc,string catName, string famname, string symbname)
{
Category category=null;
foreach (var cat in doc.Settings.Categories){
if (((Category)cat).Name.Contains(catName))
{
category = (Category)cat;
break;
}
}
HashSet<Element> elements = new HashSet<Element>();
elements.AddRange(GetFilteredElementCollector(doc, new ElementRetrievalOptions())
.OfCategory(category).WhereElementIsElementType(famname).ToElements());
}
Однако это не работает, поскольку OfCategory не принимает категорию в качестве аргумента (она работает для встроенной категории), а WhereElementIsElementType, похоже, не принимает никаких аргументов.
Возможным входом для этой функции будет document, "Doors" , "M_Single-Flush" , "0915 x 2134mm"