Новичок в Python, pyRevit и Revit API, поэтому я приношу свои извинения, если я плохо формулирую свой вопрос. Сегодня я использовал pyRevit для разработки простого работающего кнопочного инструмента, а затем через несколько минут перестал работать без каких-либо изменений (о которых я знаю)
Мой инструмент добавляет в выбор все группы с исключенными элементами. Некоторое время он работал отлично, затем начал выдавать эту ошибку, которую я не могу сделать головами или хвостами:
Исключение: входной аргумент "document" функции `anonymous-namespace ':: FilteredElementCollector_constructor или одного элемента в коллекции равен нулю в строке 326 файла d: \ ship \ 2018_px64 \ source \ revit \ revitdbapi \ APIFilteredElementCollectorProxy.cpp , Имя параметра: документ
Путь в сообщении об ошибке не тот, который я узнаю на моем компьютере. Вот соответствующий код (обратная трассировка переходит к строке 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)
Большое спасибо за любые решения или даже помощь в расшифровке сообщения об ошибке.