Place Legends on Multiple Sheets with Template Legend



I was asked to share the script I put together for placing Revit Legends on multiple sheets at the same location.

Here is a screen shot:

Download the script below:
Legend.dyn (31.4 KB)

And if you are curious, you can also check this one out for doing the same thing with Schedules.


Schedule.dyn (26.1 KB)

I am open for suggestions to make it better if you are inclined.

Packages used include: archilab, Rhythm, and Data-Shapes

Placing LEGEND Views in sheet
Place legend on sheets
Insert Legend in sheet
Add Schedule on Sheets
Create Panel Schedule Sheet Instances on Sheets

Hello Sean,

Thank you very much for this,

Not sure why but the graph get stuck when I need to select the template, not sure why?


Could you post an image of the graph?


Hello Sean,

Please see link to screencast with the process I follow,

The problem is that we need to access the master sheet/template to retrieve the position of the legend and be used in the other sheets, does it work in your end?

Many thanks again!!


That graph is set up primarily for Dynamo Player. However, if you just make sure that Dynamo isn’t maximized when you run it you can access the Legend in Revit. You will also want to make sure the Page of the Master Legend if currently visible to select it as well.


Hello Sean,

I got you know,

So the process is:

  1. Have the active view the sheet you want to retrieve the legend position from

  2. Legend to place, choose the legend in the drop down list

  3. Select sheets, tick the sheets you want to place the legend to

  4. Select the viewport title

  5. Click to select legend, jump into Revit and select from the active view the legend you need the insertion point


I was confused on the last step as it is not clear you need to select the viewport in Revit, and the dialog does not changed when you select it.

It works well,

Many thanks for sharing!!!


Thanks Sean very much, I love Data-Shape as I use it everyday. Dynamo Player hasn’t been fully developed to that far unfortunately.
However, sometimes I got stuck when using DataShape. As you know the UserInput of MultipleInputForm to be used as the List String and I can’t find and node or package to be able tell Revit to convert this String to elements. Any advise please ?


Thanks, I am glad it is working well for you. Would you share exactly what your trying to do?


Hi Sean,
Thanks for your reply, I’ve been trying to add a For Construction Stamp on the selected sheets using DataShape. My topic has been on post few weeks ago as seen below please:
Spring Node- Spring.NullGetParamater doesn't pick the element from DataShape list.
Would you mind helping me to solve this issue that very appreciated !!!