【发布时间】:2014-05-24 04:31:56
【问题描述】:
所以我尝试使用输入字符串列表在使用 Revit API 的视图中隔离它们。我已经做到了这一点,但是我在尝试创建一个集合的地方陷入困境,该集合将视图中的所有元素删除并删除从输入 ID 创建的元素。我这样做是为了得到一组除我想要隔离的元素之外的所有元素。
dataEnteringNode = IN0
view = IN0
str_ids = IN1
doc = __doc__
collector = FilteredElementCollector(doc, view.Id)
for i in str_ids:
int_id = int(i)
id = ElementId(int_id)
element = doc.GetElement(id)
element_set = ElementSet()
element_set.Insert(element)
elements_to_hide = collector.WhereElementIsNotElementType().Excluding(element_set).ToElements()
#Assign your output to the OUT variable
OUT = elements_to_hide
在解决此错误时,我将不胜感激。我得到了“预期的 ICollection [ElementId],已设置”。我猜问题出在排除过滤器中,我需要在其中创建要排除的 ID 集合,但我不知道如何操作。先感谢您。提前感谢您的帮助!
【问题讨论】:
-
哪一行导致了错误?而且我认为
element_set应该在循环外声明,而不是在循环内。
标签: python-3.x collections set ironpython revit-api