2

python、pyRevit 和 Revit API 的初学者,如果我的问题措辞不佳,我深表歉意。今天我用pyRevit开发了一个简单的按钮工具,然后几分钟后停止工作,没有任何改变(我知道)

我的工具将所有具有排除元素的组添加到选择中。它工作了一段时间,然后开始抛出这个错误,我无法做出正面或反面:

例外:函数 `anonymous-namespace'::FilteredElementCollector_constructor 或集合中的一项的输入参数“文档”在文件 d:\ship\2018_px64\source\revit\revitdbapi\APIFilteredElementCollectorProxy.cpp 的第 326 行为空。参数名称:文档

错误消息中的路径不是我在计算机上识别的路径。这是相关代码(回溯到第 24 行,即“groups = FilteredElementCollector...”:

from pyrevit import script
from pyrevit.framework import List
from pyrevit.framework import clr
from pyrevit import revit, DB

clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
doc = DocumentManager.Instance.CurrentDBDocument

clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)

clr.AddReference("RevitAPI")
from Autodesk.Revit.DB import *


groups = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_IOSModelGroups).WhereElementIsNotElementType().ToElements()

selection = revit.get_selection()

SelectionIds = []

for group in groups:
    name = group.Name
    if "(members excluded)" in name:
        SelectionIds.append(group.Id)

selection.set_to(SelectionIds)  

非常感谢任何解决方案,甚至帮助破译错误消息。

4

0 回答 0