【发布时间】:2020-05-18 22:49:51
【问题描述】:
我有一个函数,我想获取属于某个类别、类型和系列的所有元素。我将它们的名称作为字符串,并希望获得符合条件的实际元素。
我尝试了以下方法:
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 不接受 Category 作为参数(它确实适用于 builtInCategory),并且 WhereElementIsElementType 似乎不接受任何参数。
此函数的可能输入是document, "Doors" , "M_Single-Flush" , "0915 x 2134mm"
【问题讨论】:
-
请注意,这是一个主要需要了解 revit api 而不是 c# 的问题,这也适用于 revit 2014-2017。