As part of a research project I aim to create an interface in Solidworks which would allow a user to move a 3D model of a 6-degrees-of-freedom robotic arm (UR5) in Solidworks and have its location in observed by a standalone program so that in theory I would be able to command a real robotic arm to move to the corresponding destination. I have an idea of how to do it which I will explain shortly however I would like to hear other peoples thoughts and suggestions.
I plan to create a standalone program in C# which would control an instance of Solidworks as well as create an Add-in which would make it easier for a user to translate/rotate the mode of the arm etc. On start up I am planning to have the standalone program to load the CAD file for the UR5 arm but then I am not sure how I would have the functionality that the add-in will provide (e.g. buttons to rotate the arm by a certain degree) communicate with the standalone program. Ideally I would like to have the model disabled and the only way to give input would be via the add-in task pane that I would create. Thoughts on how to solve this would be appreciated.