【发布时间】:2020-08-29 00:09:53
【问题描述】:
我刚开始使用 Revit API,我有一个问题。 我现在一直在寻找一种按族过滤 Revit 元素的方法。这是我的程序: 首先我做了一个过滤元素收集器来获取所有的家庭符号 ID。
Families = FilteredElementCollector(doc).OfClass(Family).ToElements()
for fam in Families:
if fam.Name == 'Family Name':
FamSymb = fam.ID
这应该让我得到家庭符号 ID。然后,我尝试使用此 ID 创建过滤后的元素收集器。
ElementFilter = FamilySymbolFilter(ElementId(FamSymb))
New_Collector = FilteredElementCollector(doc).WherePasses(ElementFilter).ToElementIds()
这给了我以下错误:Microsoft.Scripting.ArgumentTypeException: expected BuiltInParameter, got ElementId。
如果FamilySymbolFilters 要求提供元素 ID,我不知道为什么它会期待 BuiltInParameter。
无论如何,任何帮助将不胜感激。
谢谢!
【问题讨论】:
标签: python revit-api revit revitpythonshell pyrevit