Hi, I am also interested in using Dynamo to annotate drawings (For MEP installations). Manually tagging and annotating drawings is a) Very boring, b) A huge time cost, and c) Very, very, boring. So automating it as much as possible would help a lot.
I have a couple of ideas for how it could be done but basically I think the process should be; 1) Define standardised locations for tags, 2) Check which locations are available or already covered, 3) Collect all elements to be tagged, 4) Locate closest available tag location for each element and place tag.
So for example you could place all the tags in a column next to a view (Like this add in.) by creating a list of vertical X and Y coords for the tag locations outside the view. Then for each object to be tagged get the coordinates and sort to find the closest tag location. This should avoid too many crossing leaders. The tag locations could also follow a curve or frame around the view.
Or, to tag elements in a view the pre-defined tag locations could be a regular grid over the whole view. Then for each element find the closest grid location, check if it is already filled with a tag or object, then either place the tag or continue searching. The preferred search order for tag locations (First Left, then if not available Above, etc…) could also be related to the orientation of an object, for example prefered location for an Electrical Fixture tag would always be in front of the fixture regardless of which wall it is on.
What do you think? Any similar ideas?