Sometimes when you receive a drawing, the contents can often be far from what you need, but you have no choice but to make the best of it. Such is case when (one instance) Civil3D users have moved labels away from the point, exported to AutoCAD then exploded the resulting anonymous blocks.
This makes for an interesting problem, a portion of a recent drawing shown below. The leaders are not associated with the nearby mtext objects and each annotation collection is four separate mtext objects. The resulting cogo point is shown in blue.
That meant that first we had to produce a annotation cluster collector of sorts that would evaluate hundreds of lines of text/mtext and group them into logical clusters. We needed this for another project anyway so it was justified.
With an organized collection of annotation clusters it was just a matter of determining the cluster who’s center was closest to the leader tail, then extract the information. Last but not least, if the tool finds annotation properly associated with the leaders (or mleaders) it uses that first and doesn’t go looking.
This tool is available in: