I just release a new add-in for Revit on the Autodesk App Exchange for aligning and sorting tags on a view.
This tool is based on the Align command you probably already know from a large bunch of software, from PowerPoint to Adobe Illustrator. It is composed of a set of commands to align or distribute tags on a Revit view, and it is pretty easy to use:
To align two or more of tags, just select them, and select one of the direction of the Align command.
For example, with the Align Left command :
Every selected tag is aligned with the left one. The alignment reference point is the tag base point (where their reference planes intersect).
To distribute three or more tags along an axis, select them and specify the direction.
For example, with the Distribute Vertically command:
Vertical space between selected tags is distributed evenly among them. The position reference point is still the tag base point.
Under the hood, everything is pretty simple. The application pick up every tag origin point, and sort them along the View.RightDirection or View.UpDirection regarding the direction you select.
Once these origin points are placed along the chosen vector, each Tag.TagHeadPosition is set to its new position.
The entire source code can be found on Bitbucket, my new place of choice for code hosting. Feel free to use it for whatever you want.
The Align Revit add-in is already available for Revit 2014 and 2015 on the Autodesk App Exchange.