key: cord-0069146-jovfxswk authors: Budinoff, Hannah D.; McMains, Sara title: Will it print: a manufacturability toolbox for 3D printing date: 2021-10-29 journal: Int J Interact Des Manuf DOI: 10.1007/s12008-021-00786-w sha: 8e088ebf77ad3556cc9fa63845a36ad5a60a697d doc_id: 69146 cord_uid: jovfxswk This study presents the development of a novel MATLAB-based virtual prototyping tool called Will It Print that evaluates part geometry to check for compliance with design-for-additive-manufacturing guidelines relating to manufacturability. Specifically, the tool analyzes the part geometry for potential problems regarding warping, toppling, poor surface finish, and small or overhanging features when the part is produced using fused-filament fabrication. This tool helps designers evaluate the manufacturability of their parts and provides suggestions to change part geometry and orientation to avoid print failures and improve part quality. In this study, Will It Print was used to redesign several models and to choose a build orientation for 3D printing. The original and redesigned models were printed and compared. The redesigned models had lower scrap rates and improved quality. Our open-source MATLAB tool enables novices to engage in virtual prototyping for 3D printing so they can print high-quality parts without inefficient trial-and-error printing. This tool will be especially helpful for students and practitioners with limited access to a 3D printer, such as in remote learning modalities, which have become prevalent in recent years. Additive manufacturing (AM), often called 3D printing, has enjoyed increased popularity, due in part to the geometric freedom it enables. AM can be used to create complex, lightweight structures that would be infeasible to create using traditional manufacturing processes. However, this freedom of geometric form heightens the need for guidance when manufacturing parts using AM [1] [2] [3] [4] . In AM, interactions between process parameters (e.g., build orientation) and part geometry can significantly influence part quality, making it difficult to predict if a part can be manufactured without failures and with acceptable quality. Because design and production outcomes are so intertwined, designers must also act as production engineers and make decisions regarding printing process parameters [5] . However, novices may struggle to design objects that can be printed successfully using AM. One common AM process is fused filament fabrication (FFF), often referred to as fused deposition modeling. FFF can be used for a variety of applications, such as rapid tooling, surgical aids, and prosthetics [6] . Also, its low cost and accessibility help designers to rapidly prototype products that will ultimately be man-ufactured with other processes. When designing objects to be produced using FFF, novices have difficulties designing printable parts due to a lack of understanding of the FFF process itself [7] . One study found a failure rate of nearly 20% due to poor design by novices [8] . To improve the use of AM, it is necessary to shorten cycle times and reduce the number of failed prints by giving novice users manufacturability feedback and identifying risky orientations and other common problems before printing. We focus on improving FFF usage because of its widespread use in education and its frequent use in the prototyping process in industry. Reducing the number of failed parts in FFF utilizing virtual prototyping will enhance the sustainability of the process by reducing energy consumption and material waste [9] , and will also decrease prototyping iteration times in education and industry. Insights from studying virtual prototyping for FFF can improve DfAM for other more expensive AM processes, such as selective laser sintering or selective laser melting. Historically, attempts to improve the manufacturability of a part and reduce its manufacturing cost occur late in the design process, if they occurred at all [10] . Prediction of manufacturing defects is a critical but underutilized method to decrease and mitigate failures within manufacturing processes (a goal referred to as zero-defect manufacturing) [11] . Manufacturability analysis systems can promote virtual prototyping and concurrent engineering practices where designers analyze the design's manufacturability earlier in the design process [12] . Early manufacturability analysis can help designers avoid spending development time and budget on design concepts that would be prohibitively difficult to manufacture. A widely cited rule of thumb states that implementing a design change increases development costs by a factor of 10 between each phase of the design process (e.g., conceptual design, detail design) [13] . Despite the benefits of early consideration of manufacturing constraints, no comprehensive manufacturability analysis system exists for AM processes. In industry, designers typically learn about AM limitations and design rules through previous experience and experimentation and rely on 'selfdeveloped design guidance' to guide their design decisions [5] . There is a growing need for design for additive manufacturing (DfAM) knowledge, tools, rules, processes, and methodologies to help designers utilize AM technologies effectively during the design [3, 4, 14, 15] . DfAM training has been piloted at many universities [8, [16] [17] [18] [18] [19] [20] and in industry [21, 22] . However, the impact of part geometry on AM manufacturability is still poorly understood. Insights can be gained from experimental research that seeks to evaluate the impact of printing parameters (e.g., build orientation, layer thickness, and infill rate) on dimensional accuracy. However, this research is hard for a novice designer to translate into actionable design choices because it is often based on experimentation from a single printer and the frequency of occurrence of the different problems is unclear. To the authors' knowledge, no systematic evaluation of the frequency and severity of printing failures or failure mechanisms has been attempted for FFF. In an effort to translate experimental and experiential knowledge into actionable design guidance, many lists of design rules and guidelines have been developed, with varying levels of specificity [4, 23] . As summarized by [3] , some of these lists have been developed by companies such as Stratasys, Materialise, and Shapeways. Some sets of guidelines and principles have also been developed in academia [8, 16, 21, 22, [24] [25] [26] [27] [28] [29] [30] [31] . The format of the lists of guidelines can vary, such as worksheets [8, 32] , sets of printed cards with heuristics [16, 28] , and software-based versions, which use a GUI to show a designer a list of guidelines [24, 33, 34] . While there is variation in the content and format of the lists of heuristics, most sources tended to cite similar guidelines. We have restricted our focus to guidelines related to printing success and the geometric accuracy of the printed part, which we refer to as 'manufacturability guidelines.' Table 1 summarizes some of the most common manufacturability guidelines for FFF that have been described in literature. A limitation of such design principles or heuristics lists is that they rely on the designer to manually check for compliance using their own judgment. Often, suggestions can be conflicting and difficult to reconcile with each other. Interview studies have found this process to be challenging for novices trying to use FFF technology to fabricate a part, especially when novices must select a build orientation for parts with overhanging features [7] . Using a computational approach to check compliance frees the user to weigh tradeoffs between different outcomes (e.g., choosing a build orientation with a larger build time because the quality of the part will be better). While manufacturability-analysis systems have been built for other, more traditional manufacturing processes [12, 37] , less has been done to develop manufacturability analysis systems for AM since it is a relatively young technology. Some software tools or algorithms have been proposed in academia to automatically assess part geometry to determine if the part meets a particular DfAM guideline. However, these solutions tend to evaluate one or two manufacturability problems, such as features smaller than recommended by AM design guidelines and presence of support material [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] . Further, these systems are not open-source or available to the general public to use. Some existing commercial or freeware solutions, such as Meshmixer or Shapeways, assess certain aspects of manufacturability for AM. However, the main focus of these solutions is to help more experienced users select process parameters and build orientation, not on helping novices understand AM manufacturability, so little advice on design improvements is given. There is a [8, 25, 29, 36] Warping Large faces on the build plate tend to warp. Designers should change part geometry or orientation to reduce the size of the face touching the build plate. [8, 29] paucity of robust, open-source tools that can evaluate a comprehensive set of manufacturability guideline violations and provide redesign guidelines. Such virtual prototyping tools can improve prototyping efficiency, especially in remote learning modalities, which have become prevalent since the COVID-19 pandemic. As Industry 4.0 and cyber-physical systems continue to mature, it will become increasingly important to develop digital twins of manufacturing processes, such as the one we present here. This study introduces a MATLAB-based manufacturability analysis tool to help novices avoid failed prints by analyzing part geometry in combination with printer parameters. This system, which we call Will It Print, improves upon the typical design process of novices (i.e., printing parts and then making iterative design changes when build failures or poor quality are observed). The source code for this tool is available on the first author's GitHub [50] . Our system was developed based on an observational study of common problems in a university makerspace and a literature review on AM geometric inaccuracy and failure. Will It Print analyzes parts for their suitability to be manufactured using FFF. Contributions of this work include: -Categorization of the frequency and cause of common problems leading to build failures and poor quality in parts made using FFF -Development of algorithms to predict the occurrence of common FFF problems -Development of an open-source MATLAB tool to enable virtual prototyping for FFF that incorporates design feedback and suggestions for redesign, which can promote better DfAM usage in educational and industrial contexts. In addition to reviewing common AM-manufacturability guidelines (summarized in the previous section) to determine what problems to assess in a computational tool, we evaluated parts printed by novices using FFF machines. The goal of evaluating novice parts was to determine the frequency and severity of common manufacturability problems. We reviewed photos and written descriptions of parts printed using FFF by students in a sophomore-level introduction to manufacturing course. This research study was approved by UC Berkeley's Committee for Protection of Human Subjects, ID 2018-08-11327. Informed written consent to participate in the research was obtained before the start of the study. Students were asked to submit homework and project assignments where they selected a 3D model, printed it themselves, and then evaluated the print quality. They were asked to document their observations with photos and written descriptions of the problems they encountered with printing failures or poor quality of their part. We examined approximately 75 artifacts from a sample of 58 students who consented to participate in our study. Printing was conducted in our university makerspace, chiefly using Ultimaker 3 and Type A Series 1 Pro FDM printers with PLA filament. Students were generally novices at 3D printing: 47% of students had never used a 3D printer before enrolling in this course. A subset of the students were experienced: 25% of students had printed many parts before. Some prints were successful, and students reported finding no errors on their part. However, most students described encountering printing failures and issues with the observed quality of their parts. Out of the descriptions of 74 artifacts that we reviewed, issues with print failures or geometric inaccuracy were identified in 54 descriptions (73%). We sought to determine common issues the students described. Based on our study of the existing literature on AM-printability, we determined if its cause was due in part to problems with part geometry or part orientation. We excluded problems that were not influenced by part geometry or orientation, such as issues with poor filament retraction, as these were outside the scope of our study. The most common issues students reported were related to interactions between build orientation and part geometry such as poor surface quality due to stair-step error ( Table 2 ). The frequency counts used in Table 2 are not exclusive; for example, a student might have had problems with small features and surface finish on the same part. Problems that resulted in part failure were categorized as high severity, while problems that reduced part quality were categorized as low severity. Some examples of common issues with student artifacts are shown Fig. 1 , including a drawer divider (a), which exhibited significant amounts of warping; a cell phone case (b) with drooping filament because it was printed in an orientation with many overhanging faces; a small figurine of a cat sitting on a throne (c) with missing detail on the cat's face and crown; and a keyboard cap (d) printed with its top face nearly horizontal, so the stair-step error is high. Students were often able to recognize the cause of their poor-quality results themselves, but only after they had printed their part. For example, Participant X remarked that "The inner [sic] had a nicer finish quality than the outside. I think this is because the outside surface was right on top of the support structure and the filament drooped." Participant Y said, "The biggest problem is the surface finish on the top is not great, in large part [due] to the comparatively large layer height." This lack of awareness of common printability issues before printing highlights the need for design tools to help novices analyze part geometry before printing. Guided by common DfAM guidelines and frequently observed student printing problems, we decided to develop a tool that could analyze compliance with the following FFF manufacturability guidelines: -Avoid printing tall parts with a small base because they tend to tip. -Avoid small features because they may fail to print or print with poor quality. -Avoid orientations that cause high stair-step error on important faces. -Avoid long faces on the build plate because they tend to warp. -Avoid overhanging faces because they tend to have poor quality due to filament drooping or because support material removal mars the surface. These general guidelines have been mentioned in the literature before, but no existing design tool analyzes compliance with these guidelines. Warping and tipping, in particular, have not been the focus of much prior work. The details of how we analyze these guidelines will be discussed in subsequent sections. Most of the analyzed guidelines depend on both part geometry and build orientation, meaning compliance with the guideline needs to be evaluated whenever a designer changes build orientation. We developed our tool, Will It Print, to evaluate compliance with the guidelines for the designer's specific part as the designer changed the part's build orientation to enable the designer to explore the impact of orientation. This tool is implemented in the form of a MATLAB-based GUI (Fig. 2 ). Designers start their inter- action with the tool by uploading an STL file that captures the part geometry they wish to analyze. Additional required inputs, which are currently hardcoded, include machine parameter information. After the part is uploaded, Will It Print analyses the STL and the designer-selected orientation for guideline compliance. To communicate if the part geometry and orientation are not in compliance with a guideline, Will It Print issues visual warnings, plotted on the part geometry. Using visual information to communicate DfAM design rules has been found to enhance designers' perception about ease of understanding the rules [21] . The warnings, which are graphically plotted over the user's part, quickly communicate compliance information to the designer. Design-support tools can serve as an extension of designers' short-term memory [51] , which is limited to a few cognitive units or chunks of information. Evaluating each guideline separately, on-demand, avoids inundating designers with too much information. The designer can see the results of each analysis, one at a time, by clicking on a GUI button associated with that analysis. If the part and orientation are not compliant, then the designer will see a visual warning. For example, the designer can check to see if Will It Print highlights any part features as too small. Then, the designer can move on to the toppling analysis to determine if the geometry and current build orientation result in a toppling warning. The GUI has "Info" buttons next to each guideline, which display a brief explanation of the guideline and general suggestions for how the part could be modified (Fig. 2) . The explanations, which appear in a pop-up window, are included as an appendix to this paper. If Will It Print issues a warning, the designer can alter the build orientation of their part in the tool and evaluate the new build orientation (warnings will be recalculated given a new orientation). The designer may also decide to modify the part geometry, but any such changes to geometry must be made in a separate CAD package. The updated STL file must then be re-imported into Will It Print to evaluate any effects of the changes. The steps for user interaction are shown in Fig. 3. In the following subsections, we provide detailed descriptions of the algorithms used to calculate compliance with the guidelines for toppling, small features, surface roughness, warping, and support material. We use a spherical coordinate system for our analysis, oriented to the normal vector, n f , of each facet of interest. The build vector, B, is oriented perpendicular to the build plate of the FFF machine, orthogonal to the layers that are deposited. We define θ as the angle between n f and B. The polar angle is critical because it determines if support material is needed and influences the stair-step error. In FFF, support material is needed to support overhanging faces. Support material is often added beneath a facet when the angle, θ , between n f and B is greater than a threshold angle, θ sup . An angle of θ sup = 135 • is typical for FFF processes. There are several assumptions in our approach. We assume that AM process parameters (e.g., layer thickness, temperatures, infill) are fixed. We assume that the user will calibrate the system based on their own 3D printer before use. The thresholds used in Will It Print for displaying warnings about different guideline violations are set in the current configuration based on our observations, but they can be customized to fit a different printer or AM process. Different printers and processes may require evaluating different guidelines, but we assume the user can conduct testing to set these thresholds to match their printer's capabilities. We also assume the position of support material. Different slicers generate support material using different methods, so the exact form of support material is unknown. To simplify our calculations, we assume that each point where ray shooting identified a facet in need of support is in contact with support material. It is common for DfAM guidelines to include instructions to avoid very small features. Very small features may fail to print because they will not be detected during the slicing process. Additionally, they may not print well because the positioning system on the printer cannot make movements that are sufficiently sharp or is incapable of depositing filament to the desired accuracy. Small features may break off after printing as well. We employed the method described by [43] to evaluate the presence of small features for a given part. This approach is similar to that taken by [46] . Here, we provide a summary of this method, which uses a top-hat transform to identify small features on a voxelized representation of the user's part. The STL representing the part geometry is transformed into a binary voxel model using the polygonal mesh voxelization implementation by [52] . The voxelization process produces sets of voxels representing the part, Ω, and the complement of Ω, i.e., the non-occupied space around the part,Ω = R 3 \Ω. Thin features are identified as regions where the local part thickness is less than a threshold, τ , set to the minimum recommended feature size for the relevant printing technology. To ensure that thin features are detected, the resolution of the voxelization must be smaller than τ . We employ set dilation and erosion to identify thin regions, Θ, of the voxelized part, Ω. To identify these thin regions, we define a 3D unit ball B, where the Euclidean distance is less than or equal to 1, following [43] : This unit ball can be scaled by some factor, s, and used to find the multi-scale dilation δ B and erosion B of Ω at scale: Thin regions, Θ, of the voxelized part, Ω, are identified using a multi-scale top-hat transform, setting the scale to the threshold, s = τ : Part features can generally be divided into positive (i.e., walls, extrusions) and negative (i.e., holes, extruded cuts) features. The voxel set, Θ, represents thin positive features smaller than the printer resolution (e.g., sharp exterior corners, thin walls, and small extruded features). To identify negative features smaller than the printer resolution, Φ (e.g., sharp interior corners, shallow hole features, and small holes), this process is repeated, reversing the roles ofΩ and Ω. We use the Euclidean distance transform function bwdist in MATLAB to identify Θ and Φ. Next, voxels are classified (based on voxel connectivity) and one-voxel-thick 'interface shells' that have no relevance for printability are removed, as described by [43] . Although Telea and Jalba calculate and report metrics meant to convey voxel importance in Θ and Φ, we display all of Θ and Φ to the designer. In this way, the designer can interpret the importance of the feature. The importance of features can vary for different designers, parts, and part functions. To communicate the location of small features to the designer, the part is displayed, and all voxels in Θ and Φ are highlighted (using different colors for the negative and positive categories). The initial part is displayed without highlighting in the case where there are no voxels in Θ or Φ. Figure 7a shows an example of the Will It Print output for small features, where voxels in Θ displayed in green and labeled 'eroded' and voxels in Φ are displayed in blue and labeled 'filled in'. Some students had tall parts with a small base (i.e., the part face printed on the build plate) fail to print. Parts would topple over, peeling off the build plate and causing the print to fail. We will refer to this error as toppling or wobbling. This phenomenon has been observed in an analysis of common printing problems [29] , but has not been the focus of much study. In one prior study, this failure mechanism was predicted based on the aspect ratio (the ratio of the model's height to its width) of the part in a particular orientation [47] . To avoid toppling, we evaluate if the build orientation and geometry was such that the part was stable on its base. To simplify the approach, we ignore adhesion forces and focus on the toppling forces. Toppling occurs when the center of mass, c, projects outside the part's base. In order to determine when toppling will occur, we need to calculate the position of c and compute the area where the part's base, and any necessary support material, will touch the build plate. We calculate c for the final, completed part because that is when the part is at its tallest and c is at its highest position. The location of c is calculated based on the voxelized part geometry. The position of c is rotated each time the user rotates the orientation of the part. To determine the area on the build plate that is in contact with the part itself or in contact with any necessary support material, we use ray shooting (Fig. 4) . We shoot rays through a grid below the lowest z-height in the current orientation of the STL. The grid spacing used in the current implementation is 0.2 mm. Ray shooting identifies intersections with the part STL facets, which allows us to identify each point on the grid that is in contact with the part's base, a i . We refer to the set of such points as A = {a i }. Each point on the grid where support material connects an overhanging face to the build plate, a s j , is also found. We refer to the set of such points as A s = {a s j }. These points are also found by using ray shooting to identify grid points below facets on the part have a normal vector where the θ is greater than θ sup . We only consider the facet with the lowest intersection point from each ray to ensure only support material that touches the build plate is included. Once the center of mass, c, and sets A and A s are identified, the next step is to calculate whether toppling will occur or not. Toppling occurs when the projection of the center of mass on the base plane is outside the convex hull of points defining the base of the part. In order for the part to avoid toppling when small forces are applied to the part, we define a toppling angle, γ , which defines a 'safety zone' that can be compared to the base polygon, similarly to the approach of [53] and [54] . In our algorithm, the base polygon is the Fig. 4 Shooting rays (yellow) to find each grid point that is beneath the base of the part, a i (light blue), or beneath facets that needs support material, a s j (green) convex hull of the union of the sets of the points A and A s . To find the safety zone, we project c into the plane of the build plate and define a circle of radius r around c, where r is calculated as: If the safety zone is entirely contained within the base polygon, c is unlikely to move outside of the base polygon, and the part is unlikely to tip. MATLAB's inpolygon function is used for this purpose. The function returns a vector containing a 1 for every point defining the edge of the safety zone that is contained inside the base polygon. Examples of acceptable geometry and unacceptable geometry are shown in Fig. 5 . Will It Print displays the base polygon in red to communicate that the part is at risk of toppling (i.e., when the safety zone is not entirely contained within the base polygon), and the base polygon is displayed in black if the part is not at risk of toppling. The toppling angle, γ , in our analysis was based on observing student failures to be 5 • for parts with a width of 30 mm or less and 10 • for parts with a width larger than 30 mm. Warping has been observed on parts printed on a wide variety of printers [55] [56] [57] [58] [59] . Long parts tend to curl or warp when printed with a long face on the build plate. The severity of warpage can depend on the particular printer used, but long parts often print with substantial warpage, with the bottom face visibly curling up at the outside edges of the part. Warping is caused by the thermal gradients in the part that are produced during the printing process. During printing, the surrounding environment is below the temperature of the heated filament. As the extruded material cools, it experiences thermal contraction, while also adhering to the build If the safety zone (yellow circle) around the projection of c is entirely contained within the base polygon (blue), as shown in a, toppling is unlikely, but if the safety zone is not fully contained as shown in b, toppling is likely. Figure inspired by [53] plate or to previous layers of material), which constrains contraction and causes stresses to develop within the part. These thermal stresses can cause deformation, which we refer to as warpage, during printing or after removal from the build plate. More research is needed to determine the relationship between part geometry and warpage. However, a consensus in existing research is that the size of the part is a crucial factor [55] [56] [57] . A recent evaluation of analytical and empirical models found that the length of a rectangular part had the strongest effect on the total amount of warpage deviation [60] . Based on this research, we use the largest dimension of the part area on the build plate to estimate warping risk. We find the points on the build plate that are in contact with filament, A and A s , following the procedure described in Sect. 2.2.2. Next, we isolate the boundary points, which define each area(s) of the part in contact with the build plate, using bwboundaries in MATLAB. The largest dimension, Λ, of each separate, disconnected area on the build plate is evaluated by finding the dimensions of the axis-aligned bounding box of each connected area on the build plate found using regionprops in MATLAB. A warping warning is issued when Λ for any area exceeds an experimentally determined threshold, Λ w . In the current configuration of the tool, we use Λ w = 75 mm. An example of the warping warning is seen in Fig. 9a. Will It Print quantifies the stair-step error using surface roughness because this metric is familiar to designers and these measurements have a similar scale to the stair-step error. We estimate the average surface roughness according to equations derived from [61] . The semi-empirical model they propose calculates average surface roughness on a facet, Ra, using the angle, θ , between the facet normal and the build direction, and the layer thickness, h. The empirical relationships used in Will It Print are displayed in Eq. (5), where Ra (a) (b) Fig. 6 There is good agreement between predicted and measured average surface roughness, Ra, as a function of θ has units of μm, h has units of mm, and the angle between the surface normal and θ has units of degrees. Before implementing the empirical relations shown in Eq. (5), we verified that they adequately predicted surface roughness measurements for parts printed on a range of FFF printers. The empirical equation shows good agreement with experimental data (Fig. 6 ) of average surface roughness on parts made via FFF from two different studies [62, 63] . Equation (5) is used to calculate the surface roughness for every facet in the part STL. To identify part areas where high surface roughness is expected, the system highlights all facets where the surface roughness is predicted to be larger than a threshold of acceptability, Ra max , which can be set by the user. An example of the roughness warnings is shown in Fig. 7b. In FFF, support material can negatively impact the final quality of the part. Overhanging features generally have higher surface roughness, although the exact magnitude of the increase is affected by the type of support structure used [64] . Traces of support material may be left behind after manual removal [65] . Support material may be impossible to remove from internal cavities with limited accessibility, such as deep pockets. Small or delicate part features may be severely damaged from the part during removal of support material [28] . The surface roughness calculations consider the impact of support material on surface roughness, but the surface roughness warnings do not address the other repercussions of support material (e.g., support material in hard-to-access areas). To emphasize these possible repercussions to the user, we perform a separate operation to flag where support material is needed. First, the angle between the normal vector of each facet on the STL and the build direction, θ , is calculated. Then, facets where θ sup ≤ θ ≤ π are highlighted to identify where support material will be needed. To illustrate the utility of Will It Print, we used the tool to evaluate several parts and inform redesigns. The original and redesigned parts were then printed using an FFF machine to validate that the design changes improved print quality. All parts were printed on an Ultimaker 3 (Ultimaker, Utrecht, Netherlands) using PLA filament with a layer thickness of 0.1 mm, using a brim to improve adhesion to the build plate. We chose three models for evaluation from Thingiverse, a popular file-sharing network for CAD models intended to be 3D printed. The models that were evaluated are: a cat figurine [66] , soldering fingers (a tool meant to help hold wires together for soldering) [67] , and a cell phone stand [68] . The original CAD models are shown in Figs. 8, 10, and 12. We identified these files from a list of popular files on Thingiverse. We chose these files because they were representative of the typical size and complexity of parts printed by novices, and they exhibited a range of feature sizes and types to illustrate the functionality of Will It Print. As mentioned earlier, Will It Print flags issues for the designer, but the designer must decide on the best changes to modify the part or build orientation. For illustration purposes, the first author of this study analyzed each model in Will It Print, decided on geometry changes to the model or build orientation, implemented the changes, and then re-analyzed the part in Will It Print, as detailed in the following text. We created a CAD model from the original STL file for the solder fingers and cell phone stand parts to allow for easy changes to part geometry. For the cat model, we modified the original STL file using Meshmixer, and the revised geometry was exported as a STL file. Table 3 shows the time required to process the original models on a laptop computer with 8.00 GB of RAM and an Intel Core i5-7300HQ CHP @ 2.50GHz. The initial running time takes less than 30 seconds for small parts. Most of this initial computation time is due to the voxelization of the part, which only has to be performed once, when the part is first loaded. If the user re-orients the part, the error calculations are performed again on-demand. For errors that do not involve ray shooting (i.e., overhang, surface roughness, and small features), the updated results are plotted in real-time. For errors that do involve ray shooting (i.e., toppling analysis and warping analysis), the model needs to be re-voxelized. This computation time depends on the size of the model (i.e., width, height, and length of its bounding box) and the number of facets used in the STL. The original cat model was less than 50 mm tall and had a wide base. The printing orientation on Thingiverse was with the large base on the build plate. There were fine, detailed features in the face and ears. Will It Print produced two main warnings when this original model was input: small features and surface roughness (Fig. 7) . At its default orientation, the only "overhanging" feature was the base, in contact with the build plate. Toppling and warping were not predicted. To reduce the risk of poor quality, several features were redesigned. The ears were thickened and shortened slightly. The tail was separated from the body of the cat. When the redesigned part was analyzed in Will It Print, the small feature warnings were greatly reduced. The surface roughness predictions were not affected. To confirm these predictions, both versions of the cat model were printed (Fig. 8) . On the original model, surface roughness issues were observed in the head and on the tail. The sharp, pointed detail on the upper-most tips of the ears was not printed. The gap between the body and the tail was completely closed. On the revised model, several of the quality issues were successfully resolved. The larger ears printed successfully, without missing detail. The gap between the body and tail was visible in the printed model. The surface roughness was approximately the same between the original and revised models, which is expected because we did not change the build orientation. On Thingiverse, the default printing orientation of the soldering fingers model was shown with the largest face on the build plate. Will It Print flagged this orientation as at risk of warping and also showed that the tops of the "fingers" would have high surface roughness (Fig. 9) . Toppling was not flagged, and the only overhanging face was the base, flat on the build plate. The sharp slots between the "fingers" were highlighted as small features, indicating that the slot features would print slightly filled in. To eliminate these problems, the part was re-oriented and the angle of the slanted surfaces Original soldering fingers part errors was changed slightly. In this new orientation, the top of the "fingers" was parallel to the build plate, and support material was added underneath the base of the part. With these changes, the part was no longer at risk of warping and the surface roughness warnings on the top of the "fingers" were eliminated. In the printed parts, the surface roughness of the tops of the "fingers" is much improved on the revised model (Fig. 10) , with less visible stair-step error. However, there does not appear to be a significant difference in warping. The large fillets and use of brim may have negated any risk of warping. The surface of the slanted area in the "palm" of the model is also rougher in the altered model than in the original model, as the tool predicted. The designer must decide where high surface roughness is acceptable. For the phone stand, the printing orientation used by the part creator was with the large base touching the build plate. At this orientation, Will It Print flagged warping, and showed some areas of high surface roughness (Fig. 11) . Additionally, Will It Print flagged the interior corners of a triangular cut as likely to be filled in. At this initial orientation, there were several overhanging faces: inside the triangular cut; and inside the curved support area of the stand. Next, several Fig. 10 Comparison of nominal geometry with printed geometry for the original and revised soldering fingers models changes were made to improve the model. The triangular cut was removed from the CAD model. The build orientation was changed so that the positive x-axis shown in Fig. 11 became the build direction. In this new orientation, the previously overhanging faces no longer needed support. A warping warning was no longer issued. This orientation was also predicted to eliminate rough faces on the model because all facets were oriented perpendicular or parallel to the build direction. The quality of the printed stands generally matched the prediction of Will It Print. The original model, printed with its base on the build plate, failed to print several times due to warping. The brim around the base of the part peeled off the build plate and the part became dislodged. On the final successful build of the original model, there were additional quality issues (e.g., noticeable drooping of filament on overhanging faces, visible stair-step error on the top of the stand, and warping, as seen in Fig. 12 ). In comparison, the quality of the revised model was noticeably improved. There were no failed prints at this orientation. All surfaces were smooth, with low surface roughness, no drooping filament, and no warping. We have conducted preliminary user testing of Will It Print. After utilizing Will It Print in a redesign challenge (details of challenge described in [69] ), participants responded to questions about the ease of use of the tool, based on the System Usability Scale (SUS) [70] . SUS is a flexible assessment scale that can evaluate the usability of a wide variety of tools and systems. The SUS average was 61.3 (N=19), indicating marginally acceptable usability [71] . Improvements should be made to improve its usability further before largescale deployment. However, feedback was generally positive, especially with inexperienced participants. Participants were asked to complete an additional redesign challenge, using a list of design guidelines rather than Will It Print. After utilizing both tools, participants were asked if they preferred Will It Print or a list of design guidelines. The majority of participants (61%) preferred the software tool. A chi-square test of goodness-of-fit was performed, but the null hypothesis that the tool versions were equally preferred was not rejected, X 2 (1, N=41)=1.56, p=.21. Fig. 12 Comparison of nominal geometry with printed geometry for the original and revised phone stand models When learning how to print a part using FFF for the first time, novices face the daunting challenge of making many conflicting decisions related to part geometry and build orientation. They often lack the experience or knowledge to make those decisions efficiently. Will It Print helps novices navigate these decisions by creating a virtual prototyping environment, where they can investigate how changes to part geometry or build orientation impact the quality of their final part, even without access to a 3D printer. We expect that Will It Print will be useful to a variety of users, such as engineering students participating on design teams and novice makers using 3D printing in makerspaces. Including Will It Print in a sophomore-level design course was found to be associated with broader student participation in the physical prototyping process [72] . Our experimental results show that using the tool can help a user to identify most common issues that cause printing failure or poor part quality. We avoided high surface roughness, loss of small features, and warping (which caused print failures) on different models using Will It Print to identify problematic geometry or build orientations. However, our models were already optimized for 3D printing to a certain extent because they were found in a list of popular Thingiverse models that had previously been printed several times. Will It Print could be even more useful for analyzing CAD models created by novices who have never 3D printed. Another consideration about our model choice is their size: the models were relatively small with quick running times. The system can be further evaluated using larger and more complex models. The results also show some limitations of the current status of the tool. Some of the warning thresholds are empirical and need to be calibrated for a particular FFF printer. For example, the warping threshold, Λ w , was based on observations on a Type A printer, but our experimental parts were printed on an Ultimaker S3. Warping warnings were issued for the solder fingers part in its initial orientation, but little warping was observed on the printed part. However, it is easy to update these factors in the current framework, and our initial estimates for the thresholds can serve as a starting point for users. Similarly, different users can customize the tool to match their perceptions on acceptable thresholds of quality, like the acceptable level of surface roughness. Several additional capabilities could be added to Will It Print. As summarized in [73] , updating DfAM tools with more interactions with process parameters is a challenge across AM research. In future work, our tool could be updated to consider the impact of interactions between part geometry and process parameters on build errors (e.g., how using a brim or raft impacts warping). Other capabilities include considering the size of overhanging faces in issuing warnings (because small overhanging faces can be self-supporting and may not cause printing problems) and highlighting areas on the part below supported faces (because support material can mar such surfaces). A version of the tool using Python, which utilizes a free license, could be created. As a manufacturability feedback tool with code shared on the internet, Will It Print can enable further work to explore open research questions related to design science. For example, we purposely chose to incorporate frequent user interaction in our tool. The user must analyze each printing error separately, and results are only plotted when the user requests them. Many other DfAM tools that have been developed are often framed as an optimization problem, where the GUI is only used for plotting final results, and a designer cannot interact with the tool to explore design or manufacturing parameter changes. More research is needed to understand the appropriate amount of user interaction that encourages exploration of potential changes to geometry and build orientation and improved understanding of manufacturability, while also being useful to novices who are primarily interested in a quick check of their geometry, echoing suggestions given in [22] . While this tool is currently configured for errors observed in FFF, it could be reconfigured to analyze manufacturability problems observed in similar AM processes. Manufacturability guidelines have been developed for many AM processes, such as selective laser sintering or selective laser melting [26, 74] . Many geometry constraints are relatively constant across all AM processes, such as minimum feature size, although the exact tolerance varies between processes. However, the physical processes, dynamics, and feedstock materials of each AM processes are unique [75] , and therefore failure mechanisms and manufacturing constraints will vary. In future work, we hope to conduct studies of the most common errors associated with parts printed using other AM processes and based on that analysis, to reconfigure Will It Print to reflect manufacturability guidelines corresponding to these errors. Studying these additional AM processes, which are capable of producing functional parts with good dimensional accuracy, may enable further applications of Will It Print in industry. More integration with sensing of the 3D printing process, data-driven modeling, and other Industry 4.0 techniques could enhance the industry relevance of this tool. While Will It Print is a digital twin of the FFF process (in that it is a virtual representation of a physical process), it could be enhanced via continuous update of its predictions, using real-time synchronization with sensor data [76] . Using computational means to evaluate manufacturability is helpful for various applications throughout the design process, from early design exploration to manufacturing process planning. Some tools have already been developed to screen parts for the potential benefit of redesigning that part to be produced using AM [46, 77] , but these tools do not evaluate manufacturability comprehensively, and could benefit from the insights described in this paper. Implementing rough manufacturability analysis during conceptual design could improve financial feasibility analysis, and could be followed by more granular analysis during detailed design. Manufacturability checks could also be incorporated into "opportunistic" DfAM [78] design tools, to encourage creative but manufacturable designs. During production, a manufacturability analysis system that considered more process parameter interactions would be beneficial to technicians at print centers as they choose the best orientation, layer thickness, and other process parameters for a particular part geometry. Additionally, it could be used by instructors who teach 3D printing classes who could use the tool as an "autograder," and by staff in 3D printing centers, who are often untrained novices themselves [7] . These examples illustrate the wide range of applications impacted by this and future computational tools that can predict AM manufacturing constraints. This study introduced a virtual prototyping tool to help designers explore the complex interactions between part quality, build failure mechanisms, and build orientation in FFF. By evaluating the frequency and causes of different printing errors encountered by novices, we developed a holistic assessment of manufacturability that evaluated geometry and orientation risk factors related to the most common problems in a single, comprehensive tool. Will It Print enables automatic manufacturability analysis and promotes more efficient DfAM, eliminating costly print-and-check behavior and enabling virtual prototyping to assess manufacturability for designers without access to a 3D printer. Our evaluation of common print failures and quality issues improves the current understanding of restrictive AM concepts, which is a critical step towards developing more complex DfAM automation tools. The open-source nature of our tool enables other researchers to adopt and improve our tool. Developing and refining DfAM design tools and best practices is essential for improving the efficiency of AM usage in education and product development and can ultimately expand the number of applications using AM as a production method. Window category Small features Small features, including holes, may fail to print if they are smaller than 2 mm. Features dimensions should be equal to or larger than 2 mm in all directions to ensure they will print successfully and will not break. Also note that all sharp corners in your geometry may print slightly rounded. You can avoid this by avoiding sharp corners. Long areas on build plate tend to curl or warp, peeling off of the build plate and potentially ruining your print. Reduce the length of the area touching the build plate by re-orienting the part or modifying the part geometry. Rounding sharp corners of the area on build plate can also help reduce warping. If a face is almost but not exactly horizontal, the printed surface will be rough, with each printed layer clearly distinguishable from the next. This can be problematic when it occurs on features where a smooth finish is important for aesthetic or functional reasons. Re-orient the part or change the angle of the feature. Surfaces that are exactly horizontal, exactly vertical, or within 45deg from vertical will be smoother. Surfaces that are overhanging (i.e. are oriented downward) need to be supported with extra material, called support material, that will need to be removed after printing. The base of your part, contacting the build plate, will also be printed with support material attached if you choose the "Raft" setting when printing your part. Removing support material can be difficult or impossible, especially from small cavities and from small/thin features that might break during removal. Also, removing support material can damage the surface of the part. To avoid support material on a key feature, re-orient the part or change the angle of the feature. Upward facing surfaces or downward facing surfaces that are more than 45deg from horizontal do not need support. If there is only a small area on the build plate, parts can suffer from vibration issues, especially if they are tall. Printer movement can cause the part to wobble, possibly becoming detached from the build plate. If support material is present, it increases the area of material touching the build plate and helps stabilize the part. If the sum of the support material and part area touching the build plate is small, it is best to re-orient the part or change the geometry in order to minimize part height and to ensure the area on the build plate is large enough to provide a stable base. The need for effective design guides in additive manufacturing Thinking ahead the Future of Additive Manufacturing -Analysis of Promising Industries Design for additive manufacturing: trends, opportunities, considerations, and constraints Additive manufacturing-enabled design theory and methodology: a critical review Investigation of design for additive manufacturing in professional design practice Additive Manufacturing Technologies: 3D Printing, Rapid Prototyping, and Direct Digital Manufacturing Understanding Newcomers to 3D Printing: Motivations, Workflows, and Barriers of Casual Makers The Design for Additive Manufacturing Worksheet Uncertainty and variability of energy and material use by fused deposition modeling printers in makerspaces Design for manufacturing of composite structures for commercial aircraft-The development of a DFM strategy at SAAB aerostructures A generic methodology and a digital twin for zero defect manufacturing (ZDM) performance mapping towards design for ZDM Automated manufacturability analysis?: A survey Engineering change: an overview and perspective on the literature Design for Additive Manufacturing: Past, Present, and Future Directions Optimal design for additive manufacturing: Opportunities and challenges Design Heuristics for Additive Manufacturing Validated Through a User Study Teaching design freedom: understanding the effects of variations in design for additive manufacturing education on students creativity Complex Solutions for Complex Problems? Exploring the Role of Design Task Choice on Learning, Design for Additive Manufacturing Use, and Creativity The Earlier the Better? Investigating the Importance of timing on Effectiveness of Design for Additive Manufacturing Education Break it down: comparing the effects of lecture-and module-style design for additive manufacturing educational interventions on students learning and creativity Examining the effect of design for additive manufacturing rule presentation on part redesign quality Methods and tools for identifying and leveraging additive manufacturing design potentials Design rules for additive manufacturing: a Categorisation A new methodological framework for design for additive manufacturing On design for additive manufacturing: Evaluating geometrical limitations The Development of Design Rules for Selective Laser Melting, Doctoral dissertation Proposed build guidelines for use in fused deposition modeling to reduce build time and material volume Design Innovation with Additive Manufacturing (AM): An AM-centric Design Innovation Process. Doctoral, Singapore University of Crowdsourced design principles for leveraging the capabilities of additive manufacturing A Design for Additive Manufacturing Ontology to Support Manufacturability Analysis Design guidelines for laser additive manufacturing of lightweight structures in TiAl6V4 Design for metal powder bed fusion: the geometry for additive part selection (GAPS) worksheet Design for rapid manufacture: developing an appropriate knowledge transfer tool for industrial designers Development of design guidelines for metal additive manufacturing and process selection The status, challenges, and future of additive manufacturing in engineering Design for Additive Manufacturing-Element transitions and aggregated structures Manufacturability analysis system: Issues and future trends Toward rapid manufacturability analysis tools for engineering design education Development of a CAD-integrated cost estimator to support design for additive manufacturing CAD-Integrated cost estimation and build orientation optimization to support design for metal additive manufacturing Representation and analysis of additively manufactured parts Manufacturability feedback and model correction for additive manufacturing Voxel-based assessment of printability of 3D shapes Design for manufacturability in additive manufacturing using a graph based approach Manufacturability analysis tool for additive manufacturing using voxel-based geometric modeling From Conventional to Additive Manufacturing: Determining Component Fabrication Feasibility Manufacturability analysis for additive manufacturing using a novel feature recognition technique Manufacturability analysis for additive manufacturing Design Heuristics for Additive Manufacturing Toward the ideal mechanical engineering design support system Mesh Voxelisation Make it stand: balancing shapes for 3D fabrication Automatic balancing of 3D models Warpage of FDM parts: experimental tests and analytic model A model research for prototype warp deformation in the FDM process Bricking: a new slicing method to reduce warping Warping deformation of desktop 3D printed parts manufactured by open source fused deposition modeling (FDM) system A parametric study of part distortions in fused deposition modelling using three-dimensional finite element analysis Comparison of real-time geometric analyses to predict warping deformation in fused filament fabrication Optimum part deposition orientation in fused deposition modeling Representation of surface roughness in fused deposition modeling Modelling micro geometrical profiles in fused deposition process Effect of support on printed properties in fused deposition modelling processes Perceptual models of preference in 3D printing direction Soldering Fingers Geometric Manufacturability Analysis for Additive Manufacturing, Doctoral dissertation SUS-A quick and dirty usability scale Determining What Individual SUS Scores Mean: Adding an Adjective Rating Scale Improving outcomes and participation in the prototyping process using design-for-additivemanufacturing training A call for FDM design rules to include road deposition A Designers Guide for Dimensioning and Tolerancing SLS parts Additive manufacturing methods and modeling approaches: A critical review A review of the roles of digital twin in CPS-based production systems Towards an automated decision support system for the identification of additive manufacturing part candidates Enriching design with X through tailored additive manufacturing knowledge: a methodological proposal Publisher's Note Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations The authors thank the students who volunteered to participate in this study. This material is based upon work supported by the National Science Foundation Graduate Research Fellowship Program under Grant No. DGE-1752814. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation. The authors declare that they have no conflict of interest.