When you have a family that has a lot of Types, using a Type Catalog may be the best choice for helping users navigate them.
They work by presenting a lookup table when ever the family is loaded from an external library.
Note that the lookup table does NOT appear when placing an already loaded family.
On the other hand more than one type can be selected so they are all available within your Revit project.
It is important to note that the type catalogs can only drive family parameters and not project parameters.
Another reason to create Type Catalog files is to capture Types that have been created within a project.
You may want to do this before you purge a project, or if you are worried some-one else might do a purge meaning you loose all Types not placed yet.
If you want to do this use Method 1, but first open the relevant families for editing from inside the project file.
METHOD 1:
In Revit 2012 and above, it is possible to start a Type Catalog from the parameters of a family.
This is easier and less prone to error than starting a Type Catalog from scratch, although if there are a lot of parameters you may end up with more than you need.
With the desired Revit family open, select the Application Menu (big R at top left), then choose Export, then Family Types (at the bottom of the list).
In the Export As dialog box, browse to the desired location for the Type Catalog file and save the file.
Type parameters that are in use (the parameter has an assigned value or was added to the family by the user) are exported.
Type parameters that were included as part of the family template and do not have a value, are not exported.
Parameters added to the family by the user are exported even if they do not have an assigned value.
If you need to edit the Type catalog file created import it into Excel.
In Excel under Data tab > Get External Data panel, From Text.
Browse to the .txt file created above.
Tick Delimited, then Next > button:
Tick Comma, make sure all others are unticked.
Check the data is appearing in columns along the bottom of the dialog box.
Hit the Next > button:
Follow prompts and the data will be inserted into the spreadsheet.
Edit as required (delete columns, change values, delete types etc.).
When done, save this Excel file with a CSV file type.
Then change it's extension in Windows Explorer to ".txt".
Test this by loading the family into a new project.
METHOD 2:
Type catalog files can also be manually created and edited using Notepad or Excel.
For this example a dishwasher family is created and it is named dishwasher.rfa.
Select the Family Types button to identify the parameters to associate with the look up table.
For this example use Model and Manufacturer. In order for this to work correctly some data has to be placed in Value column.
The words model and manufacturer will work, the letter X or any other characters will work as well, just don't leave them blank.
Next a look up table needs to be created. Start with an Excel file and save it with the same exact name as the family. Only the file extension should be different.
Note: a Type Catalog will only work if its name is EXACTLY the same as the family's file name.
Leave cell A1 blank. Revit reconizes this as a heading for family type which will start below it. Placing any data here will cause things not to work. Fill out the rest of the cells as indicated below.
Column A defines the family Types that can be created.
Column B defines the Model number assigned to that type.
Column C defines the Manufacturer assigned to that type.
The column headers for Model and Manufacturer are a combination of the parameter name to be controlled and a code for the parameter type.
The codes are listed below.
Angle ##ANGLE##DEGREES
Area ##AREA##SQUARE_METERS
Currency ##CURRENCY##
Integer ##OTHER##
Length ##LENGTH##MILLIMETERS
Material ##OTHER##
Number ##OTHER##
Slope ##SLOPE##SLOPE_DEGREES
Text ##OTHER##
Volume ##VOLUME##CUBIC_METERS
Yes/No ##OTHER##
(when using a Yes/No parameter the Yes=1 and No=0).
When done, save this Excel file with a CSV file type.
Then change it's extension in Windows Explorer to ".txt".
Test this by loading the dishwasher family into a new project.
If there is an error Revit will tell you which line it occurs in.