Select all callouts in a revit file


Is there a way to select all the callouts in a revit file? I have checked the parameters but there is no specific thing that could help. Also reference callouts do not share the parameters with views so I can’t even add something specific like a yes/no parameter.

Hi @daninet

You could filter the views by orientation. Where 2 is “By Callout” .


Hi @Kulkul

Do you have any idea about reference callouts? Those are my main headache, they don’t share parameters with views.


Could drop here your rvt dummy file with just one or 2 callouts.

Here you go :slight_smile:

Project1.rvt (340 KB)

@daninet are you looking for Reference View Name?

No. I want to select all callouts in the project including the reference callouts. But reference callouts does not have any parameter to select them.
Selecting normal callouts can be done in multiple way, one is as you have showed it.

You can use this method to get all the reference views in a specific view.

Hi daninet,
Here is solution?

Hi, would you mind posting the code?

tried to type it out but I get an error with the (BuiltInCategory.OST_Viewers)

import clr
# Import DocumentManager and TransactionManager
import RevitServices
from RevitServices.Persistence import DocumentManager
doc = DocumentManager.Instance.CurrentDBDocument
# Import RevitAPI
import Autodesk
from Autodesk.Revit.DB import *

# Import ToDSType(bool) extension method
import Revit

collectorViewer = FilteredElementCollector(doc)
OSTviewers = collectorViewer.OfCategory

def GetAllCallouts(_doc, _OSTviewers):
	CalloutParaent = []
	for view in _OSTviewers:
		paraIndex = BuiltInParameter.SECTION_PARENT_VIEW_NAME
		parameter = view.get_Parameter(paraIndex)
		if parameter != None:
			element = _doc.GetElement(view.get_Parameter
			if element!= None:
	return CalloutParent
OUT = GetAllCallouts(doc,OSTviewers)