THE PROBLEM
You want a material legend that only shows materials that are tagged on a sheet.
But a material schedule (called a Material Takeoff in Revit) will show all materials in the project.
SOLUTION 1
Add a project parameter to materials that lists where the material tagged (e.g. Used for.MA).
Then for each material fill in the parameter, with different places separated by commas.
e.g.
WALL, FLOOR, CEILING
Create separate material schedules for floor plans, ceiling plans, internal elevations, external elevations etc.
Then create a filter in each that looks in the parameter for what you want shown in the schedule.
e.g.
search for "contains" "floor" in the floor plan materials schedule.
SOLUTION 2
Use a Keynote Legend.
Keynote legends only show what has been tagged on views contain on a sheet.
If you use this method make sure materials are ONLY tagged using keynote tags throughout the project.
NOTE:
Keynotes have limitations:
there are only 2 fields - code and description. You can't use a keynote legend for a full schedule with manufacturer, model, etc.
keynote legends can be buggy and list objects not visible. Watch for objects not visible because they are outside the view clip, and objects in options.
If you decide to use keynotes it is best practice to maintain a proper material schedule as well. Use a working schedule to check codes and descriptions are aligned.
1. CREATE A KEYNOTE FILE
To do this you need to create a Keynote file that contains the codes and descriptions you want to use.
You can manually create one, or create one from a material schedule.
If codes and descriptions already exist creating one from a schedule is quickest.
MANUAL KEYNOTE FILE
The format is:
code<tab>description
e.g.
BLK BLOCKWORK
CON CONCRETE
CPC CLEAR POLYCARBINATE
FGP FIBRE GLASS PANEL
GL GLASS
KEYNOTE FILE FROM A MATERIAL SCHEDULE
Create a material schedule ( Material Takeoff) listing Mark and Description only. Sort by Mark, do not list every item.
Name it W_Material Keynote File
Export it.
Untick everything in the Export Schedule dialog box.
Set Field delimiter to (tab), set Text qualifier to (none).
Save the file in your project Revit folder.
Open the file, delete any blank lines at the beginning of the file. Edit as required (remember there must be only ONE tab between code and description).
2. PUT KEYNOTE PARAMETER IN MATERIALS
Materials will be tagged by their Keynote parameter rather than their Mark parameter.
Therefore you need to ensure each material used has a code in its keynote parameter.
The easiest way to do this is via a schedule.
Create a working material (Material Takeoff) schedule.
Add fields including Material: Mark and Material: Keynote.
Copy value of Material: Mark parameter to Material: Keynote parameter.
The end result can be seen in the Material Browser:
3. TAG MATERIALS USING KEYNOTE TAG
Next add tags for materials in your view using a Keynote tag that looks like your standard material tag.
4. CREATE A KEYNOTE LEGEND
In Revit from Annotation ribbon, click on the triangle next to Tag, select Keynote Settings.
Make Path Type: Relative, Numbering Method: By keynote.
Browse to the new keynote file.
Hit OK.
Next create a Keynote Legend.
From View ribbon, click on Legend, then Keynote Legend.
Set up with headings, font size etc that you want.
5. PLACE KEYNOTE LEGEND ON SHEETS
Drag the Material keynote legend onto the sheets where you want it to appear.
6. MANAGEMENT
If new materials are added make sure they are added to the keynote file as well.