Efficiently Creating Annotation tags

So right now I have 51 views that I search through and if the door hardware meets certain requirements than it tags the door. I’m reducing the actual amount of elements for demonstration purposes because it crashes if I have all of them. Basically why is it taking 10 minutes to search through and tag these two elements? Is there a more efficient way to have it search through all of the views and tag them accordingly?

tags for multiple levels2(filtered down to just arch sheets).dyn (19.5 KB)


A difficult issue without working with your specific revit model but here are a few suggestions on optimising your script:

  • How many doors do you have in the model? The first part of the script is collecting all of them which could take some time if you have a lot. Not much you can do about this unfortunately (unless you can re-write and manually select the doors).

  • Rather than collecting sheets and then working out which views are on those sheets, can you simply get all floor plans and then filter if required?

  • Do you have the views open in the Revit model when running the script? If running a heavy script, I go to one view (usually a floor plan because sometimes Dynamo doesn’t run on a splash page/ drafting view), close all hidden views and then run the script. Otherwise each open view will be refreshed which takes time.

I hope that helps.

Hello @Paul_Wintour ,

Thank you for the quick response!

  • I have 825 doors in the model and it always seems to grab that number pretty quickly.

  • I originally tried grabbing all of the floor plans but there is 232 of them and then I didn’t know an efficient way to filter them from there because the architects don’t seem to have a standard naming convention as each project varies. One thing I have noticed is that there is not really naming standards because everything seems to vary, but I’d like to get to a point where it is standardized so things are easier to automate. An example is on one project a person will put “Lower level Floor A” and on another they will put “LOWER LEVEL FLOOR A”. Anyways, I guess I don’t understand where the bulk of the delay is at. I assumed it took a very short time to grab all the sheets and it only needed to do it once, and the issue was the Create Annotation tag because it had to shuffle through all the views multiple times to tag each element in its appropriate view.

  • Yes I had all of the views I was testing open, but once I closed them it helped to speed up my script a little bit! I guess this further demonstrates I don’t understand dynamo operates…