Неожиданная ошибка с FilteredElementCollector в pyrevit - PullRequest
0 голосов
/ 11 января 2019

Новичок в 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)  

Большое спасибо за любые решения или даже помощь в расшифровке сообщения об ошибке.

...