Design for Manufacture - 3D Printing
When designing a part or assembly of parts that will be manufactured it is important to take into account the capabilities of the manufacturing process for you part to be successful. This includes both taking advantage of a process' strengths, and designing around any weaknesses. This document details some of the things you need to take into account when designing for 3D printing.
Pros and Cons
Pros | Cons |
---|---|
Can print complex shapes | Many geometries require support material |
Not limited to two dimensions | Expensive compared to other manufacturing methods |
Well designed parts can be strong | Slow |
3D printing is an incredibly useful tool when used in appropriate situations, but it’s important to remember that it’s not always the best tool for the job. 3D printing is best for complex 3D geometries with large, chunky features - small features are difficult to print and will usually result in weak or fragile parts. 3D printing is also an expensive and slow method of creating parts, so where possible it is much better to look to other methods of manufacture such as laser cutting, especially for predominantly 2D geometries.
How 3D printers work
3D printing is a complex process, and understanding how 3D printers work is important to help avoid many pitfalls when designing for 3D printing. Limitations of 3D printing are often linked to the properties of the materials used and how they interact with the 3D printing process.
It is always important to understand how your chosen method of manufacturing works before beginning design work using that method. This is especially true of 3D printing as it is a surprisingly complex process with many pitfalls. Most 3D printers work by depositing material in layers of constant thickness on top of each other to form a 3 dimensional part, working with only 3 degrees of freedom. More exotic printers can print in radically different ways, but that is outside the scope of this article.
FDM/FFF
With the most common type of 3D printer, FDM or FFF, the raw material is typically provided as a spool of plastic filament. This is then fed into the top of the extruder of the printer. A motor, on the cold side of the extruder, pushes the filament through the extruder into the hot side. Here the material is heated until it becomes molten, at which point it can be pushed through the small diameter of the extruder nozzle. The force of filament being pushed into the melt zone by the extruder motor creates a pressure in the nozzle which maintains a consistent flow of plastic. The diameter of the extruded plastic is nominally the diameter of the nozzle, but by changing the force with which the material is pushed by the motor you can alter the pressure at the nozzle and therefore achieve thinner or thicker extrusion widths than the nominal. It’s important to know that this extrusion process does not fundamentally change the internal structure of the plastic. The raw filament will generally have the plastic chains aligned axially along the length of the filament, and the process of extrusion merely stretches out these links, meaning the majority of the material strength is in the axis of extrusion.
Many lines of extrusion are laid down onto the bed of the printer to form the first layer of the print. Subsequent layers are successively extruded on top of each other to form a 3D object. This means that each layer must be fully supported by the previous layer - you cannot extrude plastic in mid air and expect to see any sort of sensible result, although steep overhangs and short sections of bridging between two points can be printed without additional support. To enable printing objects with large overhangs or bridges, that cannot be self-supporting, supports must be used. Supports are additional extruded material with the sole purpose of supporting areas of the model that cannot support themselves, and the support is removed after printing. On many printers only one material can be printed at a time, so the support material must be the same as the model material, but it is now quite common to have printers capable of multi-material printing, either by having multiple extruders or an automatic material changer. In this case the support material can be different to the model material. This could be a support material that makes it easier to remove mechanically, but soluble supports are available which are removed by soaking the part in a bath.
Slicing Software
The role of the slicing software is to take your 3D model, typically in STEP or STL format, and turn it into a set of instructions that the printer can understand, usually in the form of G-code. G-code is simply a text file that contains a list of commands that instruct the axes of the printer to move in a certain way, at a particular speed, and whether or not they extrude material at the same time. Slicers are often provided by the manufacturer of the printer, although in many cases you are not limited to using the bundled slicer.
When slicing parts, you will begin by importing the 3D models and positioning them on the virtual bed of the printer. While most slicers are capable of limited automatic placement, an experienced 3D printer operator will place and orient the parts depending on the geometry of the parts. For most parts the goal is to optimise for the minimal amount of support material and maximising contact area with bed, but often parts must be placed in a particular orientation to increase strength in a given axis, at the cost of increased supports or decreased bed contact. You may also be limited in choice by the size of the part in relation to the size of the bed. The operator will also set various parameters such as material type and print temperature, infill type and density, number of bottom and top layers, number of perimeters, print speed etc.
Once the parts have been placed and all the required parameters set, the slicer gets to work. The models are split into layers of equal thickness in the Z axis, then for each layer a toolpath is generated for the extruder (some modern slicers are now capable of variable layer height). This includes both extruding moves and non-extruding travel moves. Once the toolpaths have been calculated they are then converted into G-code commands, which are then sent to the printer.
Tolerances
Parts will not come out exactly as they are on the screen, so you need to add tolerance to your design, especially for hole sizes and when multiple parts are designed to fit together. Avoid friction fit designs where possible and use bolted connections instead.
Even on high end 3D printers parts rarely come out exactly as they appear on screen. This is in part due to the limitations of the technology, but is mainly due to the material properties and how they interact with the printing process. The first way your part may differ in dimensions is due to the layer height used to slice your part. As each layer is the same fixed height, e.g 0.2mm, the size of your part in the Z axis will be rounded to the nearest layer height, e.g. a part that is 10mm tall, sliced at 0.2mm, should result in 50 0.2mm layers, whereas a 10mm tall part sliced at 0.3mm will likely result in 33 0.3mm layers, totalling 9.9mm. These still may not be the final heights, as there are other factors that impact dimensionality. We will choose a layer height that is appropriate for your part, usually between 0.2mm and 0.3mm, but this will likely rarely coincide with the size of your part.
The dimensions of your parts will also change due to the properties of the material itself, and how it is extruded. First of all, the material is slightly squished into the bed or previous layer as it is laid down. This is so it properly adheres, but it can also cause the extrusion width to be slightly wider than calculated in the slicer, which will have little impact on infill extrusions, but for perimeters can result in the part being slightly larger. This is most noticeable with holes, who’s diameter will come out slightly smaller than specified due to the additional material. Secondly there is the properties of the material as it is temperature cycled during the print. Plastic generally expands when heated and contracts when cools, which means that as your part cools it can begin to contract, and this may not be even, especially with materials such as ABS or ASA. For such materials it’s recommended to print with a heated chamber so that the temperature of the part remains mostly stable throughout the printing process and can cool down evenly at the end of printing. This doesn’t eliminate the shrinkage, but makes it much more predictable.
As there are many factors that will affect the resulting dimensionality of your part, it’s important to leave enough tolerance to allow for any variations. For hole sizes for metric nuts and bolts, we have a separate guide for the appropriate design sizes : Hole Tolerances for Manufacturing . We would recommend against any friction fit parts where possible, as it can take many iterations to achieve a perfect fit. Use bolted connections wherever possible so that assemblies can be taken apart if required.
Material Strength
3D printed parts can be quite strong when designed correctly. Ensure thin features have enough material to be structurally sound, a couple of millimetres at a minimum. Fillet corners to reduce stress concentrations and help support parts. Design parts that require strength in a particular axis so that axis can be laid parallel to the bed.
The strength of a 3D printed part depends on many factors, including material choice, print parameters and part geometry. The majority of printing we do is in PLA or ASA, both of which are suitable for a broad range of general use, although we do have access to a wide range of plastics if there are specialist requirements. Print parameters refer to the orientation of the part and slicer settings used, such as number of perimeters, infill type and density etc. We will assess your parts when preparing the print and alter the settings as necessary. We tend to print with a large number of perimeters and a high density infill to ensure the strength of parts, and we will orient parts how we think they will print the best.
The design of a part is crucial to strength - there’s only so much you can optimise at the slicing stage, so it’s important to take part strength into account when designing your parts. The most likely way a 3D printed part will break is along a layer line, as the strength of the layer adhesion is less than that of the plastic itself. This means that parts will be stronger in some directions and weaker than others, depending on the force applied and the print orientation. The part will be weak to a tension load perpendicular to the layers as this will effectively be pulling the layers apart. The part will also be weak to a bending load parallel to the layers as this can cause the part to snap along the layer lines. Generally speaking it is best to have the direction with the least strength oriented in the Z direction. We will try to identify the optimal orientation when we slice your part, but ideally there needs to be a large flat area to lay the part flat, but we also need to balance the support requirements and the strength requirements.
Another thing to consider is stress concentrations. Stress concentrations are where the structure of a part interrupts the flow of stresses, causing stress to be significantly greater in certain regions than the surrounding area. These concentrations can be caused by many things, such as hole, notches, grooves etc. The main place where they may cause problems in 3D printed parts is with sharp internal corners. Cracks will often start at the point of a sharp corner, which can cause premature part failure. This can be partially mitigated by filleting sharp corners. This gives them a smoother transition and reduces the stress concentration effect. Well placed fillets also add to the aesthetics of the part, making it look more professional.
Overhangs and Supports
3D printers have a limited ability to print steep overhangs and short sections of bridging, but anything else requires additional support material. Adding fillets can help to make areas self-supporting. Needing large amounts of supports will increase print time, and soluble supports will add a minimum of a day to the turn around time.
Most 3D printers work by extruding plastic in successive layers in a single axis, each layer building on the last, until a 3D object is formed. This means that each layer must be sufficiently supported by the previous layer. If a part is under-supported, at best the extruded plastic will droop which may make the part unusable, at worst you will effectively be extruding into thin air, and the extruded plastic will turn into a pile of spaghetti. Luckily there are solutions to this problem, both at the design stage and the slicing stage.
At the design stage there are certain considerations you can make to help your part be self-supporting. First you must consider the orientation in which your part will be printed. Ideally there needs to be a large flat surface to lay flat on the bed of the printer. There are also the strength considerations of part orientation to take into account. As we will be doing the printing for you the specifics of how it will be printed are out of your control - we will try to orient things in the most sensible way possible, but if you take things into consideration in your design it can make it much easier for us to print and more likely to be a successful part. Once you have an idea of what the base of your part will be, you can start thinking about any overhangs you have and if they’ll need support. This is mainly determined by the angle of the overhang, where 0° is parallel to the bed and 90° is perpendicular, or straight upright. The steeper the angle is, the more self-supporting it will be. At 90° it is entirely self supporting, it will be s straight vertical wall with each layer directly on top of the last. At steep but not vertical angles, there will be a significant enough overlap at the edges of the layers that each layer will be sufficiently supported by the last layer. At a shallow angle there will not be enough overlap, so layers will not be supported enough by the previous layer, and you will effectively be printing in mid-air, so the plastic will droop down. As a general rule of thumb, angles 45° and higher will be self-supporting, and angles less that 45° will need supporting in the slicer. You can potentially help support overhangs by adding fillets. There is also the special case of bridging. Bridging is where you have an overhang parallel to the bed that is supported at two sides. The printer is able to bridge the gap across short distances before the material begins to droop. Bridging performance is dependant on material properties, print setting and the general performance of the printer itself, but, generally speaking, bridging a gap of a few millimetres is often okay. Again you can improve performance by adding fillets at either end of the bridge, which will help to shorten the length of the bridge, as it will be partially supported by the fillet.
Obviously not every part can be designed to be entirely self-supporting, in fact most parts will have at least one feature that will require additional support. Supports are additional material printed around your part purely to support features that are not self-supporting. They are removed after printing leaving just your part behind. Supports are added automatically by the slicer when they are enabled. The slicer will detect unsupported features and add in supports as required. There are a few different support types and styles. Most hobbyist printers are only capable of printing a single material at a time. In this case you will be limited to standard breakaway supports. These supports print with the same materials as your model and are designed to be mechanically removed by hand when the print is done. Depending on the abilities of the slicer, how well dialled in the settings are, and the density of supports required, the manual removal of support material can range from trivial, being able to easily pull the support away by hand, to nearly impossible, requiring much time and tools to pick away at the support material without damaging the part. This makes some parts impractical to print using this style of support, as they would require supporting in a way which would be difficult to remove cleanly.
For printers that are capable of printing multiple materials, which most of our printers are, you have more options when it comes to support, as you can print the supports in a different material to your model. Sticking with breakaway supports, you can print your supports from a plastic which is incompatible with your model plastic, meaning the two will not stick to each other, e.g. PLA and PETG will not stick, meaning one can be used as a support for the other. As the materials do not stick to each other, it makes it easier and quicker to remove the supports by hand. Alternatively you have soluble support materials. These materials will dissolve away in either a chemical or water bath, leaving only your finished part behind. This has the advantage that effectively any geometry can be properly supported, as long as there is a way for the liquid to penetrate into the support material. It also means you are able to use much higher density supports, improving performance, without worrying about removing the support by hand. The main downside of soluble supports is that it adds a significant amount of time to the process as the parts must soak for many hours to dissolve the support material full, especially if there are blind holes, and once the support has been full dissolved the part must be washed and then dried. This usually adds a minimum of an additional day to the turn around time.
Regardless of the support type used, it is best to reduce the need for support in the first place, as it will make your part easier to print and quicker to process, meaning you will receive your parts quicker.
File Formats - STL vs STEP
Use STEP files wherever possible. While STL has become the de-facto standard in the hobbyist space, STEP files offer many advantages over STLs including higher resolution and easier editability, and are generally just as widely supported.
For us to be able to process your 3D printing request, we require your files in a format we can use. The majority of slicers are compatible with both STEP files and STL files. In hobbyist 3D printing STL has become the de-facto standard for the exchange of 3D part files, but it has several shortcomings. STL files are essentially a list of triangles, with their vertex coordinates defined in a 3D space. These triangles mesh together to form the faces of your part. This has two implications - first, STLs have a limited resolution depending on the density of the mesh. This is most noticeable on curved surfaces, where they will have a noticeable stepped texture, which may or may not be visible when printing. The second is that STL files do not describe “solid” objects, just the faces or “mesh” of the object. 3D printing by it’s very nature requires solid objects, but with an STL it is possible to create non-manifold geometry by having missing faces, or vertices misaligned leading to gaps in the mesh. These cannot be directly 3D printed as they do not resolve to a proper solid object, so must be repaired first. This also makes STL files much harder to edit as most CAD packages only work with solid bodies, and it is not easy to convert a mesh back into a body.
STEP files on the on the other hand use a series of equations to directly describe the solid body itself, in a way close to how CAD packages natively work. This means that STEP files have no problems with resolution, similar to a vector image file they can be scaled and manipulated and still maintain smooth curves. As they usually directly describe the solid body you also don’t have the problem with non-manifold geometry. They can also usually be directly imported into a CAD package and easily edited. For these reasons we request STEP files rather than STL files where possible.
Attaching Parts Together
Use bolted connections where possible, they are the most reliable and can be easily taken apart if needed. Model your fasteners as part of your assembly. You can add slots to hold nuts captive within your part. Friction fit parts are not recommended as they are difficult to dial in. 3D printed parts can be glued as a last resort.
When you are designing an assembly of multiple parts, regardless of the method of manufacture, it’s important to consider how the parts will attach together. Our recommendation is to use bolted connections wherever possible. They provide the most consistent form of attachment, and can be disassembled if needed, allowing you to replace individual components rather than remaking an entire assembly because it has been glued together. We have a large range of fasteners available, but please check that we have what you require before committing to a design. Additionally you should always model your fasteners as part of your CAD assembly. This allows you to check to see if there is sufficient space for your fasteners, and for the tool to drive it. There are a few things you can do to integrate the fasteners with your 3D printed part. You can add a counterbore to embed the head of the fastener partially within the part, you can add a nut recess to help hold a nut in place, or you can add a slot to embed the nut within the part. For more information and suggested sizes check the Hole Tolerances for Manufacturing page.
Friction or push fit parts are not recommended as it can be difficult to get parts to fit together perfectly, which could take many iterations of the design. While adhesives are useful for some circumstances, they should be avoided if possible. Glued parts cannot be easily separated, meaning any mistake leads to a full rebuild. Many glues also leave residues on the part which makes the part look unprofessional. It can also be difficult to keep everything properly aligned while the glue sets, which can lead to unusable parts.