Vandal Forge Printer Software

The goal of this project is to improve the software used for 3D Metal Printing by updating the graphical user interface (GUI), changing the software to produce custom print commands required by the metal printer, and creating documentation for future teams.
=Problem Definition=
==Background==
Current printing software is not customized for a 3D metal printer. Print instructions created by default slicer software contains extra unused commands and does not provide custom commands needed to run a 3D Metal printer. Last year's team had to manually modify the output of Plastic Printing software, which was a slow and laborious process. OctoPrint, the interface between the print instructions and the printer, was originally designed for plastic printers and does not have the necessary features for metal printing.
The Mark I and Mark II 3D Metal Printers require a custom print instructions file.
300px|center
Mark I Printer (MIG Welder)	
Mark II Printer (TIG Welder)
==Printing Process==
center					
{| class="wikitable" style="text-align: left;"	200px|center
Export 3D Model created in a Computer Aided Design (CAD) program as a .STL file	
Import STL file into Slicer program that "slices" model into many thin layers (click this Lego image to see the animated gif)	
Slicer program exports a series print path instructions for the printer in the form of GCodes	
Upload GCode file to OctoPrint which sends the print instructions one by one to the Printer	
3D Metal Printer prints metal object by following the GCode instructions
=Deliverables=
==Objectives==
To improve the quality of the VandalForge Software while extending usability to allow further customization for future project endeavors.
:*Slic3r produces custom GCode commands
:*Octoprint accepts custom commands
:* GUI's utilize custom commands
:*ForgeWare Integration
:*Easy to use
:*Create excellent documentation for future teams
==Requirements==
:*Use Open Source software
:*Modifications must work for both versions of the printer
:*Modified software should be user friendly
:*Carefully document process so future teams can easily add improvements
===Specifications===
Vulcan_specs.JPG|800px
==Alternatives==
 
Cura Ultimaker Slic3r Alternative	
Pros
:*Written in Python
:*Well documented and developed
Cons
:*Direction of development controlled by Ultimaker company
:*No guarantees that Ultimaker's continued development of Cura would be useful to the project
400px|left 
Smoothieware Webclient OctoPrint Alternative	
Pros
:*Already exists in the Smoothieboard
:*Simple setup (a single html file)
Cons
:*Does not work with other board types
:*Limited feature set
=Results=
; Customized Slicer Program:
Slic3r software customized to produce 3D metal printer instructions. Slic3r takes a 3D model, "slices" it into print layers and creates printing instructions for the Printer.	
; Updated UI
Added new inputs for the TIG Welder printer to the Slic3r GUI.
; GCode Before:
GCode before removing unused Plastic Printer Instructions.	
; GCode After:
GCode after removing the superfluous print commands.
; Original OctoPrint UI:
OctoPrint software was originally for plastic printing. Octoprint is the interface between the Printer and the printing instructions created by Slic3r.	
; Updated OctoPrint UI:
We removed unnecessary UI elements, simplified the layout, changed the theme to University of Idaho colors, and added some controls.
; TIG Welder Controls
The TIG 3D metal printer has new controls that needed to be added to both the Slic3r and OctoPrint GUI's.	
; OctoPrint TIG Welder Controls
We added the TIG Welder commands as buttons in OctoPrint
400px|center
==Schedule==
Fall 2017
:*Gather Specifications and Research Software
:*Research OctoPrint Host Software
:*Customize GCode File output via Slic3r Software
:*Design Review
Spring 2018
:*Make Modifications to OctoPrint Software
:*Custom GCode commands
:*Add Mark II commands to OctoPrint UI
:*Integrate with the Mark I Metal Printer
:*Add Features specific for the Mark II Metal Printer
:*Documentation
See Schedule Gantt Chart in Documents Archive section
==Future Plans==
Slic3r
:*New Print-Path Algorithm 
:*Automatically change print parameters based on current print progress
OctoPrint
:*GCodeViewer 2D output of print
:*Web Camera to watch prints
:*Create 3D wire-frame model of print with temperature/heat map from infrared camera
=Team Information=
Photo	Members
 	Pictured from left to right: 
*Tim Clemans,
*Jonathan Buch,
*Michael Madsen,
*James Young,
Photo	Member Bio
 Jonathan Buch	
Major: BS Computer Science
Graduation Date: May 2018
Bio: While I am currently focused on cybersecurity work, I particularly enjoy software testing and evaluation. My interests include small electric powered vehicles, rhythm games, and working with new technologies.
Email: buch4710@vandals.uidaho.edu
 Tim Clemans	
Major: BS Computer Science
Graduation Date: May 2018
Bio: I enjoy blues rock, fruit salad, and hiking near majestic mountain streams. I'm interested in information security, software engineering, and web development.
Email: clem8649@vandals.uidaho.edu
 Michael Madsen	
Major: BS Computer Science
Graduation Date: May 2018
Bio: I focus on protecting our digital identity by promoting proper Cyber Security and Information assurance practices. I believe our God given right to life, liberty, and the pursuit of happiness requires qualified individuals standing against those taking advantage of the vulnerable. I enjoy Firefly, board games, Marvel Comics, and spending quality time with family and friends. 
Email: mads2998@vandals.uidaho.edu
center|200px James Young	
Major: BS Computer Science
Graduation Date: May 2018
Bio: International traveler by day, computer programmer by night. Special interests include A.I., media editing, and Japanese.
Email: youn5393@vandals.uidaho.edu
=Document Archive=
Schedule
:*
Presentations
:* Design Review: 
:* VandalForge Project Status Report (Design Review 2): 
:* Expo Technical Presentation: 
Expo Poster 
:*
Project Documents
:* Quick Start Guide: 
:* Final Report: