使用Revit API(2017及更高版本),可以通过任何方式获取时间表中显示的链接元素列表(包括过滤器,相位过滤器等)。
当前,如果您使用FilteredElementCollector查询ViewSchedule,它将返回N个元素(例如Windows,Doors)和M个RevitLinkInstances。但是,RevitLinkInstance不会列出链接模型中出现的实际元素。在ViewSchedule范围内是否可以在RevitLinkInstance中进行查询?或类似的解决方案?
答案 0 :(得分:0)
我设法通过将Schedule ID传递给新的fileteredElementCollector来使其正常工作,
schedule = doc.ActiveView
scheduledElements = list(FilteredElementCollector(doc, schedule.Id))
allElements = []
for element in scheduledElements:
if element.Category.Name == 'RVT Links':
linkedElements = list(FilteredElementCollector(element.GetLinkDocument(), schedule.Id))
for linkedElement in linkedElements:
allElements.Add(linkedElement)
else:
allElements.Add(element)
for element in allElements:
print element
让我知道这是否对您也有用