This is
CAD BUDDY

A mobile platform that expedites the CAD process.
Olin Software Design Final Project, Spring 2018

About CAD BUDDY

Introduction

This project explores the use of a smart phone as an advanced form of input for laptop computers. Rather than using a mouse with relatively few sensors, buttons, and methods for feedback, we decided to try to leverage the many sensors and features of smartphones in order to create a cheap and effective tool for interacting with computers.

Our current project uses gyroscope data streaming from a smartphone in order to intuitively interact the a CAD model in solidworks. When the phone is tilted up, the model rotates up, when the phone is rotated to the side, and when the phone is flat against the table, the orientation of the model doesn't change. In addition, the user is able to press buttons on the mobile app to trigger solidworks shortcuts. These buttons are dynamic and change as solidworks does, so only the most relevant shortcuts are ever shown.


Design Philosophy

Anything that needs to be physically produced is first designed in CAD. Although it is such an important tool, it can be quite daunting for beginners and tedious for intermediate users. With this project, we hope to make CAD more approchable for beginners, and streamline the process of intermediate users.

When CADing the user will use a regular mouse in their dominant hand, just like normal. However, rather than jumping around the keyboard, the their left hand will be resting on a mobile device running CAD Buddy. Because only the most relevant shortcuts are shown, the left hand will not need to move nearly as much. In addition, the user will be able to rougly change the orientation of the part in solidworks by tilting the phone if the mouse is currently being used for other activites (ex: interacting with the feature tree).


Demonstration


Design Process

Our project has evloved a lot over time. Factors including our own programming knowledge as well as design feedback from others have shaped this project and where we were able to take it. Below is a list of different significant development points along the timeline of this project.

  • We originally wanted this project to be some kind of Augmented Reality/advanced electronic drawing program. We were hoping to draw in 2D or 3D, and have the phone control different aspects of the drawing environment, such as color, pen size, etc. We eventually discovered that at least at Olin, a program that interfaces with CAD would be more useful.
  • We wanted to use bluetooth to communicate between the computer and the phone, but that proved too difficult for us to learn. We eventually decided to use a third party mobile app to stream sensor data over wifi to a computer, where our python script would interface with solidworks
  • We were determined to make our own mobile app, so we eventually did, integrating our own server socket code to facilitate communication. This allowed us to add buttons to the screen that would send shortcut information to the computer
  • Once we had one way communication from the phone to the computer, we started to try to track the state of solidworks, and use that information to update the phones UI accordingly. This required setting up a server socket on the phone to recieve information from the computer.