Not really sure where I found this, but it finds viewreferences that are hidden in the view.
public void FindSection()
{
UIDocument uidoc = this.ActiveUIDocument; //dont need this
Document doc = this.ActiveUIDocument.Document;
// Get the element selection of current document
Selection selection = uidoc.Selection;
//store element id's
ICollection<ElementId> selectedIds = uidoc.Selection.GetElementIds();
View view = uidoc.ActiveView ;
/*IEnumerable<ElementId> refCallouts = new FilteredElementCollector(doc)
.OfCategory(BuiltInCategory.OST_Viewers)
.WhereElementIsNotElementType()
.Where(x =>
x.IsHidden(view) &&
x.get_Parameter(BuiltInParameter.ID_PARAM).AsElementId() != view.Id &&
GetViewFromMarker(x, doc).ViewType == ViewType.DraftingView &&
x.get_Parameter(BuiltInParameter.VIEWER_SHEET_NUMBER).AsString() != "---")
.Select(x => x.Id)
.Cast<ElementId>();
*/
View view = uidoc.ActiveView ;
IEnumerable<ElementId> refCallouts = new FilteredElementCollector(doc)
.OfCategory(BuiltInCategory.OST_Viewers)
.WhereElementIsNotElementType().Where(x =>x.IsHidden(view))
.Select(x => x.Id)
.Cast<ElementId>();
foreach (ElementId elementId in refCallouts)
{
TaskDialog.Show("Revit", elementId.ToString());
}
}
//public static View GetViewFromMarker(Element element, Document doc)
//{
// ElementId elementId = element.get_Parameter(BuiltInParameter.ID_PARAM).AsElementId();
// Element getElement = doc.GetElement(elementId);
// if (getElement is View view)
// {
// return view;
//}
// else
// {
// return null;
// }
//}
}