So after 18 or so hours of assembly, updating the firmware, and levelling the build platform, we’re finally ready to print our first object! The object we chose was a simple demo file provided by Velleman, a Vertex printer logo keyring.
I will cover 3D printing software in a bit more detail in a forthcoming post, but to give a little background, there are usually 2 or 3 different software packages involved in producing a 3D printed object.
The first step is to design the object (unless, as in this case, you are using something that someone else has designed). For this you will use 3D CAD software, such as TinkerCAD, 123D Design, SolidWorks, Rhino, and many others. Once the design is finalised, you export it into a format that 3D printing software can understand. The most common format is STL, a format which describes the 3D geometry of the object as a series of triangles. STL files do not contain any information on size/scale, colour, texture or material.
The STL file is then processed by a second piece of software called a slicer. The slicer translates the structure into a series of instructions to a printer which tell it how to print the object in a format called g-code. G code was developed mainly for computer aided manufacturing to control machine tools such as CNC mills. The G-code tells the printer where to move the print head to, how much material to feed through the print head, and other information such as the temperature it should heat the print head to. The G-code is specific to the particular printer in use, so if an object is to be printed on more than one printer, it will need to be re-sliced. There are many parameters which the user can set to control how the slicer works which affect the finished appearance, strength, and printing time of the object.
Once the slicer has produced the G-code, the final step is to load the G-code into the printer and execute it. This can either be done by software running on a computer, or with some printers the G-code can be saved to a SD card or USB stick and printed directly on the printer so as not to tie up a computer. The software which executes the printing process may have the slicing software integrated.
For the Vertex, the provided printer software is called Repetier-Host (or Repetier for short) and it comes packaged with slicing software called CuraEngine. It is also possible to use other slicers within Repetier if desired. For this blog we will use the standard software and slicer, at least until we start looking at setting up a web controlled printer interface, but that’s for a much later post!
So the first step was to load the STL file with our logo keyring into Repetier. A visual representation of the object appears, showing how it will be positioned on the print bed. Repetier will automatically centre an object on the print surface as it is loaded, but it can be manually moved around, resized, or rotated. The black dot represents the front left corner of the printable area of the print bed.
Once the object is positioned, the next step is to slice it to create the g-code files that the printer will need to determine how to print it, so we clicked on the slicer tab.
There are many configuration details that can be fine tuned using the Configuration button, but for our first print we left the settings alone. There are several important options to be selected from this panel though which are more commonly altered from print to print.
The first step is to choose the print configuration. The Vertex comes with two preset configurations, for single and dual colour/material prints. Since we are doing a simple single colour print, we chose the VERTEX SINGLE HEAD configuration.
The next is adhesion type. The options are none, brim or raft. We will be covering support structures and adhesion types in more detail later. For this small simple object we can leave it set to None.
Quality determines the size of the vertical layers. Reducing this increases the precision of the print as the vertical steps are smaller, at the cost of increased print time. We chose 0.2mm as a good compromise between speed and quality.
Support type determines if the slicer will add additional structures to help support overhanging areas of the object. Because 3D printers work by building up material in successive layers, if an area of an object overhangs too much the filament will be extruded into thin air and will collapse. Usually a printer can cope with overhangs up to around 45 degrees without support, and can bridge across smaller gaps, but larger gaps and overhangs need additional material. The slicer can generate this in the form of grids or lines which can be then be carefully removed (or dissolved if using certain special materials) from the finished print. We will look at support in a future blog post, but for this simple object we don’t need any, so we can leave it set to None.
The next option is Speed, the slider can be set to control the overall speed at which the printer will operate. Sliding to the right will increase the print speed but sometimes at the cost of fine detail.
The next option is the infill density. To reduce print time and the amount of filament required, the printer will not print enclosed objects completely solidly, instead it will fill the interior with a predetermined pattern. Increasing the infill percentage increases the solidity and strength of the object, but takes longer to print and will use more filament.
Below the print settings, the type of filament loaded into each extruder can be chosen. Since we are using PLA for our first print, we chose PLA for extruder 1.
With all those settings chosen, we’re now ready to slice the object which will generate the G-code to print it, so we clicked on the big ‘Slice with CuraEngine button’. After a short time, the Preview tab will show a preview of the printed object, along with an estimate of how long it will take to print and the length of filament required. From this window, the way in which the object will print can be analysed layer by layer, which can be useful to detect potential problems. For now though we’ll go straight to printing, so we clicked on the ‘Start print’ button.
One point to note is that if you change any of the slicer settings, you need to re-slice the object for those changes to take effect.
Once the printer starts printing, it will first auto home the print bed and the X and Y axes, and then start heating up the extruder to the temperature specified for the chosen filament. We’re printing with PLA, so we chose to print at 195°C. Once the extruder has reached the required temperature, the printer will then print an outline around the object called a skirt. The purpose of the skirt is to prime the nozzle and get the filament flowing smoothly before the actual object starts to print. The number of skirt lines can be adjusted in the slicer settings.
In the picture, you can see the first few layers of our test object and the skirt. In this picture, the skirt is quite rough and messy. This is partly because for the first two or three prints there are oils and other contaminants from the manufacturing process which are gradually being purged out of the nozzle, and also because we have not quite set the distance from the print bed correctly. The first layer should appear to be very slightly squashed onto the print bed to ensure good adhesion, and the individual strands should merge together.
We allowed the print to carry on for a little longer anyway, but then hit our second problem, illustrated by the picture below:
If you look closely you can see a step in the vertical walls of the object. This is called a layer shift, and is usually caused by some sort of mechanical problem with the printer or by poor calibration of the X and Y axes to get the carriage rods perfectly parallel to the X and Y rods. In our case, we suspected it was due to overtightening the X and Y rod belts, so we loosened them a little and tried again. We unfortunately loosened them a little too much, and the second print failed when one of the belts came undone. We tightened them a little more and at the third attempt managed to print an object successfully without a layer shift.
A successful print – a simple calibration cube featuring holes in each axis and both embossed and recessed letters to test fine details. Circular holes are notoriously difficult to get to print with precise dimensions and are a good test of how well a 3D printer is calibrated.
Another successful print, some spool clips to hold the loose end of filament reels.
Another common problem is warping, or lifting from the print bed. This is more common with materials like ABS which shrink more than PLA, but can occur with PLA if the print is not sufficiently adhered to the print bed. Typically, it occurs with sharp angled corners. The pictures below show a print where the corners have compressed and peeled up from the print bed.
One easy solution to warping is to print using ‘brim’ for the adhesion type in the slicer settings. This generates a wider first layer to help stick the object to the print bed. Because it is only a single layer high, it can be easily trimmed from the object after printing. The pictures below show the same object being printed with a brim, and you can see how this time it has stuck nicely with no peeling up of the corners.
Finally, the picture below shows a simple solid cube, but you can see that the top layer is not smooth. This is because, as mentioned previously, 3D printers do not print solid objects as completely solid to save time and filament. Instead, the interior of solid objects is filled with a pattern, in this case a cross hatch. The infill density setting controls how closely together the infill lines are printed, and hence the solidity and strength of the overall object.
If the model being printed does not specify otherwise, the printer uses two slicer settings called Shell Thickness and Top/Bottom Thickness to control the size of the outer walls. With the cube above, the top/bottom thickness was not set sufficiently high to generate a completely smooth top surface. Usually at least three solid layers are needed to generate a good surface. The nozzle diameter and layer height need to be taken into account when setting these values.
The shell thickness should be a multiple of the nozzle diameter. The nozzle diameter effectively represents the smallest possible horizontal line that the printer can produce. Our printer has a 0.35mm nozzle width, so we set the shell thickness to 1.05mm (3 x 0.35mm). This means that the printer will print exterior walls with three layers.
The top/bottom thickness works in a similar way for the top and bottom surfaces, but in this case should be a multiple of the layer height. The cube was printed at 0.2mm layer height, so we set the top/bottom thickness to 1mm, which will result in five solid layers. You can check this prior to printing using the preview option to view a single layer at a time and count how many solid layers are generated. The cube below was printed with these new settings and you can see that the top surface appearance is much smoother.
That’s about it for this post, we will be returning to cover some of the slicer settings in more detail in a future post, as well as look at different types of supports and ways to get the best print quality. Stay tuned!