Date of Award


Document Type



Computer Science


Dr. Mirek Mystkowski


3D Printing, sometimes also referred to as Additive Manufacturing, is a technology that has garnered a lot of attention in the past several years. While the technology has attracted a significant community of hobbyists, the benefits of the technology have also been recognized in manufacturing. While there are many different types of 3D Printing techniques, the most common type is Fused Deposition Modeling (FDM), mainly due to its relatively low cost compared to other types. However, the technique also present a significant limitation: it tends to struggle with models that have overhanging parts. When a layer is extruded by an FDM printer, it will only stay in place if there is something for it to rest on from below. Overwise, it will fall onto the print bed due to gravity. In a lot of cases, the most feasible way to solve the problem of overhangs is through printing external support structures. The process of designing and adding support structures to 3D models can be very time consuming, so many developers have attempted to write programs that generate these structures automatically. The process of generating external support structures presents several challenges, attempting to create supports that are stable, but also use the least material and take the least time to print. The purpose of this paper is to present the challenges that come with designing these programs, and the methods used in the programs to overcome those challenges.