@rdeardorff I took a quick pass at it and this (messy) modified script seems to work:
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
doc = DocumentManager.Instance.CurrentDBDocument
sheetViews = UnwrapElement(IN[0])
views = UnwrapElement(IN[1])
refviews = []
def getRefs(sheetviews, refdview):
refViews = []
for view in sheetviews:
viewerColl = FilteredElementCollector(doc, view.Id).OfCategory(BuiltInCategory.OST_Viewers).ToElements()
for viewer in viewerColl:
if viewer.Name == refdview.Name:
refViews.append(view)
refColl = FilteredElementCollector(doc, view.Id).OfCategory(BuiltInCategory.OST_ReferenceViewer).ToElements()
for refviewer in refColl:
if refviewer.LookupParameter("Target view").AsElementId() == refdview.Id:
refViews.append(view)
return refViews
for view in views:
refviews.append(getRefs(sheetViews,view))
OUT = refviews
Note the changes that need to be made to the graph; the Python script now needs the view elements, and not their names, and there are some level changes on the nodes after the Python script:
edit: added flatten node after List.FilterByBoolMask