Copy Generic Annotation from Sheet to Another Sheet

Is it possible to copy-paste to same place (or create similar to specific location) a Generic Annotation that has been directly placed on the Sheet and not in a Viewport? Either in Dynamo or through the API?


I’ve set something like this up in my recent project, though I have it set up a little different.

I have the Level Legends as individually made views in the Legends section in the Project browser.

So I used the Sparrow and Crumple packages, specifically Sparrow has a “Sheets_placeViews” node.

Through trial and error, I found some coordinates that I liked, and just typed out the Point Coordinates in codeblock (Autodesk.Point.ByCoordinates(, y.yyy, z.zzz) so that they would not change. Then it was just a matter of feeding it the proper sheets and views.

Are you always going to be placing the same Generic Info/Legend view to every sheet in question, or are you looking to have variable info depending on the content of the sheet?

I would normally use the same workflow as you by setting up the Legend Views first and then placing these on the sheets as Viewports. However, some of my fellow architect colleagues often forget to do this first, and place the Generic Annotation families directly on the sheet.
And yes, always placing the same Generic Annotation on the sheets should work fine. Although, I can’t find a way to copy them if they are not placed in a Viewport first.

So that’s fine if the user doesn’t use the Legends Views, you can just pull a list of all views of the intended type, and then just match up those views with a known name; that way it won’t really matter how the view was made, as long as it is named properly.

And using the Sparrow package has the “Sheets Place Views” node, which I used, allows you to paste a specific view on a specific sheet at a specific location.

I suppose if the info is going to be identical for each of the projects that you are using, I suppose you could have a script set up to re-generate the text into a text box and place that in each view. However, doing this will limit you on your ability to edit the data after it has been placed in a lot of views.

I wouldn’t blame you if you end up automating the creation of the Legends or Generic Info views, and then have another script that will place that view in each sheet. That way at least you can guarantee that the information will be repeatable.

What’s the reason for not using Revit’s native copy/paste functionality? It would likely be the same process if you built a tool to select Sheets to paste to.

1 Like

EDIT: I actually wasn’t aware this is a built in function already… Good to know I guess :smiley:

1 Like

So you can use the keyboard shortcut “paste in place” which works beautifully.

However, if I want the note in question to be placed on my sheet, and I just got to work one morning. I would have to open an old sheet that I have already annotated, select and copy that note, then go back to my current sheet and paste-in-place. And then as I go on to annotate if I copy anything else, I’ll need to go back and copy the source content to then paste-in-place.

With my script, I can select multiple sheets (that I need annotating) and then run the script, which will paste the same view (call it “Level Legend”) and it will always place the directed view into each of the selected sheets.

So this will not only save time, because you don’t need to manually alt-tab through each of the sheets, but also, it allows the user more flexibility (in choosing order of operations) yet the user retains the repetitive reliability of automation. So it gives the user more tools to utilize, less usability restrictions, and increases the Users’ consistency in the final product.

Native Revit does most of that. You do have to select and copy the first instance of an object (or objects) from an existing sheet, but then Paste Aligned to Selected Views lets you select any and all views/sheets you want to paste those objects to, in their original location.

Your tool may do specifically what you want it to do in a more efficient way, but for many people, including OP, the native Copy/Paste functionality is pretty good at batch pasting to multiple views. Obviously you should do what’s best for you, but it’s good to be aware of what’s available.

1 Like

Yeah I was assuming OP was looking for a solution to a reoccurring instance, so for sure the Native route works best for them. Glad they found the right solution for the situation!

1 Like