Implementation

Our project from an architectural point of view is really quite simple. There are not many different components that do wildly different things, and as such, there are relatively few modules needed to organize the project. Below is a system architecture diagram that describes the main classes/modules of the project, as well as how data flows in the program.


Notable Files

Below are the links and pathways to the notable files of the project.

  • ...\MouseRemote\Sockets\client.py
  • ...\MouseRemote\Sockets\server.py
  • ...\MouseRemote\solidworks\main.py
  • ...\MouseRemote\solidwoks\window.py
  • ...\MouseRemote\soliworks\shortcuts.py
  • ...\MouseRemote\SwitchScreen\app\src\main\java\hbang\switchscreen\switchscreen\MainActivity.java
  • ...\MouseRemote\SwitchScreen\app\src\main\java\hbang\switchscreen\switchscreen\ipconfig.java


  • Future Considerations:

    There is a lot that we could do to improve our project, notably with making it easier to install and distribute. As it is now, the user has to do a lot of work to get the app to work.

    In the future, we wish to implement the ability to cast customized buttons within the app, such that a sldreg file that overwrites native short cuts doesn't need to be used.

    In addition, we believe that it would be much better if we could tie the project to a solidworks API in order to more smoothly change the orientation of the part, and more robustly select feature tools without having to emulate keyboard shortcuts.