I have created an annotation family for my Drawing Keynotes. It has 3 main parameters: Note Number, Note Text, and Sheet Name.
I have a dynamo graph that uses Element.OwnerView to find in which sheet the annotation family is being shown. The graph assigns the Sheet Name value in the Annotation Family.
In Revit, I create block schedules for the annotation family. I use the Sheet Name parameter in the filter so I can place the schedule on the sheet that corresponds.
It all works great; however, I have a new challenge. Automating Note Number parameter which is the position of the keynote in the schedule. I want dynamo to reorganize my schedules to make sure I don’t skip numbers by human error.
Dynamo should create a list of the Annotation Family. If Sheet Name is the same then it creates a list; it will assign a number value to Note Number for each keynote in the list. If Note Text is repeated then it gets the same Note Number value.
Could someone please help out to finish this idea?
I’m sharing my family and my graph. My graph is a little clustered because I have been trying different methods, I am close but I need help!
@Nick_Boyts, I tried using GroupByKey but I got stock. if you open my graph youll see it
Builtin keynotes need to be hosted to elements (which could be not very user-friendly for MEP) and are also sensitive to changes. I think they still have bugs that have not being resolved yet (even when revit claims to have fixed them in the newer versions)
I build my families in Revit 2018.3.2 and we also have 2019 for newer projects. I know our problems will be solved at some point, but we just cannot afford to spend too many hours fixing keynotes in projects with more than 300 sheets.
Can you show how you’re assigning these parameter values? I can tell by the little portion that’s visible that your list structure is off because you’ve set a value for the same element multiple times.
You need to group the elements in the same way that you’re grouping the values. Right now you’re trying to write the values back to your original list.