Tuesday, November 12, 2013

Coding Bubbles

In order to make three dimensional printing accessible to a wide range of people, the programming team is working on making software that is both powerful and intuitive. In addition to working on a desktop computer, like most 3D printer software, we want our software to be able to run on the touchscreen embedded in our printer. In order to make an application that was touchscreen friendly, we needed to make menu systems beyond those available with the standard GUI frameworks. We developed a “bubble menu” system, similar to those seen on some soda machines. The bubble buttons are aesthetically pleasing, and offer a better target for a finger than the standard rectangular buttons supported by most frameworks. The menus can support up to nine elements, and dynamically rearrange based on the number of elements they contain. Our bubble menu concept gives our software a unique look, while improving customer interaction.

Other features we are pursuing make it easier for a user to print a part. We will give users the option to skip the advanced setup, and print parts with as little effort as possible. One way we will do this is through the use of editable templates. Some parts will have a dynamic layout, in which the user can add and remove lines, and edit specific coordinates. Other parts, such as a gear, can be generated automatically from values such as pitch, bore size, and diameter. Our first template is a gear template, which can generate gear with triangular, rectangular, trapezoidal, or rounded (sprocket) shaped teeth. This gear generator was the focus of much of the past two weeks of work. In order to generate the gear we had to create an algorithm, or set of executable steps, to make a list of points around the gear. The development of a process that could make gears with teeth of various shapes required knowledge of geometry, trigonometry, and computer science.