List all Families and Family Types in a Revit project

Firstly I’m very new to Dynamo and exploring its uses for project management, so apologies if this is very simple.

What I would like to do is look at a Revit project and list out all the families and family types present in the project (Not necessarily in use). I would like to do this for component and system families, including things like dimension and text styles.

Any help would be appreciated.



Jon, as far as I know there’s no built-in or custom node that does what you’re asking.

I always select by category. To get family instances you can use “All Elements of Category”. To get family types of system families you can use “All Elements of Type”. I don’t think there’s a node for getting all family types of placeable families by category, so I made “All Family Types of Category” (part of package Clockwork).

(If you’re not interested in having the family types grouped by their respective categories, you could use “All Elements of Type” with Element Type set to FamilySymbol…)SelectByCategory

1 Like

Hi, I am trying to get Family and Type Name list for Walls, Roof, Floor etc For wall ie. Basic Wall: Wall_EXT_SLD I tried your All Family Types Of Category but it does not work fro me…return empty list

It works for Windows but does not work for Walls, Floor and Roofs – are they part of exclusion - s as node does not work for system families?

As a non-Dynamo and fairly low-tech approach, you can export the Revit file to a database and run a simple query

SELECT FamilyName, TypeName, 'Windows' AS Family FROM dbo.WindowTypes union all
SELECT FamilyName, TypeName, 'Stairs' AS Family FROM dbo.StairTypes union all
SELECT FamilyName, TypeName, 'Roofs' AS Family FROM dbo.roofTypes union all
SELECT FamilyName, TypeName, 'Doors' AS Family FROM dbo.doorTypes union all
SELECT FamilyName, TypeName, 'Walls' AS Family FROM dbo.WallTypes

Otherwise, I have used some of the Revit add-in Family management tools to generate family reports, including parameters

However- someone else on this forum will probably have a couple of lines of Python that do the same thing much more easily…!



That’s because windows are instance based families, while walls, floors, roofs, ceilings and similar are system based families. ( pretty much anything that can not be created from a family template and resides only in the project document)

You can use the built-in “All Elements of Type” node to fetch those: