One of the frustrating things with Revit is that it’s sometimes difficult to do seemingly simple tasks. One of my colleagues asked me if I knew of a way to solve one such task: copying legends to multiple sheets. Legends are one of those rare view types in Revit that can exist on multiple sheets, but as is common with Revit it’s not necessarily easy to make sure views appear in the same location on each sheet. While it’s not a huge deal, it’s a little distracting when you’re going through the pages of a PDF and you see these similar views jumping around with each page flip.
I started by creating a quick macro that allowed you to select a legend view and then copy it to multiple sheets, making sure it stays in the same location and keeps the same viewport type. This seemed to work fine and solved the problem for that team, but macro’s are easily portable so we transitioned it into a proper Revit addin. We will often use schedules, particularly key schedules, as general notes on sheets so while we were recreating the macro as a plugin we added the ability to work with schedule views as well. Even though schedules can be copy/paste aligned from sheet to sheet, we thought having a single command to do similar actions was preferable.
To use the plugin, go to a sheet that has the legend or schedule view and select it before running the command. It will then provide the above form to select which sheets you want to apply the view. The schedule copying part of the command is using API functionality introduced with Revit 2014 so the 2013 version only copies legend views while the 2014 version will copy legends and schedules.
To install the plugin, unzip the provided file and copy the two files within the ZIP (ie the .ADDIN and .DLL) to your computer at either C:ProgramDataAutodeskRevitAddins[Version] or to C:users[UserName]AppDataRoamingAutodeskRevitAddins[Version]. You may also want to check that the files are not blocked by right clicking on the DLL and going to it’s properties. If there’s an Unblock button be sure to unblock it before trying to use it.