G-Code Generation for Multi-Process 3D Printing Callum Peter Bailey University of Texas at El Paso, [email protected]
Total Page:16
File Type:pdf, Size:1020Kb
University of Texas at El Paso DigitalCommons@UTEP Open Access Theses & Dissertations 2016-01-01 G-Code Generation For Multi-Process 3D Printing Callum Peter Bailey University of Texas at El Paso, [email protected] Follow this and additional works at: https://digitalcommons.utep.edu/open_etd Part of the Computer Engineering Commons, Electrical and Electronics Commons, and the Mechanical Engineering Commons Recommended Citation Bailey, Callum Peter, "G-Code Generation For Multi-Process 3D Printing" (2016). Open Access Theses & Dissertations. 602. https://digitalcommons.utep.edu/open_etd/602 This is brought to you for free and open access by DigitalCommons@UTEP. It has been accepted for inclusion in Open Access Theses & Dissertations by an authorized administrator of DigitalCommons@UTEP. For more information, please contact [email protected]. G-CODE GENERATION FOR MULTI-PROCESS 3D PRINTING CALLUM PETER BAILEY Master’s Program in Electrical Engineering APPROVED: Eric MacDonald, Ph.D., Chair David Roberson, Ph.D. Michael McGarry, Ph.D. Charles Ambler, Ph.D. Dean of the Graduate School Copyright © by Callum Peter Bailey 2016 Dedication I dedicate this work to my parents, Peter and Jenny Bailey, whose unconditional love and support have given me the self-confidence and self-belief to take on the world; and to my wife, Heather, whose love has taken me on this American adventure. G-CODE GENERATION FOR MULTI-PROCESS 3D PRINTING by CALLUM PETER BAILEY, MChem THESIS Presented to the Faculty of the Graduate School of The University of Texas at El Paso in Partial Fulfillment of the Requirements for the Degree of MASTER OF SCIENCE Department of Electrical & Computer Engineering THE UNIVERSITY OF TEXAS AT EL PASO December 2016 Acknowledgements I would like to extend my acknowledgements to everyone who has contributed to this project and who has helped me during my time in El Paso. To Dr. Eric MacDonald for inviting me to work in his brilliant 3D printing group, with its wonderful people. To David Espalin for his conscientious support and remarkable ability to balance student needs and objectives with the objectives of the W.M. Keck Center for 3D Innovation. To Dr. Ryan Wicker and UTEP for creating such a fantastic facility. To America Makes for providing funding for this work. To Dr. David Roberson and Dr. Michael McGarry for taking the time to review this work in such a short time frame! To Efrain Aguilera, for being a good friend and for his outstanding contributions to both this project and to the culinary art of discada. To Jorge Ramierez, and Alfonso Fernandez for their work on the modified Lulzbot. To Jose Motta for his work on the Lulzbot, for helping to print the many test jobs included in this thesis, and for sharing with me his love of menudo. To Jake Lasley and Mike Licerio for their contributions to the GUI and other areas of the Python program. To Donna, Issac, Jaime, Kelly, Alex, Matt, Luis Jr. and Luis Jimenez in the MacDonald group for the happy memories; and to Luis Bañuelos and Antonio Zúñiga for always getting me home safely from Juárez. v Abstract Since the inception of stereolithography in the 1980s, interest in 3D printing has exploded, with desktop 3D printers now commercially accessible to the general public. In recent years, next-generation multifunctional technologies have been developed, which combine 3D printing with other technologies such as wire embedding, foil embedding, CNC machining, and robotic component placement, enabling complex parts to be made on a single multifunctional machine. However, the complexity of these integrated processes exceeds the capabilities of established design tools. To this end, this thesis aims to develop a multi-functional design solution that can automatically generate final control code for next-generation multifunctional machines, where all design specifications are defined from within a single software package. Specifically, we take on the task of automating a Lulzbot desktop 3D printer, which has been modified to utilize a custom-designed wire-embedding tool as a secondary extruder. While the algorithms presented herein have been tailored to the needs of this custom printer, the modular nature of the solution will facilitate expansion to include other multifunctional printers, including the planned low-cost multi3D multifunctional printer, currently under construction at the W.M. Keck Center for 3D Innovation at The University of Texas at El Paso. vi Table of Contents Dedication ...................................................................................................................................... iii Acknowledgements ..........................................................................................................................v Abstract .......................................................................................................................................... vi Table of Contents .......................................................................................................................... vii List of Tables ................................................................................................................................. ix List of Figures ..................................................................................................................................x Chapter 1: Introduction ....................................................................................................................1 Fused Deposition Modeling ....................................................................................................1 3D Design and Slicing ............................................................................................................2 Multiprocess 3D Printing ........................................................................................................4 Chapter 2: Literature Review ...........................................................................................................6 Multiprocess 3D Printing of Electronics.................................................................................6 Software ................................................................................................................................10 Chapter 3: Design specifications ...................................................................................................16 Software objectives: A multi-process design and slicing methodology ...............................16 Features of the Lulzbot wire-embedding printer ..................................................................18 Foundation layer generation .................................................................................................31 Chapter 4: A method for generating multifunctional G-code ........................................................33 Introduction ...........................................................................................................................33 The Python G-code Post-processor .......................................................................................38 Summary ...............................................................................................................................67 Chapter 5: Results and Characterization ........................................................................................68 Custom Printing Parameters .................................................................................................68 Testing...................................................................................................................................70 Z Calibration .........................................................................................................................72 XY Calibration ......................................................................................................................74 FeatureDemo .........................................................................................................................76 vii SquareCoil.............................................................................................................................78 IncreasingAngles...................................................................................................................80 Coil 84 Solenoid ................................................................................................................................86 Chapter 6: Discussion ....................................................................................................................89 Evaluation of print functions ................................................................................................89 Proposed Features and Future Work .....................................................................................91 References ......................................................................................................................................93 Appendix A: Software user procedure ...........................................................................................95 Appendix B: CreateSkin.py ...........................................................................................................99 Vita .............................................................................................................................................110 viii List of Tables Table 2.1 Comparison of resistivity for select conductors [20] [21] .............................................