1 Introduction

CAD/CAM is a computer assisted design as well as production tool that has evolved into a very mature technology. It can assist with the entire spectrum of the design and manufacturing process, from the early stages of conceptual design, through digital prototyping, production as well as documentation. A CAD design piece comes to life predominantly in two ways: (1) material is removed from a stock, or (2) material is added to a part in progress that started out as a non-existent entity, e.g., an empty moving table or a box of powder with no part being solidified, depending on the type of manufacturing process being deployed. 3D printing is a technology that adds material to produce the part, and hence, it is also called additive manufacturing. Our notion of printing involves transferring ink to paper, line-by-line until the document is completed. Generalizing this process to 3D would involve transferring material to 3D space layer-by-layer till the object is completed. Since most of the 3D printers manufacture objects layer-by-layer, the term 3D printing struck.

Since our 2D printers have become such common, and by-and-large, fairly reliable machines, this may create the impression that going from 2D to 3D is a straightforward task. The third dimension has always posed a challenge to mankind (according to surveys we performed, a significant percentage of people are 3D blind), so much so that we believe that 3D printing will be no exception. The ten challenges below illustrate the rocky road ahead and show that this technology may not be as disruptive, at least in the short term, as the media wants the public to believe. The list is by no means exhaustive and it represents our understanding of and opinion about the technology. We selected what we believed to be the most relevant papers for this review.

2 Challenge 1: shape optimization

Optimization of the design space is made possible with additive manufacturing since the process has the ability to fill the interior part of the object in practically infinite ways. The design space is any area of the model that can be modified. Typically, these areas are defined as the interior of the model because the boundaries of the model correspond to functional and/or design specifications. However, the design space can include the boundaries as well as the interior of the model [1]. The optimization of the design space can have significant impact on the manufacturing of a part including the reduction of materials, time to produce, electrical energy, and environmental costs, which in turn lead to lower costs of production [2].

The process of optimizing the design space is not a trivial problem. The objective is to find the best way to fill in the design space with material that optimizes certain design parameters including strength, mass, and volume. The search space for an optimal distribution in the design space is large and very dependent on the part and the parameters being considered. Even when an acceptable distribution is found, it may not be compatible with all 3D printing processes. Issues can arise from trapped material, poorly manufactured walls, or lack of support [1].

There are two approaches that are commonly used to find the best allocation of material. The first is to fill the design space of the model with geometric shapes. The other method is to perform a topological optimization that lays out the material based on a set of constraints and rules.

2.1 Cellular structures

Cellular structures are loosely defined as predetermined geometries such as honeycombs, lattices, and other repeatable shape elements. Examples of honeycombs and latticework are shown in Fig. 1. The design space is divided into cells of specific constant sizes that can contain mesostructures [1]. Choosing the size of the cells is based on the design concerns and the mesostructures, but is typically 100 to 10,000 microns [3]. Since the design space is divided into discrete smaller cells, the ability to use multiple mesostructures allows for models to achieve varied properties using only a single material [4].

Fig. 1
figure 1

Examples of Honeycomb (left) and Latticework (right, courtesy of Aztec Scenic Design)

The goal of the cellular structure problem is to find the dimensions and placement of the mesostructures when given a layout of cells. A cellular structure algorithm can also be required to satisfy constraints or goals depending on what is required of the model [4]. Generally speaking, the algorithms are built to fill in the design space with cellular structures and not to take into account mechanical strength or other properties [1]. This gives topological optimization advantages over cellular structures because the design space is filled based on rules and constraints. It has been shown that latticework structures have lower strength than a topological optimization on the same part [5]. Depending on the size of the part and the size of the design space, the amount of structures that fill a space could be in the thousands or even tens of thousands. Current CAD systems have problems performing geometric modeling operation on thousands of elements. Therefore, they are very limited on what they can do with a large amount of elements in the design space [3].

2.2 Topological optimization

Topological optimization is a tool used to fill the design area by attempting to allocate the material in the design area while trying to accomplish certain design requirements. Some common design requirements used are based on the material properties, load conditions, and geometric features [6]. The math behind the topological optimization can be generalized as the minimization (or in some cases, the maximization) of an objective function with certain constraints. The objective function’s purpose is to determine a subdomain of the design space.

One of the main advantages of topological optimization is that it is based on knowledge of the material, trade, part usage, or other factors. This allows the optimization to be highly customizable to the application [6]. However, this also requires that a knowledge-based system be implemented for the algorithm performing the optimization. The design rules have to be investigated and if the knowledge is inaccurate, the optimization may not work correctly. Topological optimization also can require a large amount of variables be used and operations to be completed. This makes topological optimization algorithms computationally expensive. Optimizations also have to be verified to make sure they are compatible with the 3D printing process that is being using to manufacture [1].

3 Challenge 2: design for 3D printing

3D printing can create complex geometries that cannot be achieved by other manufacturing techniques such as molds or milling (an example shown in Fig. 2). Some of the benefits that come from using additive manufacturing are the ability to have hierarchical complexity within parts, multiple materials added to a single part, and fully functional assembled mechanisms. However, to utilize the unique qualities of 3D printing, the design process must be rethought from the traditional approaches and new tools must be created to accommodate this type of design.

Fig. 2
figure 2

Water based CNC milling machine (courtesy of Glenn McKechnie)

3.1 Current CAD software

The CAD software that is currently in use for 3D printing was not designed with 3D printing in mind. The systems tend to be a hybrid of boundary representation and constructive solid geometry. This has worked for other manufacturing purposes, but it limits what can be done using the 3D printing machines. As stated earlier, geometric complexity and operations on a large number of features is a bottleneck in the CAD software [3].

The current CAD software has no way of representing something that is physically based. Without physically based representations, materials and functional properties cannot be designed or modeled. Since the current systems represent solid materials and boundaries, adding functionality for this is not a trivial task [3]. This also creates problems providing information to other applications. Since there is no information pertaining to the composition of the design, that data cannot be passed to other sources for analysis [1].

3.2 Design process

When designing for a 3D printing process, the system needs to understand the limitations and strengths of 3D printing. One of the major barriers is the materials for manufacturing. Though it has increased in recent years, there are still a limited number of materials to choose from for the design. This may make certain designs that are possible in other forms of manufacturing impossible based on constraints. Materials have to be compatible with the technology that is used for manufacturing, which may limit what is available to the designer [7].

Since 3D printing is so different from the traditional forms of manufacturing, there is a steep learning curve for manufacturing. Designs that may have worked for another system can be reworked to take advantage of the additive style of 3D printing, but this may require more time and looking at the design from a different angle. Another feature being under-utilized because of challenges with design is mass customization. There is currently a lack of general tools for creating designs that can be customized on a massive scale. Without software that can perform these operations, designers are forced to do hand customizations which are cost and time prohibitive [3].

Depending on the abilities of the machine being used to manufacture, a part may need special design considerations if it is too large or too complicated to produce as a single piece. Figure 3 shows a prosthetic hand that required assembly with strings to be functional. Printing parts in multiple pieces that can be assembled post manufacture can result in intricate designs produced from more primitive ones. This may require changing the design and planning for assembly, which could affect the specifications and application of the final design. Methods of creating interlocking parts have been explored, but there is not a solution that works for every kind of geometry [3].

Fig. 3
figure 3

3D printed prosthetic hand with movable digits (courtesy of The Intel Free Press)

Functional parts can be printed directly from a 3D printer as opposed to the more traditional manufacturing processes. This allows for the printing of joints or embedded components that can only be accomplished by the additive nature of the printing. Though useful to manufacturing, it does complicate the planning and designing. Designers must be careful and take into account the ability to print the part. Certain design and process combinations may be incompatible due to trapped material, resolution tolerances, or supports needed [8]. The printing style heavily impacts what can be accomplished printing functional parts [9].

4 Challenge 3: pre- and postprocessing

3D printing does not go straight from model to perfect printed part. The model must be pre-processed before being passed to the printer as a series of instructions for how to construct the part. After the part has been built and depending on the process, more attention may be required to remove supports, improve surface quality, or finalize certain features. Both pre- and postprocessing offer their own challenges that impact how we handle the entire printing process.

4.1 Stereolithography file format

The Stereolithography file format (known by the acronym STL) is the de facto standard for most of the current 3D printing processes and machines. The idea behind the STL format is that the skin of a CAD model can be approximated using planar triangles via tessellation, as shown in Fig. 4. Over the years, alternatives to the STL have been proposed, but the machines have continued to use the STL format for their data [10].

Fig. 4
figure 4

Tessellated model (courtesy of Peter Kaboldy)

Many issues have been discussed over the years about the shortcomings of the STL format. Since the tessellation is only an approximation of the original model, accuracy issues can be seen in the final part, specifically in curved surfaces. The generation of the triangles for the STL file can also cause problems. Errors can come about via redundant triangles, missing geometry, and misaligned facets. Finally, the STL standard format has no way to convey any manufacturing information and only contains the boundary information [10].

4.2 Preprocessing models

Preprocessing is the method of breaking down the model into various tasks to plan before the printing process. The planning process can be looked at as four tasks: finding the optimal orientation, slicing the model, generating supports if they are needed, and planning the path of the material tool [11]. Accurate planning is needed to allow efficient creation of the part. Since we focus on the challenges of orientation and slicing later in this paper, we look at preprocessing as the generation of support material, when it is applicable, and the planning of tool paths.

The objective of the support structure problem is to find the minimum amount of support required to hold the part or pieces of the part in place while the printing process happens. This is not required for all 3D printing processes. For example, in selective laser sintering and layered object manufacturing, the excess material that is not being used in the creation of the part is used as an inherent support. When supports are required, they require additional material to be used that will be discarded after the part is fully printed. The amount of material wasted can be affected by the given orientation of the part. This additional printing can also increase the time it takes to produce a part [12].

Path planning typically takes place after the model has been sliced. The idea of path planning is to determine a geometric path for the tool to deposit, scan, sinter, or whatever the process requires [12]. This path needs to not only fill in the area that has been predetermined, but also take into account the physical and mechanical properties of the process that is being used. The speed of the printing tool can change the properties or affect the accuracy of the final part. In fused deposition modeling, for instance, if the tool for material deposition moves too slowly then it changes the size of the layer, affecting the global error of the part.

4.3 Postprocessing parts

After a part has been printed, it may require additional attention to bring its accuracy closer to the original model. Due to the layered building fashion of the current 3D printing machines, a stair casing effect is typical on printed parts. This is seen most evidently on curved and inclined surfaces. The surface quality of a part after printing may not compare to an equivalent part from a milling machine or mold. To improve the surface quality, many different methods can be used [11]. A common low cost method of improving accuracy is to sand the part by hand. Other methods used are melting, bead blasting, traditional machining, and acetone finishing (shown in Fig. 5). All of these methods waste material, can be damaging to the part, and take excessive time [13].

Fig. 5
figure 5

FDM printed part before (left) and after (right) acetone finishing (courtesy of fabsterdam.com)

If support material was used during the printing of the part, it needs to be removed post process. Removing the support material must be done carefully to not damage the intended design. Even when done properly, the support material can still leave burrs or other residue that must be removed with one of the methods mentioned above [11].

5 Challenge 4: printing methodologies

When it comes to additive manufacturing, there are multiple methodologies that can be used to manufacture parts. Layered manufacturing appears to be the most popular and the most researched, but other methods do exist. Like all forms of engineering, each method comes with advantages and disadvantages. Depending on which is chosen for manufacturing, it may have significant impacts on the mechanical or physical properties of the part. All of these methodologies discussed are based on the idea of direct fabrication.

5.1 Layered manufacturing

The most diffusive additive manufacturing technology, layered manufacturing, is based on the principle of taking a model and slicing it into a number of uniform or non-uniform layers. There are a number of different 3D printing machines that are currently in use, but most of them are based on the layering principle and are similar because of it. An example of the layered manufacturing process, stereolithography, is shown in Fig. 6 [14].

Fig. 6
figure 6

Stereolithography process for layered manufacturing (courtesy of Wikimedia user Materialgeeza)

The problem with the layers is that they are 2.5D cross sections of the original CAD model. For models with complicated curves, this affects the accuracy of the part adversely. The complexities of slicing are discussed later in this paper. Layers also give the part an anisotropic property. The vertical build direction that the layers are stacked upon has less strength than the materials internal to the layers themselves. The orientation of the part has a large impact on how the part’s mechanical properties turn out [12]. The hardware performing of the printing can also have a significant impact on how the layering is accomplished. Certain technologies may produce different properties on the layers. The fused deposition model method of layered manufacturing creates a parabolic curve on the edge, but the modeling of layers assumes they are rectangular. Depending on the process, the layer may be manufactured in a continuous or discrete fashion. This can lead to complications in predicting accuracy and error control if the slicing is not modeled to take into account the manufacturing hardware [15].

5.2 Voxels and digital materials

A voxel is the volumetric equivalent of a pixel. It can be used to represent 3D models, but the principles of voxels have recently been applied to manufacturing. Figure 7 shows a conceptualization of voxels. Digital materials are the application of voxels to a physical part. They are pre-manufactured geometries that can be given different material or functional properties. A model has to be tessellated with the voxel types that are available to the printer. After digitalization, a model can be built with the voxels. There are many advantages to this process over traditional layers such as ease of multiple materials, smart voxels with function, and better repeatability [16].

Fig. 7
figure 7

Conceptualization of voxels (courtesy of Wikimedia user Vossman)

Voxels have their drawbacks as well. The resolution of the voxel and the ability to tessellate the model to the voxels limits the accuracy of the printing process. This problem can be mitigated by using variable sized or shaped voxels, but this offers its own design challenges. Generalization of the voxel makes the tessellation of the model more complicated and requires that more pre-manufactured geometries have hardware compatibility. This process also requires its own hardware that may be specific to the geometries of the voxels, making it less flexible to manufacture freeform shapes [16].

5.3 Point by point curing

Layered manufacturing methods have used lasers to cure, sinter, or melt materials. The same idea is applied to cure a material with two lasers. However, instead of scanning the top of a vat of liquid, two or more lasers are used to intersect beams at specific points within the vat of liquid material. Where the lasers cross, the intensity is enough to cure the material. This allows almost any point in 3D space to be modified by the lasers.

This method of manufacturing has complicated challenges in planning and implementation. Path planning for the intersection of the lasers needs to be robust and account for various factors like the part’s center of mass and support. Great care needs to be taken to make sure that accessibility is not compromised as the part is created. Depending on the energy of the lasers and how they are crossed, it is important to model the shape of the intersection point. Size and shape of each cured point may contribute to the speed and accuracy of the entire process. Focusing the lasers is a complicated issue because of refraction on the lasers paths to intersect. This can cause issues in creating a uniform cure across an entire part. Issues with the size of the vat of material and the intersection of the lasers means that parts created this way must be smaller than other technologies, and may be manufactured much slower [17].

5.4 Other non-layer methods

Because of the drawbacks of layered manufacturing, many researchers are trying to rethink the idea of layers to improve upon them or discard them completely. One approach to a layer-less printing style is computer numerically controlled accumulation (CNC-A). It works with the same material curing principles of stereolithography, but uses a multi-axis tool submerged into a resin tank to cure the material. Like its inspiration, computer numerically controlled machine, this offers multiple angles for the tool to build the part. However, this makes for more complicated path planning, as the tool must be careful to not touch the already completed parts [18].

Other attempts have been to reposition the deposition tool using a multi-axis arm [19] or reposition the build platform using joints [20]. Both of these attempts increase the complexity of the path planning processes and can affect resolution depending on tolerances in multiple moving parts [19, 20]. Going from the layered 2D cross sections to full 3D path planning is a complicated challenge.

6 Challenge 5: error control

No manufacturing process is without errors and this includes 3D printing. The current machines that are on the market may not always be the most reliable due to a lack of quality control systems [14]. The errors for 3D printing fall into three categories: data preparation, process error, and material error. Error avoidance can be performed on the data preparation step, but because of the nature of the errors, avoidance may not be an option for process material error. Error correction is sometimes a better option for the other two categories, albeit a more complicated one [21].

6.1 Errors before printing

Some of the causes of errors in the stages leading up to building the part can be blamed on tessellation, slicing, and orientation. These errors can typically be seen and calculated before the part is actually printed and can be assessed. Tessellation error correction is dependent on the original CAD model being accurately represented [21]. The problem lies in approximating freeform shapes with triangles. Orientation error control is related in the sense that the orientation of the part can affect the way surfaces are represented by whichever manufacturing process is chosen. This can impact the staircase effect on the surfaces of the part in layered manufacturing. Errors can be controlled by minimizing how much of the model lies inside or outside of the original geometry. Orientation searching has been used to find acceptable combinations of parts. However, this does not mean that the accuracy error will reach zero, it just means that it can be minimized. The parameters of slicing, orientation, path planning, accessibility, and the tessellation can be changed and the error can be estimated, but these errors are still not entirely avoidable [22].

6.2 Errors during printing

Preparation error control should only affect the layer and should not propagate to other layers. Unfortunately, this is making the assumption that the printing process goes perfectly as planned. In addition to the local errors that are known from the processing phase, errors can be caused by the actual printing process. Speed variation of the machine tool or errors in the positioning systems can cause anomalies in the parts that can affect the local error. After these anomalies happen, the sequential layers may be affected. This propagates any small error into the rest of the build process [22]. Since most of the 3D printing systems currently being produced have no feedback or process monitoring system, they have no way of telling that an error has occurred. If the object moves at any time for any reason during the printing process, the machine has no way of knowing or finding this out. Figure 8 shows an example of an error that was caused by the part moving during printing. This makes error correction a very complicated issue. Research has been done into the combination of additive and subtractive process for error and accuracy improvement, but this adds complexity to the hardware and planning [3].

Fig. 8
figure 8

Original model (left) and hardware error during FDM printing (right, courtesy of Aztec Scenic Design)

Material errors are possibly harder to predict than process errors. Errors can be caused by the printing material characteristics and can majorly affect the accuracy of a printed part. Shrinkage and stress based distortions need to be modeled accurately and completely to avoid the errors during printing [22]. Even if everything is done correctly, a material may be affected by outside parameters. The current machines have not exhibited a way of predicting or controlling variations in materials and therefore have no way to compensate for such errors [3].

7 Challenge 6: multi-material printing

3D printers can use a variety of materials for homogenous parts. However, some applications require the use of multiple materials to exploit various properties. When a printed object contains more than one material, we typically refer to it as a heterogeneous object. Figure 9 shows a printer that is capable of printing using two materials. This is not as simple as just adding more materials though. An object made of multiple materials can be classified into two broad groups. A heterogeneous solid model contains multiple materials within the part but the sections containing the different materials can be looked at as distinct areas with abrupt boundaries. A functional graded model contains a gradient between materials where the boundaries are not so trivial [23].

Fig. 9
figure 9

Fab@Home 3D printer with two extrusion heads (courtesy of Wikimedia user Hodlipson)

The two major hurdles in the research of printing with multiple materials are the modeling and the manufacturing. Currently, there are not many CAX systems that work with multiple materials let alone can model them. There are proposed methods of how to model heterogeneous parts, but each method has its own perks and issues. After the modeling has been completed, the printer in use has to have compatible methods of printing with more than one material. Even if the printer is capable of printing such an object, care has to be taken to make sure that the materials all interact properly. Fusing or combining multiple materials is very dependent on material science and can offer many complications that need to be accounted for in the modeling and manufacturing [24].

7.1 Modeling multiple materials

When modeling the data for multiple materials, there are many factors that need to be considered. Amongst these factors are easily communicated data, computational overhead, representational capabilities, and accuracy of the model. The geometry of the model must be represented as well as the material distributions over that geometry [24]. Some of the proposed methods for representing heterogeneous objects use voxels, finite element-based approaches, constructive representation, or mathematically defined representations [23].

Voxels offer a discrete way to represent an arbitrary amount of materials and even include a gradient if there is support in the data structure. The obvious drawback to the voxel model is that the accuracy is directly based on the voxels resolution [25]. This may cause large overhead depending on the amount of materials and gradients required. Finite element analysis is commonly used to model the physical properties of material distributions, so it is not a far leap to see it can be used for heterogeneous representation. The materials and their compositions are represented by multiple meshes that have linear interpolation from points. Like the voxel model, though, the use of meshes can lead to a trade-off between storage and accuracy [23].

Constructive representations combine multiple materials by using more primitive shapes of single materials. It is an extension of the CSG mentioned earlier. Gradients can be controlled by the combination of the primitives. The problem is that arbitrary composites cannot necessarily be created by the combination of primitive shapes or if they can, it becomes unreasonably complicated [24]. B-splines allow for the mathematical definition of complex curves, surfaces, and volumes. They can be used to model both graded and abrupt boundaries of multiple materials. However, this requires a large amount of spatial parameterizations depending on the geometry. Performing various preprocessing tasks on these parameterizations can be complicated and computationally expensive [23].

7.2 Manufacturing multiple materials

Even with a novel way to represent the data, the manufacturing process still brings its own challenges to the multi-material printing. The more complicated the data for printing is, the more complicated the processing becomes. The problem of manufacturing with multiple materials is much simpler with pre-manufactured voxels, but is again limited by the geometry of the voxels. For printers that work by building layers, the heterogeneous model has to be sliced into layers and a path for that layer has to be planned before the printer can put down material. How complex the slicing for layers is really depends on how complex it is to slice that particular type of model. The path planning is much more dependent on the hardware of the machine printing the model. The orientation of the model can also greatly affect the printing of the part since the materials may be more or less distributed in various orientations. Accessibility may be complicated by sub optimal orientations [23].

The hardware of the actual machine may limit what can be done with multiple materials as well. Processes like stereolithography and selective laser sintering have an inherent challenge because the materials are placed or filled on the build platform without regard for the composition. Stereolithography also requires the vat of material to be changed and the part to be cleaned before a new material can be used. Inkjet like printers and fused deposition modeling are limited by the number of heads that can print the materials. These problems are what keep the current hardware standards from using an arbitrary amount of materials [16]. A recent patent from MakerBot (art shown in Fig. 10) shows an attempt to create an extruder that can change materials mid print.

Fig. 10
figure 10

Material switching extruder: 214 and 216 represent two separate materials, and 208 is a mechanism that can change material mid print (courtesy US Patent No: 20140034214 A1)

A new approach to increasing the integrity of printed parts is fiber reinforced 3D printing. The idea of fiber reinforcement is not new and is used in multiple applications. In relation to 3D printing, it refers to additional small fibers of separate material mixed into the main material used for printing. This can make the part stronger as well as increase the general flexibility [26]. Fiber reinforcement is difficult with traditional layered manufacturing because the size of the fibers cannot be larger than the layers themselves or it could affect resolution. The alignment of these fibers also affects how they add to the strength of the part. Based on the size of the fibers and mixing them into the materials, orienting the fibers is a difficult task [27].

8 Challenge 7: hardware and maintenance issues

The additive manufacturing machines that are currently on the market have come a long way from where they started some 40 years ago. That being said, they still are not without maintenance and performance issues. Each machine must be set up with proper parameters for a successful build. These parameters include energy constraints, material constraints, and various process specific constraints. Even if a setup works for one part, it does not mean it will be sufficient to complete any arbitrary design. An improper or incorrect set up does not mean that a part will not print, but it may create incorrect geometry or quality. Machines operate independently, however, it is necessary to check regularly to ensure that operations continue with the same quality. After a part is completed, there are typically clean up procedures required to be completed on the machines to keep them functioning over time. All of these together can contribute a sizable amount of time to the manufacturing cycle [3].

8.1 Process based issues

There are many technologies that are commonly used in the current 3D printing machines that affect the reliability of the machines. Lasers are used in most stereolithography processes, selective laser sintering, and in some laminated object manufacturing processes. Lasers allow for very fine features and geometries to be created, but at a higher initial upfront cost. Laser maintenance and upkeep can also be prohibitive in these machines since the lasers have an operating lifetime, anywhere from 4000 to 15,000 h depending on the quality of the laser [3]. Lasers also require fine-tuning for materials they are used on. If laser parameters are incorrect, it can cause unnecessary over-curing or sintering [28].

Cheaper alternatives to laser based technologies are processes that use extrusion units to deposit materials. Print heads (similar to the one shown in Fig. 11) tend to be cheaper to replace than lasers if issues occur. However, since the materials are pushed through a nozzle, the print heads are susceptible to clogging that can affect prints mid process [3]. Since the print heads are fixed size, the quality of the part resolution and build time are directly affected by the diameter of the nozzle. Print heads also change how quickly the material can be stopped from depositing since they are pushing material out rather than toggle a power source [28].

Fig. 11
figure 11

FDM employs an extrusion head that can become clogged after many uses (courtesy of Vik Ollivier)

8.2 Material based issues

Materials offer their own challenges to the chosen 3D printing process. Photopolymers, which are commonly used in stereolithography, have to be carefully stored and need to avoid being exposed to light. Materials like photopolymers and certain powders need to be handled and stored carefully because of health concerns and toxins. Even with solid materials, like those used in fused deposition modeling, it is important they are stored in low humidity [28]. Materials may also have a shelf life that needs to be observed. After this expiration date, the quality of prints may not be guaranteed. Some processes such as stereolithography and selective laser sintering have the ability to reuse materials, but care must be taken to sift out and remove any areas that were affected by the manufacturing of previous parts. This takes time and failure to do so can result in inconsistencies in future parts with that material [3].

9 Challenge 8: part orientation

The part orientation problem can be defined as changing the orientation of the part to maximize or minimize one or more manufacturing considerations. This can be done on either the STL file or on the CAD model itself [12]. Depending on the application or purpose of the part, certain features may be more important than others. This makes the orientation of the part a design challenge as much as an optimization challenge [3]. Orientation can affect build time, quality of the part, and mechanical properties of anisotropic parts. Depending on the process, there may even be manufacturing constrains that must be considered such as supports or deposition properties [29].

9.1 Considerations

There are many factors that affect the manufacturing process that relate to the build direction. Depending on the part and the part’s use, there may be a large number of considerations. Part accuracy, build time, and the amount of support structure tend to be regarded as the most important variables to minimize or maximize [12]. Depending on the part, it also must be realized that there may not be an optimal orientation that meets the needs of the design. This is especially true when trying to optimize multiple criteria at once. The amount of different orientations is theoretically infinite [29].

Surface quality tends to be one of the more researched topics when looking at possible orientations. Layered manufacturing processes can cause a stair casing effect on surfaces with curvature. This can be reduced by changing the orientation of the part to have certain angles parallel to the build direction [30]. This can be done on the part globally or locally on a specific surface. Global quality optimizations may result in overall less quality on certain areas of the part while local optimizations may affect unoptimized areas adversely. The operator must consider that there may not be an optimal orientation for their design or that they will only be able to satisfy some of the requirements of the part [29].

Process specific considerations are also common amongst orientation optimizations. For processes that use support material, reduction of the support material can reduce the cost and build time of the part. Figure 12 shows how different orientations affect support material. The amount of part area touching the base of the build platform can also affect the quality of the part surface, so should be minimized [12]. Other process considerations include, but are not limited to curling, curing, shrinkage, distortion, and material properties. The more properties that need to optimized at one time tend to result in more compromises that need to be made [29].

Fig. 12
figure 12

Original model and different orientations requiring different support structures (supports generated by PreForm Software 1.8 by FormLabs)

9.2 Methodology

Many different methods have been used to find an optimal part orientation in the literature. Orientation and slicing are related in how they affect the quality and build time of the part. Cusp height and Ra values have been used to predict surface roughness in an attempt to grade potential orientations [31]. Since build time can be naively looked at as the amount of slices, this can be used to estimate an orientation’s time to manufacture. Both of these require all potential orientations to be evaluated by slicing methods as well as an orientation, which can be a computationally expensive problem. If the orientation needs to be evaluated on multiple criteria, then this is even more of a problem [29].

Recently, genetic algorithms have been used to decrease the search space of the orientation problem. Though this does perform better than testing a discrete number of potential orientations, it still comes with challenges. Genetic algorithms do not scale well when multiple criteria are to be evaluated. The effectiveness of an algorithm in finding orientations is only as good as the fitness function that it uses [32].

10 Challenge 9: slicing

All layered manufacturing processes require that either an STL or CAD model be divided into slices for the process of manufacturing the part. The model is intersected with horizontal planes to find the geometry of the slices. The height of the slice is determined by the layer thickness. The slicing process prepares the model for deposition path planning [12].

The most common method of slicing used in today’s machines is uniform slicing, where each slice has the same layer thickness regardless of geometry. Frequently, these slices are called 2.5D contours because they tend to lose the original geometry of the model in the vertical direction. There are two main challenges with the slicing problem for this reason. The first is the staircase effect, which are the stepped edges caused by the 2.5D contours. The second is the containment problem (shown in Fig. 13), which is when the slice either falls inside or outside of the original model rather than lying on the exact geometry [29]. These are both the causes of poor surface quality and accuracy. The slicing process relates directly to the build time, accuracy, and roughness of the part [32].

Fig. 13
figure 13

The containment problem in relation to slicing (external and internal containment errors)

10.1 Adaptive slicing

In an attempt to minimize the containment problem and staircase effect, much research has been done on adaptive slicing. Adaptive slicing is the idea of changing the layer thickness to adhere better to the local geometry and improve surface quality [30]. One of the methods used to calculate the varied thickness within the layers is the cusp height. Cusp height is found using the normal vector of the boundary of the horizontal plane that intersects the model. This can be used as a tolerance number for estimating layer thickness. Cusp height is used in various algorithms for calculating dynamic slice thicknesses. This method can achieve better accuracy than uniform slicing, but does not completely correct the containment problem and staircase effect. An average value of roughness has also been used to predict the overall surface roughness and adapt the slices accordingly, but the same problems with cusp height are apparent [29].

Hardware also poses a significant challenge to the adaptive slicing procedure. Since most of the current 3D printing machines have a fixed thickness, the thickness cannot be changed during the printing process. To change layer thickness may require parts or parameters to be changed mid print, which may significantly increase build time, the possibility for error, or limit machine autonomy [29]. Specifically, in fused deposition modeling, the edges of the layers deposited come out with a more parabolic shape. Since most slicing approximates the layers as rectangular, there can be extra error caused by the process unless it is taken into account during the slicing procedure [15].

10.2 Direct slicing versus STL slicing

The most commonly used format in the 3D printing community is the STL format. An example of an STL approximation of a CAD model is shown in Fig. 14. Slicing of an STL model is accomplished by seeing which triangles in the tessellation are intersected by the horizontal plane [3]. Since the STL is just an approximation of the original model using triangles, the slice geometry will be a polygon rather than a contour. This additional error caused by the tessellation inaccuracy contributes to the containment problem [15]. Depending on how the STL file was generated, the file could contain a large amount of vertices, some of which may even be redundant. This adds to the time it takes to calculate the geometry of the slices. Any errors in the representation may also cause slices to come out completely wrong and end up telling the printer to print completely outside the model space [33].

Fig. 14
figure 14

STL model versus CAD model (courtesy of Laurens van Lieshout)

The alternative to slicing the STL model is to just slice the CAD model directly. This avoids all the issues caused by the errors, inaccuracies, and redundancies of the tessellation. However, this is not without its own challenges. Reorienting for slicing the STL model is a matter of translating the vertices, but CAD models are described as analytical surfaces and may not be so trivially done [31]. Even direct slicing may be time consuming depending on the complexity of the model and the amount of calculations required to find intersections with the horizontal plane [33].

11 Challenge 10: speed

The amount of time it takes to manufacture a part can be a limiting factor of any process. 3D printing is complicated to compare to traditional manufacturing techniques. In comparison to milling, 3D printing requires much less setup and can produce more complex parts in a single print [3]. Speed can be naively looked at as the height of the part that needs to be produced. A demonstration of this concept is shown in Fig. 15. However, since 3D printing, processes have the ability to utilize the build space for multiple parts, looking at the build height and the throughput may be a more accurate measurement. Though the hardware is the major bottleneck in the printing process, the speed of the preprocessing also contributes time and falls almost completely in the software domain [14].

Fig. 15
figure 15

Relationship of build height to build time: 1 h 48 m (left) and 1 h 10 m (right). Estimates by PreForm Software 1.8

11.1 General speed

The speed of the entire process, from pre-process to post-process, should be considered when looking at the speed of the 3D printing process. Preprocessing and planning may vary depending on the methods used, but they still require time to complete. The complexity of the model and the complexity of the process are directly proportional to the amount of time spent planning. As discussed in the previous challenges, process planning may be computationally expensive and take time to complete. The efficiency of the software and how quickly it can produce a plan for printing is a barrier in the speed of preprocessing. The post process depends on the accuracy required of the part and may require more time depending on the application of the part and the process used to create it. The actual printing process of layered manufacturing is directly affected by how the model is sliced, oriented, and how the design space is filled [14].

11.2 Process specific variables

Depending on the process used to complete the printing, additional time may be needed to harness material, prepare tools, or move the build platform. Stereolithography, selective laser sintering, and similar technologies are limited by how fast the material in use reacts to the energy source. They also require the build platform be recoated with material after each layer is completed, requiring additional time [34]. Direct deposition processes, like fused deposition modeling, are limited by how quickly the material can be extruded from the print head. Any process that uses motors to control the tool used for printing are also affected by how many changes in direction are required to be made. No matter what type of machine or process is used, they will always be limited by the physics of the materials they are using for manufacturing [35].

12 Conclusions

Ten challenges in 3D printing have been presented in this paper. These challenges, a matter of subjective choice by the authors, meant to cover important areas of 3D printing that we believe deserve more attention. It may appear to the reader that these challenges prohibit the use of available 3D printers. The truth of the matter is that printers, especially at the expensive end, performed quite well and produced spectacular results to date. How useful this technology turns out to be at a massive scale is yet to be seen. The challenges are real and without addressing them, the technology may not reach a very mature stage, or may require constant tweaking to keep the printing machinery ticking. Other technologies, such as CAD, have had their challenges over the years [36], very few of them have been addressed, and some may never be addressed at all. Still the technology is alive (with constant bug fixing and patch releases). The fate of 3D printing could very well be the same.