Update Keynote Numbers with Dynamo and Camber

I use MLeader objects with tag attribute numbering to annotate civil plans. Typically my plans can have 100+ keynotes. I keep track of all of the notes in an excel file and utilize this excel file and a script to keynote each sheet according to the keynotes shown in each viewport. One pain point of the process was that whenever I reorganized my notes, I had to update the numbering in Civil 3D. I would utilize the “export attributes” and “import attributes” tool to renumber the notes. The problem was that this tool only worked on the blocks nested within the mleaders. So I would have to make a copy of the mleaders, explode the copy, update the blocks, and then use these blocks as a reference to go to each mleader and update the number individually.

Thanks to the latest Camber package I was able to throw together a script in roughly 5 minutes to update my keynote numbering. I’ll leave it here if anyone else has to do keynote renumbering as well. (The .xlsx file has to be saved as .csv or the input node updated).

Thanks so much @mzjensen !!

KeynoteRenumber.dwg (968.5 KB)
KeynoteRenumber.dyn (508.6 KB)
KeynoteRenumber.xlsx (10.8 KB)
KeynoteRenumberFinished.dwg (1.3 MB)


Nice work, Shaun! This is one of those tasks that always makes you wonder “shouldn’t this be easier?” or wish that AutoCAD has a tagging system like Revit does. Glad you were able to come up with a better solution, and thanks for sharing. :fire: :partying_face: :muscle:

1 Like


Great idea. love it.

When I tested it, I get an error warning. see attached. it does update the tag values. I’m not good enough at this to understand how the dictionary work yet. Thought you should know.

Thank you