How can I collect all family types that are considered annotation symbols in Revit

What categories correspond to “annotation symbols” in Revit? I am creating a script to collect all the family types in the “annotation symbols” list in the revit project browser.

Generic Annotations.

I was thinking more about the families listed here in the project browser:
image

There are others too that dont follow a strict naming convention. I’m just curious if there is a way to identify all of these and collect them in dynamo or with the revit api.

Thanks,
D

Annotation Symbols includes all the annotation categories. There isn’t one specific category you would be able to pull from. I assume you’re trying to get all the loaded types and not just the placed instances?

1 Like

I am looking for a list of all annotation categories and yes to loaded types.

The most efficient way is with Python. But you could also get all family symbols from Element Types and then filter out the elements with Annotation Symbol categories.

The question still stands then. What are all the Annotation Symbol categories? I understand how to create the report I want but I just want to know what categories fall into the Annotation Symbols. Its more than just the Generic Annotations. Thanks for your help.

I don’t know off the top of my head. It looks like Generic Annotations, Tags, and things like Level Heads, Stair Annotations, and similar categories. You will have to do some research on your own. You may not even need all the categories if you don’t use all of them.

2 Likes

OST_GenericAnnotation

here a solution (need to get the CategoryType of Families)

import clr
import sys
import System
from System.Collections.Generic import List
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
import Autodesk.DesignScript.Geometry as DS

clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
import Autodesk.Revit.DB as DB

clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

doc = DocumentManager.Instance.CurrentDBDocument

filterAnnot = System.Predicate[System.Object](lambda x : x.Family.FamilyCategory.CategoryType == CategoryType.Annotation)
symbAnnot = List[Element](FilteredElementCollector(doc).OfClass(FamilySymbol).ToElements()).FindAll(filterAnnot)

OUT = symbAnnot

I close this (old) topic

5 Likes