By: Shane Wighton | redacted@gmail.com
Demo SL Gui Software
What is it?
It is a fully featured user interface for preparing a 3D model for printing on a rapid prototype machine (such as the Form 1). It allows the user to load objects, position and rotate them, generate support structure, and split them if they are too large. The software then slices the mesh into layers to be printed by the RP machine. It is written in Python and uses OpenGL for the 3D visualization as well as C++ and OpenCL to speed up the time-consuming algorithms by several orders of magnitude.
Why?
I think what Formlabs is doing is awesome and I would love to be a part of it. I wrote this over the past three days as a skill demo. I figured this would be a good way to show you that I possess the skills you are looking for.
What's So Great About It?
GPU accelerated slicing
Slicing a model with many faces into really thin slices can take a very long time. The slicing algorithm implemented by the application uses OpenCL to harnesses the GPU which turbocharges the slicing process. Speed increases of 8000x have been recorded. Slicing a model with 140,000 faces into slices 0.001" thick can be performed in less than 5 seconds.
Automatic support structure generation
With the click of a button the software generates supporting features to ensure structural integrity of the part while printing. It uses a custom designed algorithm that takes into account the overhang angle, total unsupported length, and proximity of other supports. The supports taper down to a point so they can be easily removed from the object after printing.
Slice objects that are too large to fit the build volume
The software allows the user to specify a location to split the model if it is too large to be printed on the machine. In three clicks the user can split a model that they normally wouldn't be able to print into two or more printable pieces.
Other cool features
- Full 3D view controls for rotating and panning around the scene.
- Objects can be rotated and dragged around the build area.
- Automatically positions objects when multiple objects are added to the scene.
But Wait, There's More!
Developed in three days
This whole application was written in 3 days. Imagine if I was working on it full time.
Who am I?
My name is Shane Wighton. I love 3D printers, programming, and design. In addition to being a computer scientist, I am also a mechanical engineer. You can view my resume here. You can contact me at redacted@gmail.com or by calling (555) 555-5555.