VisioAutomation makes it easier for developers to control Visio from .NET languages. In addition to simplifying common tasks, it makes it easier to build your own Visio add-ins and automation/scripting tools.
Documentation at the wiki: https://github.com/saveenr/VisioAutomation/wiki