Notes on tuning a slicing profile

General discussion of 3D printers

Notes on tuning a slicing profile

Postby JeremyBP » Sat Mar 31, 2012 2:12 am

Fair warning, this is long. I hope it's helpful.

Once you have build a 3D printer, you don't have much left to do except print (and modify it). In this note I will focus on one aspect of the process of printing: slicing the model. There are many options available for slicing, varying in complexity, speed and ease of use. My favorite of these is slic3r (, because of its incredible speed and ease of use, so I will be using that program. If anyone is interested, I would be happy to also prepare an article on using skeinforge/sfact.

Before we begin talking about how to achieve a good print, we need to define what a good print looks like. This varies based on taste, but I will describe what a print that comes off a high-end 3D printer (stratasys etc.) looks like. Vertically, the layers are neatly aligned, with little to no wobble. They are adhered to each other well. The horizontal faces have a few perimeters that are just running along each other (with no gaps between) and the fill is smooth. There should be no gaps in a solid fill, but there should not be so much plastic that the individual strands are compressed into place or forced up into ridges.

The easiest of these to achieve is the vertical half. Layers should be slightly smooshed, so that they adhere to the layer below them. A good general rule for this is to make the layer thickness smaller than the nozzle diameter. As an example: The MakerBot MK7 extruder has a 0.4mm nozzle diameter. ABS plastic extruded from that comes out at about 0.42mm diameter. In order for the layers to stick well, it would be a good idea to have the layer thickness to be less than 0.4mm. One thing to note is that the extrusion will not be round. It will be more or less elliptical; wider than it is tall. Something to be aware of is the ratio of the width of the extrusion to the thickness (w/t). This becomes important for tuning horizontal fills, which is what we'll talk about next.

A good, clean, solid fill really makes a good print. When the slicing program generated the fill, it assumes an extrusion width, and separated each line of fill by that much. If it thinks the width is wider than it is, then there will be pas in the fill. If it thinks that it is narrower, then there will be ridges where the excess plastic is forced up. The extrusion width is determined by the ratio of extrusion speed to print speed. For an example, let's assume that the extruder is running at a constant speed. If the print speed is slow, the plastic is forced out into a wide bead. As the print speed increases, the plastic thins out and becomes narrower and narrower. Because of this, getting the ratio if extrusion speed to print speed right is critical to getting good perimeters and fills.

So that's kind of a lot to think about, and a lot to keep track of during calibration. But thanks to the wonders of mathematics, you don't really have to. The slicing software will do all that for you. It is still important to have at least a basic understanding of that though, as it is useful when troubleshooting tricky prints.

Before setting up a profile, it is necessary to make sure that all your axes are properly calibrated. Because the slicing program calculates the proper extrusion speeds, all of the steps/mm values in the printer controller use be set correctly. Take a few minutes to do this, and then we can move on to setting up a slicing profile.

Once everything is properly calibrated, slic3r only needs four pieces of information in order to work properly. The first thing is to tell it what diameter the nozzle is. The next is to tell it what diameter the filament is. Don't just assume that it is 1.75mm or 3mm. It rarely is. Always measure it with calipers. If you don't have calipers, get a pair. They're a good investment. It also needs to know is the temperature you want to print at. This can best be determined through trial and error. For ABS, start around 225ºC, and for PLA start around 185ºC. Those three settings are under the "printer and filament" tab. The last thing is the layer height. This should be set to less than the nozzle diameter. 0.3mm is usually a good place to start. The layer height is under the "print settings" tab. If you don;t have end stops installed, go to the "start/end geode" tab and delete any lines starting with "G28". All the rest of the default settings are fine to start. And that's it! You can slice a model, print it, and it will probably work out well. If it doesn't, just hang on, we'll get to troubleshooting in a minute.

You should have a working profile by now. Congratulations! But it's really no fun to just leave well enough alone, so we'll delve into some of the other settings.

We'll start in the "print settings" tab. The first section is called "transform." If you want to print multiple copies of the same object (and those copies will fit on the build platform), you can set that up here. The copies will be arranged in a grid, and you can arrange the size of the grid with the "copies along x" and "copies along y" box. For example, if I wanted to print 4 parts, I would set both of those to 2, and end up with a 2x2 grid. The next section, called "accuracy," is all about the layer height. You can set the layer height in the "layer height" box. The box labelled "first layer height ratio" is for making the first layer of a print shorter, which can help with adhesion to the build platform. I usually set this to 0.6. For printing with very fine layer heights, you might change the value of the "infill every n layers" box. For example, if I set that to 2, then it would draw a perimeter only for all odd layers, and infill all even layers. This means that you can increase the print resolution without dramatically increasing the build time. The "skirt" section is fine by default. The skirt outlines the first layer of the build to get the extrusion started. To do more than one outline, just increase the "loops" value. "Distance from object" does what it says, and "skirt height" sets the number of layers which use the skirt. It's best to leave that at 1.

The next section deals with the infill. There are two types of infill, solid and sparse. Solid layers are on the bottom and top of features, and create a flat surface. Sparse layers have a cross-hatched pattern that reduces the plastic used in the model. Slic3r calls solid fill "solid fill," and sparse fill just "fill." The "fill density" is how solid the fill on the inside of the model is. Values between 0.25 and 0.4 are usually good. You can also set the "fill angle," which is what angle the fill lines are printed at. 0º and 45º are both fine. Perimeters are the outline of the object. The value in the "perimeters" field controls ow many there are. The "solid layers" field controls the number of solid layers printed. This should be no less than 2, as the first layer usually sags into the infill somewhat. The fill and solid patterns should be left at "rectilinear," as it is the fastest and works better than any of the other options. If you're trying to use support material with a print, check the box. The "retraction" section controls the extruder reversal, which eliminates strings from prints. The "speed" box should be set at the maximum speed which your extruder can reliably move at. "Length" controls how much figment is retracted, usually 1mm for 3mm filament or 2-3mm for 1.75mm filament. If you get strings in a print, increase the length. Before a long move, the filament will retract, and then move back to where it was before extrusion resumes. Some extruders need it to move a little more forwards, and that amount can be set in the "extra length on restart" box. The "minimum travel" box sets the length of the shortest travel that will require reversal. It's a good idea to keep it longer than 1mm.

Plastic likes to cool down a little before the next layer is deposited. Slic3r has provisions for cooling built-in, and they are in the "cooling" tab. The first thing to do is check the "enable" box. If you have a cooling fan, just check the "keep fan always on" box and do't worry about everything else having to do with the fan. The "slow down in layer time is below" box is the most important one in this tab. It changes the print speed to maintain a minimum layer time as set. Usually something around 10 seconds is good.

You've already set three values in the "printer and filament" tab. You've set the nozzle diameter, filament diameter, and the temperature. The only thing in the "printer" tab that you should have to change other than the nozzle diameter is the print center. Set it to half the size of the build platform. In the "filament" tab, you've set the diameter. The "extrusion multiplier" is a fudge factor for extrusion. Leave it at 1. The "temperature" and "first layer temperature" should both be the same. If you have a heated bed, set that temperature depending on what plastic you use: 110ºC for ABS, 55ºC for PLA. In the "other speed settings" section, set the "travel" speed to the fastest speed your printer can reach. This is the speed that your printer moves at when not extruding. The "bottom layer speed ratio" should be set somewhere below 0.5. It determines what speed to print the first layer at. Print it slowly, and it will stick well.

Now we get to the hardest part, the "print speed" settings. The default settings are fine, and are close to ideal for a reprap mendel. But for a machine like the ORD bot, they're really rather slow. But before we go into setting those speeds, let;s quickly go over what they are. "Perimeters" are the outside outlines of the part. "Small perimeters" are the inside outlines. "Infill" is the sparse infill speed, and "solid infill" is the solid fill speed. "Bridges" is the speed that gaps are spanned at. So now to setting those. The perimeter speed is one of the most critical speeds. It is desirable to go as fast as possible, but if you go too fast on the perimeter, corners can start to lift. Try starting around 120mm/sec and speeding up or slowing down as needed to get good results. Inside perimeters should be about 10mm/sec slower. Infill is non-critical, so make it as fast as you can extrude. Solid infill should be about 75% of the sparse infill speed. Bridges are the slowest of the bunch. Try running at 60m/sec, and see how it works.

The "start/end gcode" is the last thing to adjust. The start gcode is placed at the beginning of the file, and the end is placed at the end. You can put startup scripts or shutdown scripts here if you like. And that's it! You can now wield the slic3r, and never fear any print. Have fun!

When things go horribly, horribly wrong.
Assuming that all of your axes are calibrated and your speeds aren't too fast, your profiles should just work. But sometimes things go wrong. So here's how to fix them when they do.

1) Too much plastic!
Either your extruder steps/mm are set too low, or the nozzle size/filament diameter are wrong. If they are correct, then increase the "extrusion multiplier" value.

2) Too little plastic!
Either your extruder steps/mm are set too high, or the nozzle size/filament diameter are set wrong. If they are correct, then decrease the "extrusion multiplier" value.

3) The extrusion is not sticking to the layer below, or is being pulled around corners instead of sticking!
Reduce the layer height.

4) The extruder is jamming repeatedly!
Either your temperatures are too low, or you are trying to extrude too fast and the extruder can't keep up. Try increasing the temperature, slowing down prints, or both. NEVER extrude at a temperature of above 240ºC!!

5) There are lots of little strings between separate parts!
Try increasing the reversal distance, speed, or both.

Those are a few of the most common issues I've seen. If you can think of anything else I should add, or have any questions, I would welcome your feedback.
Compulsive Fabricator
Posts: 208
Joined: Fri Feb 10, 2012 3:37 am
Location: Oak Park, IL

Re: Notes on tuning a slicing profile

Postby lx007 » Sat Mar 31, 2012 6:37 am

Good job Jeremy, this is great information. I could really use an article on Skeinforge/sfact. I Like Slic3r so much that I gave a donation to the project. But, there are times when Slic3r has difficulties slicing certain objects, and It would be good to know how to try Skeinforge.
Posts: 26
Joined: Fri Feb 17, 2012 8:20 am

Re: Notes on tuning a slicing profile

Postby kram242 » Thu May 17, 2012 5:04 pm

Great Post Jeremy! I learned a lot of new ideas to try reading this, Thank you
To add to the help on tuning a slic3r profile Richard H. (well known as Richrap) is posting a multipart illustrated Slic3r guide to his colorful blog.
Part 1 - ... s-and.html
Part 2 - ... t-and.html
Part 3 - In the works
This may be help as well
Mark and Trish
Posts: 5
Joined: Wed Feb 08, 2012 12:29 am

Re: Notes on tuning a slicing profile

Postby movlw » Thu Feb 28, 2013 9:58 am

JeremyBP, thanks for this amazing post! In 15 minutes I was up and printing again last night with fresh settings based on your recommendations.

Strange things seem to happen in Slic3r when modifying settings and going from older to newer versions. I haven't confirmed this but some old settings seem to affect Slic3r even though they are not visible in the GUI. On several occations I've actually had to just start from scratch with new configs since changing settings in the GUI makes no difference.

Thanks again! This surely is food for the Wiki!
Posts: 12
Joined: Wed Mar 21, 2012 8:33 pm
Location: Sweden

Return to 3D Printer General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest